Экспертиза под микроскопом [Оголяемся технологически. MaxPatrol SIEM]

8ea7b1907bbd7bff5cac9a7fdfa88f64.png

Привет! На связи руководитель экспертизы MaxPatrol SIEM Кирилл Кирьянов и старший специалист группы обнаружения APT-атак Сергей Щербаков. В одной из прошлых статей нашего цикла мы говорили про нормализацию и обогащение как первые шаги в работе с любым событием в SIEM-системе. Сегодня зайдем чуть дальше и рассмотрим следующий этап жизненного пути инцидента — работу правил корреляции.

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

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

Что такое экспертиза и из чего она формируется

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

Мы считаем, что секрет хорошей экспертизы не только в количестве источников контента, но и в их разнообразии. Для себя мы выделили четыре основных направления:

  • Информация об инструментах и техниках киберпреступников. Логично, что для поиска вредоносного ПО нужно знать, как оно устроено и как оно ведет себя в системе. Благодаря огромному опыту в изучении киберугроз мы научились находить их не только по конкретным признакам, но и по общим паттернам. Например, в ходе анализа утилиты Internal Monologue мы поняли, что она использует определенные ключи реестра для понижения версии протокола NTLM и получения хешей. Мы добавили эти данные в экспертизу, и теперь MaxPatrol SIEM умеет выявлять и другие вредоносные программы, которые попытаются изменить эти ключи.

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

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

  • Поддержка новых источников. Помимо большого количества существующих программ, постоянно появляются новые сервисы. Когда в нашем поле зрения появляется новая утилита, мы стараемся ее категорировать, то есть отнести к некой группе ПО, которое выполняет схожие задачи и подвержено схожим атакам. Если же такой группы нет, изучаем программу и создаем на основе анализа новый пул угроз, который затем покрываем контентом. В будущем это позволит быстрее закрывать базовые уязвимости в подобных приложениях.

Источники контента

Если называть конкретные примеры источников, то в их количестве тоже нет недостатка. Мы, как и все, используем социальные сети, такие как X и мессенджер Telegram. Немалую часть экспертизы мы получаем от своих коллег из red team и команды Incident Response. Обратная связь от клиентов позволяет нам узнавать о ложноположительных срабатываниях и пополнять белые списки.

Большой опыт эксперты получают во время участия в профильных конференциях и проектах. Например, относительно недавно мы отвечали за информационную защиту фиджитал-турнира — про это можно почитать в статье про «Игры будущего». Наши инструменты автоматизации помогают своевременно находить изменения в различных утилитах на GitHub и создавать новые правила или корректировать существующие. А чтобы проверить свой контент в деле, мы используем киберполигон Standoff.

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

Процесс разработки контента

После сбора и анализа информации от источников наступает этап разработки контента. Допустим, мы обнаружили новую утилиту под названием СookieKatz и хотим создать для нее правила корреляции. Процесс можно разделить на пять этапов:

  1. Эмуляция атаки.

  2. Подготовка исследования.

  3. Разработка правил.

  4. Перенос изменений в GitLab и их проверка.

  5. Тестирование корреляции.

Рассмотрим каждый из них подробнее.

Первый этап: эмуляция атаки

Эмуляцию атаки мы проводим на тестовых стендах. Они представляют из себя домен, серверы с необходимыми ролями и приложениями, рабочие станции и средства мониторига. В ходе испытаний мы запускаем нашу утилиту CookieKatz, которая используется для выгрузки куки прямо из памяти процессов браузеров. Наша задача на данном этапе — выяснить, можно ли с ее помощью осуществить атаку.

Второй этап: подготовка исследования

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

Затем мы передаем исследование коллегам на предварительную проверку. Ее цель — решить, нужно ли написать новое правило, дополнить существующее или просто обновить информацию в табличных списках.

Табличные списки в MaxPatrol SIEM

Табличный список — это перечень вредоносных утилит, информационных активов или иных данных, объединенных по определенному признаку  и используемых в правилах корреляции или обогащения. Они представлены в виде двумерного массива данных и хранятся в памяти SIEM-системы. Например, в MaxPatrol SIEM есть следующие табличные списки:

  • Windows_Hacktools — табличный список, который содержит в себе данные инструментов для взлома операционной системы Windows. Он включает в себя названия утилит, хеши, командлайны и другую информацию, которая поможет их обнаружить. Если внести сведения о программе в список, MaxPatrol SIEM сразу забьет тревогу при ее появлении в вашей инфраструктуре.

  • Critical_Files_List — в этом списке находятся важные пути или файлы, доступ к которым вы хотите отслеживать. Как только какая‑либо утилита попытается получить к ним доступ, оператор SIEM получит оповещение безопасности.

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

