Контроль процессов в изолированной среде: методы мониторинга, инструменты и типичные ошибки

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

Содержание
  1. Зачем нужен контроль процессов внутри изоляции
  2. Архитектуры мониторинга: где ставить сенсор
  3. 1. Пользовательский режим (User-mode Hooking / API Hooking)
  4. 2. Режим ядра (Kernel-mode Callbacks / Minifilters / eBPF)
  5. 3. Уровень гипервизора / Аппаратная виртуализация (Hypervisor / VMI / Intel PT)
  6. Ключевые векторы контроля: что именно логировать
  7. Процессы и потоки
  8. Файловая система
  9. Реестр (Windows) / Конфигурационные файлы (Linux)
  10. Сеть
  11. Межпроцессное взаимодействие (IPC) и COM
  12. Криптография и кодирование
  13. Инструментарий: от фреймворков до самосборных сенсоров
  14. Готовые фреймворки динамического анализа
  15. Системные утилиты и ETW / eBPF
  16. Инструменты для ручного исследования и отладки
  17. Практические сценарии настройки контроля
  18. Сценарий А: Быстрый триаж десятков сэмплов в день (внутренний конвейер)
  19. Сценарий Б: Анализ образца с агрессивной анти-песочницей (VM-детект, тайминги, прямые системные вызовы)
  20. Сценарий В: Linux-контейнеры / CI-CD проверка артефактов сборки
  21. Техники обхода контроля (Evasion) и контрамеры
  22. Типичные ошибки при организации контроля
  23. Чек-лист: готовность среды к запуску
  24. FAQ: частые вопросы на практике
  25. Нужен ли мне Intel PT, если есть Sysmon?
  26. Как логировать аргументы системных вызовов из Kernel-mode без копирования буферов?
  27. Стоит ли использовать Cuckoo в 2024–2025 году?
  28. Как бороться с засыпанием вредоноса (Sleep / NtDelayExecution / таймеры)?
  29. Можно ли полностью автоматизировать извлечение IOC (IP, домены, хэши, мьютексы, MITRE ATT&CK теги)?
  30. Резюме: от чего зависит качество контроля

Зачем нужен контроль процессов внутри изоляции

Основная задача — восстановить полную картину поведения образца за ограниченное время выполнения (обычно 30–300 секунд). Статический анализ не покажет распекованный код, C2-адреса, полученные через DGA, или ключи шифрования, сгенерированные в рантайме. Контроль процессов решает три прикладные задачи:

  • Построение дерева процессов: определение родительско-дочерних связей, инъекций в чужие процессы (Process Hollowing, Process Doppelgänging) и запуска системных утилит (LOLBins).
  • Перехват чувствительных API: логирование вызовов, отвечающих за запись на диск, изменение реестра, работу с сетью, криптографию и манипуляции памятью (VirtualAllocEx, WriteProcessMemory, CreateRemoteThread).
  • Корреляция событий: привязка файловой, сетевой и реестровой активности к конкретному PID/TID и моменту времени для построения таймлайна инцидента.

Без гранулярного контроля аналитик получает только список созданных файлов и IP-адресов, не зная, кто именно и в какой последовательности это сделал. Это делает невозможным отличие легитимной активности установщика от вредоносной загрузки полезной нагрузки.

Архитектуры мониторинга: где ставить сенсор

Выбор точки внедрения сенсора определяет глубину видимости, производительность и устойчивость к обходу. Существует три фундаментальных уровня.

1. Пользовательский режим (User-mode Hooking / API Hooking)

Библиотека-инжектор (DLL injection на Windows, LD_PRELOAD / ptrace на Linux) подменяет адреса целевых функций в IAT/EAT или перезаписывает пролог функций (inline hooking) на переход к обработчику-логгеру.

  • Плюсы: простота реализации, доступ к аргументам функций высокого уровня (пути к файлам, ключи реестра, буферы данных), нет необходимости в драйвере с подписью.
  • Минусы: легко обнаруживается и обходится (проверка контрольных сумм кода, прямые системные вызовы — syscalls, Heaven’s Gate, ручное разрешение адресов через LdrGetProcedureAddress), не видит активность до инжекции (early boot, загрузчики), нестабилен при обновлениях ОС.
  • Где применяется: Cuckoo Sandbox (analyzer.dll), CAPE, Firejail (частично), Frida-скрипты, коммерческие песочницы «старого поколения».

2. Режим ядра (Kernel-mode Callbacks / Minifilters / eBPF)

