Разработка анализатора системы обнаружения атак

advertisement
Разработка анализатора системы обнаружения
атак, основанного на методах кластерного
анализа
Студент 522 гр. Наградов Е.А.
Научные руководители:
д.ф.-м.н., проф. Смелянский Р.Л.
Качалин А.И.
Постановка задачи

Разработать и исследовать эффективности метода
обнаружения атак на основе алгоритмов кластерного
анализа, обладающего следующими свойствами:



обучение без использования примеров атак
обнаружение атак в режиме реального времени
Декомпозиция задачи




Исследовать эффективность применения различных
методов кластерного анализа для решения задачи
обнаружения атак
Разработать метод обнаружения атак, основанный на
алгоритмах кластерного анализа
Реализовать анализатор системы обнаружения атак
Провести исследование эффективности реализованного
анализатора по критериям точности и временной сложности
2
Модель предметной области

Наблюдаемая система




Состояние системы – совокупность состояний
ресурсов системы
Состояния системы



взаимодействующие ресурсы
наблюдатели, собирающие информацию об
активности ресурсов (состояние ресурса)
нормальное – состояние системы в процессе штатного
функционирования
аномальное
Атака – воздействие на систему, которое
переводит систему из нормального состояния в
аномальное
3
Схема функционирования
Наблюдаемая
система
анализируемые
состояния
этап обнаружения
определение принадлежности к
совокупности кластеров Cl
{xi}NormS
атака/не атака
обучающая выборка
совокупность кластеров Cl
этап обучения
построение модели нормального поведения
системы как совокупности кластеров
нормальных состояний системы
Cl = {pi}, pi = ( ci, ri, ni ), i = 1..M
4
Исследование применимости
методов кластерного анализа

Рассмотренные методы:

методы минимизации квадратичной ошибки






неинкрементальные (batch k-means, online k-means)
инкрементальные (incremental k-means, BIRCH)
иерархические методы (complete linkage, single linkage,
PNN)
методы построения минимального покрывающего
дерева
нечеткие методы (Fuzzy c-means, EM for GMM)
Критерии применимости:


временная сложность (обучения и обнаружения атак)
точность (обучения и обнаружения атак)
5
Схема функционирования
обучающая выборка
анализируемые состояния
построение модели нормального поведения
BIRCH
шаг 1:
определение количества кластеров
и начального расположения кластеров
Cl1 = {pi}
complete-linkage
шаг 2:
анализ отклонений, k-NN
определение принадлежности к
совокупности кластеров Cl
объединение кластеров
Cl2 = {pi}, i = 1..M
batch k-means
шаг 3:
повышение точности кластеризации
Cl3 = {pi}, i = 1..M, MSE3<MSE2
pi = ( ci, ri, ni )
модель нормального поведения
Cl
6
Исследование эффективности

Тестирование на данных KDD

цели тестирования


оценка точности обнаружения атак и числа
ложных срабатываний
проверка возможности обучения на
обучающей выборке, содержащей шум
7
Тестирование при обучении на
выборке без шума
8
Тестирование при обучении на
выборке с добавлением шума
9
Исследование эффективности

Тестирование в составе системы
REDSecure

цели тестирования


проверка возможности обнаружения атак в
режиме реального времени
оценка точности обнаружения атак в
составе реальной СОА
10
Тестирование в составе
системы REDSecure


требуемое максимальное время анализа состояния системы – 1 мс
соответствующее число кластеров модели нормального поведения –
800
11
Тестирование в составе
системы REDSecure
12
Полученные результаты




