Информационная безопасность

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 + CreateRemoteThreadProcess injection
StringsIP:PORT, Base64 блоки, Cmd.exe /cC2, staging, execution
Ресурсы (.rsrc)Большой encrypted blobPayload в ресурсах
СертификатНе подписан или поддельныйНеавторизованный код

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
Malware Analysis

0

1

Войти