Драйвер (Windows: PsSetCreateProcessNotifyRoutineEx, ObRegisterCallbacks, Minifilter; Linux: kprobes, tracepoints, eBPF, LSM) получает уведомления от ядра о событиях жизненного цикла процессов, потоков, образа, доступа к файлам/реестру/сети.

  • Плюсы: видит все процессы в системе (включая системные и ранние стадии загрузки), сложнее обойти без уязвимости ядра или загрузки своего драйвера (требует привилегий и подписи), стабилен при обновлениях user-mode API.
  • Минусы: сложность разработки и отладки (BSOD/Kernel Panic), требование подписи драйвера (WHQL/attestation) на современных Windows, выше накладные расходы при логировании высокочастотных событий (файловый ввод-вывод), ограниченный доступ к пользовательским буферам (нужен ProbeForRead/Write).
  • Где применяется: Sysmon (Event Tracing for Windows — ETW), Windows Defender ATP / MDE, Elastic Endpoint, CrowdStrike Falcon, SentinelOne, Linux-сенсоры на eBPF (bpftrace, Tetragon, Falco), продвинутые песочницы (VMRay, Joe Sandbox — гибридно).

3. Уровень гипервизора / Аппаратная виртуализация (Hypervisor / VMI / Intel PT)

Мониторинг происходит из VMM (KVM, Hyper-V, VMware, VirtualBox) или через аппаратные механизмы трассировки (Intel Processor Trace, AMD IBS) без наличия агента внутри гостевой ОС (Agentless / VMI — Virtual Machine Introspection).

  • Плюсы: полная невидимость для вредоноса (нет артефактов в памяти/реестре гостя), контроль до выполнения первой инструкции кода образца, возможность пошаговой эмуляции/трассировки (record-replay), обход анти-отладочных трюков, основанных на таймингах и проверке структур ядра.
  • Минусы: высокая сложность реализации (семантический разрыв — mapping физической памяти на структуры ОС), огромный объём сырых данных (Intel PT — гигабайты в секунду), необходимость профилей под конкретные версии ОС (символы, оффсеты структур EPROCESS/task_struct), стоимость лицензий/железа.
  • Где применяется: VMRay, Joe Sandbox (Deep Hybrid Analysis), QEMU с плагинами (libvmi), PANDA, REVEN, специализированные исследовательские стенды.
Критерий User-mode Hooking Kernel Callbacks / eBPF Hypervisor / VMI / Intel PT
Сложность внедрения Низкая Средняя/Высокая Очень высокая
Видимость ранних стадий Нет (после загрузки user32/ntdll) Да (от CreateProcess) Да (от Reset Vector / Loader)
Устойчивость к обходу Низкая Высокая Максимальная
Накладные расходы Минимальные Умеренные Высокие (CPU/RAM/диск для логов)
Доступ к аргументам API Прямой (указатели валидны) Требует копирования из user-mode Требует разрешения виртуальных адресов
Типичный кейс Быстрый триаж, исследование API-логики Продакшн-мониторинг, EDR, серьезные песочницы Глубокий реверс, APT-анализ, обход анти-песочницы

Ключевые векторы контроля: что именно логировать

Набор событий должен покрывать MITRE ATT&CK техники, реализуемые в рантайме. Минимальный достаточный набор для качественного отчёта:

Процессы и потоки

  • Создание/завершение процесса (CreateProcess, fork/clone, NtCreateUserProcess): полная командная строка, родитель (PPID), токен безопасности, уровень целостности.
  • Создание потока в чужом процессе (CreateRemoteThread, NtCreateThreadEx, RtlCreateUserThread, pthread_create с целевым PID).
  • Манипуляции памятью: VirtualAllocEx, WriteProcessMemory, NtMapViewOfSection (секции), изменение защиты страниц (VirtualProtectEx RWX).
  • Инъекции через APC (QueueUserAPC), Early Bird, Thread Execution Hijacking.

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

  • Создание, запись, удаление, переименование, установка атрибутов/ACL/Alternate Data Streams.
  • Открытие с флагами FILE_DELETE_ON_CLOSE, FILE_OVERWRITE_IF.
  • Важно: логировать не только путь, а хэш (SHA256) записанного содержимого — это позволяет сразу найти дропнутые модули в VT/хранилищах.

Реестр (Windows) / Конфигурационные файлы (Linux)

  • Запись в автозагрузку (Run, RunOnce, Winlogon, Services, WMI подписки), изменение политик безопасности, отключение защитников.
  • Чтение конфиденциальных ключей (пароли Wi-Fi, браузеры, VPN, ключи SSH).

Сеть

  • DNS-запросы (включая тип записи: A, AAAA, TXT, CNAME — для DGA/C2).
  • TCP/UDP соединения: IP, порт, PID, направление, объём трафика, SNI (для TLS).
  • Raw-сокеты, ICMP, WinHTTP/WinInet высокоуровневые вызовы.

Межпроцессное взаимодействие (IPC) и COM

  • Именованные пайпы, сокеты, ALPC, mailslots, DCOM/COM активация (CLSID/IID), WMI, RPC.
  • Создание/открытие мьютексов, событий, семафоров — индикаторы одиночного запуска или синхронизации модулей.

Криптография и кодирование

  • Вызовы CryptEncrypt/BCryptEncrypt, RtlEncryptMemory, OpenSSL/EVP — позволяет извлечь ключи/IV из памяти при хукинге или дампе.
  • Base64, XOR, пользовательские рутины — видимость только при user-mode хукинге или полной трассировке инструкций.

Инструментарий: от фреймворков до самосборных сенсоров

Выбор зависит от задачи: разовый анализ, постоянный конвейер (CI/CD, mail gateway) или исследование сложного образца.

Готовые фреймворки динамического анализа

  • CAPE (Malware Configuration And Payload Extraction): форк Cuckoo с модулями выгрузки конфигураций десятков семейств, поддержкой YARA в памяти, интеграцией с Volatility. Требует настройки гостевых агентов (analyzer) и гипервизора (KVM/VirtualBox).
  • DRAKVUF / DRAKVUF Sandbox: агентless на базе libvmi + KVM, использует аппаратные breakpoint’ы (EPT violation) для перехвата системных вызовов без инжекций. Хорош для обхода анти-песочницы, но требует профилей ОС.
  • Joe Sandbox Cloud / VMRay: коммерческие, закрытые гибридные движки (Hypervisor + Kernel + User). Дают лучшее покрытие «из коробки», но нет контроля над логикой сенсоров.
  • ANY.RUN / Hybrid Analysis / Triage: интерактивные/автоматизированные облачные сервисы. Удобны для триажа, но данные уходят к третьей стороне.

Системные утилиты и ETW / eBPF

  • Sysinternals Sysmon (Event ID 1, 7, 8, 10, 11, 12, 13, 15, 22, 25): де-факто стандарт логирования в Windows. Конфигурация (SwiftOnSecurity, Olaf Hartong) определяет качество. Работает через ETW + Kernel Callbacks.
  • Procmon (Process Monitor): интерактивный, не для автоматизации, но незаменим для ручного разбора «почему не работает».
  • Windows Performance Recorder (WPR) / xperf: ETW-трассировка всего: CPU sampling, контекстные переключения, диск, сеть, загрузка драйверов. Для глубокого профилирования производительности и таймингов.
  • eBPF / bpftrace / Tetragon / Falco (Linux): современный стандарт. Позволяет писать кастомные программы ядра на C/Go, загружаемые безопасно (верификатор). Примеры: трассировка execve с аргументами, connect с PID/comm, memfd_create.
  • auditd (Linux): классический аудит ядра, тяжеловеснее eBPF, но стандартен и понятен SIEM.

Инструменты для ручного исследования и отладки

  • Frida / Frida-trace: динамическая инструментация user-mode (JS-инжекция). Идеально для быстрой проверки гипотез: «что передаётся в эту функцию?», «вызывается ли этот метод?». Работает на Windows/macOS/Linux/Android/iOS.
  • x64dbg / WinDbg / GDB / lldb: отладчики. Не для массового мониторинга, а для пошагового анализа обхода хуков, распаковки, работы с TLS callbacks.
  • API Monitor / Rohitab: логирование WinAPI с парсингом структур. Удобен для визуального анализа одного запуска.
  • Memory Dump + Volatility 3 / Rekall: пост-мортем анализ. Если мониторинг в реальном времени пропустил инъекцию — дамп памяти (через comsvcs.dll, procdump, avml на Linux) и Volatility плагины (malfind, hollowfind, cmdline, dlllist) восстановят картину.

Практические сценарии настройки контроля

Сценарий А: Быстрый триаж десятков сэмплов в день (внутренний конвейер)

Стек: CAPE на KVM + Sysmon в гостевой ОС (конфиг Olaf Hartong) + автоматический экспорт JSON в Elastic/Splunk.

  • Гостевой агент (analyzer) делает user-mode хуки для аргументов API (пути, буферы).
  • Sysmon даёт надёжное ядерное дерево процессов, сетевые соединения, создание файлов, загрузку драйверов/образов.
  • Сетевой трафик зеркалируется на хост через tcpdump/Zeek (PCAP + расшифровка TLS при наличии ключей).
  • Время выполнения: 60–120 сек. Таймауты по бездействию CPU.

Сценарий Б: Анализ образца с агрессивной анти-песочницей (VM-детект, тайминги, прямые системные вызовы)

Стек: DRAKVUF / VMRay / Joe Sandbox (Deep) / REVEN / кастомный KVM + Intel PT.

  • Отказ от любого агента внутри гостя (agentless).
  • Мониторинг через VMI: чтение структур EPROCESS/_KTHREAD по физическим адресам, перехват системных вызовов через EPT violations или MSR LSTAR (syscall entry).
  • Intel PT даёт полную трассировку потока управления (Control Flow Trace) без остановок на брейкпоинтах — невидимо для RDTSC/CPUID таймингов.
  • Сложность: нужны символы (PDB) для целевой сборки Windows (OneCore / RS5 / 19H1 / 21H2…), иначе VMI не разрешит оффсеты полей структур.

Сценарий В: Linux-контейнеры / CI-CD проверка артефактов сборки

Стек: gVisor / Kata Containers / Firejail + eBPF (Tetragon / bpftrace) на хосте.

  • gVisor перехватывает системные вызовы в user-mode (Sentry) — хорошо для совместимости, но сам может быть вектором атаки.
  • Kata / Firejail дают настоящую VM/namespace изоляцию.
  • eBPF на хосте видит все execve, connect, openat из контейнеров без модификации образа. Tetragon экспортирует в JSON/GRPC для SIEM.
  • Ключевой момент: корреляция container_id (cgroup) с PID на хосте для атрибуции событий конкретному пайплайну.

Техники обхода контроля (Evasion) и контрамеры

Понимание того, как вредонос пытается ослепить сенсор, диктует архитектуру защиты.

Техника обхода Суть Эффективна против Контрамера
Прямые системные вызовы (Direct Syscalls / HellsGate / TartarusGate) Использование syscall/sysenter с ручным заполнением регистров, минуя ntdll.dll и пользовательские хуки. User-mode Hooking Kernel Callbacks (PsSetCreateProcessNotifyRoutineEx видит создание, но не аргументы вызова), ETW (TiETW), Hypervisor/VMI, Intel PT.
Проверка целостности кода (CRC/Hash проверка ntdll/kernel32) Сравнение байтов в памяти с эталоном на диске/в кэше. Inline Hooking, IAT/EAT Hooking Kernel Callbacks, VMI, Hardware Breakpoints (Debug Registers), Page Guard (PAGE_GUARD) + VEH.
Heaven’s Gate (WoW64 transition) 32-битный код переходит в 64-битный режим через far call/jmp в сегмент 0x33, вызывая 64-битные системные вызовы напрямую. 32-битные User-mode хуки 64-битные хуки в WoW64 ntdll, Kernel Callbacks, VMI.
Обход API мониторинга через недокументированные / нативные API Вызов NtCreateFile вместо CreateFileW, NtAllocateVirtualMemory вместо VirtualAlloc. Поверхностный хукинг только Win32 API Хукинг на уровне ntdll (Native API), Kernel Callbacks (Minifilter для FS), VMI.
Process Doppelgänging / Herpaderping / Ghosting Манипуляция транзакциями NTFS / кэшем образа / удалением файла до выполнения для запуска кода, не существующего на диске. Файловые сенсоры, сканирующие диск после факта Minifilter / Kernel Callbacks на IRP_MJ_CREATE/IRP_MJ_WRITE/IRP_MJ_CLEANUP с логированием FILE_OBJECT и секций (SECTION_OBJECT_POINTERS), VMI мониторинг NtCreateProcessEx с атрибутами секции.
Тайминг-антиотладка (RDTSC, GetTickCount, QueryPerformanceCounter) Измерение времени между инструкциями; брейкпоинты и эмуляция замедляют выполнение. Отладчики, эмуляторы, тяжелые хуки Intel PT (нет остановок), VMI с аппаратными breakpoint’ами (EPT violation — миксекунды), патчинг проверок в памяти (Frida/скрипты) перед запуском.
Обнаружение артефактов песочницы (MAC, BIOS, CPU cores, RAM, диск, процессы, сетевые адаптеры) Проверка среды на признаки VM (VMware, VirtualBox, QEMU, Hyper-V) или песочницы (Cuckoo, Joe, ANY.RUN). Среда выполнения в целом Харденинг гостя: изменение SMBIOS/ACPI таблиц, скрытие гипервизора (KVM hidden=on), реалистичные аппаратные профили, резидентный трафик, пользовательская активность (макросы мыши/клавиатуры).

