Статья опубликована в рамках: Научного журнала «Студенческий» № 3(131)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3
ИСПОЛЬЗОВАНИЕ АВТОЭНКОДЕРА ДЛЯ ДЕТЕКТИРОВАНИЯ АНОМАЛИЙ В ВЕБ-ТРАФИКЕ
USING AN AUTOENCODER TO DETECT ANOMALIES IN WEB TRAFFIC
Kazbek Mamakev
student, Department of Information Systems in Construction Don State Technical University,
Russia, Rostov-on-Don
Alexandr Lyapin
scientific advisor, doctor of physical and mathematical sciences, professor, Don State Technical University,
Russia, Rostov-on-Don
АННОТАЦИЯ
В статье приведена модель автоэнкодера для детектирования вредоносного веб-трафика.
ABSTRACT
The article presents a model of an autoencoder for detecting malicious web-traffic.
Ключевые слова: Детекция аномалий, автоэнкодеры, защита от вредоносного трафика.
Keywords: Anomaly detection, autoencoders, protection against malicious traffic.
Введение
Автоэнкодеры – это нейронная сеть с прямой связью, где входные данные совпадают с выходными. Такие сети сжимают входные данные в скрытое сжатое пространство, а затем восстанавливают из этого представления [1]. Цель автоэнкодера – получить на выходном слое отклик, наиболее близкий к входному. В основном используется для сглаживания шума и уменьшения размерности вектора признаков.
Автоэнкодеры могут служить не только для сглаживания шума и уменьшения размерности, но и для выявления аномалий. Такая модель может восстанавливать только те входные признаки, которые она уже «видела». В остальных случаях на выходе мы получаем данные, которые сильно отличаются от входных. Такие отклики являются аномалиями.
Вредоносные запросы
Существуют разнообразные виды атак, у которых есть свои цели, например, ddos атаки типа «отказ в обслуживании», ботовая активность, связанная в основном с парсингом сайтов, «инъекция кода», и так далее [2].
В нашем случае будет рассматриваться тип атак «инъекция кода»: SQL-инъекцию, PHP-инъекция, XSS атака, XPath-инъекция и так далее.
Входные данные
Данными являются параметры HTTP-запроса:
· method_uri – тип http-запроса;
· uri – строка запроса;
Пример нормальных запросов:
Рисунок 1. Нормальные запросы
Пример аномалий в запросах:
Рисунок 2. Аномальные запросы
Схема автоэнкодера
На рисунке 3 изображена схема автоэнкодера.
Сначала данные подаются в слои вложения (Embedding), который являются отображениями (mapping) дискретных объектов, таких как слова, на векторы действительных чисел. Полученные векторы подаются в энкодер и декодер. Размер вектора из выхода декодера преобразуется в размер словаря и к итоговому вектору применяется функция Softmax.
Так как задачей является обработка текста, в качестве энкодера и декодера используются рекуррентные нейронные сети.
Рисунок 3. Схема автоэнкодера
Обучение модели
В качестве настраиваемых параметров модели используются:
· количество слоев для рекурентных сетей;
· размерность слоя Embedding;
· количество токенов в словаре;
· количество эпох;
· скорость обучения;
· тип рекуррентных сетей.
В качестве функции потерь была использована формула кросс-энтропии.
После обучения на 30-ти эпохах был построен график плотности распределения значений функций потерь, изображенный на рисунке 4. Красная линия показывает 95-ый перцентиль, за которым запрос уже считается аномальным.
Рисунок 4. График плотности
На тестовой выборке была проведена оценка качества модели с помощью метрики F1-score, которая представляет собой гармоническое среднее между точностью и полнотой. Она стремится к нулю, если точность или полнота стремится к нулю [3]. В результате было получено значение 72,5% для F1-score/
Визуализация аномалий
Можно показать в каких местах модель «видит» аномалии. На рисунке 5 и 6 представлены соответственно запросы из тестовых выборок: нормальных и аномальных.
Рисунок 5. Нормальные запросы
Рисунок 6. Аномальные запросы
Желтым цветом обозначены символы, которые модель считает аномальными.
Заключение
В данной статье была рассмотрена архитектура автоэнкодера, состоящего из рекуррентных сетей, для детектирования аномалий в запросах. Хотя полученные результаты и являются положительными, но минус данной модели заключается в медленной работе, из-за чего не представляется возможность использовать ее в нагруженных системах.
Список литературы:
- Автоэнкодеры: типы архитектур и применение. – Текст: электронный // Neurohive: [сайт]. – URL: https://www.machinelearningmastery.ru/applied-deep-learning-part-3-autoencoders-1c083af4d798/ (дата обращения: 13.11.2020).
- Хакерская атака. – Текст: электронный // Википедия: [сайт]. – URL: https://ru.wikipedia.org/wiki/Хакерская_атака (дата обращения: 05.01.2021).
- Денис, Баженов Оценка классификатора (точность, полнота, F-мера) / Баженов Денис. – Текст: электронный // Баженов: [сайт]. – URL: http://bazhenov.me/blog/2012/07/21/classification-performance-evaluation.html (дата обращения: 12.01.2021).
Оставить комментарий