SlideShare une entreprise Scribd logo
1  sur  22
Análise de aplicativos e sistema 
Android 
Rafael Tosetto 
Tecnólogo em Redes 
MBA em Segurança da 
Informação 
rafaeltosettosec@gmail.com
Agenda 
• Introdução 
• Por dentro de um aplicativo 
• Análise estática e dinâmica 
• Drozer Framework 
– Exploração de vulnerabilidade 
– Demonstração da ferramenta 
• Distros focadas em segurança mobile
Android em números 
• 1 a cada 10 apps é classificado como malicioso 
(Total de 24,4 milhões de amostras)
Aumento de 600% nos últimos 12 meses
Maioria originada de Third pary markets
Jellybean é a versão mais afetada
Por dentro de um App 
• Desenvolvido em Java (SDK) ou C/C++ (NDK) 
• Um app é dividido em 4 partes 
– Activity: Interface visual, tela 
– Service: Processo background 
– Content Provider: Armazena informações em um 
banco ou arquivo 
– Broadcast Receiver: Reação que o app deverá 
tomar ao receber um intent do sistema/outro app
Por dentro de um App 
• Desenvolvido em Java (SDK) ou C/C++ (NDK) 
• Um app é dividido em 4 partes 
– Activity: Interface visual, tela 
– Service: Processo background 
– Content Provider: Armazena informações em um 
banco ou arquivo 
– Broadcast Receiver: Reação que o app deverá 
tomar ao receber um intent do sistema/outro app
Por dentro de um App 
• Manifest.xml: Definido as permissões e filtros 
• Cada app possui um UID e GID 
• Executado de forma independente na Dalvik Virtual 
Machine 
• Security Architecture: “No application, by default, has 
permission to perform any operations that would 
adversely impact other applications, the operating 
system, or the user”
Análise Estática 
• Ferramentas utilizadas 
– APKTool: Descompacta .apk 
– Dex2Jar: Conversão .dex para .class 
– JD-GUI: Visualizador de .class 
– SQLite Database Browser: Visualiza arquivos de 
banco de dados
Análise Dinâmica 
• Sites de análise de APK 
– Virus Total: https://www.virustotal.com/ 
– Andrubis: http://anubis.iseclab.org/ 
– Copper Droid: 
http://copperdroid.isg.rhul.ac.uk/copperdroid/ 
• Sistema próprio 
– Droid Box: https://code.google.com/p/droidbox/
Drozer Framework 
• Client/Servidor 
• Servidor no Android 
• Client no Windows executado a partir da 
linha de comando 
• App permissão de Acesso total a rede
Demonstração 
• Foi utilizado apenas a rede Wifi 
• Modo de depuração USB desativado 
• Android v4.4.2 (KitKat) rooteado 
• Firewall do Windows ativado 
Etapas 
1. Realizar a conexão do Drozer com o Android 
2. Explorar os diretórios da memória interna 
3. Fazer download de uma foto 
Link: http://youtu.be/EhcDDmBPf-Y
Como se proteger
Como se proteger 
• Atualizar S.O. 
• Não fazer root 
Dados de 
12/Ago/2014
Como se proteger 
• Usar criptografia 
• Preferência para aplicativos que criptografam 
seus arquivos armazenados na memória interna 
• Instalar apps apenas do Google Play 
• Usar antivírus
E com acesso 3G? 
• Chips da Claro e Oi não responderam a 
requisição 
• Drozer estabelece conexão no chip da TIM e 
faz a exploração via 3G (Testado no 
Gingerbread)
Distribuições Linux 
• Santoku: https://santoku-linux.com/ 
• AMAT Linux: 
http://www.dunkelheit.com.br/amat/downloa 
d.html 
• MobiSec: 
http://mobisec.professionallyevil.com/
OBRIGADO! 
E-mail: rafaeltosettosec@gmail.com 
www.slideshare.net/rafaeltosetto

