Security Vision
История кибербезопасности – это история бесконечной гонки вооружений между атакующими и защищающимися: на заре компьютерной эры, когда вирусы были статичными и предсказуемыми, основным методом защиты являлся сигнатурный анализ. Он долгое время был золотым стандартом, но сегодня демонстрирует критическую уязвимость: чтобы создать сигнатуру, кто-то (часто «нулевой пациент») должен сначала пострадать от атаки, затем образец должен попасть к аналитикам, и только после этого выпускается обновление. В мире, где шифровальщики парализуют инфраструктуру за минуты, такой временной лаг недопустим. Более того, злоумышленники научились создавать вредоносное ПО, которое меняет свой цифровой отпечаток при каждой новой загрузке (и это делает базу сигнатур бесполезной против целевых атак).
Возникла необходимость в методе, который оценивает не «внешность» файла (его код), а его «намерения» (поведение) и именно об этом методе мы поговорим сегодня. Цель нашего обзора – рассказать про динамический поведенческий анализ и его применение в информационной безопасности сегодня.
Оглавление
1) Отличия статического и динамического (поведенческого) анализа
2) Анализ в песочнице (Sandbox)
3) Обнаружение угроз «нулевого дня» (Zero-day)
4) Защита от шифровальщиков (Ransomware)
5) Полиморфные и метаморфные вирусы
6) Индикаторы компрометации (IoC) и атаки (IoA)
1) Отличия статического и динамического (поведенческого) анализа
Мы уже затрагивали похожую тему, где тоже есть статический и динамический анализ, когда говорили об анализе исходного кода и безопасной разработке, но кратко напомним про основные различия:
- Статический анализ исследует образец «в покое», без его выполнения. Это работает быстро, безопасно (ведь код не запускается) и помогает не только найти в коде уязвимости, но и частые ошибки. Однако, как и сигнатурный анализ в ИБ, статический метод не позволяет обнаружить проблемы времени выполнения, уязвимости перед шифрованием, а ещё выдает большое количество ложных срабатываний. Это можно сравнить с тем, как если бы вы решили подготовить дом к празднованию Нового года по целой куче видео из TikTok: у каждого блогера будет свой to-do list, и вы сможете улучшить свой список покупок или по-новому украсить елку, но информации будет много, да и данных, которых не было в видео, у вас тоже не появится.
- Динамический же анализ – это метод «черного ящика», когда система не смотрит внутрь кода, она запускает программу в контролируемой среде и наблюдает за результатами ее работы. Это как если бы вы использовали свой прошлый опыт или, как Доктор Стрендж из отряда мстителей, смоделировали бы тысячи вселенных, где вы готовитесь к новому году. В кибербезопасности такой метод позволяет найти угрозы «нулевого дня», обеспечить устойчивость к обфускации и полиморфизму, выявление реального вредоносного поведения (например, попытку шифрования диска). Это потребует ресурсов, но дает более высокую точность.
Так и в нашей сегодняшней теме, если раньше антивирусные компании собирали образцы вредоносного кода, выделяли уникальные последовательности байтов (сигнатуры) и рассылали обновления пользователям. Этот подход работал по принципу: «Если мы это видели раньше, мы это остановим». Но современный ландшафт угроз кардинально изменился, поэтому моделирование, песочницы и динамический анализ, который применяется совместно с ними, помогает адаптироваться.
2) Анализ в песочнице (Sandbox)
Песочница (или Sandbox) является технологическим воплощением динамического анализа: это изолированная среда, созданная для безопасного исполнения (детонации) недоверенных программ. Вся суть технологии заключается в создании виртуальной среды, в которой вредоносная программа видит реальный компьютер пользователя. Но на самом деле она полностью контролируется системой защиты. Давайте рассмотрим, как она работает:
а) Подозрительный файл извлекается из потока данных (электронная почта, веб-трафик, загрузка с флешки и т.д.).
б) Система разворачивает виртуальную машину (операционная система, учетная запись и набор программ).
в) В эту среду внедряются агенты мониторинга: драйверы уровня ядра (Kernel-mode hooks), перехватчики в пользовательском режиме (User-mode hooks) и др. Эти инструменты будут регистрировать все действия программы.
г) Файл запускается на исполнение, система эмулирует действия пользователя: движения мышью, клики, прокрутку страниц, чтобы спровоцировать вирус на активность. Этот этап называется детонацией.
д) В течение определенного времени (обычно несколько минут) записываются все изменения файловой системы, реестра, оперативной памяти и сетевые соединения.
е) Собранные данные (логи поведения) обрабатываются с помощью эвристических правил, корреляционного анализа и алгоритмов машинного обучения (ML) для вынесения вердикта: «опасно» или «безопасно».
ж) Виртуальная машина уничтожается, и среда возвращается в исходное чистое состояние для следующего анализа. Если все было безопасно, файл можно открывать в реальности.
Сам термин происходит от детской песочницы во дворе – огороженного пространства, где дети могут строить и ломать что угодно, не нанося ущерба окружающему саду. В контексте ИБ вредоносная программа может «сломать» систему внутри песочницы, но реальная корпоративная сеть останется нетронутой.
Вредоносная программа (как главный герой в фильме «Шоу Трумана») живет в искусственно созданном мире, полагая, что он реален. Она взаимодействует с окружением (декорациями), но каждый её шаг фиксируется тысячами скрытых камер (сенсорами анализа), и режиссер (аналитик безопасности) может в любой момент изменить сценарий или остановить действие.
Динамический анализ особенно эффективен против специфических классов угроз, которые обходят традиционную защиту. Рассмотрим их детально.
3) Обнаружение угроз «нулевого дня» (Zero-day)
Угроза «нулевого дня» (Zero-day) – атака, использующая уязвимость, о которой разработчик ПО еще не знает или для которой еще не выпущен патч. У защитников есть «ноль дней» на подготовку, сигнатур нет, но песочница помогает. Она не ищет совпадение кода, но видит аномалию (как в модуле UEBA платформы Security Vision): если документ Word после открытия пытается запустить PowerShell и скачать файл из интернета – это подозрительно, независимо от того, какая уязвимость используется (старая или zero-day). Поведение выдает намерение, а система создает подозрение на инцидент.
Представьте, что у грабителя есть уникальный ключ-отмычка, о котором не знает производитель замков. Охрана на входе (статический анализ) пропускает его, потому что ключ подходит, но камеры наблюдения внутри здания (динамический анализ) фиксируют, что гость начал взламывать сейф. Неважно, как он вошел (в нашем случае, через zero-day уязвимость) – важно, что он нарушает правила поведения и пытается что-то украсть.
4) Защита от шифровальщиков (Ransomware)
Программы-вымогатели (Ransomware), или шифровальщики (как вид вредоносного ПО), представляют собой одну из самых разрушительных угроз для бизнеса. Их цель – лишить жертву доступа к данным. Для защиты от подобных угроз динамический анализ выявляет их по специфическим действиям – например, массовое открытие файлов на чтение/запись за короткий промежуток времени, попытки удаления теневых копий Windows для предотвращения восстановления, генерация или загрузка ключей шифрования, модификация заголовков файлов и т.д.
Ransomware создает «Гордиев узел», т.е. проблему, которую нельзя решить деликатно, её нужно разрубить (удалить систему/восстановить из бэкапа) или заплатить злоумышленнику. В реальной жизни это похоже на похищение, когда преступник берет заложника (данные) и оставляет записку с требованием выкупа. Динамический анализ действует, как группа захвата, которая врывается в момент, когда преступник только начинает связывать жертву, потому что эти действия детектируются как подозрительные.
5) Полиморфные и метаморфные вирусы
Сами вирусы тоже не отстают… За последнее время появились настоящие мастера маскировки: полиморфные вирусы шифруют свое тело разными ключами при каждом заражении (сама вредоносная часть остается неизменной, но зашифрована, а расшифровщик постоянно меняется), а метаморфные вирусы полностью переписывают свой код при каждой итерации (меняют инструкции, добавляют «мусор», меняют логику регистров), сохраняя функционал.
Эта маскировка похожа на вирус гриппа, который постоянно мутирует, меняя белковую оболочку, чтобы обмануть иммунитет. Но симптомы болезни (температура, кашель) остаются теми же. Динамический анализ – это врач, который ставит диагноз по симптомам, а не по внешнему виду вируса.
Статический анализ видит каждый раз «новый» файл, но динамический анализ ждет момента запуска. Чтобы работать, вирус обязан расшифровать себя в памяти и выполнить вредоносный код, и в этот же момент маскировка спадает.
6) Индикаторы компрометации (IoC) и атаки (IoA)
Результатом работы динамического анализа является не просто вердикт, а набор данных, который используется для укрепления всей системы защиты. Здесь важно различать два понятия:
Индикаторы компрометации (IoC), цифровые улики, оставленные после совершения вредоносного действия. Это статичные данные, которые говорят: «Вас взломали» (например, хеш вредоносного файла (MD5/SHA256), IP-адрес C&C сервера, доменное имя, ключ реестра, созданный вирусом). Они используются для блокировки уже известных угроз и для расследования инцидентов (форензики). Как в физической криминалистике, когда отпечатки пальцев, гильзы, капли крови и следы обуви, оставленные грабителем в банке после ограбления, собирает полиция. Сотрудники следственных органов заносят все в базу и могут поймать преступника, если он снова где-то «наследит».
Индикаторы атаки (IoA), динамические паттерны поведения, которые указывают на намерение совершить атаку или на то, что атака происходит прямо сейчас (например, запуск PowerShell из-под Word, попытка процесса svchost.exe записать файл в папку автозагрузки, сканирование внутренней сети с рабочей станции бухгалтера). Они используются для проактивного предотвращения атак в реальном времени. Работает это, как анализ поведения человека, который ходит вокруг банка, проверяет камеры наблюдения, надевает маску и достает лом. Ограбления еще не произошло (денег не украли), но совокупность действий (индикаторов) позволяет охране вмешаться и предотвратить преступление. IoA фокусируется на тактике преступника, а не на его внешности (отпечатках/сигнатурах).
7) Выводы
Динамический поведенческий анализ представляет собой эволюционную вершину в методах обнаружения вредоносного ПО. Переход от статического сопоставления сигнатур к глубокому анализу поведения в реальном времени позволил индустрии безопасности выровнять шансы в борьбе с киберпреступностью. Песочница является основным инструментом реализации динамического анализа, но требует постоянного совершенствования для борьбы с техниками уклонения, а максимальная эффективность достигается при интеграции песочниц с решениями вроде SOAR, EDR (который входит в Security Vision SOAR) или NGAV, превращая локальное обнаружение IoC в глобальный иммунитет всей организации.