Разработка анализатора системы обнаружения атак, основанного на методах кластерного анализа Студент 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 }, где NormSST – множество нормальных состояний системы S fS(st)=0 если st NormS fS(st)=1 если st ST \ NormS Ограничение режима реального времени – вычисление fS(st) должно удовлетворять директивному сроку Tmax 18 Этап обучения Задана обучающая выборка NS = { xi | xi NormS }, где NormSST – множество нормальных состояний системы S Требуется построить множество кластеров Cl(NS) = {p1, .., pk } – модель нормального поведения Ограничение на количество кластеров |Cl(NS)| ≤ M Этап обнаружения Задано: модель нормального поведения Cl(NS) анализируемые вектора {xi}, xiST Для каждого xi требуется вычислить fS(xi) с помощью Cl(NS) Ограничение режима реального времени вычисление fS(xi) должно удовлетворять директивному сроку Tmax Общая схема анализатора Этап обучения Входные данные Требуется обучающая выборка NS = {xi | xiNormS}, где NormSST построить множество кластеров Cl(NS) = {p1, .., pk} количество кластеров |Cl(NS)| < M Этап обнаружения Входные данные модель нормального поведения Cl(NS) анализируемые вектора {xi}, xiST Требуется для каждого 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