Передовое обнаружение сканирования портов, DoS-атак и вредоносного ПО с использованием методов машинного обучения
Этот проект использует методы машинного обучения для классификации сетевых атак, таких как сканирование портов, отказ в обслуживании (DoS) и вредоносное ПО. Входные данные представлены в формате NetFlow V9, который является стандартным форматом, используемым Cisco.
Классификация выполняется с использованием следующих моделей:
Проект реализован на Python с использованием Jupyter Notebook и нескольких популярных библиотек, включая UMAP, Pandas, NumPy, Scikit-Learn, Matplotlib и Seaborn.
Блокнот доступен здесь для прямого просмотра на GitHub. В качестве альтернативы вы можете использовать NbViewer для доступа к блокноту через эту ссылку.
Презентация Keynote в формате PDF доступна здесь.
Набор данных, используемый в этом проекте, представлен в формате NetFlow V9 (документирован Cisco, доступен здесь). Он состоит из двух файлов: train_net.csv и test_net.csv.
Файл train_net.csv предоставляет информацию о том, когда может произойти конкретное предупреждение, тогда как файл test_net.csv используется исключительно для целей тестирования и не содержит целевой переменной для оценки производительности модели.
Набор данных довольно большой:
train_net.csv: приблизительно 4 миллиона пакетов (от 14'066 уникальных сетевых хостов)test_net.csv: приблизительно 2 миллиона пакетов (от 6'186 уникальных сетевых хостов)Maria-Elena Mihailescu, Darius Mihai, Mihai Carabas, Mikolaj Komisarek, Marek Pawlicki, Witold Holubowicz, Rafal Kozik: The Proposition and Evaluation of the RoEduNet-SIMARGL2021 Network Intrusion Detection Dataset. Sensors 21(13): 4319 (2021)