Динамическое поведение и индикаторы (IOC)

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

Динамический анализ (behavioral analysis) — наблюдение за образцом во время исполнения в изолированной песочнице: какие файлы он создаёт, что пишет в реестр, куда ходит по сети, какие процессы запускает.

Статика отвечает «из чего сделан файл», динамика — «что он делает». Упакованный образец прячет строки и импорты от статики, но при запуске распаковывается и действует, а действия скрыть труднее. Запуск проводим только в стенде из первого урока: чистый снимок до прогона, сеть выключена или ведёт в симулятор интернета, никаких общих папок.

Зачем это знать защитнику

Поведение образца — это прямой источник IOC (Indicators of Compromise), по которым потом ищут заражение во всей инфраструктуре. Увидели в песочнице, что образец создаёт файл по фиксированному пути и стучится на домен, — и у вас готовы запросы для EDR и SIEM: «у кого ещё есть этот файл?», «кто ходил на этот домен?». Без динамики такие индикаторы взять негде. Это и есть смысл анализа: понять поведение, чтобы обнаружить его повсюду.

Что наблюдаем

Файловая система

Вредонос почти всегда оставляет следы на диске: копирует себя в AppData/ProgramData, создаёт временные файлы, дропает дополнительные модули, ransomware — массово переименовывает и шифрует файлы. Аналитик фиксирует, какие пути создаются и изменяются. Инструменты наблюдения (Procmon на Windows, аудит файловых событий) показывают поток операций; для шумных образцов удобно сравнить снимок файловой системы до и после запуска.

Реестр (закрепление)

Чтобы пережить перезагрузку, образец прописывает автозапуск. Классические места — ключи Run/RunOnce, задачи планировщика, службы. Запись вида «значение в ...\CurrentVersion\Run указывает на свежедропнутый exe» — характерный индикатор персистентности. Защитник знает эти точки наизусть: именно их проверяют при поиске заражения и именно их мониторит EDR.

Сеть

Сетевая активность — самый ценный для защиты класс индикаторов. Образец резолвит домен C2 (command-and-control), устанавливает соединение, тянет полезную нагрузку или выгружает данные. В стенде роль интернета играет симулятор (INetSim/fakedns): он отвечает на любой запрос, поэтому образец «думает», что вышел в сеть, а трафик остаётся внутри. Снимаем дамп трафика и читаем, куда и что уходит:

# Захват трафика образца в изолированном сегменте стенда
tcpdump -i vboxnet0 -w capture.pcap
# Разбор pcap офлайн (домены, IP, запросы)
tshark -r capture.pcap -Y "dns or http"

Домены и IP из дампа — это сетевые IOC: их кладут в блок-листы и ищут в логах прокси/DNS по всей сети.

Процессы

Образец может запускать дочерние процессы, внедряться в чужие (process injection), вызывать powershell/cmd с подозрительными аргументами. Дерево процессов «офисный документ → cmd → powershell, скачивающий файл» — типичная цепочка, на которую настраивают детект.

Выделение IOC

Сырые наблюдения превращают в структурированные индикаторы. Их принято делить по «прочности»:

Хеши файлов (SHA-256)      — точные, но легко меняются пересборкой
Домены / IP / URL (C2)     — сетевые, можно блокировать на периметре
Пути файлов, ключи реестра — артефакты на хосте, признаки персистентности
Имена служб/задач, mutex   — поведенческие, устойчивее к мелким правкам

Существует «пирамида боли» (Pyramid of Pain): чем выше по этой шкале индикатор, тем «больнее» атакующему его сменить. Хеш он меняет одной пересборкой; домен — сменой инфраструктуры; а вот устойчивые поведенческие признаки (характерный mutex, схема персистентности, цепочка процессов) переписать дорого. Поэтому защита, построенная на поведении, надёжнее блок-листа хешей.

Sandbox-отчёты

Многое автоматизируют системы автоматического анализа (Cuckoo/CAPE и облачные песочницы вроде Any.Run, Hybrid Analysis). Образец загружают в управляемую ВМ, она исполняет его и выдаёт отчёт: дерево процессов, файловые и реестровые операции, сетевые соединения, дропнутые файлы, сводка поведения и часто — готовый список IOC. Защитник читает такой отчёт как чек-лист: берёт сетевые индикаторы для периметра, хостовые — для EDR, и сверяет вывод автоматики со своим пониманием (автопесочница может не сработать, если образец детектит ВМ и «спит»). По OPSEC помните: публичная песочница тоже раскрывает образец — для приватных инцидентов используют локальную (Cuckoo/CAPE) или анализ вручную.

Как это работает под капотом

Динамический анализ опирается на наблюдение за вызовами к ОС. Инструменты перехватывают системные вызовы и обращения к API (открытие файла, запись в реестр, сетевой connect) и журналируют их. Сетевой захват работает на уровне виртуального коммутатора стенда — поэтому весь трафик образца виден, но заперт внутри. Автопесочницы добавляют автоматизацию: разворачивают чистую ВМ из снимка, запускают семпл, собирают телеметрию и откатываются. Ограничение метода — анти-VM/анти-sandbox: образец, заметивший виртуализацию или отсутствие «человеческой» активности, может не проявить вредоносного поведения. Поэтому динамику дополняют статикой и, при необходимости, ручным реверсом.

Как защититься

1. Каждое наблюдение — в индикатор. Файл, ключ реестра, домен, mutex из песочницы оформляйте как IOC и заводите в средства защиты для поиска по всей сети.

2. Делайте ставку на поведение. Хеши и домены полезны, но устаревают; правила на устойчивые поведенческие признаки (персистентность, цепочки процессов) переживают пересборку образца.

3. Контролируйте сеть стенда. Симулятор интернета вместо реального выхода: вы увидите C2-активность, не выпустив образец наружу и не став источником атаки.

4. Не доверяйте автопесочнице слепо. Сверяйте отчёт со своими наблюдениями; «тихий» образец мог обнаружить ВМ. Приватные семплы гоняйте в локальной песочнице, а не в публичной.

Итоги

  • Динамика показывает реальные действия образца: файлы, реестр, сеть, процессы — то, что статика и упаковка скрыть не могут.
  • Наблюдения превращаются в IOC, по которым ищут заражение во всей инфраструктуре.
  • Согласно «пирамиде боли», поведенческие индикаторы надёжнее хешей и доменов: их дороже сменить.
  • Sandbox-отчёты автоматизируют сбор индикаторов, но их сверяют вручную; приватное гоняют в локальной песочнице.
  • Запуск — только в изолированном стенде с контролируемой сетью; цель — обнаружить угрозу, а не выпустить её.
Проверьте себя
1. Что такое IOC (Indicator of Compromise) в контексте динамического анализа?
AНаблюдаемый признак вредоносной активности (хеш, домен, путь файла, ключ реестра), по которому ищут заражение в инфраструктуре
BНазвание антивирусного движка, обнаружившего образец
CУязвимость в коде анализируемой программы
DКоманда для запуска образца внутри песочницы
2. Согласно «пирамиде боли», почему детект по устойчивым поведенческим признакам надёжнее блок-листа хешей?
AПоведение (персистентность, цепочки процессов, mutex) атакующему дорого переписать, а хеш меняется одной пересборкой образца
BХеши невозможно вычислить для упакованных файлов
CПоведенческие правила работают без запуска образца, а хеши требуют запуска
DХеш-блок-листы запрещены в корпоративных сетях