Выявление вредоносного сетевого трафика на основе ансамблей деревьев решений

УДК 004.056

И.А. Ходашинский, В.А. Дель, А.Е. Анфилофьев

Выявление вредоносного сетевого трафика на основе ансамблей деревьев решений

Рассматривается проблема обнаружения вредоносного трафика в компьютерных сетях. Для решения данной проблемы предлагается использовать ансамбль деревьев решений. Построение отдельного дерева ведется с помощью алгоритма C4.5. Предложены варианты объединения деревьев в ансамбли. Проведены эксперименты на данных репозиториев KEEL, KDD Cup 1999.

Ключевые слова: обнаружение вторжений, ансамбль деревьев решений, алгоритм C4.5.

Рост масштабов компьютерных сетей, усложнение их структуры и увеличение объема трафика, а также рост числа компьютерных злоупотреблений и сетевых атак диктуют необходимость повышения безопасности компьютерных сетей. Одним из средств выявления действий, направленных на нарушение конфиденциальности, целостности и доступности компьютерной системы или сети, является система обнаружения вторжений. Обнаружение вторжений - это процесс мониторинга и анализа событий, происходящих в компьютерной системе, с целью поиска признаков проблем безопасности.

В основе построения систем обнаружения вторжений лежат различные методы и подходы, в том числе методы интеллектуального анализа данных [1, 2]. Система обнаружения такого типа классифицирует данные аудита как нормальные и аномальные на основе набора шаблонов и правил. Преимущество использования правил заключается в их простоте и интерпретируемости. Предложено множество индуктивных алгоритмов генерации правил, популярным является подход на основе деревьев решений. Дерево решений состоит из трех основных компонентов: узлов, дуг и листьев. Узел имеет метку наиболее информативного признака, который еще не встречался в пути от корня до рассматриваемого узла. Дуга помечена значением узла-признака, из которого она выходит. Каждый лист имеет метку класса. Отдельные классификаторы в виде деревьев решений успешно применяются при построении систем обнаружения вторжений [3, 4]. Одним из путей повышения точности классификации является объединение отдельных классификаторов в ансамбль.

Цель работы - описание построения ансамбля классификаторов на основе деревьев решений.

Алгоритм C4.5. В алгоритме построения деревьев решений C4.5 с каждым узлом дерева ассоциировано подмножество обучающей выборки. Для каждого атрибута (признака) считается прирост информации, который будет обеспечен при разбиении подмножества по данному атрибуту [5]. Из всех возможных вариантов выбирается атрибут, дающий лучшее разбиение, после чего исходное подмножество в соответствии с выбранным атрибутом делится на несколько подмножеств, для каждого из которых описанная процедура вызывается рекурсивно.

Псевдокод алгоритма C4.5 представлен ниже:

procedure BUILD_TREE

best_attr ^ null, best ^ null for all a in attributes do

s ^ split_gain(T, split(T, a)) if better(s, best) then

best ^ s, best_attr ^ a end if end for

for all Ti in split(T, best_attr) do build_tree(Ti) end for end procedure

В данном псевдокоде split_gain соответствует приросту информации после разбиения исходного множества T по атрибуту a

spli, gvin = Info(X)-In^Xi.

“ _vMl Til

,5=1 it t

Ансамбль деревьев решений. Для повышения точности классификации можно использовать несколько деревьев решений, объединенных в ансамбль. Ансамбль состоит из деревьев решений, количество которых указывается при создании ансамбля и агрегирующего модуля, задача которого заключается в объединении выводов одиночных деревьев решений.

На вход ансамбля классификаторов поступает обучающая выборка, которая впоследствии для каждого дерева решений случайным образом разделяется на две части в заданном отношении, собственно обучающая подвыборка и валидационная подвыборка. Обучающая подвыборка используется для обучения дерева решений, валидационная подвыборка - для оценки качества классификации и присвоения дереву определенного веса. Таким образом, деревья решений в ансамбле различны, так как они обучены на разных подвыборках. Соотношение размеров обучающей и валидационной подвыборок может варьироваться, пользователь указывает число ratio из отрезка [0, 1], в результате размер обучающей подвыборки составит size = ratio'size(train), в свою очередь, размер валидацион-ной подвыборки составит size =(1- ratio)' size(train).