Contenu connexe

Similaire à Análise de aplicativos e sistema Android - 1º Fórum Site Blindado Labs

APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)Walanem Figueiredo
 
Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012guisester
 
Android-Juliana-slides.ppt
Android-Juliana-slides.pptAndroid-Juliana-slides.ppt
Android-Juliana-slides.pptMarcelo Silva
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma AndroidNatanael Fonseca
 
Introdução à programação em Android - Alcides Maya 16.04.2013
Introdução à programação em Android - Alcides Maya 16.04.2013Introdução à programação em Android - Alcides Maya 16.04.2013
Introdução à programação em Android - Alcides Maya 16.04.2013guisester
 
BSides 2014 Ed 10 - Obtendo informações pessoais do seu Android com uma calcu...
BSides 2014 Ed 10 - Obtendo informações pessoais do seu Android com uma calcu...BSides 2014 Ed 10 - Obtendo informações pessoais do seu Android com uma calcu...
BSides 2014 Ed 10 - Obtendo informações pessoais do seu Android com uma calcu...Rafael Tosetto Pimentel
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidRafael Sakurai
 
Primeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor androidPrimeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor androidMessias Batista
 
Desenvolvimento android
Desenvolvimento androidDesenvolvimento android
Desenvolvimento androidDiego Keller
 
Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android NooclixIury Teixeira
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao AndroidBruno Lui
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo OliveiraRonildo Oliveira
 
Desenvolvimento de Sistemas para Dispositivos Móveis e Sem Fio
Desenvolvimento de Sistemas para Dispositivos Móveis e Sem FioDesenvolvimento de Sistemas para Dispositivos Móveis e Sem Fio
Desenvolvimento de Sistemas para Dispositivos Móveis e Sem FioLeandro Rezende
 
Introdução a programação em Android
Introdução a programação em AndroidIntrodução a programação em Android
Introdução a programação em Androidguisester
 
Minicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CEMinicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CERonildo Oliveira
 

Similaire à Análise de aplicativos e sistema Android - 1º Fórum Site Blindado Labs (20)

APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)APRESENTACAO WALANEM ANDROID (1)
APRESENTACAO WALANEM ANDROID (1)
 
Android forensics the hard work
Android forensics   the hard workAndroid forensics   the hard work
Android forensics the hard work
 
Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012
 
Android-Juliana-slides.ppt
Android-Juliana-slides.pptAndroid-Juliana-slides.ppt
Android-Juliana-slides.ppt
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
 
Introdução à programação em Android - Alcides Maya 16.04.2013
Introdução à programação em Android - Alcides Maya 16.04.2013Introdução à programação em Android - Alcides Maya 16.04.2013
Introdução à programação em Android - Alcides Maya 16.04.2013
 
BSides 2014 Ed 10 - Obtendo informações pessoais do seu Android com uma calcu...
BSides 2014 Ed 10 - Obtendo informações pessoais do seu Android com uma calcu...BSides 2014 Ed 10 - Obtendo informações pessoais do seu Android com uma calcu...
BSides 2014 Ed 10 - Obtendo informações pessoais do seu Android com uma calcu...
 
Apresentação Google Android
Apresentação Google AndroidApresentação Google Android
Apresentação Google Android
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao Android
 
Primeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor androidPrimeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor android
 
Desenvolvimento android
Desenvolvimento androidDesenvolvimento android
Desenvolvimento android
 
Treinamento Android Nooclix
Treinamento Android NooclixTreinamento Android Nooclix
Treinamento Android Nooclix
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo Oliveira
 
Android
AndroidAndroid
Android
 
Desenvolvimento de Sistemas para Dispositivos Móveis e Sem Fio
Desenvolvimento de Sistemas para Dispositivos Móveis e Sem FioDesenvolvimento de Sistemas para Dispositivos Móveis e Sem Fio
Desenvolvimento de Sistemas para Dispositivos Móveis e Sem Fio
 
