Командный проект на тему "Методы машинного обучения для обнаружения вторжений в сетях интернета вещей"
Интернет вещей (IoT) — это новая парадигма нашего времени, в которой интеллектуальные устройства и датчики со всего мира соединены в глобальную сеть, а распределенные приложения и услуги влияют на все сферы человеческой деятельности. Благодаря огромному экономическому эффекту и всепроникающему влиянию на нашу жизнь интернет вещей является привлекательной мишенью для преступников, а кибербезопасность становится приоритетом для экосистемы интернета вещей. Для защиты сетей интернета вещей от атак существуют системы обнаружения вторжений (IDS). В данной работе будут рассматриваться IDS, ядром которых являются методы машинного обучения, поскольку такие IDS способны к само-обучению и могут работать при относительно небольших мощностях с достаточной скоростью, в отличие от классических IDS. В работе рассмотрены методы классического машинного обучения и современные архитектуры нейронных сетей, в том числе, трансформерные модели, а также проведен сравнительный анализ их результатов применительно к задаче обнаружения вторжений в сетях IoT.
В данной работе используется сокращенная версия датасета CIC-IoT-2023, опубликованного в 2023 году и содержащего актуальную информацию о трафике в сетях интернета вещей. Полный датасет содержит более 1 млрд. записей, поэтому он не был использован ввиду ограниченности доступных вычислительных ресурсов.
Сформированный датасет CIC-IoT-2023-Mini содержит по 13 064 строк для каждого типа трафика (файл CIC-IoT-2023-Mini.zip).
Ссылка на исходный датасет: https://www.unb.ca/cic/datasets/iotdataset-2023.html
- язык программирования - Python;
- библиотека для работы с датасетом - Pandas;
- библиотеки для удобного вывода графиков - Matplotlib и Seaborn;
- библиотека для программной реализации моделей классического машинного обучения - Scikit-Learn;
- библиотека для программной реализации моделей глубокого обучения CNN и LSTM - TensorFlow;
- библиотека для программной реализации модели глубокого обучения DatRet - datret;
- библиотека для программной реализации модели глубокого обучения TabNet - pytorch-tabnet;
- библиотека для программной реализации трансформерной модели глубокого обучения TabPFN - tabpfn;
- редактор кода и платформа для вычислений - Google Colaboratory.
По данной работе была написана статья и выложена на ResearchGate: https://www.researchgate.net/publication/376376776_Metody_masinnogo_obucenia_dla_obnaruzenia_vtorzenij_v_setah_interneta_vesej?_tatpl%5Bac%5D%5B0%5D%5Bactor%5D=AC%3A43394707&_tatpl%5Bac%5D%5B0%5D%5Bid%5D=1710642011092066304&_tatpl%5Bac%5D%5B0%5D%5Bobject%5D=PB%3A376376776&_tatpl%5Bac%5D%5B0%5D%5Bts%5D=1702290037&_tatpl%5Bac%5D%5B0%5D%5Bverb%5D=follow&_tatpl%5Bs%5D=35956f515bc0d415410d755ce7f85d5de76e4c7e&_tp=eyJjb250ZXh0Ijp7ImZpcnN0UGFnZSI6ImhvbWUiLCJwYWdlIjoiaG9tZSIsInBvc2l0aW9uIjoiZ2xvYmFsSGVhZGVyIn19