Гудков О. В., МГТУ им. Н. Э. Баумана IT Security for the Next Generation Тур Россия с СНГ, МГТУ им. Н.Э. Баумана 5-7 марта, 2012 Гудков О. В., МГТУ им. Н. Э. Баумана IT Security for the Next Generation Тур Россия с СНГ, МГТУ им. Н.Э. Баумана 5-7 марта, 2012 Обнаружение аномалий. Алгоритм вычисления величины энтропии параметров потока сетевых событий
Обнаружение аномалий в сети Процесс выявления отклонений от нормальных значений величин заданных параметров сетевых взаимодействий
Исследуемые параметры Обнаружение аномалий Параметры сетевых взаимодействий, используемые для выявления аномалий: Интенсивность Определяется порог количества пакетов, принимаемых в единицу времени Вероятность Исследуются гипотезы о законе распределения параметров сетевых пакетов Энтропия Исследуется информационная энтропия различных полей сетевых пакетов | 5-7 марта, 2012 PAGE 3 |"IT Security for the Next Generation", Тур Россия и СНГ
Показательный пример изменения величины энтропии исходящих IP- адресов при сканировании с помощью nmap. nmap -v scanme.org -T3 Параметр «-T3» используется для уменьшения интенсивности сканирования. Среди сканирующих пакетов присутствуют и «нормальные» PAGE 4 | Изменения энтропии при сканировании Обнаружение аномалий | 5-7 марта, 2012 "IT Security for the Next Generation", Тур Россия и СНГ
Практическое вычисление энтропии Теоретические и практические аспекты
Исследуемые параметры Практическое вычисление энтропии Параметры сетевых пакетов, используемые при исследовании величины энтропии Сетевые адреса (исходные и целевые) Порты Другие подобные поля сетевых пакетов и их комбинации. В общем случае, это параметры, для которых можно подсчитать вероятность их появления в потоке сетевых пакетов | 5-7 марта, 2012 PAGE 6 |"IT Security for the Next Generation", Тур Россия и СНГ
Теоретические положения Практическое вычисление энтропии Теоретическое значение энтропии, согласно Шеннону: где p i - вероятность появления элемента a i из множества A={a 1, a 2, …, a m }. В данном случае, при обнаружении аномалий в сети: Существует m различных значений выбранного параметра сетевых пакетов. У каждого из данных значений есть вероятность появления в потоке сетевых пакетов Величина энтропии вычисляется по приведенной выше формуле | 5-7 марта, 2012 PAGE 7 |"IT Security for the Next Generation", Тур Россия и СНГ
Особенности измерения энтропии Практическое вычисление энтропии неизвестность вероятности появления значений рассматриваемых параметров; необходимость использования приближенных оценок для вычисления указанных вероятностей; Подсчет значения величины энтропии в заданном «окне» - последовательности значений параметров N сетевых пакетов W={ω 1, ω 2, …,ω N }. Оценка вероятностей: Оценка энтропии: | 5-7 марта, 2012 PAGE 8 |"IT Security for the Next Generation", Тур Россия и СНГ
Разность значений величины энтропии для двух соседних «окон» измерения W 1 и W 2 :. Где штрихованные и нештрихованные значения - вероятности появления данного значения параметра соответственно по окну W 1 и W 2. PAGE 9 | Практическое вычисление энтропии Вычисление разности величины энтропии | 5-7 марта, 2012 "IT Security for the Next Generation", Тур Россия и СНГ ωiωi ω i+1 …ω i+N-1 ω i+N W1W1 W2W2
Количество n i элементов a i в последовательных окнах отличается только за счет входящего в окно элемента "in" и выпадающего из окна элемента "out": В случае равенства нулю - слагаемые с логарифмами не учитываются PAGE 10 | Сокращение количества операций Практическое вычисление энтропии | 5-7 марта, 2012 "IT Security for the Next Generation", Тур Россия и СНГ ωiωi ω i+1 …ω i+N-1 ω i+N W1W1 W2W2 out in
Практическое вычисление энтропии Предварительные данные для алгоритма ЭлементПояснения parameter_array[N] буфер (массив), в котором находятся значения параметра для текущего окна hash_n_array хэш-массив, в котором будут находиться количество элементов, с заданным значением исследуемого параметра H1NH1N Предвычисленное значение энтропии для первого окна PAGE 11 |"IT Security for the Next Generation", Тур Россия и СНГ | 5-7 марта, 2012
Алгоритм вычисления энтропии Практическое вычисление энтропии Для каждого следующего сетевого пакета: Получить значение параметра ω i+N Вычислить значение n in, как значение хэш-массива с параметром ω i+N. n in = hash_n_array[ω i+N ]. Вычислить значение n out, n out = hash_n_array[parameter_array[1]] Вычислить по формуле изменение энтропии H N Вычислить значение H i+1 N =H i N +H N Обновить хэш-массив hash_n_array (уменьшить значение hash_n_array[parameter_array[1]] и увеличить на единицу значение = hash_n_array[ω i+N ]). Обновить массив parameter_array[N] (записать следующее окно {ω i+1, ω i+2,…, ω i+N }) | 5-7 марта, 2012 PAGE 12 |"IT Security for the Next Generation", Тур Россия и СНГ
Сравнение скорости алгоритмов Практическое вычисление энтропии Размер окна Алгоритм вычисления разности энтропии Алгоритм последовательного вычисления энтропии с с с с с с с с с с. PAGE 13 |"IT Security for the Next Generation", Тур Россия и СНГ | 5-7 марта, 2012 Сравнение проводилось для одинаковых данных, объемом пакет. Во всех случаях данные указаны в секундах. Данные получены утилитой time.
Thank You Гудков О. В., МГТУ им. Н. Э. Баумана IT Security for the Next Generation Тур Россия с СНГ, МГТУ им. Н.Э. Баумана 5-7 марта, 2012 Гудков О. В., МГТУ им. Н. Э. Баумана IT Security for the Next Generation Тур Россия с СНГ, МГТУ им. Н.Э. Баумана 5-7 марта, 2012