Информационная безопасность
Malware Analysis
Февраль 2022. Украина. За несколько часов до вторжения тысячи компьютеров государственных агентств уничтожены HermeticWiper - malware с валидной цифровой подписью от Hermetica Digital Ltd. AV не определил. Статический анализ показал: PE файл импортирует DiskPart API, перезаписывает MBR случайными данными. Динамика: в sandbox ничего. Anti-sandbox: malware проверял domain membership - работал только в корпоративной сети. Malware analysis требует больше чем один метод.
- **HermeticWiper 2022:** wiper перед вторжением в Украину - подписан легитимным cert, 0/70 VirusTotal initial detection, anti-sandbox через domain check
- **Emotet 2014-2022:** самый распространённый banking trojan, регулярно перепаковывался - hash IOC устаревали за часы, поведенческие IOC оставались стабильными
- **NotPetya 2017:** destructive wiper под видом ransomware - анализ показал что decryption key математически невозможен, цель уничтожение а не выкуп
Статический анализ: анатомия без запуска
Первое правило malware analysis: не запускать на production машине. Второе правило: понять как можно больше без запуска. **Статический анализ** - изучение файла без выполнения: хеши, строки, импорты, структура PE/ELF. За 10 минут статики можно определить семейство malware, C2 endpoints, persistence механизм.
| Индикатор | Что ищем | Значение |
|---|---|---|
| Секции PE | Высокая энтропия (.upx, .UPX) | Packed/encrypted malware |
| Импорты | VirtualAlloc + WriteProcessMemory + CreateRemoteThread | Process injection |
| Strings | IP:PORT, Base64 блоки, Cmd.exe /c | C2, staging, execution |
| Ресурсы (.rsrc) | Большой encrypted blob | Payload в ресурсах |
| Сертификат | Не подписан или поддельный | Неавторизованный код |
strings показывает Base64 строку в malware. Декодирование даёт нечитаемые байты. Что вероятно?
Динамический анализ: наблюдение в действии
Packed и encrypted malware скрывает поведение от статического анализа. **Динамический анализ** - контролируемое выполнение в изолированной среде с мониторингом всех действий: файловые операции, сетевые запросы, реестр, процессы. Malware самораспаковывается и раскрывает реальные индикаторы.
**DGA (Domain Generation Algorithm)** - malware генерирует случайные C2 домены по алгоритму (seed = текущая дата). Каждый день новые домены. Wireshark показывает сотни DNS запросов к странным доменам. Обнаружение через ML: DGA домены имеют высокую энтропию и нечитаемы.
Procmon показывает: malware.exe -> OpenProcess(explorer.exe) -> WriteProcessMemory -> CreateRemoteThread. Что происходит?
Sandboxing: автоматизированный анализ
Ручной динамический анализ занимает часы. При анализе тысяч семплов в день - только автоматизация. **Sandbox** - изолированная VM с мониторингом: submitting файл, 3 минуты выполнения, полный отчёт о поведении. Any.run, Cuckoo, Joe Sandbox, VirusTotal Behavior - анализируют автоматически.
**Sandbox evasion** - malware определяет что в sandbox: проверяет число процессоров (VM часто 1-2), RAM < 4GB, имена процессов (vboxservice.exe, vmtoolsd.exe), uptime (sandbox < 10 мин), пользовательскую активность (нет движения мыши). Advanced malware ждёт или работает только на реальных машинах.
Cuckoo sandbox: malware запустился, 3 минуты работал, но никакого подозрительного поведения. Не networking, не файлы. Почему?
IOC: Indicators of Compromise
Цель анализа malware - не только понять как работает, но и получить **Indicators of Compromise (IOC)**: наблюдаемые артефакты компрометации. IOC передаются в SIEM, firewall, EDR для автоматического обнаружения заражённых систем в организации.
**MITRE ATT&CK** - фреймворк TTPs (Tactics, Techniques, Procedures): каталог техник с ID (T1055 = Process Injection, T1071 = Application Layer Protocol). Malware analyst маппирует поведение на ATT&CK: T1547.001 (Registry Run Keys), T1059.001 (PowerShell). SIEM rules пишутся по ATT&CK ID.
Антивирус защищает от малвара - достаточно держать его обновлённым
AV signature-based detection пропускает: packed malware, zero-day, living-off-the-land (LOLBins), fileless malware. Современная защита: EDR (поведенческий анализ) + SIEM (correlation) + threat hunting + incident response.
VirusTotal показывает: новые семплы 0/70 detection на первые часы. После обновления сигнатур - 40-60/70. За это время APT уже достигли цели. Behavioural detection и hunting по TTPs работают против неизвестного malware.
SIEM получает IOC: SHA256 hash C2-связанного файла. Через день malware перепакован - новый hash. IOC бесполезен?
Ключевые идеи
- **Статика:** VirusTotal hash check -> strings -> PE imports -> YARA. За 10 минут - семейство, C2 hints, persistence механизм
- **Динамика:** Procmon + Wireshark + FakeNet в изолированной VM. Timeline: T+0s DNS, T+2s HTTP C2, T+5s registry persistence
- **Sandbox:** Cuckoo/Any.run автоматизируют анализ тысяч семплов. Anti-sandbox evasion: bare-metal + user simulation + увеличенный timeout
- **IOC + Pyramid of Pain:** hash устаревает быстро, TTPs - медленно. MITRE ATT&CK маппинг для SIEM rules. MISP для sharing с сообществом
Связанные темы
Malware analysis - центральное звено между detection и response:
- Reverse Engineering — Ghidra/IDA для глубокого анализа алгоритмов malware
- SIEM и мониторинг — IOC из malware analysis -> SIEM правила для detection
- Incident Response — Malware analysis определяет scope компрометации и план containment
Вопросы для размышления
- Есть ли процесс для безопасного анализа подозрительных файлов? Куда отправлять suspicious attachment из email?
- Используется ли Any.run или VirusTotal Behavior в организации? Как быстро можно получить поведенческий анализ файла?
- Как IOC от malware analysis попадают в SIEM и firewall? Есть ли автоматизация этого процесса?
Связанные уроки
- sec-23 — RE инструменты - основа malware analysis
- sec-33 — SIEM использует IOC из malware analysis для обнаружения атак
- sec-34 — Incident Response: malware analysis определяет масштаб компрометации
- os-15-syscalls