Análise de Malware

O que é Análise de Malware?

A análise de malware é o processo de examinar código malicioso para entender seu comportamento, capacidades, origem e objetivos. É essencial para incident response, threat intelligence e desenvolvimento de contramedidas efetivas.

Tipos de Análise

1. Análise Estática

Exame do malware sem executá-lo:

  • Análise de strings e metadados
  • Identificação de packers e obfuscação
  • Análise de headers PE/ELF
  • Assinaturas e hashes (MD5, SHA-256, SSDEEP)
  • YARA rules matching

2. Análise Dinâmica

Execução controlada em ambiente isolado:

  • Sandbox analysis (Cuckoo, Any.Run, Joe Sandbox)
  • Monitoramento de chamadas de sistema
  • Análise de tráfego de rede
  • Modificações no filesystem e registro
  • Processos criados e injeções de código

3. Engenharia Reversa

Análise profunda do código:

  • Disassembly e decompilação
  • Debugging e análise de fluxo
  • Identificação de algoritmos de criptografia
  • Extração de configurações e IOCs

Ferramentas Essenciais

Análise Estática

  • • PEiD / Detect It Easy
  • • PEStudio / CFF Explorer
  • • Strings / FLOSS
  • • VirusTotal / Hybrid Analysis
  • • YARA / Capa

Análise Dinâmica

  • • Cuckoo Sandbox
  • • Any.Run
  • • Process Monitor (Sysinternals)
  • • Wireshark / tcpdump
  • • Regshot

Reverse Engineering

  • • IDA Pro / Ghidra
  • • x64dbg / WinDbg
  • • dnSpy (para .NET)
  • • JD-GUI (para Java)
  • • Radare2

Memória e Forense

  • • Volatility Framework
  • • Rekall
  • • SANS SIFT Workstation
  • • REMnux Distribution

Metodologia de Análise

Fase 1: Triagem Inicial

  • Calcular hashes e verificar em bases de threat intelligence
  • Submeter a sandboxes públicos (VirusTotal, Hybrid Analysis)
  • Análise rápida de strings e imports
  • Determinar tipo de arquivo e possível packer

Fase 2: Análise Comportamental

  • Executar em sandbox controlado
  • Monitorar criação de arquivos e processos
  • Capturar tráfego de rede e conexões C2
  • Identificar técnicas de persistência

Fase 3: Análise Profunda

  • Desempacotamento e desobfuscação
  • Reverse engineering de funções críticas
  • Extração de configurações e IOCs
  • Identificação de famílias e variantes

Indicadores de Comprometimento (IOCs)

IOCs essenciais a serem extraídos:

  • File-based: Hashes, nomes de arquivos, caminhos
  • Network: IPs, domínios, URLs, User-Agents
  • Registry: Chaves criadas/modificadas
  • Behavior: Mutexes, named pipes, serviços
  • YARA rules: Padrões de detecção reutilizáveis

Técnicas Comuns de Evasão

  • Anti-VM/Sandbox: Detecção de ambientes virtualizados
  • Anti-Debugging: Técnicas para evitar análise
  • Packing/Obfuscation: Ofuscação de código
  • Process Injection: DLL injection, process hollowing
  • Rootkit Capabilities: Ocultação de processos e arquivos
  • Fileless Malware: Execução apenas em memória

MITRE ATT&CK Framework

Mapear o comportamento do malware às técnicas do MITRE ATT&CK:

  • Initial Access (phishing, exploit public-facing app)
  • Execution (command and scripting, user execution)
  • Persistence (registry run keys, scheduled tasks)
  • Defense Evasion (obfuscation, process injection)
  • Command and Control (web protocols, DNS)
  • Exfiltration (exfiltration over C2, automated exfiltration)

Recomendações de Segurança

  • [OK] Sempre analisar em ambiente isolado (air-gapped)
  • [OK] Usar snapshots de VMs para restauração rápida
  • [OK] Documentar toda análise de forma detalhada
  • [OK] Compartilhar IOCs com a comunidade (MISP, OTX)
  • [OK] Manter ferramentas de análise sempre atualizadas
  • [OK] Criar YARA rules para detecção futura
  • [OK] Integrar findings com plataformas de threat intelligence