Material de Apoio Recomendado
- Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software (Michael Sikorski and Andrew Honig).
- The Ghidra Book: The Definitive Guide (Chris Eagle and Kara Nance).
O que é Engenharia Reversa?
- É a arte de dissecar um determinado arquivo e compreender como ele funciona.
- Embora o foco costume ser malware analysis, pode ser usado em qualquer contexto, inclusive em CTFs.
- Foco: Malware em Windows e arquivos executáveis.
Engenharia Reversa vs. Engenharia Direta (Forward Engineering)
- Engenharia Direta: Especificação do Sistema → Design e Implementação → Novo Sistema.
- Engenharia Reversa: Sistema de Software Existente → Compreensão e Transformação → Sistema Re-engenheirado.
Objetivos da Análise de Malware
O objetivo principal é prover informações que permitam detectar a intrusão. Essas informações são chamadas de assinaturas ou IoCs (Indicators of Compromise).
- Host-based signature: Indicadores de algo que o malware faz diretamente no sistema (arquivos criados, chaves de registro, etc).
- Network-based signature: Indicadores de comunicações que o malware realiza na rede.
Tipos de Análise
- Análise Estática Básica:
- Examinar o executável sem ver suas instruções.
- Ineficiente para malwares complexos.
- Análise Dinâmica Básica:
- Rodar o programa e observar seu comportamento. Também pode ser ineficiente isoladamente.
- Análise Estática Avançada:
- Engenharia reversa de fato, utilizando disassemblers para ver as instruções da CPU.
- Análise Dinâmica Avançada:
- Utiliza um debugger para monitorar o funcionamento interno do executável enquanto ele roda.