Você confia nas suas aplicações mobile?
Upcoming SlideShare
Loading in...5
×
 

Você confia nas suas aplicações mobile?

on

  • 1,248 views

 

Statistics

Views

Total Views
1,248
Views on SlideShare
1,244
Embed Views
4

Actions

Likes
0
Downloads
14
Comments
0

1 Embed 4

http://localhost 4

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Você confia nas suas aplicações mobile? Você confia nas suas aplicações mobile? Presentation Transcript

    • Você confia nas aplicações mobile? Wagner Elias Vale Security Conference - 03 Set. 2011Monday, September 5, 2011
    • Monday, September 5, 2011
    • Bypass de AutorizaçãoMonday, September 5, 2011
    • Bypass de Autorização Vazamento de Informações sensíveis sobre o usuárioMonday, September 5, 2011
    • 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
    • Um pouco sobre estas aplicaçõesMonday, September 5, 2011
    • 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
    • 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
    • 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
    • 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
    • AndroidManifest.xml codificadoMonday, September 5, 2011
    • AndroidManifest.xml decodificadoMonday, September 5, 2011
    • Arquitetura iPhone Application Framework (Cocoa) ObjetiveC Runtime iOS Processador (ARM) Firmware HardwareMonday, September 5, 2011
    • 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
    • OWASP Top10 Mobile RisksMonday, September 5, 2011
    • 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
    • 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
    • Tipos de AnáliseMonday, September 5, 2011
    • 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
    • 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
    • Como realizar uma análise dinâmica Mobile Proxy Web Application Charles/Burp/WebScarab Profile and Analysis ToolsMonday, September 5, 2011
    • 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
    • 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
    • Ferramentas Utilizadas para análiseMonday, September 5, 2011
    • 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
    • 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
    • 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
    • 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
    • SQLite ManagerMonday, September 5, 2011
    • Instruments DemoMonday, September 5, 2011
    • Shark DemoMonday, September 5, 2011
    • Recursos do Xcode DemoMonday, September 5, 2011
    • Clang http://clang-analyzer.llvm.org/Monday, September 5, 2011
    • Você ainda confia?Monday, September 5, 2011
    • Wagner Elias, CTO welias@conviso.com.br @welias www.conviso.com.br 32Monday, September 5, 2011
    • 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