Проактивный поиск угроз с использованием киберразведданных
В предыдущей части руководства по практическому применению киберразведданных мы разобрали, как индикаторы компрометации помогают обнаруживать угрозы. Теперь поговорим о проактивном поиске — threat hunting — и о том, как обнаруживать атаки, которые не детектируются автоматическими средствами защиты информации.
Начнем с вопроса: действительно ли threat hunting проактивен? Энди Пиацца в докладе Threat Intelligence is a Fallacy, but I May be Biased утверждает, что нет.
С одной стороны, с этим сложно не согласиться: занимаясь проактивным поиском, мы зачастую опираемся на известные тактики, техники и процедуры злоумышленников, то есть реагируем на полученные данные об угрозах. Но если посмотреть на процесс со стороны средств защиты, картина меняется. В современном ландшафте киберугроз существует множество методов, которые с высокой вероятностью могут быть не обнаружены — как из‑за продвинутых техник скрытности, так и из‑за легитимности используемых подходов.
Подходы к проактивному поиску угроз
Отличной иллюстрацией современных подходов к проактивному поиску угроз является модель The PEAK Threat Hunting Framework.
Она выделяет три подхода:
- Поиск на основе гипотез. Здесь используются знания о методах и инструментах злоумышленников, то есть threat intelligence, на основании которых формируется гипотеза для проактивного поиска.
- Поиск на основе аномалий. Фокус не на тактиках и техниках атакующих, а на событиях, нехарактерных для конкретной системы в рамках IT‑инфраструктуры: нетипичные сетевые соединения, создание файлов или модификация параметров реестра, запуск процессов и т. п.
- Поиск с использованием моделей — автоматизация двух предыдущих подходов с применением, например, ML или AI.
Этапы жизненного цикла кибератаки, наиболее подходящие для проактивного поиска
Threat hunting может охватывать практически все этапы жизненного цикла атаки, кроме деструктивного воздействия на IT‑инфраструктуру — в этот момент думать о проактивном поиске уже поздно.
Тем не менее стоит особенно выделить следующие этапы:
- Выполнение — запуск различных интерпретаторов команд и сценариев, вредоносных файлов, легитимных инструментов, подконтрольных атакующему, и т. п. Часто на этом этапе злоумышленник еще не совершает активных действий по развитию атаки и, следовательно, снижает вероятность обнаружения используемого вредоносного ПО или инструмента. Это делает этап отличной целью для проактивного поиска.
- Закрепление. Этот этап часто тесно связан с предыдущим. Как правило, атакующие применяют те же методы, что и легитимное ПО: автозагрузку, планировщик задач, службы и т. п. Если вредоносное ПО или инструмент не были обнаружены, такие методы закрепления позволяют злоумышленнику долго оставаться незамеченным, что также обусловливает актуальность проактивного поиска.
- Продвижение. Еще один этап, предоставляющий множество возможностей для проактивного поиска. Зачастую злоумышленники используют для продвижения легитимные службы удаленного доступа, которые редко вызывают срабатывания средств защиты.
- Эксфильтрация. Этап присутствует практически в любой атаке, независимо от мотивации атакующих. Хотя эксфильтрация обычно происходит ближе к концу жизненного цикла атаки, она также актуальна для проактивного поиска. В некоторых случаях это может быть один из немногих этапов, где проявляется подозрительная активность, особенно когда злоумышленники попадают в IT‑инфраструктуру с использованием легитимных учетных данных.
Практика проактивного поиска киберугроз
Прежде чем разбирать конкретные гипотезы, стоит определить, чем threat hunting отличается от создания детектирующей логики.
В правилах обнаружения киберугроз, формируемых по результатам применения детектирующей логики, количество ложных срабатываний должно быть минимальным. Мы говорим о событиях или цепочках событий, однозначно указывающих на вредоносную либо потенциально вредоносную активность.
С проактивным поиском все наоборот: поисковые запросы должны формулироваться таким образом, чтобы результат содержал большое количество событий, которые могут как иметь, так и не иметь признаки вредоносной активности. В этом случае мы хотим обнаружить то, что по тем или иным причинам не было найдено детектирующим контентом или средствами защиты.
Рассмотрим примеры, чтобы понять, как использовать киберразведданные для проактивного поиска киберугроз.
Начнем с кластера Silent Werewolf. Например, для компиляции и запуска C# кода злоумышленники использовали MSBuild.exe.

