Математические модели нормального поведения сетевых приложений в ПКС сетях
Сапожников А.В.
План
• Формальная модель описания поведения
• Вероятностный подход к обнаружению DDoS атак
• Статистический подход к обнаружению DDoS атак
• Ограничения и задачи
Формальная модель функционирования сети
• Множество объектов вида:
• Операции доступа порождают два отношения:– прав доступа– осуществления доступа
• Понятие состояния объекта:
• Понятие действия исполнителя:
},,,|{ RRRR DANameRR RName
]1,0[R RA
)1,0(DR
- имя объекта
- множество операций доступа
- показатель загруженности
- допустимый порог загруженности
),,(AAAA RRRR LpLaS
),,,,,( fsjR
iR ttSSao
jR
aoiR
aRo SSact ,, :
a a
Формальная модель функционирования сети (2)
• Траектория объекта:
• Поведение объекта:
• Понятие безопасного и опасного состояния объекта:
• Понятие атак и нормального поведения
kR SSST ,...,, 21
,,
,,,...,, *
,
,121
* Ract
oactSSSSTR
i
i
i
A a
RR
Aia
RoikRA
}{ RR TB
}0,:,|{ RR
a
RR DRaoRoaoSN
Предыдущие результаты применения формальной модели
• Описание атак и алгоритм обнаружения атак с помощью механизма конечных автоматов
• Описание нормального поведения и обнаружения аномалий нормального поведения с помощью механизма конечных автоматов
• Метод автоматизированного построения нормального поведения по множеству примеров (с расширениями формальной модели)
Применение формальной модели к ПКС сети• Контроллер ПКС сети – наблюдатель в терминах модели:
– отслеживает все множество операций доступа– разрешает или запрещает выполнение операций доступа
• Примеры возможного применения:– access control (в простом случае – тривиальная задача)
• наблюдаем запрос на установление соединения (попытка операции доступа)• сверяемся с правами доступа одних объектов к другим• разрешаем или запрещаем операцию доступа (настройка таблиц
коммутаторов на сброс или маршрутизацию данного потока)
– обнаружение DDoS атак и борьба с ними (кажется сложной задачей)• наблюдаем траекторию объекта, перешедшего в опасное состояние
• траектория сформирована действиями множества исполнителей• требуется определить, кто атакующий, а кто нормальный исполнитель
DOSjRik xijkiTxxxxX ,:1,,...,, 21
}|{ RRRDOS DS
Оценка загруженности объектов ПКС сети
• Действиям приписаны величины изменения загруженности
• Загруженность объектов оценивается как линейная функция от числа исполнителей и количества их действий
• Допустимый порог загрузки оцениваем экспертно
iR
jR
aRoact )( ,
actoR bNaN
Вероятностная модель для классификации исполнителей
• Для исполнителей ассоциируем метку принадлежности к легитимным или атакующим:
• Действия этих исполнителей наблюдаются с распределениями:
• Введем функции штрафа для “разрешения” и “запрещения” действия в зависимости от метки:
},{ IL
)|( , LactP aRo )|( , IactP a
Ro
)|()|(Re)|()|(Re)|(Re ,,,aRo
aRo
aRo actIPIjactLPLjactjloss
)|()|()|()|()|( ,,,aRo
aRo
aRo actIPIAckactLPLAckactAckloss
)|( yd Ly Iy
Ackd
0
1
jd Re 1
0
}Re,{: , jAckact a Ro функция классификации
)()|)((min ,0,0,0aR
aR
aR actPactactloss
jact jact
aRo
aRo
aRo
aR
aR
aR
aRo
aRo
LactPLPactPactLPactPactactlossRe)( Re)(
,,,,0,0,0
, ,
)|()()()|()()|)((
Вероятностная модель для классификации исполнителей (2)
• В результате “запрещения” некоторых действий исполнителей имеем:
• Пусть: и и
• Тогда требуется: исключить M-N действий так, что
• Действия с наименьшей легитимностью:
• Рассмотрим обучающий набор примеров нормального поведения:
• Оценим вероятность легитимности действий исполнителя как частоту их встречаемости:
SmNDOSikDOS NyyyyTxxxxT :,...,,:,...,, 2121
constactact aRo
aRo )( ,, ND NMMR ,max
)()|)((min ,0,0,0aR
aR
aR actPactactloss
))|((min)|( LactPLactP ii
i
Rik21N Nx:Rx:x,...,x,xT},{ гдеTB NN
||
||)|(
,
,, a
RR
aRoa
Ro
Aact
actLactP
Применение вероятностной модели для борьбы с DDoS атаками
• На практике M неизвестно до момента наблюдения траектории
• Потому предлагается эвристика с параметром θ:
• Используется префикс IP адреса удаленного узла, как идентификатор объекта
• Упрощенный алгоритм классификации действий исполнителей– До возникновения перегрузки считать θ=0– При возникновении перегрузки выставить θ= θi, “запретить” часть действий– Если перегрузка исчезла, снизить θ– Если перегрузка сохранилась, увеличить θ
)|(,
)|(,Re)(
,
,, LactPеслиAck
LactPеслиjact
aRo
aRoa
Ro
Алгоритм работы вероятностного классификатора в режиме обучения
obsPref=ø
Период обучения
завершен ?
Построить из obsPref префиксное
дерево PrefTree
ДА
Минимизировать префексное деревоminimizePrefTree()
Заменить для листьев дерева
количества Ni на частоты Pi.
Конец
Получить множество
соединенийНЕТ
Все соединения обработаны ?
ДА
Взять очередное соединение, взять из него префикс IP
адреса pref
НЕТ
pref уже добавлен в
obsPref ?
Добавить префикс pref во множество
obsPref
НЕТ
Увеличить число Ni (количество наблюдений
префикса) на единицу
ДА
Начало
Алгоритм работы вероятностного классификатора в режиме обнаружения DDoS атак
Начало
Получить набор возможных значений θ из конфига
Θ = 0;
handleNewConnections(Connections,θ) // Процедура обработки новых
соединений
Загруженность веб-сервера меньше порога ?
Уменьшить значение Θ
ДА
Увеличить значение Θ
НЕТ
Начало handleNewConnections(Connections,Θ)
Остались необработанные
соединения ?
Конец
НЕТ
Рассмотреть очередное соединения
ДА
Θ == 0 ?
Разрешить соединение
ДА
Pi > ΘНЕТ
Разрешить соединение
ДА
Блокировать соединение
НЕТ
Взять из префиксного
дерева частоту Pi для данного префикса IP
Ограничения вероятностного классификатора и вероятностного подхода
• Дискриминационная зависимость от обучающего набора
• Предположение о том, что все действия одинаково меняют загруженность
• Предположение о том, что роль объекта неизменна во времени
Статистический подход• Эвристический, менее строг формально
• На этапе обучения (наблюдения траекторий нормального поведения) строятся статистики по различным параметрам:
• На этапе обнаружения DDoS атаки действия исполнителей классифицируются на основе сравнения актуальных параметров с ранее вычисленными
• Преимущество: обнаружение префиксов атакующих траекторий
||
|}B,,|{| N,,*sf
iaRo
ffi
ssi
iaRo
tt
изтраекторииввходитactttttactF
||
B,,:)( N,,*sf
iaRo
ffi
ssi
iaRo
tt
изтраекторииввходитactttttactV
Vobs qVV *6|| *
Алгоритм работы статистического классификатораНачало
BlockList=ø
Обнулить статистику за предыдущий таймслот
Выставить время окончания нового таймслота
Таймслот уже закончился ?
Есть новое соединение ?
НЕТ
Есть ли перегрузка веб-сервера ?
Разблокировать те IP адреса в списке BlockList, для которых
срок блокировки истек
НЕТ
ДА
Взять статистику за таймслот по объемам переданных данных на каждый IPВычислить медианное значение
ДА
Блокировать (внести в BlockList) те IP адреса, для которых объем переданного за таймслот трафика превышает медиану
более чем в R раз. Для каждого адреса запомнить время блокировки
НЕТ
IP адрес нового соединения входит в
BlackList ?
ДА
Блокировать соединение
Разрешить соединение
Добавить информацию по соединению к
статистике
Ограничения и задачи
• Контроллер ПКС сети – узкое место
• Как формировать правила и наполнять таблицы?
• Затруднительно или невозможно (в модели и в реализациях) бороться с некоторыми типами DoS и DDoS атак– требующими DPI– отраженными атаками
Спасибо за внимание!