Выполнено исследование эффективности
применения методов кластерного анализа для
решения задачи обнаружения атак
Разработан метод обнаружения атак,
основанный на алгоритмах кластерного анализа
Реализован анализатор на основании
разработанного метода (~11000 строк кода С++),
выполнена интеграция анализатора в СОА
REDSecure
Проведено исследование эффективности
реализованного анализатора на данных KDD и в
составе СОА REDSecure
13
Спасибо за внимание
15
Сравнение с другими алгоритмами
обнаружения атак (KDD)
разработанный анализатор
R2L
Probe
ложные срабатывания
97.163% 72.857%
5.439%
90.614%
1.19%
97.199% 74.286%
6.463%
98.344%
2.01%
97.855% 92.857% 30.858% 99.712%
3.11%
99.192% 95.714% 31.889% 99.880%
4.31%
99.975% 98.571% 35.910% 99.928%
7.76%
99.990% 98.571% 43.059% 99.928%
13.54%
DoS
U2R
Fuzzy Single-class SVM
DoS
U2R
R2L
Probe
ложные срабатывания
97%
90%
51%
99%
3%
98%
97%
64%
100%
35%
89%
58%
28%
94%
2%
16
Сравнение с другими алгоритмами
обнаружения атак (KDD Э2)
100%
точность обнаружения атак (%)
90%
80%
70%
60%
50%
40%
cluster
30%
метрический k-NN
20%
SVM (статистический)
10%
k-NN (delta)
Fuzzy SVM
0%
0%
1%
2%
3%
4%
5%
6%
7%
8%
9% 10% 11% 12% 13% 14% 15% 16% 17% 18% 19% 20%
ложные срабатывания (%)
17
Задача обнаружения атак

Задана обучающая выборка:


Требуется построить отображение fS: ST→{0, 1}
такое, что:



NS = { xi | xi  NormS }, где NormSST – множество
нормальных состояний системы S
fS(st)=0 если st NormS
fS(st)=1 если st ST \ NormS
Ограничение режима реального времени –
вычисление fS(st) должно удовлетворять
директивному сроку Tmax
18
Этап обучения

Задана обучающая выборка



NS = { xi | xi  NormS }, где NormSST –
множество нормальных состояний системы S
Требуется построить множество кластеров
Cl(NS) = {p1, .., pk } – модель нормального
поведения
Ограничение на количество кластеров

|Cl(NS)| ≤ M
Этап обнаружения

Задано:




модель нормального поведения Cl(NS)
анализируемые вектора {xi}, xiST
Для каждого xi требуется вычислить fS(xi) с
помощью Cl(NS)
Ограничение режима реального времени

вычисление fS(xi) должно удовлетворять
директивному сроку Tmax
Общая схема анализатора

Этап обучения

Входные данные


Требуется



обучающая выборка NS = {xi | xiNormS}, где NormSST
построить множество кластеров Cl(NS) = {p1, .., pk}
количество кластеров |Cl(NS)| < M
Этап обнаружения

Входные данные



модель нормального поведения Cl(NS)
анализируемые вектора {xi}, xiST
Требуется


для каждого xi вычислить fS(xi) с помощью Cl(NS)
вычисление fS(xi) должно удовлетворять директивному
сроку Tmax
21
модификации k-NN
gamma(v, Cl ( NS )) 
delta(v, Cl ( NS )) 
pi={Si, S2,i, Ni}
Pd (v)  Cl ( NS ) :
n  v c
i
pi Pd ( v )
i
N
 n  (v  c )
i
pi Pd ( v )
i
N
Si
ci 
Ni
i 1
ni  min( N i , N   n j )
j 1
 n  N ,p
i
pi Pd ( v )
k
 Pd (v) : v  ck  max v  ci
pi Pd ( v )
23
Актуальность задачи

Сигнатурные СОА:



Статистические СОА:



проблемы выделения сигнатур и обеспечения «защиты
нулевого дня»
проблемы одновременного использования большого числа
сигнатур
для обучения нейросетевых СОА требуются примеры атак
СОА, основанные на иммунных методах, обладают высокой
временной сложностью, не позволяющей выполнять
обнаружение атак в режиме реального времени
Применение методов КА:



для обучения не требуются примеры атак
возможность обучения при наличии шума в обучающей
выборке
возможность обнаружения атак в режиме реального времени
24
Download