В этом случае формулируем гипотезу: «Атакующие злоупотребляют MSBuild.exe для запуска вредоносных файлов из подозрительных расположений». Используя полученную гипотезу, можем сформулировать поисковый запрос:
event_type: “processcreatewin” AND proc_file_path: “msbuild.exe” AND NOT cmdline: [исключения]
Поскольку MSBuild.exe может использоваться легитимно, потребуется выделить такие события и добавить их в исключения, обогащая перечень по мере дальнейшего использования гипотезы.
Следующий пример — Lenient Wolf. Атакующие использовали wget для загрузки архивов с инструментами в скомпрометированную систему.

Здесь гипотеза для проактивного поиска может быть сформулирована следующим образом: «Злоумышленник будет использовать wget для загрузки инструментов с удаленного сервера». В этом случае запрос будет похож на предыдущий:
event_type: “processcreatenix” AND proc_file_path: “wget” AND NOT cmdline: [исключения]
Как и в первом примере, сначала нужно сформировать список исключений. В среднестатистической IT‑инфраструктуре wget используется значительно чаще MSBuild.exe, и каждый его запуск едва ли будет приносить алерт на СЗИ, что делает wget отличной целью для проактивного поиска.
Для закрепления в системе кластер Fairy Wolf, как и многие другие атакующие, использует задачи в планировщике Windows.

Гипотеза: «Злоумышленник создает задачи в планировщике Windows для закрепления в скомпрометированной системе». При составлении запроса стоит обратиться к параметрам, применяемым атакующими, чтобы сузить результаты поиска (schtasks.exe — очень активно используемый исполняемый файл):
event_type: “processcreatewin” AND proc_file_path: “schtasks.exe” AND cmdline: (“mo” AND “60”)
Хотя мы включили один из параметров, используемых злоумышленниками, запрос может вернуть некоторое количество ложноположительных срабатываний, что вполне вписывается в концепцию проактивного поиска.
Злоумышленникам нередко необходимо определить расположение скомпрометированной системы. Например, кластер Cavalry Werewolf использовал для этого сервис IPinfo.

Гипотеза: «Злоумышленник будет использовать сервис ipinfo[.]io для сбора информации о расположении скомпрометированной системы». В данном случае можно ограничиться поиском подозрительных сетевых коммуникаций с этим сервисом:
event_type: “dnsreqwin” AND dns_rname: “ipinfo.io” AND NOT proc_file_path: [исключения]
По результатам поиска предстоит разобраться, какие именно процессы взаимодействуют с ipinfo[.]io и насколько такая активность легитимна. Это позволит сформировать перечень исключений для повторного использования гипотезы.
Последний пример связан с сетевыми коммуникациями, а именно — коммуникациями с командным сервером. Кластер Rainbow Hyena использовал доменные имена с TLD .space, например msnetsec[.]space.
Можно выдвинуть гипотезу: «Атакующие будут использовать доменные имена с TLD .space для своих командных серверов». Поисковый запрос:
event_type: “dnsreqwin” AND dns_rname: *.space AND NOT dns_rname: [исключения]
Легитимные веб‑ресурсы нечасто размещаются в зоне .space, что значительно сократит количество легитимных событий по этому запросу.
Измерение результатов проактивного поиска угроз
Когда мы говорим о результатах проактивного поиска угроз, не стоит чересчур фокусироваться на выявленных инцидентах. Безусловно, иногда вы будете находить то, что пропустили имеющиеся средства защиты. Однако чаще будете решать одну из задач:
- Создавать новые правила обнаружения или дорабатывать имеющиеся.
- Детально изучать собственную IT‑инфраструктуру, чтобы понять, какая активность в ней нормальна, а какая нет.
- Выявлять недостатки телеметрии и мисконфигурации IT‑инфраструктуры.
Проактивный поиск позволяет на ранних этапах выявлять угрозы, которые по разным причинам не были обнаружены имеющимися средствами защиты. Киберразведданные служат основой для гипотез и позволяют фокусироваться на актуальном ландшафте киберугроз. Готовые рекомендации по threat hunting, которые можно применять без самостоятельного разбора методов и инструментов злоумышленников, доступны на портале BI.ZONE Threat Intelligence.
Threat hunting не только помогает обнаруживать скрытые угрозы, но и позволяет выявить недостатки в правилах обнаружения, телеметрии и конфигурациях IT‑инфраструктуры.
В следующей части руководства рассмотрим, как применять киберразведданные для тестирования средств защиты и проведения киберучений.