Вес дерева в ансамбле - это характеристика, используемая агрегирующим модулем при объединении выводов одиночных деревьев, лежащая в отрезке [0, 1]. Интуитивно понятно, что если дерево качественно обучилось, у него будет больший вес, и данную информацию необходимо использовать при объединении ответов одиночных классификаторов.

После обучения ансамбль способен обрабатывать объекты контрольной выборки. Каждый объект контрольной выборки передается всем деревьям решений. Каждое дерево решений независимо друг от друга предсказывает класс, к которому принадлежит объект. Затем ответы всех деревьев решений объединяются в один с использованием агрегирующего модуля.

В работе рассмотрены две реализации агрегирующего модуля. Первая из них соответствует алгоритму простого голосования, ответом ансамбля является класс, за который проголосовало наибольшее количество деревьев решений. Вторая реализация агрегирующего модуля соответствует алгоритму взвешенного голосования. Данная реализация учитывает веса, присвоенные деревьям при обучении. Псевдокод данного подхода представлен ниже:

function WEIGHTED_MAJORITY_VOTING(sample) votes ^ array[N] for all c in classifiers do

class ^ c.predict(sample) votes[class] ^ votes[class] + c.weight end for

return index_of_max(votes) end function

Алгоритмическая сложность обучения ансамбля составляет O(MN2K log N), где M - количество деревьев решений в ансамбле, N - размер обучающей выборки, K - количество атрибутов у объекта. Алгоритмическая сложность классификации одного объекта составляет O(M log N), где M - количе-ство деревьев решений в ансамбле.

