7. APK Files
Arquivo que contém os itens utilizados na
composição de uma aplicação Android
‣ AndroidManifest.xml
‣ Classes compiladas em .dex
‣ Alguns arquivos XML codificados
8. JVM x Dalvik VM
Java Java
Source Source
Java Java
Compiler Compiler
Java Byte Java Byte
Code Code
Dex
Compiler
Dalvik Byte
Code
Dalvik Executable
JVM
Dalvik VM
17. Principais Vulnerabilidades
‣ Armazenamento Inadequado
‣ SD Card
‣ SQLite3
‣ Cache
‣ Permissões
‣ Comunicação entre apps
‣ Acesso a arquivos
18. Android
Quebra de confidencialidade e
integridade na comunicação entre
aplicações e recursos
‣ Configuração inadequada de
AndroidManifest.xml
‣ Informações críticas hard-coded
19. iPhone/iPad
Desenvolvida com código não gerenciado, é suscetível a
falhas comuns em linguagens como C
‣ Buffer Overflow
‣ Integer Overflow
‣ Format String
Além das falhas características da linguagem, o iOS tem o
recurso de armazenamento compartilhado de chaves, que
configurado de forma inadequada pode levar ao
comprometimento de chaves
21. Tools
Um tool set de ferramentas necessárias
para conseguir analisar e explorar a
segurança das aplicações
22. Gerais
IDE (Sugestões)
Eclipse para o Android
Xcode para o iPhone
Emulador
Ambas plataformas contam com emuladores
Client para Database
As duas plataformas armazenam dados locais usando
SQLite3
23. Android
As aplicações para Android são
desenvolvidas em código java e passam
por um processo específico de
compilação
‣ Analisar os arquivos .pak gerados
‣ Converter dex para java
‣ Analisar o java
24. Manifest Explorer
Aplicação Android que possibilita
escolher uma aplicação e analisar as
configurações do AndroidManifest.xml
25. Intent Sniffer
Monitora a comunicação gerada através
do Intent que a aplicação realizada
‣ http://www.isecpartners.com/mobile-
security-tools/intent-fuzzer.html
29. axml2xml.pl
Converte arquivos XML codificados em
texto claro
‣ http://code.google.com/p/android-
random/downloads/detail?
name=axml2xml.pl
30. iPhone
As aplicações para iPhone são
desenvolvidas em linguagem Objective-C
e altamente dependentes da COCOA API
‣ Decompilar aplicações
‣ Analisar Source-Code
36. Breve em um repositório
perto de você
Ferramenta Open Source desenvolvida
em python pelo Conviso Labs para
suportar o processo de análise de
aplicações desenvolvidas para iPhone/
iPad, Android e BlackBerry
38. Referências
Books
Mobile Application Security [Paperback]
Beginning iPhone 4 Development: Exploring the iOS SDK [Paperback]
The Busy Coder's Guide to Advanced Android Development [Paperback]
The Android Developer's Cookbook: Building Applications with the Android SDK (Developer's Library)
[Paperback]
Papers
Desenvolvimento iOS (http://blog.mobilizando.com.br/wp-content/uploads/2011/05/
Desenvolvimento_iOS.pdf)
Android Attacks (https://www.immunityinc.com/infiltrate/presentations/Android_Attacks.odt.pdf)
Penetration test android applications (http://www.mcafee.com/us/resources/white-papers/foundstone/
wp-pen-testing-android-apps.pdf)
Penetration test android applications (http://www.mcafee.com/us/resources/white-papers/foundstone/
wp-pen-testing-iphone-ipad-apps.pdf)