Light mode

Модуль BAD: как ML-алгоритмы помогают отслеживать хакеров

  • #BAD
  • #ML

О чем статья

Помимо классических правил корреляции, в MaxPatrol SIEM применяется модуль поведенческого анализа BAD (Behavioral Anomaly Detection). Он выявляет аномалии в инфраструктуре с помощью ML-моделей. Рассказываем, как устроен BAD и для решения каких задач его можно использовать. 

BAD работает как система second opinion: сравнивает активность процессов и их действия с легитимными действиями и присваивает всем событиям определенный risk score. Для этого модуль анализирует каждое поступающее из ОС событие с помощью множества атомарных ML-моделей. 

ML-модели изучают отдельные аспекты и характеристики событий и тем самым обеспечивают многогранную оценку любой активности в системе. Например, одна модель может сосредоточиться на поиске редких или уникальных процессов, а другая — на коммуникации конкретного процесса с сетевыми ресурсами. При этом у каждой модели есть определенный вес (значимость), который учитывается при формировании финального risk score. Кроме того, в модуле есть функция поиска и специальный алгоритм, который позволяет объединять разные типы событий в единую сущность, чтобы учитывать вердикты моделей в общем профайлере процессов. 

Анализ процессов ОС — самая важная функция BAD, поскольку именно их модуль воспринимает в качестве первоисточника киберугроз. Этот подход отличается от механики классических UEBA-систем и других аналогичных решений. 

Отметим, что традиционные методы обнаружения угроз заточены на выявление конкретных хакерских инструментов или артефактов, которые злоумышленники оставляют в системе. В свою очередь, модуль BAD оперирует индикаторами поведения атакующих (indicators of behavior, IoB). IoB срабатывают, когда ML-модели фиксируют подозрительные действия. Активация индикаторов служит сигналом для дальнейшего изучения события: BAD автоматически отправляет соответствующее оповещение в MaxPatrol SIEM. 

Итоговый risk score для отдельных процессов и связанных с ними цепочек формируется путем агрегирования веса моделей, которые зафиксировали IoB: срабатывания для каждого уникального идентификатора процесса (GUID) консолидируются. В результате аналитики, работающие с SIEM-системой, видят полную картину взаимодействия процесса с ОС, могут правильно оценивать риски, приоритизировать задачи и оперативно реагировать на критичные события. 

Рисунок 1. Формирование профиля процесса
Рисунок 2. Формирование risk score процесса

Значение risk score отображается в карточке события в интерфейсе SIEM-решения. Ориентируясь на поле bad.risk_score, аналитики могут принимать более взвешенные решения при анализе срабатываний правил корреляции.  На рис. 3 представлен пример правила с importance = high, однако BAD проанализировал активность процесса, который стал триггером для срабатывания, и присвоил событию низкий risk score. Скорее всего, это корреляция с низким уровнем важности, а срабатывание на самом деле ложное.

Рисунок 3. Карточка скоррелированного события с risk score от BAD
Рисунок 4. Срабатывания ML-моделей и IoB

Отметим, что почти все алерты, которые генерируются в MaxPatrol SIEM, автоматически отправляются в модуль BAD для обогащения данными. Благодаря этому аналитики и операторы могут использовать поле bad.risk_score при написании продвинутых правил корреляции и обогащения, а также для фильтрации событий.

Рисунок 5. Сработавшие правила корреляции с обогащенным risk score
Рисунок 6. Поиск правил корреляции с risk score выше 50

Наконец, переходим к кейсам. В качестве примера разберем две атаки, которые мы зафиксировали во время кибербитвы Standoff. 

Модуль BAD способен выявлять следующие кейсы:

  • сложные целенаправленные атаки, в том числе с использованием разных техник обхода правил корреляции;
  • новые тактики, техники и процедуры, еще не покрытые детектами;
  • постэксплуатацию неизвестной ранее уязвимости;
  • случайный или чрезмерный вайтлистинг правил корреляции со стороны пользователей.
     

Кейс № 1

Рассмотрим инцидент, в рамках которого атакующие запустили на рабочей станции пользователя вредонос gostbypass.exe. Файл функционировал как SOCKS-прокси и стал каналом для развития атаки, но никаких процессов при этом не порождал.