Наборы данных. Для сравнения качества работы классификаторов были использованы наборы общеизвестных данных из репозитороев KDD Cup 1999 (http://kdd.ics.uci.edu/databases/kddcup99/ kddcup99.html) и KEEL (http://www.keel.es). Описания наборов приведены ниже.

Bupa - набор данных, описывающий заболевания печени, возникающие от чрезмерного употребления алкоголя; задача заключается в определении наличия заболевания; количество атрибутов -

6, количество классов - 2, количество объектов - 345.

Набор данных Glass описывает виды стекол по их химическому составу; количество атрибутов -9, количество классов -7, количество объектов - 24.

Набор данных Wine представляет собой результаты химического анализа вин, выращенных в одном регионе Италии, но полученных из трех различных сортов винограда; количество атрибутов -13, количество классов - 3, количество объектов - 178.

Iris - набор данных, описывающий типы цветков ириса; количество атрибутов - 4, количество классов - 3, количество объектов - 150.

Набор данных KDD Cup описывает сетевые атаки; количество атрибутов - 41, количество классов - 23, количество объектов - 4898431.

Эксперимент. Эксперимент проводился на оборудовании следующей конфигурации: центральный процессор Intel Core i5 2,5 ГГц, оперативная память 16 Гб 1600 МГц DDR3, жесткий диск SSD 256 Гб, операционная система Mac OS X 10.9.2.

Для оценки эффективности классификаторов были проведены тесты на четырех наборах данных из репозитария KEEL. Сравнение проводилось с использованием метода кроссвалидации. Результаты проведенных экспериментов были сопоставлены с результатами из работы [6], где испытания проводились на тех же данных. В табл. 1 в столбце «Среднее» указаны усредненные значения процента правильной классификации, столбце «СКО» - среднеквадратическое отклонение.

Таблица 1

Результаты классификации данных из репозитория KEEL_______________

Алгоритм Bupa Glass Iris Wine

Среднее СКО Среднее СКО Среднее СКО Среднее СКО

Ant Miner 57,25 7,71 53,74 12,92 96,00 3,27 92,06 6,37

CORE 61,97 4,77 45,74 9,36 92,67 4,67 94,87 4,79

HIDER 65,83 10,04 64,35 12,20 96,67 3,33 82,61 6,25

SGERD 57,89 3,41 38,33 5,37 96,67 3,33 87,09 6,57

TARGET 65,97 1,41 44,11 5,37 92,93 4,33 82,24 7,57

CART 66,95 11,88 67,15 9,49 96,00 3,44 88,20 4,85

C4.5 67,00 8,66 67,44 12,27 96,00 4,66 94,90 6,19

Ensemble (10 C4.5) 69,78 9,67 70,16 16,24 94,67 4,21 93,34 5,51

Общеизвестно, что наборы данных bupa и glass являются трудными для классификации, однако каждый из ансамблей деревьев решений неплохо справился с этой задачей. Полученные результаты позволяют сделать вывод о достаточно высокой эффективности разработанных ансамблей классификаторов.

Работоспособность ансамблей деревьев решений была проверена на данных, связанных с сетевыми атаками. Набор KDD Cup 1999 содержит данные о 22 типах атак, которые могут быть разбиты по четырем классам: DOS (3883370 записей); R2L (1126 записей); U2R (52 записи); Probing (41102 записи). Кроме того, присутствует класс нормальных соединений (972781 запись).

Существует несколько различных подходов к формированию обучающей выборки на несбалансированных наборах данных. Согласно одному из них в обучающую выборку включаются заданный процент от количества объектов каждого класса. Однако достаточно очевидно, что в данном случае такой подход будет нерезультативен с точки зрения точности классификации, распределение классов в наборе данных KDD неравномерно, следовательно, при включении в обучающую выборки одинакового процента от разных классов получим ситуацию, когда наиболее часто встречающиеся классы (DOS и Normal) будут распознаваться отлично, в то время как менее встречающиеся классы (U2R и R2L) будут восприниматься как шумы и распознаваться очень плохо.

В связи с этим для формирования обучающей выборки был применен другой подход. Каждому типу атак в наборе данных KDD было сопоставлено значение класса этой атаки. После чего было произведено разбиение исходного набора данных KDD на пять наборов - по одному для каждого класса. Затем данные в каждом наборе были перемешаны. После этого обучающая выборку была сформирована следующим образом: было взято 25 записей класса U2R и по 200 записей из четырех классов: DOS, Normal, R2L, Probing. Записи, не включенные в обучающую выборку, были включены в контрольную выборку. Таким образом, размер обучающей выборки составил 825 записей, размер контрольной выборки составил 4897606 записей.

В ходе эксперимента в сравнении с другими алгоритмами [7, 8], ансамбль из 10 деревьев C4.5 со взвешенным голосованием на контрольной выборке показал результаты, приведенные в табл. 2. Здесь представлены проценты верно определенных классов атак от общего количества атак данного класса в наборе данных KDD.

Таблица 2

Результаты классификации атак из набора данных KDD_________

Алгоритм Normal, % U2R, % R2L, % DOS, % Probing, %

FLS 10,00 95,00 85,00 80,00 80,00

ESC-IDS 98,20 14,10 31,50 99,50 84,10

Hybrid EFS 98,50 76,30 89,00 98,50 82,50

C4.5 95,90 21,10 30,20 97,10 76,30

5-NN 96,30 25,40 3,80 96,70 87,50

EFRID 92,78 88,13 7,41 98,91 50,35

NB 94,20 25,00 5,40 79,40 90,40

Naïve Bayesian 97,68 11,84 8,66 96,65 88,33

Ensemble (10 С4.5) 95,06 100,00 98,7 99,88 99,57

Производительность ансамбля классификаторов представлена в табл. 3.

Таблица 3

Производительность ансамбля классификаторов_________

Класс Обучение, с Классификация, мкс

Normal 2,384 7,10

U2R 2,567 37,03

R2L 2,532 14,04

DOS 2,747 4,51

Probing 2,535 13,21

Во втором столбце указано время обучения ансамбля классификаторов, состоящего из десяти деревьев решений, построенных алгоритмом C4.5. В третьем столбце указано среднее время классификации одного объекта. Обучение производилось на одной и той же обучающей выборке, описанной выше. Времена обучения различаются из-за разной загрузки центрального процессора. Различные времена классификации объясняются различными структурами получившихся деревьев решений.

Для подсчета ошибок первого и второго рода для всех атак была произведена замена меток класса на метку «attack», после чего было произведено повторное обучение и проверка на тех же обучающей и контрольной выборках. Результаты бинарной классификации (атака/нормальное соединение) представлены в табл. 4.

Таблица 4

Результаты бинарной классификации_________________

Набор данных Верно, % Ошибка 1-го рода, % Ошибка 2-го рода, %

KDD Cup 1999 98,88 1,08 0,04

Заключение. В работе представлена процедура построения ансамблей классификаторов на основе деревьев решений, обученных алгоритмом C4.5. Работоспособность ансамблей классификаторов проверена на четырех наборах данных из репозитария KEEL. Полученные классификаторы на основе ансамбля деревьев решений легко обучаются и имеют хорошие прогностические способности. Эксперименты на наборах данных о сетевых атаках позволили сделать вывод о том, что перспективным является применение ансамблей классификаторов на основе деревьев решений для обнаружения вторжений. При использовании ансамбля классификаторов получен выигрыш в проценте правильной классификации всех классов атак. В бинарной классификации был получен достаточно высокий процент правильной классификации, ошибки второго рода порядка 0,04% свидетельствуют о том, что разработанный прототип может быть реализован в качестве системы обнаружения вторжений в межсетевом экране.

Однако, при реализации в межсетевом экране нужно отказаться от использования Java в качестве языка программирования в пользу C++ из-за наличия сборщика мусора. В случае недостаточного количества памяти сборщик мусора запускается очень часто, что в свою очередь приводит к замедлению работы системы обнаружения вторжений.

Работа выполнена при поддержке Российского фонда фундаментальных исследований (гранты 12-07-00055а, 14-07-00449а).

Литература

1. Lee W. Adaptive intrusion detection: a data mining approach / W. Lee, S.J. Stolfo, and K.W. Mok // Artificial Intelligence Review. - 2000. - Vol. 14. - P. 533-567.

2. Patcha A. An overview of anomaly detection techniques: existing solutions and latest technological trends / A. Patcha, J.-M. Park // Computer Networks. - 2007. - Vol. 51. - P. 3448-3470.

3. An intrusion detection and alert correlation approach based on revising probabilistic classifiers using expert knowledge / S. Benferhat, A. Boudjelida, K.Tabia, H. Drias // Applied Intelligence. - 2013. -Vol. 38. - P. 520-540.

4. Ohta S. Minimizing False Positives of a Decision Tree Classifier for Intrusion Detection on the Internet / S. Ohta, R. Kurebayashi, K. Kobayashi // Journal of Network and Systems Management. - 2008. -Vol. 16. - P. 399-419.

5. Quinlan J.R. C4.5: Programs for Machine Learning. - San Francisco: Morgan Kaufmann Publishers, 1993. - 299 p.

6. KEEL Data-Mining Software Tool: Data Set Repository, Integration of Algorithms and Experimental Analysis Framework / J. Alcala-Fdez, A. Fernandez, J. Luengo et al. // Journal of Multiple Valued Logic and Soft Computing. - 2011. - Vol. 17. - P. 255-287.

7. Boughaci D. A Fuzzy Local Search Classifier for Intrusion Detection / D. Boughaci, S. Bouhali, S. Ordeche // Proceedings of the International Arab Conference on Information Technology, ACIT, Zarqa, 2011 [Электронный реcурс]. - Режим доступа: http://www.nauss.edu.sa/acit/PDFs/f2988.pdf (дата обращения: 20.04.2014).

8. Корниенко И.С. Программно-инструментальный комплекс идентификации нечетких систем / И.С. Корниенко, О.А. Серебрянникова, И.А. Ходашинский // Жоклады ТУСУРа. - 2012. - №1 (25), ч. 1. - С. 60-64.

Ходашинский Илья Александрович

Д-р техн. наук, профессор каф. комплексной информационной безопасности

электронно-вычислительных систем (КИБЭВС) ТУСУРа

Тел.: 8 (382-2) 41-34-26

Эл. почта: hodashn@rambler.ru

Дель Владимир Александрович

Инженер каф. КИБЭВС ТУСУРа

Тел.: 8 (382-2) 41-34-26

Эл. почта: rush.vr@gmail.com

Анфилофьев Александр Евгеньевич

Студент каф. КИБЭВС ТУСУРа

Тел.: 8 (382-2) 41-34-26

Эл. почта: yowwi00@gmail.com

Hodashinsky I.A., Del VA.

Intrusion detection using an ensembles of decision trees

In this paper, we propose ensembles of decision trees for intrusion detection. Verification tests have been carried out by using KEEL data set and the benchmark 1999 KDD Cup data set. The results are encouraging and demonstrate the benefits of our approach.

Keywords: intrusion detection, ensemble approaches, decision trees, algorithm C4.5.