Você confia nas suas aplicações mobile?

1,228 views
1,140 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,228
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Você confia nas suas aplicações mobile?

  1. 1. Você confia nas aplicações mobile? Wagner Elias Vale Security Conference - 03 Set. 2011Monday, September 5, 2011
  2. 2. Monday, September 5, 2011
  3. 3. Bypass de AutorizaçãoMonday, September 5, 2011
  4. 4. Bypass de Autorização Vazamento de Informações sensíveis sobre o usuárioMonday, September 5, 2011
  5. 5. Bypass de Autorização Vazamento de Informações sensíveis sobre o usuário Possibilitava a interceptação da senha do usuárioMonday, September 5, 2011
  6. 6. Um pouco sobre estas aplicaçõesMonday, September 5, 2011
  7. 7. Arquitetura Android Application Android Framework Android Libraries Android Runtime (Dalvik) Linux Kernel Hardware/Firmware e Processador depende do dispositivo que roda o OS AndroidMonday, September 5, 2011
  8. 8. Anatomia de uma aplicação Android É responsável por tratar os eventos da tela como: clique do Activity botão na tela, escrever um texto dinamicamente na tela Similar a uma Activity mas pode ser extendida, Service possibilitando comunicação entre outros services Content Implementa um método de acesso a dados armazenados Provider nos repositórios disponíveis no aparelho Broadcast Criada para receber em segundo plano mensagens Receivers (intents) trocadas entre aplicações Process and Por padrão cada aplicação rodando gera um processo no Tasks kernel linuxMonday, September 5, 2011
  9. 9. JVM x Dalvik VM Java Source Java Source Java Java Compiler Compiler Java Byte Java Byte Code Code Dex Compiler Dalvik Byte Code Dalvik Executable JVM Dalvik VMMonday, September 5, 2011
  10. 10. APK Files Arquivo que contem os itens que compoem uma aplicação Android ‣ AndroidManifest.xml ‣ Classes compiladas em .dex ‣ Outros arquivos XML relacionados as telasMonday, September 5, 2011
  11. 11. AndroidManifest.xml codificadoMonday, September 5, 2011
  12. 12. AndroidManifest.xml decodificadoMonday, September 5, 2011
  13. 13. Arquitetura iPhone Application Framework (Cocoa) ObjetiveC Runtime iOS Processador (ARM) Firmware HardwareMonday, September 5, 2011
  14. 14. Anatomia de uma aplicação iPhone User Interface da aplicação que interage com a Cocoa touch Interface Cocoa Touch API que interage com os recursos do i(Phone|Pad|Pod) Linguagem baseada em C com orientação a objetos Objective C baseada no SmallTalkMonday, September 5, 2011
  15. 15. OWASP Top10 Mobile RisksMonday, September 5, 2011
  16. 16. OWASP Top 10 Mobile Risks 1 Inseguro ou desnecessário armazenamento de dados em Client-Side 2 Falta de proteção de dados em trânsito 3 Vazamento de dados pessoais 4 Incapacidade de proteger os recursos com autenticação Incapacidade de implementar o princípio do menor 5 privilégioMonday, September 5, 2011
  17. 17. OWASP Top 10 Mobile Risks 6 Injeção em Client-Side 7 Negação de Serviços em Client-Side 8 Código de terceiro mal intencionado 9 Buffer Overflow 10 Falha ao implementar controles em Server-SideMonday, September 5, 2011
  18. 18. Tipos de AnáliseMonday, September 5, 2011
  19. 19. Análise Dinâmica Com a aplicação rodando é análisado o seu comportamento: ‣ Debugging ‣ Network Traffic ‣ Acesso e Comunicação (HTTP/SOAP/Etc...) ‣ Acesso a File System ‣ Armazenamento e Leitura de DadosMonday, September 5, 2011
  20. 20. Análise Estática Análise onde é feita uma engenharia reversa da aplicação e realizado as seguintes análises ‣ Source Code Review ‣ Análise de Strings Hardcoded ‣ Análise de Armazenamento de Dados ‣ Análise de CacheMonday, September 5, 2011
  21. 21. Como realizar uma análise dinâmica Mobile Proxy Web Application Charles/Burp/WebScarab Profile and Analysis ToolsMonday, September 5, 2011
  22. 22. Android Static Analysis 1 Descompactar o pacote .apk usando ferramentas de descompressão de arquivos zip 2 Decodificar os arquivos XML usando o axml2xml.pl Converter arquivos compilados em .dex para bytecode 3 java usando o dex2jar 4 Decompilar código java usando JAD 5 Analisar o código fonte JavaMonday, September 5, 2011
  23. 23. iPhone Static Analysis 1 Decompilar binários compilados em ObjectiveC usando o otool ou class-dump-x Realizar análise estática manual ou automatizada usando 2 ClangMonday, September 5, 2011
  24. 24. Ferramentas Utilizadas para análiseMonday, September 5, 2011
  25. 25. Gerais ‣ IDE (Sugestões) ‣ Eclipse para o Android ‣ Xcode para o iPhone ‣ Emulador ‣ Ambas as plataformas possuem emuladores ‣ Client para Database ‣ As duas plataformas armazenam dados locais usando SQLite3Monday, September 5, 2011
  26. 26. Manifest Explorer e Package Play Manifest Explorer : Aplicação Android para analisar o arquivo AndroidManifest.xml ‣ http://www.isecpartners.com/mobile-security-tools/manifest-explorer.html Package Play: Identifica todos os pacotes instalados no dispositivo ‣ http://www.isecpartners.com/mobile-security-tools/package-play.htmlMonday, September 5, 2011
  27. 27. Intent Sniffer e Intent Fuzzer Intent Sniffer: Monitora toda a comunicação gerada via Intent que a aplicação realiza ‣ http://www.isecpartners.com/mobile-security-tools/intent-sniffer.html Intent Fuzzer: Fuzzing de Intent entre as aplicações ‣ http://www.isecpartners.com/mobile-security-tools/intent-fuzzer.htmlMonday, September 5, 2011
  28. 28. APKinspector Uma ferramenta gráfica que faz toda a engenharia reversa de um APK e apresenta as seguintes informações: ‣ Flow Graph ‣ Dalvik Codes ‣ Java Bytecode ‣ Java Code ‣ AndroidManifest.xml http://code.google.com/p/apkinspector/Monday, September 5, 2011
  29. 29. SQLite ManagerMonday, September 5, 2011
  30. 30. Instruments DemoMonday, September 5, 2011
  31. 31. Shark DemoMonday, September 5, 2011
  32. 32. Recursos do Xcode DemoMonday, September 5, 2011
  33. 33. Clang http://clang-analyzer.llvm.org/Monday, September 5, 2011
  34. 34. Você ainda confia?Monday, September 5, 2011
  35. 35. Wagner Elias, CTO welias@conviso.com.br @welias www.conviso.com.br 32Monday, September 5, 2011
  36. 36. Referências ‣ Books ‣ Mobile Application Security [Paperback] ‣ Beginning iPhone 4 Development: Exploring the iOS SDK [Paperback] ‣ The Busy Coders Guide to Advanced Android Development [Paperback] ‣ The Android Developers Cookbook: Building Applications with the Android SDK (Developers 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)Monday, September 5, 2011

×