Как стать автором
Обновить

Комментарии 4

Я не дата-сатанист. Но есть интерес к теме, и желание использовать какие-то готовые инструменты.

Так вот, из личного опыта:

1) Elastic SIEM

Есть несколько сайтов. Они постоянно сканируются (атакуются), но взломов не было.

На защищаемую системы ставится несколько битов (auditbeat, metricbeat...), они шлют информацию (логи, метрики) на сервер, а там ML пытается увидеть признаки атак, и может слать алёрты.
По факту, в Dashboard были иногда не очень релевантные сообщения, ничего не обнаружено.

Если глубоко погрузиться, то может и можно оттюнить систему…

2) Synology Router RT2600ac

Этот роутер стоит дома. «Защищает» домашнюю сеть.
По факту: блокирует нормальные, валидные запросы. Постоянно приходят алёрты, что кто-то куда-то ходит, а когда разбираешься — то это нормальные запросы. То есть много фальш-позитивов.

Реально, что работает — это чёрные списки. Ну чтобы на планшетах, которые дал детям не пускать их на фэйсбуки и т.д… Но это, конечно не ML.

Самые лучшие инструменты защиты:
На Линуксе — это fail2ban (в основном для SSH logins, но и для всего остального)
На Винде — это github.com/DigitalRuby/IPBan (в основном для RDP, но и всего остального)
Они простые, без ML, но работают надёжно
Да, соглашаюсь.

По первому пункту (Elastic SIEM). Хорошие данные для обучения — секрет успеха. Совсем хорошо, когда эти данные собраны в реальной защищаемой сети. Банально, но убедился еще раз в эксперименте. Как в «боевой» системе собрать отдельно «чистый» и «грязный» трафик, чтобы хорошо обучить модель разделять их, — тот еще вопрос.

По второму пункту (Synology Router RT2600ac). Большое количество ложных срабатываний — известное слабое место эвристических систем обнаружения атак/вторжений. Но их сильная сторона — потенциальная возможность обнаруживать ранее неизвестные атаки. В теории выглядит так: рядом с сигнатурным анализатором (хорошо обнаруживает известное) ставим эвристический ML анализатор (хорошо обнаруживает неизвестное) и повышаем качество системы в целом.

Очень хорошая статья, понравился стиль изложения и наполнение. Ожидал успех, удивился неудаче. Можете немного раскрыть поподробнее, почему модель не удалось применить?

Спасибо.

Грубый пример, почему модель показывает неудовлетворительное качество. Допустим, сеть, где модель предобучалась, низкоскоростная. Тогда модель «запомнит», что при атаке типа brute force межпакетная задержка составляет 1 секунду, а при типовом пользовательском трафике — 1 минуту. Пусть признак «межпакетная задержка» будет единственным значимым.

Представим, что теперь мы эту предобученную модель запускаем на реальном трафике в высокоскоростной сети. Где при атаке brute force реальная межпакетная задержка сильно меньше — условно 1 миллисекунда. А нормальный трафик поступает с межпакетной задержкой 1 секунда. Модель начнет сильно ошибаться, выдавая ложные срабатывания «атака» при наблюдении типового пользовательского трафика.

Что делать? На поверхности два варианта:

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

2) Дообучить модель на данных, собранных в защищаемой сети, с целью повышения обобщающей способности модели и качества классификации.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории