O documento discute análise estática de malware usando o projeto pev. O projeto pev fornece ferramentas de código aberto para analisar arquivos Portable Executable (PE) de forma multiplataforma. Ele inclui ferramentas como readpe para ler cabeçalhos PE, packid para detectar packers, e pesec para verificar recursos de segurança como ASLR e DEP. Planos futuros incluem adicionar funcionalidades como esteganografia, descriptografia de strings, e um descompilador C.
3. Agenda
Análise estática x dinâmica
O projeto pev
Demonstração
Planos futuros
Contribuição
www.4linux.com.br 3 / 16
4. Análise estática x dinâmica
Estática
Primeira análise
Não roda o binário
Útil para relatórios
Fácil de ser automatizada
Rápida
Baseada em interpretação do PE
Dinâmica
Forte interação humana
Analisa todo o binário
Automatização mais complexa
Baseada em engenharia reversa
www.4linux.com.br 4 / 16
5. Análise estática x dinâmica
Para uma análise estática é preciso:
Conhecer a arquitetura do PE
Interpretar os cabeçalhos do PE
Tratar informações e exibir
Na API do Windows há várias funções para obter
informações de um PE.
Vários analisadores estáticos foram construídos com
base na API do Windows.
www.4linux.com.br 5 / 16
6. Análise estática x dinâmica
Analisador PEInfo (proprietário, somente Windows GUI)
www.4linux.com.br 6 / 16
7. O projeto pev
Um kit de ferramentas para trabalhar com PE
Escrito em C, sem uso de API do Windows
Multiplataforma (testado em Windows, Linux e Mac OS)
100% Software Livre, GPLv3
Ferramentas de linha de comando, facilmente scriptáveis
Baseado em uma biblioteca própria batizada de libpe
www.4linux.com.br 7 / 16
8. O projeto pev
Programa 1 Porgrama 2 Programa 3 Programa 4
libpe
glibc
www.4linux.com.br 8 / 16
9. O projeto pev
readpe
leitor de cabeçalhos, seções e informações básicas do
PE.
packid
detector de packers genérico e EP fake
pedis
disassembler de funções e seções
pesec
detector de features de segurança (ASLR, DEP, Stack
Cookies)
www.4linux.com.br 9 / 16
10. O projeto pev
petls
busca funções TLS callback em binários PE
rva2ofs
converte um RVA (Relative Virtual Address) em raw file
offset.
ofs2rva
www.4linux.com.br 10 / 16
11. Demonstração
Análise básica com readpe
Busca de entrypoint falso com packid
Detecção de TLS callbacks com petls
Stack cookies com pesec
ASLR e DEP com pesec
www.4linux.com.br 11 / 16
12. Planos futuros
pesteg
esteganografia em PE
pestr
uso de biblioteca de emulação de código x86 para
decodificar strings em malwares
pecarve
extração de PE em dumps e dispostivos
pedec
descompilador C
www.4linux.com.br 12 / 16
13. Planos futuros
peres
extrator de resources
pehash
hash de seções e funções inteiras
pesniff
captura de PE em tráfego de rede
petutorial
tutorial interativo sobre as estruturas do PE
www.4linux.com.br 13 / 16
14. Contribuição
Software livre não vive sozinho!
Testes de compilação e uso
Documentação em português e inglês
Programação em C básico
Conhecimento do PE
Idéias, críticas, sugestões...
www.4linux.com.br 14 / 16