Привет! На связи руководитель экспертизы MaxPatrol SIEM Кирилл Кирьянов и старший специалист группы обнаружения APT-атак Сергей Щербаков. В одной из прошлых статей нашего цикла мы говорили про нормализацию и обогащение как первые шаги в работе с любым событием в SIEM-системе. Сегодня зайдем чуть дальше и рассмотрим следующий этап жизненного пути инцидента — работу правил корреляции.
Разберемся, что такое экспертиза, какие у нее бывают источники, как появляются новые правила корреляции и как их проверяют перед развертыванием. Подробнее взглянем на все этапы создания контента, поговорим о его обновлении и интеграции с другими продуктами киберзащиты.
«Оголяемся технологически» — серия статей о том, как устроены изнутри технологии для результативной кибербезопасности. На примере MaxPatrol SIEM расскажем про пайплайн продукта, особенности подбора источников для базы знаний, про обогащение, корреляцию, нормализацию событий: в общем, обо всем том, что есть под капотом у нашего SIEM-решения.
Что такое экспертиза и из чего она формируется
Сначала предлагаем развести понятия «экспертиза» и «правила корреляции», потому что иногда в этом вопросе возникает путаница. Мы будем понимать под экспертизой совокупность правил корреляции и экспертных данных, которые помогают обнаружить угрозу и принять меры реагирования. Кроме того, все, что обогащает экспертизу, часто называют контент.
Мы считаем, что секрет хорошей экспертизы не только в количестве источников контента, но и в их разнообразии. Для себя мы выделили четыре основных направления:
-
Информация об инструментах и техниках киберпреступников. Логично, что для поиска вредоносного ПО нужно знать, как оно устроено и как оно ведет себя в системе. Благодаря огромному опыту в изучении киберугроз мы научились находить их не только по конкретным признакам, но и по общим паттернам. Например, в ходе анализа утилиты Internal Monologue мы поняли, что она использует определенные ключи реестра для понижения версии протокола NTLM и получения хешей. Мы добавили эти данные в экспертизу, и теперь MaxPatrol SIEM умеет выявлять и другие вредоносные программы, которые попытаются изменить эти ключи.
-
Трендовые уязвимости. Иногда злоумышленники начинают активно использовать в атаках определенную уязвимость, например свежий эксплойт нулевого дня. У нас есть внутренние инструменты, которые автоматически собирают информацию о таких уязвимостях и позволяют быстро обновлять экспертизу.
-
Тестирование контента. Многие техники атакующих можно спутать с работой легитимной программы. Поэтому в процессе разработки новых правил и обновлении экспертизы мы постоянно пополняем наши белые списки и оптимизируем контент, чтобы уменьшить число ложноположительных срабатываний.
-
Поддержка новых источников. Помимо большого количества существующих программ, постоянно появляются новые сервисы. Когда в нашем поле зрения появляется новая утилита, мы стараемся ее категорировать, то есть отнести к некой группе ПО, которое выполняет схожие задачи и подвержено схожим атакам. Если же такой группы нет, изучаем программу и создаем на основе анализа новый пул угроз, который затем покрываем контентом. В будущем это позволит быстрее закрывать базовые уязвимости в подобных приложениях.
Источники контента
Если называть конкретные примеры источников, то в их количестве тоже нет недостатка. Мы, как и все, используем социальные сети, такие как X и мессенджер Telegram. Немалую часть экспертизы мы получаем от своих коллег из red team и команды Incident Response. Обратная связь от клиентов позволяет нам узнавать о ложноположительных срабатываниях и пополнять белые списки.
Большой опыт эксперты получают во время участия в профильных конференциях и проектах. Например, относительно недавно мы отвечали за информационную защиту фиджитал-турнира — про это можно почитать в статье про «Игры будущего». Наши инструменты автоматизации помогают своевременно находить изменения в различных утилитах на GitHub и создавать новые правила или корректировать существующие. А чтобы проверить свой контент в деле, мы используем киберполигон Standoff.
Мы стараемся использовать как можно больше источников, чтобы видеть каждый шаг злоумышленника в системе и выявлять угрозы на ранних стадиях. Однако, прежде чем MaxPatrol SIEM сможет обнаружить атаку, все эти данные необходимо перевести в понятные для системы правила корреляции.
Процесс разработки контента
После сбора и анализа информации от источников наступает этап разработки контента. Допустим, мы обнаружили новую утилиту под названием СookieKatz и хотим создать для нее правила корреляции. Процесс можно разделить на пять этапов:
-
Эмуляция атаки.
-
Подготовка исследования.
-
Разработка правил.
-
Перенос изменений в GitLab и их проверка.
-
Тестирование корреляции.
Рассмотрим каждый из них подробнее.
Первый этап: эмуляция атаки
Эмуляцию атаки мы проводим на тестовых стендах. Они представляют из себя домен, серверы с необходимыми ролями и приложениями, рабочие станции и средства мониторига. В ходе испытаний мы запускаем нашу утилиту CookieKatz, которая используется для выгрузки куки прямо из памяти процессов браузеров. Наша задача на данном этапе — выяснить, можно ли с ее помощью осуществить атаку.
Второй этап: подготовка исследования
После того как мы получили информацию об поведении утилиты и изучили связанные с ней события, нужно подготовить исследование. В нем мы описываем саму программу, шаги по эмуляции атаки и зафиксированные события. Итогом нашей работы должен стать черновик правил, которые помогут обнаружить вредоносную активность.
Затем мы передаем исследование коллегам на предварительную проверку. Ее цель — решить, нужно ли написать новое правило, дополнить существующее или просто обновить информацию в табличных списках.
Табличные списки в MaxPatrol SIEM
Табличный список — это перечень вредоносных утилит, информационных активов или иных данных, объединенных по определенному признаку и используемых в правилах корреляции или обогащения. Они представлены в виде двумерного массива данных и хранятся в памяти SIEM-системы. Например, в MaxPatrol SIEM есть следующие табличные списки:
-
Windows_Hacktools — табличный список, который содержит в себе данные инструментов для взлома операционной системы Windows. Он включает в себя названия утилит, хеши, командлайны и другую информацию, которая поможет их обнаружить. Если внести сведения о программе в список, MaxPatrol SIEM сразу забьет тревогу при ее появлении в вашей инфраструктуре.
-
Critical_Files_List — в этом списке находятся важные пути или файлы, доступ к которым вы хотите отслеживать. Как только какая‑либо утилита попытается получить к ним доступ, оператор SIEM получит оповещение безопасности.
-
Parent_Child_Processes — список содержит допустимые и недопустимые комбинации родительских и дочерних процессов. Например, если приложение Microsoft Office запускает PowerShell, то это событие считается очень подозрительным. С помощью подобных комбинаций родительских и дочерних процессов часто выявляют уязвимости нулевого дня.
Наши клиенты могут использовать свою экспертизу и добавлять собственные индикаторы в соответствующие табличные списки.
Третий этап: написание правил
Допустим, наше исследование прошло проверку и мы приняли решение создать новые правила. Правила корреляции мы пишем с помощью плагина VS Code, а для разработки нормализации используем SDK GUI. Правила на каждую атаку создаются в отдельной ветке Git (это cпециальная консольная утилита для контроля изменений в проекте), куда помимо кода аналитик добавляет свои экспертные знания, позволяющие быстрее понимать работу правила и валидировать корреляционные события.
Для примера взглянем на файл 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 самым надежным и удобным инструментом обнаружения угроз.
Кирилл Кирьянов
Руководитель экспертизы MaxPatrol SIEM, Positive Technologies
Сергей Щербаков
Старший специалист группы обнаружения APT-атак, Positive Technologies
ссылка на оригинал статьи https://habr.com/ru/articles/857760/
Добавить комментарий