Análise estática de
malware com o pev




     www.4linux.com.br   2 / 16
Agenda
   Análise estática x dinâmica

   O projeto pev

   Demonstração

   Planos futuros

   Contribuição




                         www.4linux.com.br   3 / 16
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
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
Análise estática x dinâmica
   Analisador PEInfo (proprietário, somente Windows GUI)




                          www.4linux.com.br                 6 / 16
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
O projeto pev


      Programa 1   Porgrama 2    Programa 3   Programa 4




                            libpe


                            glibc


                      www.4linux.com.br                    8 / 16
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
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
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
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
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
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
Contribuição
Repositório de desenvolvimento:
http://github.com/merces/pev

Versão estável:
http://pev.sf.net

Lista de discussão:
https://lists.sourceforge.net/lists/listinfo/pev-devel

   Canal no IRC
    #MenteBinaria em irc.freenode.net



                         www.4linux.com.br               15 / 16
Obrigado



              Fernando Mercês
      fernando.merces@4linux.com.br
             www.4linux.com.br
            www.hackerteen.com
            twitter.com/4LinuxBR
          twitter.com/MenteBinaria

           Tel: 55-11-2125-4747

               www.4linux.com.br      16 / 16

Análise estática de malware com o pev

  • 2.
    Análise estática de malwarecom o pev www.4linux.com.br 2 / 16
  • 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 xdinâ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 xdinâ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 xdinâ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
  • 15.
    Contribuição Repositório de desenvolvimento: http://github.com/merces/pev Versãoestável: http://pev.sf.net Lista de discussão: https://lists.sourceforge.net/lists/listinfo/pev-devel  Canal no IRC #MenteBinaria em irc.freenode.net www.4linux.com.br 15 / 16
  • 16.
    Obrigado Fernando Mercês fernando.merces@4linux.com.br www.4linux.com.br www.hackerteen.com twitter.com/4LinuxBR twitter.com/MenteBinaria Tel: 55-11-2125-4747 www.4linux.com.br 16 / 16