FORENSE DIGITAL EM DISPOSITIVOS MÓVEIS COM SISTEMA OPERACIONAL
ANDROID
VALDEMIR VIEIRA JUNIOR
ORIENTADORA: Professora Drª Maria Ines Lopes Brosso Pioltine
Roteiro• Objetivos• Justificativa• Metodologia• A Plataforma Android• Segurança no Android• Forense Digital• Estudo de Caso• Considerações Finais• Referências
Objetivos
• Apresentar métodos de Forense Digital aplicados a dispositivos móveis com o sistema operacional Android
Justificativa• O aumento substancial no número de
dispositivos móveis com o sistema operacional Android
• As informações pessoais salvas nestes dispositivos
• Diferença em relação as técnicas de forense digital aplicadas à Desktops
• Tema pouco presente nas literaturas sobre o sistema operacional Android
Metodologia
• Pesquisa Bibliográfica• Método de Estudo de Caso
A Plataforma Android
• Em Agosto de 2005 a Google adquiriu a Android Inc• Em 2007 é anunciada a Open Handset Alliance
(inserindo o Android no mundo opensource)• Em 2008 é lançada a primeira versão do SDK e o
primeiro smartphone com o sistema, o G1 da HTC• A partir de 2009, com as versões 1.5, 1.6 e 2.x viu-se
uma proliferação de dispositivos que rodam o sistema
Arquitetura
Sistema de Arquivos
• FAT32 (SDCard, eMMC)• YAFFS2 (memória interna)• Partições do Sistema (usuário, sistema, aplicativos)• Formas de persistência– Preferências compartilhadas– Armazenamento interno– SQLite– Rede
Logs – Uma rica fonte de evidências
• Logs do Kernel Linux (dmesg)• ADB Tools (Android Debug Bridge)• Logcat (logs de atividade do Android)• Dumpsys (serviços em execução)• Dumpstate (Combina a saída dos outros
comando com informações do sistema)• Logs de atividades dos apps
Exemplo de Saída do logcatahoog@ubuntu:~$ adb shell logcatI/HtcLocationService( 308): agent - search location by name: oak park, country:united states, state: illinoisI/HtcLocationService( 308): agent - no location was found, total: 0D/AutoSetting( 308): service - CALLBACK - onGetTimeZoneOffset, result: failed,zoneId: , offset: 0D/LocationManager( 308): removeUpdates: listener =com.htc.htclocationservice.HtcLocationServiceAgent$7@45dfc770V/AlarmManager( 97): Adding Alarm{463aea28 type 2 com.google.android.location}Jan 05 05:05:25 pmI/HtcLocationService( 308): agent - send current location notify intent, name:Oak Park, state: Illinois, country: United States, lat: 41.8786, lng:-87.6359,tzid:
Segurança no Android
Sistema de Permissões• Diretório /data/data• Por aplicação• Usuário Linux• Grupo Linux• Processo separado• Nova instância da Dalvik VM
Proteção dos DadosDois modos principais: Criptografia dos Dados e Bloqueio de Tela
Malwares
• Primeiro malware identificado em 2010• Similares e ao mesmo tempo muito diferentes
dos que atacam o Windows• Usuário tem mais informações pessoais salvas
no smartphone do que no PC• Procuram enganar o usuário para obter
permissões de acesso a serviços do sistema e as informações de outros aplicativos
Forense Digital
Tipos de Investigação
• Investigações Corporativas• Propriedade intelectual e roubo de dados• Uso inadequado dos recursos da empresa• Ataques bem sucedido ou tentativa contra os sistemas
da empresa• Investigação sobre um empregado, incluindo a
discriminação, assédio sexual, etc• Auditoria de segurança
Preservando o Estado do Dispositivo• Não modificar o estado do aparelho
Isolar da Rede• Modo Avião• Remover Cartão SIM• Suspender Conta
Diretamente na Operadora (mandado judicial)
• Gaiola de Faraday• Desligar o Dispositivo
Sem Bloqueio de Tela• Aumentar o tempo de
espera• Habilitar a depuração por
USB• Habilitar a opção
“Permanecer acordado”
Conhecendo o Dispositivo – O comando lsusb
luffy@ubuntu:~$ sudo lsusb -vBus 002 Device 004: ID 1004:61a6 LG Electronics, Inc. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 ? bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 idVendor 0x1004 LG Electronics, Inc. idProduct 0x61a6 bcdDevice 2.16 iManufacturer 2 LGE iProduct 3 LG Android iSerial 4 7DF600229FFC0000016395910A01600F bNumConfigurations 1
Como Passar pelo Bloqueio de Tela
Smudge Attack• Estudo realizado
pela Universidade da Pensilvânia
• Consiste em fotografar a tela do dispositivo touch screen de diversos ângulos verticais
Como Passar pelo Bloqueio de Tela
• Login da Conta Google• Após um certo número de
tentativas mal sucedidas o Android oferece a opção de desbloqueio por meio da conta Google do usuário
• Desabilitar por meio do Google Play
• Se o login e senha forem conhecidos é possível utilizar o Google Play para instalar um App e desbloquear a tela
• A técnica consiste em instalar dois Apps: o primeiro fará o desbloqueio da tela, o segundo serve de gatilho para iniciar a execução do primeiro
Extração de Dados – O Comando ADB Pull
luffy@ubuntu:~$ adb pull data/data/// varios outros arquivospull: data/backup/processed -> data/backup/processedpull: data/backup/ancestral -> data/backup/ancestralpull: data/LostFound/Vesta -> data/LostFound/Vestapull: data/LostFound/Interamnia -> data/LostFound/Interamniapull: data/LostFound/Hygiea -> data/LostFound/Hygieapull: data/LostFound/Europa -> data/LostFound/Europapull: data/LostFound/Davida -> data/LostFound/Davidapull: data/LostFound/Ceres -> data/LostFound/Ceres1463 files pulled. 0 files skipped.2050 KB/s (521045345 bytes in 248.121s)
Estudo de Caso
Obter relatos do usuário sobre
comportamento suspeito
Telefone ligado?É possível extrair
dados do cartão?
não
Isolar rede
sim
Extrair dados do cartão de memória e substituir o cartão
sim
não
Ligar telefone não Ligar telefonesimÉ possível isolar
fisicamente a rede?
Telefone bloqueado?
Obter senha com o usuário
sim
Extrair dados do cartão de memória
e avaliar sua substituição
Shell via ADB com super usuário?
não Ativar o modo de depuração
Espelhar partições do sistemasim
Extrair informações do sistema
acessíveis (dmesg, dumpsys, logcat)
Listar aplicativos instalados
Verificar apps com acesso a rede (3g,
wi-fi)
Simular o envio de informações por
SMS e outras conexões
Informações pessoais
interceptadas?
Listar o app e analisar o IP de
destino
Aplicativo suspeito
identificado?
sim
Coverter o classes.dex em jar com a ferramenta
dex2jar
Descompilar o jar e suas classes com JD-
GUI
sim
Analisar o código fonte e arquivos
XML do APP
Malware encontrado? Concluirsim
não
Desempacotar com o APKTools
não
Extrair o arquivo APK e instalar numa
AVD (sandbox)
não
não
Metodologia
O Malware Zitmo
• Versão Android do malware Zeus• Trabalha em conjunto com o Zeus Banking• O objetivo é obter o código de transação
bancária da etapa de verificação• A infecção ocorre por um ataque de phishing
onde após a instalação do aplicativo para PC o usuário é direcionado para o download do app para Android
Identificação
• Informações relevantes:• Relatos do usuário• Quais os últimos aplicativos instalados• Visualizar os processos em execução (ADB
Tools)• Ver quais deles possuem acesso a serviços de
rede
Engenharia Reversa
• Extrair apk (/data)• Instalar o app numa AVD e monitorar as
atividades de rede (Wireshark)
Engenharia Reversa
• APKTOOLS (desempacotar APK)
• Dex2jar (converter “classes.dex” em “.jar”
• JD-GUI (visualizar o código)
Considerações Finais
• A literatura sobre a forense digital no Android ainda é bastante restrita e não se compara ao que se refere aos PCs
• Mesmo com o conhecimento, a forense para o Android ainda carece de ferramentas de análise
• Apesar disso, com um base sobre o funcionamento do sistema e conhecimento de sua arquitetura é possível realizar um trabalho de qualidade e obter as informações necessárias
REFERÊNCIAS• Morum de L Simão, André; Sícoli, Fábio Caús; Peotta de Melo, Laerte; Deus, Flávio Elias de;
Sousa Júnior, Rafael Timóteo. Aquisição de Evidências Digitais em Smatphones Android. Universidade de Brasília, Brasília, pp 92-99, Outubro de 2011.
• Google Inc. Android Fundamentals. Android Developers, 2013. Disponível em: <http://developer.android.com/guide/topics/connectivity/index.html>. Acesso em: 26 março 2013.
• Hoog, Andrew. Android Forensics. First Edition. Waltham, MA. Elsevier Inc, 2011.• A Castilho, Carlos. Android Malware Past, Present, and Future. Mobile Security Working
Group McAfee. Disponível em: < http://www.mcafee.com/us/resources/white-papers/wp-android-malware-past-present-future.pdf >. Acesso em: 26 de Outubro de 2013.
• ACPO Good Pratice for Computer-Based Eletronic Evidence. 7Safe Information Security. Acesso em 15 de Outubro de 2010. Disponível em: < http://www.7safe.com/electronic_evidence/ACPO_guidelines_computer_evidence.pdf>.
• Adam J. Aviv, Katherine Gibson, Evan Mossop, Matt Blaze, and Jonathan M. Smith. Smudge Attacks on Smartphone Touch Screens. 21 de Fevereiro de 2011. Disponível em: < https://www.usenix.org/legacy/event/woot10/tech/full_papers/Aviv.pdf>.
• Six, Jeff. Application Security for the Android Platform. First Edition. Sebastopol, CA. O’Reilly Media, Inc. 2011.
Muito Obrigado!