Перечень основных табличных списков в MaxPatrol SIEM

Перечень основных табличных списков в MaxPatrol SIEM

Наши клиенты могут использовать свою экспертизу и добавлять собственные индикаторы в соответствующие табличные списки.

Третий этап: написание правил

Допустим, наше исследование прошло проверку и мы приняли решение создать новые правила. Правила корреляции мы пишем с помощью плагина VS Code, а для разработки нормализации используем SDK GUI. Правила на каждую атаку создаются в отдельной ветке Git (это cпециальная консольная утилита для контроля изменений в проекте), куда помимо кода аналитик добавляет свои экспертные знания, позволяющие быстрее понимать работу правила и валидировать корреляционные события.

Для примера взглянем на файл metainfo.yaml, который нужен для хранения метаданных нашего правила.

Файл metainfo.yaml используется для хранения правил локализации

Файл metainfo.yaml используется для хранения правил локализации

Как видно, здесь указан автор правила, чтобы коллеги знали, у кого получить дополнительную информацию. Список Usecases содержит примеры вредоносной активности, которую будет выявлять система. В строке falsepositives можно указать возможные сценарии, приводящие к ложноположительным срабатываниям. С их помощью можно быстрее определить, является событие частью атаки или нет.

Чтобы ускорить процесс апгрейда, мы прикладываем к правилу ссылки на полезные инструменты и статьи. Для удобства дальнейшей работы есть поддержка маппинга — определения согласованности данных в файле с макросами, правилами обогащения и корреляции. Это позволяет видеть зависимости и быстрее адаптировать контент.

Отбор событий

Одно из самых важных в работе правил корреляции — отбор событий, которые следует направлять в MaxPatrol SIEM. Ведь если бы в систему поступало каждое действие в инфраструктуре, то ни продукт, ни оператор не выдержали бы нагрузки. Но при этом необходимо обеспечить подробное отслеживание важных операций. Фиксировать необходимые события для MaxPatrol SIEM помогают утилиты auditd и Sysmon, ссылки на конфигурационные файлы которых содержатся в самих пакетах экспертизы и документации к ним.

Списки событий и фильтры к ним периодически обновляются, поэтому нужно следить за актуальностью конфигурационных файлов auditd и Sysmon. Там же содержатся данные о свежих детектах.

События Sysmon содержат подробные сведения о стартах процесса, сетевых соединениях, создании файлов, работе с реестром и многом другом. Эти данные будут полезны не только при обнаружении угроз, но и в расследовании инцидентов. Их также использует наш модуль поведенческого анализа BAD (Behavioral Anomaly Detection), который может подсветить вредоносные события, не покрытые правилами, — подробнее про него можно почитать в недавней статье.

Четвертый этап: перенос в GitLab и еще одна проверка

После создания правил автор отправляет merge request — запрос на слияние с основной веткой проекта. Перед переносом изменений в основную ветку проходит еще один этап ревью и вычитка локализации. На этом этапе основное внимание уделяется написанию кода и вносятся незначительные правки.

Пятый этап: тестирование

Когда контент перенесен в основную ветку проекта, настало время его тестирования. Для этого мы пользуемся нашей тестовой инфраструктурой, чтобы выявить как можно больше ложноположительных срабатываний и выпустить отлаженную версию.

Вносить изменения нам помогают и обращения заказчиков о ложноположительных срабатываниях. Наш SOC тоже участвует в тестировании и использует расширение SIEM Monkey, которое позволяет автоматически сообщать об ошибках в работе правил.

Некоторые правила мы выкладываем в открытый доступ, чтобы с ними могли поработать другие исследователи. Для развития сообщества мы уже дважды проводили спринты по написанию правил корреляции: первый из них был посвящен атакам на Windows, а второй — угрозам для macOS. Пока мы организуем такие мероприятия раз в год. Чтобы пообщаться с участниками и самому попробовать свои силы, достаточно зайти в чат сообщества.

Цель нашей экспертизы

Мы уделяем большое внимание экспертизе MaxPatrol SIEM, поскольку хотим добиться 100% покрытия при минимуме ложноположительных срабатываний. Поэтому мы постоянно мониторим множество разнообразных источников, дополняем контент рекомендациями аналитиков и создаем новые правила обнаружения угроз.

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

fd7c313ff83c3fd740c6b3de64563ea0.jpgКирилл Кирьянов

Руководитель экспертизы MaxPatrol SIEM, Positive Technologies

18dbf479e10520fc3286d64c8847c863.jpgСергей Щербаков

Старший специалист группы обнаружения APT-атак, Positive Technologies

© Habrahabr.ru