Using machine learning algorithms to detect anomalous traffic behavior
- Authors: Pozdnyak I.S.1, Makarov I.S.1
-
Affiliations:
- Povolzhskiy State University of Telecommunications and Informatics
- Issue: Vol 21, No 3 (2023)
- Pages: 20-27
- Section: Communication networks and multi-services
- URL: https://journals.eco-vector.com/2073-3909/article/view/633720
- DOI: https://doi.org/10.18469/ikt.2023.21.3.04
- ID: 633720
Cite item
Full Text
Abstract
The article describes a method of using machine learning for detecting anomalous traffic behavior. For this purpose, a data set containing a significant amount of traffic collected at the time of the attack on the Web application is used. The set contains three attack options: Brute Force, XSS, SQL injection. A traffic dump containing an Infiltration attack is considered separately. A comparative analysis of machine learning models was carried out with the selection of the most optimal one. The article also provides a description of the data preprocessing procedure, which is carried out in order to eliminate anomalies and voids in array records, which can lead to incorrect operation of the trained model. Models were trained on selected data in order to identify anomalous traffic behavior indicating a specific type of attack. In addition, a study was conducted on a data set that does not contain information about attacks.
Full Text
Введение
Совершенствование систем обнаружения вторжений (IDS), использующих машинное обучение, зависит от доступности наборов данных, но получить надежный набор для обучения – не самая простая задача. Среди факторов, затрудняющих сравнение, – отсутствие надлежащего описания методов обнаружения вторжений, отсутствие методологии сравнения, а также отсутствие маркировки достоверных данных и сложность получения реального трафика [1]. Кроме того, в настоящее время сетевой трафик в основном шифруется в целях безопасности и конфиденциальности, и лишь очень немногие наборы отражают этот факт.
Набор данных является важной частью построения моделей IDS на основе машинного обучения. Процесс начинается с захвата трафика. После этого он компилируется в данные определенного типа, содержащие сетевые функции, включая маркировку. Общая структура систем обнаружения вторжений на основе машинного обучения показана в [2]. Маркировка – важнейший процесс для набора данных. Обработка достоверных данных является настоящей проблемой, особенно когда эксперты не могут определить, содержит ли трафик атаку или нет. Именно по этой причине специалисты используют синтетический трафик. Однако это означает, что генерируемый трафик не всегда является характерным для реальной среды. По этой причине процесс создания набора данных начинается с захвата трафика и заканчивается заключительным этапом предварительной обработки. Конечным результатом этапа предварительной обработки является размеченный набор данных. Каждая точка данных определяется как вредоносный или нормальный трафик. Файл содержит табличные данные в удобочитаемом формате, например файл CSV, или в двоичной форме, например файл IDX. Количество обнаруженных атак или ложных тревог можно использовать для сравнения набора данных при обучении IDS.
Большинство существующих исследований, в которых используется зашифрованный трафик, сосредоточены на различных областях, таких как классификация и анализ трафика. Хотя такие исследования существуют [3], набор данных не является общедоступным из-за конфиденциальности содержимого.
Наборы контрольных данных являются важной основой для оценки и сравнения качества различных IDS. В зависимости от методов обнаружения существует три типа IDS: на основе сигнатур, на основе аномалий (статистические) и комбинированные [4]. Основанные на сигнатурах фокусируются на построении автоматической генерации шаблона, тогда как основанные на аномалиях – на наблюдении отклонений от нормального поведения. Сигнатурные системы основаны на методе сопоставления с образцом для идентификации и попытки сопоставления с базой данных. Когда попытка атаки совпадает с шаблоном, выдается предупреждение. Системы на основе сигнатур имеют высокую точность определения аномалий и низкий уровень ложных срабатываний, но при этом они не могут обнаружить неизвестные атаки. При этом системы, основанные на статистических методах, могут обнаруживать неизвестные атаки путем сравнения аномального трафика с нормальным, соотношение ложных тревог остается достаточно высоким.
Системы, обученные с помощью алгоритмов машинного обучения, могут улучшить свою способность прогнозировать события, используя обратную связь относительно того, насколько хорошо они выполнили предыдущие задачи, и использовать эту информацию для внесения изменений [5].
Сравнение наборов данных
В представленной работе использовались готовые наборы данных с трафиком, содержащие атаки [6–9]. Сравнение наборов представлено в таблице 1.
Таблица 1. Сравнение наборов данных
Критерий | Набор данных | |||
CIC-IDS2017 | CSE-CIC-IDS2018 | HIKARI-2021 | USB-IDS-1 | |
Объем | Средний | Большой | Малый | Малый |
Источник | Синтетический, высокая вариация трафика и атак | Синтетический, высокая вариация трафика и атак | Синтетический, низкая вариация трафика и атак | Частично синтетический, низкая вариация трафика и атак |
Доверие | Высокий уровень | Высокий уровень | Высокий уровень | Высокий уровень |
Описание | Достаточное | Достаточное | Достаточное | Достаточное |
Масштаб сети | Офисная сеть средних размеров | Большая корпоративная сеть | Небольшая локальная сеть | Простейшая архитектура |
На основе представленной сравнительной характеристики делается вывод о целесообразности использования набора CSE-CIC-IDS2018 по причине его большей актуальности, а также из-за объема содержащихся данных [7]. CSE-CIC-IDS2018 был получен в результате моделирования крупной компьютерной сети, содержащей 420 хостов и 30 серверов, разделенных на несколько сегментов. При этом трафик передавался по протоколам HTTP/HTTPS, SMTP/POP3/IMAP, SSH и FTP. Были реализованы атаки шести разновидностей: Brute Force, DoS, DDoS, Botnet, внедрение и атаки на веб-приложения.
Для обработки набора данных использовались библиотеки языка программирования Python: Pandas, Scikit-learn, TensorFlow, Matplotlib, Pickle.
Предобработанные данные выбранного набора отображаются в CSV-формате. Для представления данных в необходимом формате они подлежат определенной обработке: первичный анализ данных и предварительная обработка данных. На выходе обработки получается тот вид данных, который в дальнейшем будет использоваться для обучения моделей классификаторов. Для этого будут выделены три выборки: тестовая, обучающая и валидационная.
Так как в выбранном наборе данных приводятся более одной разновидности атаки одного из представленных типов, то они будут в итоге объединены в один класс. В итоге при обучении будет приниматься решение об отнесении потока данных к типовой атаке, не учитывая ее подвид. Кроме того, в наборе данных представлены разные соотношения трафика с атакой и нормального трафика. Для лучшего обучения классификаторов весь трафик будет приводиться к идеальной классовой сбалансированности. При этом будем использовать некоторые стратегии сэмплирования.
Составление выборок для атак на Web-приложения
Атаки на Web-приложения в наборе данных CSE-CIC-IDS2018 представлены тремя разными вариантами: XSS (Cross Site Scripting), Brute Force и SQL-инъекция. Объединим таблицы для последующей совместной обработки и произведем замену меток классов, выполнив уже известные преобразования. Получаем критический дисбаланс классов. Объем меньшего из классов мал, что подводит нас к использованию подхода пересемплирования балансировки классов. При этом будут дублироваться записи меньшего из классов, пока объемы классов не сравняются.
Сбалансированные данные пропустим через конвейер предобработки, сохраним параметры нормализации и разобьем данные на выборки. Характеристики полученных выборок сведены в таблицу 2.
Таблица 2. Характеристики выборок для атак на Web-приложения
Характеристика | Выборка | ||
Обучающая | Валидационная | Тестовая | |
Общее число записей | 29 696 | 3712 | 3712 |
Число записей с меткой вредоносного трафика | 14 848 (50,0%) | 1890 (50,9%) | 1890 (50,9%) |
Число записей с меткой легального трафика | 14 848 (50,0%) | 1822 (49,1%) | 1822 (49,1%) |
Обучим классификатор на основе логистической регрессии со стандартными параметрами. В результате обучена модель со следующими значениями метрик качества [10] по тестовой выборке: аккуратность: 0,945043; точность: 0,905288; полнота: 0,996296; F-мера: 0,948615.
При попытке подобрать оптимальные гиперпараметры классификатора была получена более качественная модель. Сохраним подогнанную модель средствами библиотеки Pickle. Метрики качества классификатора с базовыми и оптимальными гиперпараметрами сведены в таблицу 3.
Таблица 3. Значения метрик качества классификаторов на основе логистической регрессии для атак на Web-приложения
Классификатор | Метрика качества | |||
Аккуратность | Точность | Полнота | F-мера | |
Классификатор с базовыми параметрами | 0,945043 | 0,905288 | 0,996296 | 0,948615 |
Классификатор с оптимальными параметрами | 0,951509 | 0,913043 | 1,0 | 0,954545 |
Обучим классификатор на основе решающего дерева со стандартными параметрами. В результате получена модель со следующими значениями метрик качества по тестовой выборке: аккуратность: 0,999461; точность: 0,998943; полнота: 1,0; F-мера: 0,999471.
Осуществим перебор оптимальных параметров. При этом за счет меньшего размера выборок появилась возможность расширить сетку параметров без потерь вычислительной скорости. Полученный в результате перебора классификатор имеет те же значения метрик качества, что и базовый. Делаем вывод о том, что базовый вариант справлялся с задачей оптимальным образом.
Рассмотрим базовый вариант классификатора на основе нейронной сети. В результате получена нейронная сеть со следующими значениями метрик качества по тестовой выборке: аккуратность: 0,987607; точность: 0,983735; полнота: 0,992063; F-мера: 0,987882.
При получении более аккуратной модели была уменьшена скорость обучения с 0,001 до 0,0005. Метрики классификаторов сведены в таблице 4. Оптимальную модель сохраним средствами библиотеки Pickle.
Таблица 4. Значения метрик качества классификаторов на основе нейронной сети для атак на Web-приложения
Классификатор | Метрика качества | |||
Аккуратность | Точность | Полнота | F-мера | |
Классификатор с базовыми параметрами | 0,987607 | 0,983735 | 0,992063 | 0,987882 |
Классификатор с оптимальными параметрами | 0,992457 | 0,989485 | 0,995767 | 0,992616 |
Характеристики лучших моделей каждого вида сведены в таблицу 5. В связи с порядком значений метрик качества полученных моделей валидационная выборка оказалась невостребованной во всех трех случаях.
Таблица 5. Характеристики моделей для атак на Web-приложения
Модель | Метрика качества | Размер модели, кб | |||
Аккуратность | Точность | Полнота | F-мера | ||
Логистическая регрессия | 0,951509 | 0,913043 | 1,0 | 0,954545 | 7 |
Решающее дерево | 0,999461 | 0,998943 | 1,0 | 0,999471 | 16 |
Нейронная сеть | 0,992457 | 0,989485 | 0,995767 | 0,992616 | 110 |
На основании данных представленной выше таблицы можно утверждать, что оптимальной моделью для выявления атак на Web-приложения является модель на основе решающего дерева. Использование нейронной сети избыточно.
Составление выборок для атаки типа Infiltration
Для части набора данных, содержащих атаку типа Infiltration, произведем замену меток классов. В списке новых меток наблюдаем ярко выраженный дисбаланс классов. Объемы выборок достаточны для использования недосемплирования. При этом дублируются записи меньшего из классов, пока объемы классов не сравняются. В этом случае используются все данные.
Пропустим сбалансированные данные через конвейер предобработки, сохраним параметры нормализации и разобьем данные на выборки. Реализация данных преобразований аналогична представленной выше. Характеристики полученных выборок сведены в таблицу 6.
Таблица 6. Характеристики выборок для атаки типа Infiltration
Характеристика | Выборка | ||
Обучающая | Валидационная | Тестовая | |
Общее число записей | 259 094 | 32 387 | 32 387 |
Число записей с меткой вредоносного трафика | 129 622 (50,0%) | 16 228 (50,1%) | 16 234 (50,1%) |
Число записей с меткой легального трафика | 129 472 (50,0%) | 16 159 (49,9%) | 16 153 (49,9%) |
Рассмотрим классификатор на основе логистической регрессии со стандартными параметрами. В результате обучения получена модель со следующими значениями метрик качества по тестовой выборке: аккуратность: 0,555470; точность: 0,594545; полнота: 0,355796; F-мера: 0,445180.
Модель не справляется со своей задачей. Качество классификации близко к уровню случайного угадывания. При попытке подобрать лучшие гиперпараметры классификатора качество работы классификатора не улучшилось.
В результате обучения классификатора на основе решающего дерева со стандартными параметрами получена модель со следующими значениями метрик качества по тестовой выборке: аккуратность: 0,568221; точность: 0,570853; полнота: 0,558334; F-мера: 0,564524. Полученная модель не превосходит предыдущую по качеству.
Попробуем подобрать более осмысленную сетку параметров. Для этого определяются зависимости метрик качества классификатора от ключевых гиперпараметров модели на тестовой и валидационной выборках: в зависимости от глубины дерева, в зависимости от предела разветвления, в зависимости от критерия разветвления. На основе этих сведений составляется новая сетка и таким образом находится лучшая модель, которая обладает немного лучшими свойствами. Характеристики моделей сведены в таблицу 7.
Таблица 7. Значения метрик качества классификаторов на основе нейронной сети для атаки типа Infiltration
Классификатор | Метрика качества | |||
Аккуратность | Точность | Полнота | F-мера | |
Классификатор с базовыми параметрами | 0,568221 | 0,570853 | 0,558334 | 0,564524 |
Классификатор с подобранными параметрами | 0,585821 | 0,588601 | 0,576999 | 0,582742 |
При обучении классификатора на основе нейронной сети усложним ее архитектуру относительно представленной ранее путем добавления второго скрытого полносвязного слоя. Число нейронов в обоих скрытых слоях устанавливается равным 100. Базовая модель после обучения обладает значениями метрик качества по тестовой выборке: аккуратность: 0,571124; точность: 0,694168; полнота: 0,258100; F-мера: 0,376291.
Попробуем получить более аккуратную модель при помощи подхода, аналогичному представленному в обучении с решающим деревом, с определением метрик качества для ключевых параметров модели. Произведем перебор таких параметров. Лучшая из рассмотренных моделей была получена при использовании гиперболического тангенса как функции активации скрытых слоев с сохранением прочих гиперпараметров базового классификатора. Характеристики моделей сведены в таблицу 8.
Таблица 8. Значения метрик качества классификаторов на основе нейронной сети для атаки типа Infiltration
Классификатор | Метрика качества | |||
Аккуратность | Точность | Полнота | F-мера | |
Классификатор с базовыми параметрами | 0,572266 | 0,709484 | 0,248367 | 0,367933 |
Классификатор с подобранными параметрами | 0,550252 | 0,539627 | 0,699581 | 0,609281 |
Характеристики лучших моделей каждого вида сведены в таблицу 9. На основании этих данных можно утверждать, что оптимальной моделью для выявления атак типа Infiltration является нейронная сеть. При этом результаты классификации даже для лучшей модели являются неудовлетворительными.
Таблица 9. Характеристики моделей для атаки типа Infiltration
Модель | Метрика качества | Размер модели, кб | |||
Аккуратность | Точность | Полнота | F-мера | ||
Логистическая регрессия | 0,555470 | 0,594545 | 0,355796 | 0,445180 | 7 |
Решающее дерево | 0,585821 | 0,588601 | 0,576999 | 0,582742 | 489 |
Нейронная сеть | 0,550252 | 0,539627 | 0,699581 | 0,609281 | 130 |
Лучшие модели для классификации рассмотренных атак, которые были получены в ходе работы, и значения их метрик качества по тестовым выборкам сведены в таблицу 10.
Таблица 10. Лучшие полученные модели машинного обучения для классификации атак
Атака | Тип классификатора | Метрика качества | Размер модели, кб | |||
Аккуратность | Точность | Полнота | F-мера | |||
Web | Решающее дерево | 0,999461 | 0,998943 | 1,0 | 0,999471 | 16 |
Infiltration | Нейронная сеть | 0,550252 | 0,539627 | 0,699581 | 0,609281 | 130 |
Для атак на Web-приложения были получены результаты, близкие к оптимальным. Атаку типа Infiltration удовлетворительно классифицировать на представленных данных и при помощи рассматриваемых алгоритмов с фиксированной архитектурой не удалось.
Также было проведено дополнительное исследование, при котором производилась попытка классификации данных в наборе, в котором отсутствовали какие-либо атаки. Все модели справились с задачей. И рассматриваемые атаки не были там обнаружены. При попытке обнаружения неизвестной классификатору атаки (например, Brute Force для атак на Web-приложения) модели ожидаемо не справились с задачей.
Заключение
Для улучшения результатов обучения можно использовать предварительную обработку данных иного вида, где будет осуществляться упор на решение задачи классификации конкретного вида атаки. При этом возможно значительное усложнение архитектуры моделей (особенно перспективны нейронные сети). Также возможен более тщательный перебор гиперпараметров моделей, связанный с повышением требований к вычислительным мощностям или времени обучения.
В дальнейшем предполагается использовать предложенные способы улучшения результатов. Кроме того, предполагается рассмотреть метрики качества для других видов атак с использованием тех же типов классификаторов: решающее дерево, логистическая регрессия, нейронная сеть.
About the authors
Irina S. Pozdnyak
Povolzhskiy State University of Telecommunications and Informatics
Author for correspondence.
Email: i.pozdnyak@psuti.ru
Associated Professor of Information Security Department, PhD in Technical Science
Russian Federation, SamaraIgor S. Makarov
Povolzhskiy State University of Telecommunications and Informatics
Email: i.makarov@psuti.ru
Associated Professor of Information Security Department. PhD in Technical Science
Russian Federation, SamaraReferences
- Saranya T. et al. Performance analysis of machine learning algorithms in intrusion detection system: a review. Procedia Computer Science, 2020, vol. 171, pp. 1251–1260.
- Ferriyan A. et al. Generating network intrusion detection dataset based on real and encrypted synthetic attack traffic. Applied Sciences, 2021, vol. 11, no. 17. URL: https://www.mdpi.com/2076-3417/11/17/7868 (accessed: 15.01.2024).
- De Lucia M.J., Cotton C. Identifying and detecting applications within TLS traffic. Proceedings Cyber Sensing, 2018, vol. 10630, pp. 106300U.
- Sheluhin O.I., Sakalema D.Zh., Filinova A.S. Detection of Intrusions into Computer Networks (Network Anomalies): Textbook for Universities. Moscow: Goryachaya liniya – Telekom, 2022, 220 p. (In Russ.)
- Sharma S., Krishna C.R., Sahay S.K. Detection of advanced malware by machine learning techniques. Springer, Advances in Intelligent Systems and Computing, 2018, vol. 742, pp. 332–342.
- CSE-CIC-IDS2018 on AWS. URL: http://www.unb.ca/cic/datasets/ids-2018.html (accessed: 18.12.2023).
- Intrusion Detection Evaluation Dataset (CIC-IDS2017). URL: https://www.unb.ca/cic/datasets/ids-2017.html (accessed: 18.12.2023).
- Ferriyan A. et al. HIKARI-2021: Generating network intrusion detection dataset based on real and encrypted synthetic attack traffic. URL: https://zenodo.org/records/5199540 (accessed: 20.01.20244).
- Catillo M. et al. USB-IDS-1: A public multilayer dataset of labeled network flows for IDS evaluation. 51st Annual IEEE/IFIP International Conference on Dependable Systems and Networks Workshops (DSN-W), 2021, pp. 1–6. doi: 10.1109/DSN-W52860.2021.00012
- Harrison M. Machine Learning: A Pocket Guide. A Quick Guide to Structured Machine Learning Methods in Python. Transl. from English by V.A. Kovalenko. Saint Petersburg: Dialektika, 2020, 320 p. (In Russ.)
Supplementary files
![](/img/style/loading.gif)