Introdução a programação em Android
Introdução a programação em AndroidIntrodução a programação em Android
Introdução a programação em Android
 
Minicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CEMinicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CE
 
Empreendedori$mo com Android
Empreendedori$mo com AndroidEmpreendedori$mo com Android
Empreendedori$mo com Android
 
Android
AndroidAndroid
Android
 

Plus de Rafael Tosetto Pimentel

Curso de Endian Firewall v3.0.5 - Aula 5
Curso de Endian Firewall v3.0.5 - Aula 5Curso de Endian Firewall v3.0.5 - Aula 5
Curso de Endian Firewall v3.0.5 - Aula 5Rafael Tosetto Pimentel
 
Curso de Endian Firewall v3.0.5 - Aula 4
Curso de Endian Firewall v3.0.5 - Aula 4Curso de Endian Firewall v3.0.5 - Aula 4
Curso de Endian Firewall v3.0.5 - Aula 4Rafael Tosetto Pimentel
 
TDC 2014 - Obtendo informações pessoais do seu Android com uma calculadora
TDC 2014 - Obtendo informações pessoais do seu Android com uma calculadoraTDC 2014 - Obtendo informações pessoais do seu Android com uma calculadora
TDC 2014 - Obtendo informações pessoais do seu Android com uma calculadoraRafael Tosetto Pimentel
 
Lightning Talks SJC - Obtendo informações pessoais do seu Android com uma ca...
 Lightning Talks SJC - Obtendo informações pessoais do seu Android com uma ca... Lightning Talks SJC - Obtendo informações pessoais do seu Android com uma ca...
Lightning Talks SJC - Obtendo informações pessoais do seu Android com uma ca...Rafael Tosetto Pimentel
 

Plus de Rafael Tosetto Pimentel (6)

Curso de Endian Firewall v3.0.5 - Aula 5
Curso de Endian Firewall v3.0.5 - Aula 5Curso de Endian Firewall v3.0.5 - Aula 5
Curso de Endian Firewall v3.0.5 - Aula 5
 
Re-autorizar Proxy do Endian no AD
Re-autorizar Proxy do Endian no ADRe-autorizar Proxy do Endian no AD
Re-autorizar Proxy do Endian no AD
 
Curso de Endian Firewall v3.0.5 - Aula 4
Curso de Endian Firewall v3.0.5 - Aula 4Curso de Endian Firewall v3.0.5 - Aula 4
Curso de Endian Firewall v3.0.5 - Aula 4
 
Curso Endian Firewall v3.0.5 - Aula 1
Curso Endian Firewall v3.0.5 - Aula 1Curso Endian Firewall v3.0.5 - Aula 1
Curso Endian Firewall v3.0.5 - Aula 1
 
TDC 2014 - Obtendo informações pessoais do seu Android com uma calculadora
TDC 2014 - Obtendo informações pessoais do seu Android com uma calculadoraTDC 2014 - Obtendo informações pessoais do seu Android com uma calculadora
TDC 2014 - Obtendo informações pessoais do seu Android com uma calculadora
 
Lightning Talks SJC - Obtendo informações pessoais do seu Android com uma ca...
 Lightning Talks SJC - Obtendo informações pessoais do seu Android com uma ca... Lightning Talks SJC - Obtendo informações pessoais do seu Android com uma ca...
Lightning Talks SJC - Obtendo informações pessoais do seu Android com uma ca...
 

