Динамическое поведение и индикаторы (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-отчёты автоматизируют сбор индикаторов, но их сверяют вручную; приватное гоняют в локальной песочнице.
- Запуск — только в изолированном стенде с контролируемой сетью; цель — обнаружить угрозу, а не выпустить её.