Типичные ошибки при организации контроля

  1. Доверие только user-mode хукам. Любой современный стелс-дроппер использует прямые системные вызовы. Результат — пустой лог или только легитимная активность упаковщика.
  2. Отсутствие корреляции PID/TID во времени. Логи файловой системы, сети и процессов пишутся в разные файлы/индексы без общего идентификатора сессии. Аналитик тратит часы на сборку таймлайна вручную.
  3. Игнорирование дочерних процессов системных утилит (LOLBins). Образец запускает powershell.exe -enc …, wmic.exe, certutil.exe, mshta.exe. Если сенсор не логирует командную строку и аргументы дочернего процесса — теряется суть атаки.
  4. Слишком агрессивная фильтрация шума. Отсечение «системного шума» (svchost, lsass, explorer) часто убирает контекст: инъекцию в svchost, COM-апгрейд через dllhost, боковое перемещение через WMI.
  5. Отсутствие дампа памяти при подозрительных событиях. Логи API не показывают расшифрованную конфигурацию в куче. Автоматический дамп (procdump -ma -e 1 -f «…» или VMI-снимок) при срабатывании YARA в памяти / создании RWX-страницы / инъекции — критичен для извлечения IOC.
  6. Неактуальные профили VMI / символы ОС. Обновление Windows (Patch Tuesday) меняет оффсеты в EPROCESS, _ETHREAD, _HANDLE_TABLE. Без пересборки профилей (Volatility/Volatility3 symbol tables, DRAKVUF profiles, REVEN OSSI) VMI слепнет.
  7. Отсутствие сетевого контекста (PCAP + TLS keys). Лог «PID 1234 соединился с 1.2.3.4:443» бесполезен без SNI, JA3-фингерпринта и, идеально, расшифрованного трафика (если ключи извлечены через хукинг SSL_write/BCryptEncrypt или мастер-ключи TLS из LSASS).

Чек-лист: готовность среды к запуску

Перед загрузкой образца пройдитесь по пунктам. Если пункт не выполнен — вы принимаете риск потери данных.

  • [ ] Изоляция: Сеть — изолированная VLAN / INetSim / FakeNet-NG / закапывание DNS. Диск — снапшот / overlay / non-persistent. Host-only адаптер для управления.
  • [ ] Сенсоры: Kernel callback / Minifilter / eBPF / Sysmon (актуальный конфиг) установлены и работают (проверка тестовым событием: создание файла в Temp).
  • [ ] User-mode хуки (если используются): Инжектор подписан / в исключениях AV / работает на целевой архитектуре (x64 / WoW64).
  • [ ] VMI / Hypervisor: Профили символов соответствуют बिलд-номеру гостевой ОС (ver / uname -r).
  • [ ] Сеть: tcpdump / Zeek / Wireshark запущены на хосте / зеркальном порту. Ключи SSL (SSLKEYLOGFILE) собираются хуком или переменной окружения.
  • [ ] Автодамп памяти: Настроен триггер (YARA в памяти / RWX alloc / инъекция / крипто-API) -> procdump / avml / VMI snapshot.
  • [ ] Тайм-ауты: Максимальное время выполнения задано (120–300 сек). Watchdog на хосте убивает зависшую VM.
  • [ ] Артефакты: Папка для логов, PCAP, дампов, скриншотов, артефактов (файлы, дампы реестра) смонтирована на хост (shared folder / virtio-fs / 9p) в real-time.
  • [ ] Очистка: Скрипт восстановления снапшота / пересоздания контейнера отрабатывает за < 30 сек.

FAQ: частые вопросы на практике

Нужен ли мне Intel PT, если есть Sysmon?

Sysmon (ETW/Kernel) даёт события: «процесс создал», «файл записан», «соединение установлено». Intel PT даёт поток инструкций: какая инструкция выполнялась, какие ветки брались, какие адреса вызывались. PT нужен, когда: (1) вредонос обходит хуки прямыми системными вызовами и не триггерит Sysmon на ключевых моментах (редко, но бывает при ручном маппинге DLL), (2) нужно восстановить алгоритм упаковщика/распаковки пошагово, (3) исследуется ROP/JOP-цепочка или эксплойт ядра. Для 95% триажа вредоносов Sysmon + User-mode хуки / VMI достаточно.

