От сигнатур к ML IDS: чему Suricata может научить модель?

От сигнатур к ML IDS: чему Suricata может научить модель?

В статье рассматривается возможность построения системы обнаружения вторжений уровня сети (ML IDS) с использованием машинного обучения. Традиционные системы обнаружения вторжений (IDS), основанные на сигнатурном анализе, имеют существенный недостаток — они неэффективны против новых или модифицированных атак. ML IDS призваны решить эту проблему, но их разработка сталкивается с трудностями при формировании размеченных наборов данных.

Проблема создания ML IDS

Основная сложность заключается в необходимости иметь размеченный датасет, содержащий образцы как «чистого» трафика, так и различных типов атак. Получить такой датасет в реальных условиях бывает затруднительно по ряду причин:

  • Невозможность намеренно атаковать защищаемый ресурс.
  • Сложность создания точной модели защищаемого ресурса и инфраструктуры.
  • Открытость многих инструментов атак, что затрудняет сбор репрезентативных данных.

Альтернативный подход — построение системы выявления аномалий, где модель обучается только на «чистом» трафике. Однако такой подход также имеет свои ограничения.

Использование IDS Suricata для разметки данных

Авторы статьи выдвинули гипотезу о возможности построения ML IDS, используя события безопасности, зарегистрированные IDS Suricata, для разметки датасетов. Для этого был разработан собственный инструмент session_analyzer, который рассчитывает вектора признаков сетевого трафика.

Процесс включает следующие этапы:

  • Сбор сетевого трафика с помощью IDS Suricata и session_analyzer.
  • Предварительная обработка данных: извлечение адресной информации и 10 значимых признаков, добавление меток класса (Benign/Attack) и источника данных.
  • Сопоставление векторов признаков с событиями безопасности IDS Suricata для разметки датасета.

Были проведены эксперименты по обучению и оценке качества ML модели (CatBoostClassifier) на различных временных интервалах собранного трафика. Исследование выявило ряд проблем, связанных с качеством разметки данных, репрезентативностью выборки и особенностями правил IDS Suricata.

Ключевые выводы исследования

  • ML IDS уровня сети можно построить, используя события безопасности, зарегистрированные сигнатурными анализаторами, такими как IDS Suricata.
  • Разметка датасетов с помощью сигнатурных анализаторов имеет преимущество в возможности тонкой настройки правил для снижения ложных срабатываний.
  • Не все срабатывания IDS Suricata подходят для разметки датасетов: правила, основанные исключительно на адресной информации, могут приводить к ложным срабатываниям и пропускам атак.
  • Для качественного распознавания некоторых атак требуется изменение признакового пространства.
  • Обучающая выборка должна быть репрезентативной, и модель может потребовать переобучения при появлении новых типов атак или изменении сетевой инфраструктуры.
  • Для обучения ML IDS требуется около недели наблюдения за сетевым трафиком.
  • Качество ML IDS классификатора по метрике F1-меры может достигать 0.98 при должной разметке датасета.

Недостатки исследования

  • Использование бинарной классификации ограничивает возможность определения конкретного класса атаки.
  • Исследование проводилось на пользовательской сети, что не позволяет сделать выводы о применимости ML IDS для защиты конкретных ресурсов (например, веб-серверов).
Читать оригинал