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

  1. Análise Estática Básica:
    • Examinar o executável sem ver suas instruções.
    • Ineficiente para malwares complexos.
  2. Análise Dinâmica Básica:
    • Rodar o programa e observar seu comportamento. Também pode ser ineficiente isoladamente.
  3. Análise Estática Avançada:
    • Engenharia reversa de fato, utilizando disassemblers para ver as instruções da CPU.
  4. Análise Dinâmica Avançada:
    • Utiliza um debugger para monitorar o funcionamento interno do executável enquanto ele roda.