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