Атакующие провели разведку доменной сети и получили доступ к нескольким серверам и приложениям (см. рис. 7).

Рисунок 7. Схема активности процесса gostbypass.exe

На эту активность сработали правила корреляции с низким уровнем важности (см. рис. 8), однако BAD проанализировал весь профиль поведения gostbypass.exe и выдал альтернативное мнение. Зайдя в карточку оценки риска, оператор может подтвердить или опровергнуть оценку модуля (см. рис. 9). Если BAD правильно определил risk score, мы можем исключить эту активность из обучающей выборки.

Рисунок 8. Корреляция с высокой оценкой риска от BAD и уровнем важности info
Рисунок 9. Подтверждение оценки риска
Рисунок 10. Срабатывания моделей ML и IoB в сниппете от BAD

BAD проанализировал поток данных с рабочей станции скомпрометированного пользователя. Опираясь на атомарные ML-модели и IoB, модуль выявил необычные шаблоны в последовательности и поведении процессов (см. рис. 11). Аномальное поведение привело к повышению risk score и стало сигналом о возможной вредоносной активности.

Рисунок 11. Индикаторы поведения, отправленные BAD в MaxPatrol SIEM

Кейс № 2

Теперь рассмотрим инцидент, в рамках которого компьютер пользователя подвергся атаке с использованием вредоносного документа Microsoft Office. Запущенный из этого документа скрипт PowerShell загрузил и активировал целый ряд вредоносных компонентов, в том числе процесс ss.exe, который послужил атакующим прокси-сервером и стал каналом развития атаки. Злоумышленник провел разведку узла, затем переместился внутри периметра и получил доступ к нескольким компьютерам в сети. 

Рисунок 12. Активность процесса ss.exe

Отфильтруем срабатывания правил корреляции с высоким значением bad.risk_score.

Рисунок 13. Срабатывания правил корреляции с высокой оценкой риска
Рисунок 14. Карточка скоррелированного события с оценкой риска

На рис. 15 представлен список сработавших моделей, рассмотрим некоторые из них подробнее:

  1. Подозрительная цепочка запусков процессов (windows). MaxPatrol SIEM может строить цепочки запускаемых процессов, для этого у нас есть специально обученная ML-модель.
  2. Нетипичный для процесса целевой узел (windows). Эта модель ищет аномальные процессы, которые авторизуются в ОС.
  3. Нетипичный для пользователя процесс (windows). Модель выявляет факт запуска уникальных для пользователя процессов на узле и предупреждает, если процесса не было в обучающей выборке.
Рисунок 15. Модели, сработавшие на активность процесса ss.exe

Из сработавших атомарных моделей сложились индикаторы поведения (см. рис. 16), на основе которых BAD сформировал итоговый risk score.

Рисунок 16. Срабатывания индикаторов поведения

Отметим, что BAD также фиксирует определенные признаки процессов. На рис. 17 представлен обнаруженный признак: в этой нелегитимной активности есть процесс, который ведет себя как прокси-сервер. 

Рисунок 17. BAD фиксирует признак процесса

Напоследок представим ситуацию, в которой на описанную выше активность не сработало ни одно из правил корреляции. Либо предположим, что неопытный оператор написал широкую регулярку и завайтлистил пачку правил…

BAD отправит сработавшие IoB в MaxPatrol SIEM, система агрегирует срабатывания в рамках GUID процесса и рассчитает суммарный вес правил. В результате мы получим все те же аномальные процессы! Таким образом, BAD помогает решить проблему чрезмерного вайтлистинга и может выступать в роли инструмента для выявления атак, которые не обнаружили традиционные средства мониторинга. 

Рисунок 18. Аномальные процессы в MaxPatrol SIEM

***

Модуль BAD повышает точность и скорость реагирования на угрозы, помогает оптимизировать процессы обнаружения атак и сокращает время нейтрализации инцидентов. Мы планируем развивать механизмы скоринга, дорабатывать атомарные модели и разрабатывать новые IoB: все это позволит точнее идентифицировать аномалии и характерные признаки хакерской активности. Кроме того, мы видим большой потенциал в создании единой комплексной ML-модели, которая будет описывать поведение хакера в целом. 

Мы дěлаем Positive Research → для ИБ-экспертов, бизнеса и всех, кто интересуется ✽ {кибербезопасностью}