Engenharia Reversa
Engenharia Reversa
Engenharia Reversa
3.2 Debuggers.
Bibliografia
http://docs.google.com/Present?
docid=ddd3j862_29grq4sx&fs=true
http://1bit.com.br/
http://www.caloni.com.br/blog
http://www.sawp.com.br/
Reversing: Secrets of Reverse Engineering,
Eldad Eilam
Lcio Camilo
Contextualizao
Decompilao ou Descompilao =
produzir a partir de um executvel um programa fonte em
linguagem de alto-nvel que, quando compilado, tem a mesma
funcionalidade que o executvel original.
"realizar a operao inversa de um compilador, transformando
cdigo objeto em cdigo fonte"
Engenharia Reversa = consiste em a partir de uma soluo
pronta, extrair todos os conceitos empregados para sua
construo
Lcio Camilo
Lcio Camilo
Lcio Camilo
2.
Lcio Camilo
Segurana
a. Softwares Maliciosos
Utilizam engenharia reversa tanto para encontrar
vulnerabilidades quanto para corrigir problemas
(Empresas Antivirus).
b. Reverso de Algoritmos Criptogrficos
c. Direitos Autorais
d. Auditoria de Cdigo Binrio
Objetivam descobrir se o software apresenta algum
risco de utilizao
Desenvolvimento de Software
a. Adquirir interoperabilidade com Software Proprietrio
b. Desenvolvendo Softwares Competitivos
c. Avaliar qualidade e robustez de softwares
Mtodos de Anlise
Anlise Online Alguns casos quando o cdigo sofre um tratamento para no ser
visvel atravs de engenharia reversa, a anlise offline no produz
resultados, sendo necessrio a observao do cdigo em execuo.
Atravs desta anlise possvel descobrir o comportamento do
programa e o fluxo de controle e dados existentes.
Lcio Camilo
Ferramentas - Disassemblers
Lcio Camilo
No Confundir !!!
Lcio Camilo
Ferramentas
Disassemblers
IDA-PRO
ILDasm
Debuggers (Depuradores)
User-Mode
OllyDbg
WinDbg
IDA PRO
PEBrowse Professional Interative
Kernel Mode
WinDbg
Numega SoftIce
Syser Debugger
Suporta
uma
variedade
de
arquitetura
de
Lcio Camilo
Lcio Camilo
Ferramenta - ILDasm
Disassembler
para
Microsoft
Intermediate
Lcio Camilo
Ferramentas - Debuggers
Lcio Camilo
Funcionalidades - Debuggers
1.
2.
3.
4.
Lcio Camilo
Lcio Camilo
Ferramentas - OllyDbg
Lcio Camilo
Ferramenta - WinDbg
Lcio Camilo
Lcio Camilo
Lcio Camilo
Ferramenta - SoftICE
Lcio Camilo
Lcio Camilo
Ambiente Virtual
Decompiladores
Lcio Camilo
Decompiladores
Lcio Camilo
Boomerang
Andromeda
DCC
Java
JAD
Bnus
Ferramentas de Monitorao de Sistemas
Tcnicas Anti Engenharia Reversa
Lcio Camilo
FileMon
Monitora todo o trfego de filesystem entre
aplicao e sistema operacional, e pode
verificar todo o I/O de arquivos gerado pelos
processos;
Com esta ferramenta podemos ver cada
arquivo ou diretrio que aberto, bem como
cada operao de read, write e execute de
qualquer processo do sistema.
Lcio Camilo
TCPView
Monitora todas as conexes TCP ou UDP
ativas em cada processo;
No mostra o trfego atual, apenas uma
listagem com quais conexes esto abertas,
por quais processos, o tipo de conexo (TCP
ou UDP), o nmero da porta e o endereo do
sistema no outro ponto.
Lcio Camilo
Lcio Camilo
RegMon
Monitora o acesso de qualquer processo ou
programa as informaes do Registro.
Muito til para localizar chaves de Registro
mantidas por programas.
Lcio Camilo
PortMon
Monitor de portas fsicas que age sobre
qualquer trfego I/O serial ou paralelo no
sistema.
Lcio Camilo
WinObj
Apresenta uma viso hierrquica do
namespace utilizado pelo programa.
Utilizado para identificar sincronizao de
objetos e verificar objetos globais, tais como
dispositivos fsicos.
Lcio Camilo
Process Explorer
Pode monitorar processos, DLL`s carregadas
e seus espaos de endereos, CPU,
memria, entre outras informaes sobre os
processos.
Lcio Camilo
2. Ofuscar o Programa
Lcio Camilo
4. Confundir Disassemblers
6. Transformaes de Dados
Lcio Camilo
Patching Tools
Lcio Camilo
Questes Comentadas
Lcio Camilo
Errado
Errado
Lcio Camilo
Lcio Camilo
Lcio Camilo
Lcio Camilo
Lcio Camilo
Lcio Camilo
Questo 05 - FEPESE - 2010 - SEFAZ-SC - Auditor Fiscal da Receita Estadual Parte III - Tecnologia da Informao
Identifique as alternativas corretas a respeito de engenharia reversa.
1. Descompiladores so usados para obter o cdigo fonte de um software a
partir de seu cdigo binrio.
2. Ofuscadores de cdigo efetuam a cifragem de cdigos binrios de
programas com o intuito de impedir a sua descompilao.
3. Atravs de tcnicas de engenharia reversa, possvel obter diagramas
UML de um programa a partir de seu cdigo fonte.
4. Descompilao de cdigo e esteganografia so duas tcnicas
frequentemente usadas para realizar a engenharia reversa de sistemas
computacionais.
Assinale a alternativa que indica todas as afirmativas corretas.
a) So corretas apenas as afirmativas 1 e 3.
b) So corretas apenas as afirmativas 1 e 4.
c) So corretas apenas as afirmativas 2 e 3.
d) So corretas apenas as afirmativas 1, 2 e 4.
e) So corretas apenas as afirmativas 2, 3 e 4.
Lcio Camilo
Questo 05 - FEPESE - 2010 - SEFAZ-SC - Auditor Fiscal da Receita Estadual Parte III - Tecnologia da Informao
Identifique as alternativas corretas a respeito de engenharia reversa.
1. Descompiladores so usados para obter o cdigo fonte de um software a
partir de seu cdigo binrio.
2. Ofuscadores de cdigo efetuam a cifragem de cdigos binrios de
programas com o intuito de impedir a sua descompilao.
3. Atravs de tcnicas de engenharia reversa, possvel obter diagramas
UML de um programa a partir de seu cdigo fonte.
4. Descompilao de cdigo e esteganografia so duas tcnicas
frequentemente usadas para realizar a engenharia reversa de sistemas
computacionais.
Assinale a alternativa que indica todas as afirmativas corretas.
a) So corretas apenas as afirmativas 1 e 3.
b) So corretas apenas as afirmativas 1 e 4.
c) So corretas apenas as afirmativas 2 e 3.
d) So corretas apenas as afirmativas 1, 2 e 4.
e) So corretas apenas as afirmativas 2, 3 e 4.
Lcio Camilo
Questo 05 - FEPESE - 2010 - SEFAZ-SC - Auditor Fiscal da Receita Estadual Parte III - Tecnologia da Informao
1 - OK
2 - Os ofuscadores cifram o cdigo fonte
3 - OK. o que fazem programas como o Together, Power Architect, etc.
4 - Esteganografia (do grego "escrita escondida") o estudo e uso das
tcnicas para ocultar a existncia de uma mensagem dentro de outra. Em
outras palavras, esteganografia o ramo particular da criptologiaque
consiste em fazer com que uma forma escrita seja camuflada em outra a fim
de mascarar o seu verdadeiro sentido.
importante frisar a diferena entre criptografia e esteganografia. Enquanto
a primeira oculta o significado da mensagem, a segunda oculta a existncia
da mensagem.
Lcio Camilo
Gabarito
1. CERTO
2. A
3. A
4. C
5. A
Questo 01
Lcio Camilo
Errado
Questo 01
Errado
A engenharia reversa pode ser feita atravs das anlises OffLine ou anlise
OnLine, tambm podem ser chamadas respectivamente de esttica e
dinmica.
Lcio Camilo
Questo 02
Lcio Camilo
Errado
Questo 02
Errado
Lcio Camilo
Questo 03
Lcio Camilo
Errado
Questo 03
Errado
Lcio Camilo
Questo 04
Lcio Camilo
Errado
Questo 04
Errado
Lcio Camilo
Questo 05
Lcio Camilo
Errado
Questo 05
Errado
Lcio Camilo
Questo 06
Certo
Lcio Camilo
Errado
Questo 06
Certo
Errado
2.
3.
4.
Lcio Camilo
Questo 07
Certo
Lcio Camilo
Errado
Questo 07
Certo
Lcio Camilo
Errado
Questo 08
A Linguagem Assembly
possui um conjunto de
instrues comuns para todas as arquiteturas de
computadores.
Certo
Lcio Camilo
Errado
Questo 08
A Linguagem Assembly
possui um conjunto de
instrues comuns para todas as arquiteturas de
computadores.
Certo
Errado
As instrues Assembly so especficas para cada
arquitetura de processador, ex IA-32, Sparc, etc.
Lcio Camilo
Questo 09
Certo
Lcio Camilo
Errado
Questo 09
Certo
Lcio Camilo
Errado
Questo 10
Certo
Lcio Camilo
Errado
Questo 10
Certo
Errado
A principal finalidade do Hex ser uma ferramenta para
patching.
Lcio Camilo
Questo 11
Certo
Lcio Camilo
Errado
Questo 11
Certo
Errado
Mquinas virtuais podem simular inclusive outras
arquiteturas, e so recomendadas a fim de que o
ambiente original no seja afetado por testes.
Lcio Camilo
Questo 12
Certo
Lcio Camilo
Errado
Questo 12
Certo
Errado
Decompilador diferente de disassembler.
Lcio Camilo
Questo 13
Certo
Lcio Camilo
Errado
Questo 13
Certo
Lcio Camilo
Errado
Questo 14
Certo
Lcio Camilo
Errado
Questo 14
Certo
Errado
WinObj ferramenta de monitorao do sistema.
Lcio Camilo
Questo 15
Certo
Lcio Camilo
Errado
Questo 15
Certo
Errado
Lcio Camilo
Gabarito
1- ERRADO
6- CERTO
11- ERRADO
2- CERTO
7- CERTO
12- ERRADO
3- ERRADO
8- ERRADO
13- CERTO
4- CERTO
9- CERTO
14- ERRADO
5- ERRADO
10- ERRADO
15- ERRADO