Análise de aplicativos e sistema Android - 1º Fórum Site Blindado Labs

  • 1. Análise de aplicativos e sistema Android Rafael Tosetto Tecnólogo em Redes MBA em Segurança da Informação rafaeltosettosec@gmail.com
  • 2. Agenda • Introdução • Por dentro de um aplicativo • Análise estática e dinâmica • Drozer Framework – Exploração de vulnerabilidade – Demonstração da ferramenta • Distros focadas em segurança mobile
  • 3. Android em números • 1 a cada 10 apps é classificado como malicioso (Total de 24,4 milhões de amostras)
  • 4. Aumento de 600% nos últimos 12 meses
  • 5. Maioria originada de Third pary markets
  • 6. Jellybean é a versão mais afetada
  • 7. Por dentro de um App • Desenvolvido em Java (SDK) ou C/C++ (NDK) • Um app é dividido em 4 partes – Activity: Interface visual, tela – Service: Processo background – Content Provider: Armazena informações em um banco ou arquivo – Broadcast Receiver: Reação que o app deverá tomar ao receber um intent do sistema/outro app
  • 8. Por dentro de um App • Desenvolvido em Java (SDK) ou C/C++ (NDK) • Um app é dividido em 4 partes – Activity: Interface visual, tela – Service: Processo background – Content Provider: Armazena informações em um banco ou arquivo – Broadcast Receiver: Reação que o app deverá tomar ao receber um intent do sistema/outro app
  • 9. Por dentro de um App • Manifest.xml: Definido as permissões e filtros • Cada app possui um UID e GID • Executado de forma independente na Dalvik Virtual Machine • Security Architecture: “No application, by default, has permission to perform any operations that would adversely impact other applications, the operating system, or the user”
  • 10. Análise Estática • Ferramentas utilizadas – APKTool: Descompacta .apk – Dex2Jar: Conversão .dex para .class – JD-GUI: Visualizador de .class – SQLite Database Browser: Visualiza arquivos de banco de dados
  • 11.
  • 12. Análise Dinâmica • Sites de análise de APK – Virus Total: https://www.virustotal.com/ – Andrubis: http://anubis.iseclab.org/ – Copper Droid: http://copperdroid.isg.rhul.ac.uk/copperdroid/ • Sistema próprio – Droid Box: https://code.google.com/p/droidbox/
  • 13. Drozer Framework • Client/Servidor • Servidor no Android • Client no Windows executado a partir da linha de comando • App permissão de Acesso total a rede
  • 14.
  • 15.
  • 16. Demonstração • Foi utilizado apenas a rede Wifi • Modo de depuração USB desativado • Android v4.4.2 (KitKat) rooteado • Firewall do Windows ativado Etapas 1. Realizar a conexão do Drozer com o Android 2. Explorar os diretórios da memória interna 3. Fazer download de uma foto Link: http://youtu.be/EhcDDmBPf-Y
  • 18. Como se proteger • Atualizar S.O. • Não fazer root Dados de 12/Ago/2014
  • 19. Como se proteger • Usar criptografia • Preferência para aplicativos que criptografam seus arquivos armazenados na memória interna • Instalar apps apenas do Google Play • Usar antivírus
  • 20. E com acesso 3G? • Chips da Claro e Oi não responderam a requisição • Drozer estabelece conexão no chip da TIM e faz a exploração via 3G (Testado no Gingerbread)
  • 21. Distribuições Linux • Santoku: https://santoku-linux.com/ • AMAT Linux: http://www.dunkelheit.com.br/amat/downloa d.html • MobiSec: http://mobisec.professionallyevil.com/
  • 22. OBRIGADO! E-mail: rafaeltosettosec@gmail.com www.slideshare.net/rafaeltosetto

Notes de l'éditeur

  1. Comentar dos prós e contras
  2. Comentar dos prós e contras
  3. Da para ver as permissões com detalhes acessando pelo site do google play
  4. Explicar que o usuário conectado no shell é o user do Drozer (já que cada App tem seu UID GID), logo não tem permissão para alterar pastas do sistema, apenas as que tem a permissão de read/write, como a memória interna. Kitkat consegue até entrar na pasta sdcard, mas não lista nada. Idem para o extSdCard (cartao de memoria)
  5. Suporte das fabricantes de celular
  6. Suporte das fabricantes de celular