УДК 004.8
Обнаружение аномалий в сетевом трафике с помощью метода «Случайный лес»
Макаров Дмитрий Андреевич – кандидат технических наук, доцент кафедры Забайкальского государственного университета
Байкалов Артемий Алексеевич – магистрант Забайкальского государственного университета
Аннотация: Статья посвящена изучению применения технологии машинного обучения для выявления аномальных интернет-пакетов в сетевом трафике сервера методом "Случайный лес", с применением методов классификации. Данное исследование направлено на подбор наилучших параметров, влияющих на точность обучения модели. Были проведены необходимые эксперименты, а также анализ полученных данных. Результатом выполненного исследования является получение научных и практических значений для реализации специального алгоритма средствами модели машинного обучения "Случайный лес" способного выявлять аномалии в поступающем на сервер сетевом трафике.
Ключевые слова: машинное обучение, случайный лес, сетевой трафик, обнаружение аномалий в трафике.
Метод «Случайный лес»
Данный алгоритм машинного обучения объединяет две ключевые концепции – метод Бэггинга Бреймана и метод случайных подпространств, предложенный Тин Кам Хо. Он применяется для задач классификации, регрессии и кластеризации путем использования ансамбля решающих деревьев. Суть алгоритма заключается в том, что он использует большое количество решающих деревьев, каждое из которых по отдельности имеет низкое качество классификации, однако их объединение позволяет достичь хороших результатов [1].
Алгоритм модели
В отличие от других методов машинного обучения, у алгоритма Random Forest теоретическая составляющая значительно упрощена. Чтобы его понимать – достаточно знать формулу (1) и итоговый классификатор a(x), большое количество теории не требуется [2].
, (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 приведен пример работы алгоритма по выявлению аномалий в трафике на основе метода «случайный лес». Сначала идет номер пакета в датасете, затем выявленные моделью протоколы, включенные в интернет-пакет, либо значение «неопределенно», если модели неизвестен включенный протокол. В случае, если протокол не определен выводится, также байт-код пакета.
Рисунок 1. Пример вывода программы.
Список литературы
- Метод случайного леса [Электронный ресурс]. URL: https://ru.wikipedia.org/wiki/Метод_случайного_леса (дата обращения 10.05.2023).
- Машинное обучение для начинающих: алгоритм случайного леса (Random Forest) [Электронный ресурс]. URL: https://proglib.io/p/mashinnoe-obuchenie-dlya-nachinayushchih-algoritm-sluchaynogo-lesa-random-forest-2021-08-12?ysclid=ligzl11fl571125154 (дата обращения 10.05.2023).