Как логировать аргументы системных вызовов из Kernel-mode без копирования буферов?

В Windows Minifilter / Kernel Callbacks получают PVOID буферы в контексте вызывающего процесса. Нельзя разыменовывать указатели напрямую (BSOD при страничной ошибке или если буфер в user-mode и страница выгружена). Используйте ProbeForRead/ProbeForWrite + MmGetSystemAddressForMdlSafe или копируйте через RtlCopyMemory в системный буфер после проверки. В Linux eBPF — bpf_probe_read_user_str / bpf_probe_read_kernel безопасно копируют данные в карту BPF.

Стоит ли использовать Cuckoo в 2024–2025 году?

Оригинальный Cuckoo (v2) не обновлялся годами. Используйте активные форки: CAPE (активное развитие, модули конфигов, YARA в памяти), Cuckoo-Droid (Android), или коммерческие альтернативы. Если нужен только Windows — чистый CAPE на KVM с Libvirt + Sysmon внутри гостя — это де-факто стандарт open-source стека.

Как бороться с засыпанием вредоноса (Sleep / NtDelayExecution / таймеры)?

В user-mode: хук NtDelayExecution, SleepEx, WaitForSingleObject с ускорением времени (возврат STATUS_SUCCESS / WAIT_TIMEOUT сразу). В VMI/Hypervisor: патч инструкции RDTSC / MSR IA32_TSC_AUX / виртуализация APIC-таймера (ускорение TSC в KVM: kvmclock / tsc_scaling). В Intel PT — просто игнорируйте паузы, трассировка не прерывается. Важно: не ломайте логику таймаутов C2 (биконы), иначе вредонос уйдёт в бесконечный ретрай.

Можно ли полностью автоматизировать извлечение IOC (IP, домены, хэши, мьютексы, MITRE ATT&CK теги)?

Да. Пайплайн: JSON-логи сенсоров -> парсер (Sigma правила / кастомные парсеры) -> обогащение (VT, AbuseIPDB, URLHaus,ipasn) -> маппинг на MITRE (карта событие -> техника, например: «CreateRemoteThread -> T1055.002»). Инструменты: Sigma (перевод логов в детекты), MISP / OpenCTI (хранение IOC), Elastic Detection Engine / Splunk ESCU (корреляция). Сложность — в качестве парсеров: Sysmon Event ID 8 (CreateRemoteThread) даёт SourceImage/TargetImage, но не всегда даёт вызывающий модуль — нужен стек вызовов (User-mode хук или ETW StackWalk).

Резюме: от чего зависит качество контроля

Качество контроля процессов в изолированной среде определяется тремя факторами:

  1. Глубина сенсора. User-mode хуки дают аргументы, но слепы к прямым системным вызовам. Kernel Callbacks / eBPF дают полноту и устойчивость, но требуют копирования буферов. Hypervisor/VMI/Intel PT дают невидимость и полную трассировку, но требуют экспертной поддержки профилей ОС.
  2. Корреляция контекста. Изолированные логи (процессы, файлы, сеть, память) бесполезны без единого идентификатора сессии (PID/Transaction ID) и временной метки высокого разрешения. Настройте сборку единого JSON-стрима на этапе инжеста.
  3. Гибкость реакции. Статический набор правил «логировать всё» забивает диск за час. Нужен динамический режим: базовый аудит всегда + усиленный аудит (полные буферы, стеки, дампы памяти) по триггерам (YARA match, подозрительная цепочка API, невидимый процесс, сетевой индикатор).

Начните с минимально рабочего набора: Sysmon (актуальный конфиг) + PCAP + автодамп памяти по YARA. Это покрывает 80% задач триажа на Windows. Добавляйте user-mode хуки (Frida/CAPE analyzer) для аргументов крипто/сетевых API. Переходите к VMI/Intel PT только когда встречаете образцы, пролетающие мимо ядерных сенсоров (прямые системные вызовы + анти-хукинг) или когда нужен реверс упаковщика без отладчика. В Linux замените Sysmon на eBPF (Tetragon/Falco/bpftrace) — это современный, безопасный и гибкий стандарт.

Главная ошибка — считать, что «песочница сама всё увидит». Песочница — это только изоляция. Видимость создаёт сенсор, настроенный под угрозы, которые вы реально ожидаете встретить.

PEFile.ru