Оглавление
Почему хорошая SIEM не может обойтись без машинного обучения? Какие модели уже применяются в реальных продуктах? И что ждет этот симбиоз в будущем?
Авторы:
Артем Проничев, руководитель группы анализа событий безопасности, Positive Technologies
Александр Мамылов, старший ML-инженер группы анализа событий безопасности, Positive Technologies
Тимур Смирнов, младший ML-инженер группы анализа событий безопасности, Positive Technologies
Многие компании для мониторинга событий информационной безопасности и управления инцидентами используют SIEM-системы. В ряде отраслей этот класс продуктов уже превратился в неотъемлемый элемент защиты. Современные SIEM-решения обеспечивают мониторинг, выявляют подозрительную активность, расширяют возможности реагирования на угрозы, собирая записи об инцидентах из различных источников и представляя операторам SOC данные в удобном формате.
Новые вызовы
Наряду с развитием технологий киберзащиты SIEM-системы сталкиваются и с новыми вызовами. Яркий тому пример – работа правил корреляции, заключающаяся в возможности соотносить различные типы данных между собой. Это одна из ключевых функций SIEMрешения, которая позволяет выявлять связи между различными событиями и своевременно реагировать на угрозы.
Правила корреляции имеют ряд ограничений, например:
большое количество ложных срабатываний, обработка которых перегружает аналитиков и мешает выявлять реальные угрозы;
несоответствие некоторых атак правилам корреляции, из-за чего специалисты могут их не заметить;
изолированный анализ событий (без учета контекста), который снижает эффективность правил, а значит – и всей защиты.
На наш взгляд, логичным шагом в развитии SIEM-систем станет внедрение машинного обучения (Machine Learning, ML) – способности продукта самостоятельно обучаться и развиваться на основе полученных данных.
Что может ML в SIEM
Различные модели машинного обучения предлагают несколько способов преодоления ограничений в работе правил корреляции SIEM-систем. С их помощью можно:
анализировать огромные объемы данных и выявлять закономерности, что позволяет уменьшить количество ложных срабатываний;
выявлять аномалии и нестандартные цепочки событий, которые не прописаны в правилах;
обучать модели и адаптировать их к новым данным, что позволит подстраиваться под изменяющуюся природу атак;
учитывать контекст и связи между различными событиями, анализируя данные в совокупности, а не изолированно;
интегрировать машинное обучение в другие инструменты и системы безопасности для более комплексного анализа событий.
Часть преимуществ машинного обучения еще только предстоит реализовать в SIEM-системах, но некоторые ML-модели присутствуют в продуктах уже сегодня. Рассмотрим их подробнее.
Рекомендательная система
Одна из таких моделей – рекомендательная система, которая помогает определять, насколько типично поведение пользователя при работе с процессами.
Допустим, некий программист всегда работал с кодом в Visual Studio Code, но в какой-то момент решил перейти на PyCharm. В этом случае привычные правила корреляции заставили бы забить тревогу просто потому, что обычный сотрудник использовал другой редактор. Конечно, в результате такое событие было бы признано ложноположительным, но ресурсы системы и внимание специалистов по ИБ могли бы быть направлены на него в ущерб другому событию, более значимому.
Как показывает этот пример, традиционные подходы плохо адаптированы к реальности: они не помогают SIEM-решению понимать контекст. Рекомендательная система на основе машинного обучения могла бы присваивать разным пользователям некий набор типичных для них программ и процессов. Тогда, если сотрудник запустит какой-либо новый сервис, SIEM-решение сверится с данными модели и забьет тревогу только в том случае, если он не входит в список привычных для этого специалиста. Например, если командную строку запустит не программист, а сотрудник бухгалтерии.
Выявление подозрительных цепочек процессов
Рассмотрим работу другой модели, которая отвечает за анализ цепочки запускаемых процессов и помогает выявить фишинг.
Представьте, что вы получили письмо с вложенным документом в Outlook. Вы кликаете по файлу, и открывается Microsoft Word. Пока вы читаете текст, прикрепленный к файлу, вредоносный макрос в фоновом режиме запускает командную строку Windows (cmd.exe) и утилиту whoami.exe. Киберпреступники часто используют такой прием, чтобы проверить свои права в системе.
Сам по себе запуск утилиты whoami.exe из командной строки не является чем-то необычным. А вот резкий переход от запуска Outlook к процессу whoami.exe, как в нашем примере, выглядит подозрительно. Машинное обучение позволит системе анализировать цепочку процессов и отличать одну ситуацию от другой, что сократит число ложноположительных результатов и повысит точность срабатываний.
Анализ статистических паттернов
Говоря простыми словами, эта модель анализирует, насколько часто тот или иной пользователь совершает определенное действие. Например, как часто сотрудник подключается к рабочим ресурсам из нового места или запускает некую программу. Машинное обучение поможет SIEM-решению определить, насколько данное действие типично для этого пользователя. Впрочем, модель анализирует в системе не только поведение пользователей, но и процессов.
Переход от вердиктов к оценке риска
Конечно, здесь перечислены далеко не все сценарии применения машинного обучения в SIEM-системах. Однако, если ограничиться только внедрением различных моделей и полагаться на их вердикты (решения), мы получим просто более сложную систему правил корреляции, недостатки которых приведены в начале статьи. И как было отмечено ранее, большое количество ложноположительных срабатываний только создаст лишнюю нагрузку и запутает специалистов по ИБ.
Это естественное ограничение подхода, основанного на вердиктах (решениях) моделей. Поэтому для своего продукта этого класса – MaxPatrol SIEM [1] – мы не просто применяем машинное обучение, а разработали специальный модуль BAD (Behavioral Anomaly Detection). В своем первом релизе ML-помощник работал как система second opinion: с помощью машинного обучения модуль подтверждал срабатывание правил корреляции. В результате когнитивная нагрузка аналитиков снижалась, что позволяло им быстрее и точнее принимать решения по инцидентам ИБ. В новой версии интеграция с BAD расширилась: теперь ML-алгоритмы помогают выявлять даже неизвестные атаки злоумышленников и те, которые направлены на обход стандартных правил корреляции. В модуль встроено порядка 50 моделей машинного обучения, разработанных на основе 20-летнего опыта Positive Technologies в расследовании инцидентов. BAD собирает и анализирует данные о событиях, пользователях, процессах в контексте событий и присваивает им определенный уровень риска (risk score). Операторы могут обнаруживать аномалии в событиях не только Windows-, но и Unix-подобных систем и сетевого оборудования.
Как машинное обучение будет применяться в SIEM-системах завтра
Нам кажется, что в будущем вместо подхода rule-based для вынесения вердикта будут также применять машинное обучение. Уже сейчас мы можем профилировать процессы, выстраивать длинные цепочки запусков и фиксировать аномалии на различных узлах.
Однако, зачастую высокую оценку риска получают легитимные действия, а киберпреступники маскируют свою активность и обходят правила реагирования. Машинное обучение можно использовать, чтобы присвоить общую оценку риска всей цепочке, включая дочерние процессы и контекст событий. Такую цепочку с большим количеством узлов удобно представлять в виде дерева (см. рис.).
Рис. 1. Цепочку с большим количеством узлов удобно представлять в виде дерева
Теперь представим, что у нас есть рабочая и полностью настроенная система безопасности с аналогом модуля BAD, которая способна анализировать различные процессы и даже их цепочки. Такая защита фиксирует некое событие, присваивает ему среднюю оценку риска, далее автоматически изучает контекст, например, из шести дочерних процессов и повышает уровень угрозы до высокой. Но что, если связанных действий будет больше: например, двенадцать? Или если оператору понадобится увеличить число рассматриваемых событий? Так перед нами
появляется задача разработки подхода, который будет эффективен вне зависимости от количества узлов в цепочке и позволит на лету подключать к анализу новые.
Как это может работать
Исходя из характера угроз и параметров системы, для каждого узла модель выбирает глубину сканирования – сколько соседних процессов необходимо включить в анализ. Например, если глубина равна двум, то наше SIEM-решение изучит не только целевое событие, но и его прямых соседей и соседей этих соседей.
Чтобы этот подход работал вне зависимости от количества соседей, необходимо включить в систему операцию свертки – сбора и анализа совокупности аномалий и признаков дочерних процессов. Существует несколько способов добиться желаемого результата для всех узлов в окрестности:
усреднение их признаков;
суммирование их признаков;
выбор максимального значения из их признаков.
Вне зависимости от выбранного способа процесс должен повторяться для каждого узла в системе, чтобы добиться глобального обновления оценок с учетом контекста в реальном времени. Стоит признать, что сейчас в защите на основе этого подхода все еще возникают ошибки из-за относительно небольшого объема материала для обучения. Однако, увеличение количества примеров и отладка системы – вопрос времени.
Машинное обучение в SIEM-системах – это не дело будущего, оно используется уже сегодня. Количество данных об инцидентах постоянно растет, а модели ML помогают снизить число ложноположительных срабатываний и освободить ресурсы сотрудников SOC для решения комплексных задач.
ITSec_articles