УДК 004.8

Обнаружение аномалий в сетевом трафике с помощью метода «Случайный лес»

Макаров Дмитрий Андреевич – кандидат технических наук, доцент кафедры Забайкальского государственного университета

Байкалов Артемий Алексеевич – магистрант Забайкальского государственного университета

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

Ключевые слова: машинное обучение, случайный лес, сетевой трафик, обнаружение аномалий в трафике.

Метод «Случайный лес»

Данный алгоритм машинного обучения объединяет две ключевые концепции – метод Бэггинга Бреймана и метод случайных подпространств, предложенный Тин Кам Хо. Он применяется для задач классификации, регрессии и кластеризации путем использования ансамбля решающих деревьев. Суть алгоритма заключается в том, что он использует большое количество решающих деревьев, каждое из которых по отдельности имеет низкое качество классификации, однако их объединение позволяет достичь хороших результатов [1].

Алгоритм модели

В отличие от других методов машинного обучения, у алгоритма Random Forest теоретическая составляющая значительно упрощена. Чтобы его понимать – достаточно знать формулу (1) и итоговый классификатор a(x), большое количество теории не требуется [2].

image001, (1)

где:

i – счетчик для деревьев;

N – количество деревьев;

b – решающее дерево;

x – сгенерированная нами на основе данных выборка.

Обучение модели

Модель «случайный лес» обладает двумя основными параметрами, это «количество деревьев» и «количество функций» (max_features). Эксперимент проводился с разным количеством параметров:

Количество деревьев: 25, 50, 75, 100, 125, 150, 175, 200;

Количество функций: 0.125, 0.25, 0.375, 0.5, 0.625, 0.875, 1.0.

В таблице 1 приведены итоговые результаты, отсортированные по параметру точности, где наилучший результат – 0.99908, соответствующий следующим входным параметрам:

Количество деревьев – 25;

max_features – 0.75.

Выбранные параметры также отражают отличный временной показатель, выполнив обучение модели всего за 17 секунд.

Таблица 1. Максимальные значения точности.

Количество деревьев

max_features

Точность

Время (с)

25

0.75

0.99908

17

50

1.0

0.99876

39

50

0.75

0.99836

33

100

0.75

0.99834

64

75

0.5

0.99829

42

25

0.875

0.99826

19

100

0.875

0.99821

70

175

1.0

0.99815

134

125

0.125

0.99814

23

По приведенным результатам можно сделать вывод, что случайный лес является достаточно мощным методом, способным проводить анализ даже при минимальных параметрах.

Тестирование модели

На рисунке 1 приведен пример работы алгоритма по выявлению аномалий в трафике на основе метода «случайный лес». Сначала идет номер пакета в датасете, затем выявленные моделью протоколы, включенные в интернет-пакет, либо значение «неопределенно», если модели неизвестен включенный протокол. В случае, если протокол не определен выводится, также байт-код пакета.

image002

Рисунок 1. Пример вывода программы.

Список литературы

  1. Метод случайного леса [Электронный ресурс]. URL: https://ru.wikipedia.org/wiki/Метод_случайного_леса (дата обращения 10.05.2023).
  2. Машинное обучение для начинающих: алгоритм случайного леса (Random Forest) [Электронный ресурс]. URL: https://proglib.io/p/mashinnoe-obuchenie-dlya-nachinayushchih-algoritm-sluchaynogo-lesa-random-forest-2021-08-12?ysclid=ligzl11fl571125154 (дата обращения 10.05.2023).