Introdução
Atualmente, com o crescimento da tecnologia, os smartphones passam por constante evolução. Acompanhado disso, vem o crescente uso deles pela população. Segundo Speckmann (2008), os celulares já fazem parte do nosso cotidiano a muito tempo, no qual nos mantém em constante comunicação, mas o mesmo passou a ter outras funções como entretenimento, estudos e trabalho. O que antes serviam apenas para fazer e receber ligações de voz, hoje os smartphones, assim como computadores, passaram a ter incluído sistemas operacionais e com isso ter várias utilidades. Logo, várias coisas podem ser feitas através dele, onde se tornou um item essencial no cotidiano das pessoas.
Entretanto, assim como o smartphone exerce várias atividades no cotidiano das pessoas, o mesmo é utilizado como dispositivo por alguns indivíduos para atos criminosos. Com isso, passou a fazer parte de investigações de perícia forenses digitais. Para Albuquerque (2006), a perícia digital na segurança é uma técnica que surgiu como uma provável solução, isto é, uma tentativa de redução dos riscos de casos de cibercrimes. Essas ações equivalem a burlar a segurança nos dispositivos computacionais. Portanto, é uma técnica que pode ser utilizada tanto em computadores como em celulares suspeitos de terem sido utilizados para práticas ilícitas. No entanto, são aplicadas dependendo das suas especificidades, com os mais variados tipos de tipos de sistemas operacionais existentes.
Dentre os sistemas operacionais mais usados em celulares no mundo está o Android, que pertence a empresa Google. Segundo Lecheta (2009), o Android é um sistema operacional para smartphones, no qual é baseada no sistema operacional Linux, que dispõe de vários componentes, com uma vasta flexibilidade de bibliotecas e interface gráfica, e o mesmo tem disponibilidade ferramentas que ajudam na criação de aplicativos. Posto isso, esse sistema possui diversas funcionalidades e também armazena vários dados de quem utiliza, com isso, se terá informações valiosas em dispositivos investigados que podem subsidiar nas análises periciais.
Portanto, a perícia forense digital será de fundamental importância para a busca de vestígios de crimes cometidos através de smartphone com sistemas Android. De acordo com Eleutério e Machado (2011), em grande parte dos casos, os resultados forenses nos exames desses dispositivos acabam resultando em prova técnica e os resultados obtidos em laudos, onde serão de fundamental importância. Logo, os resultados das investigações serão importantes para a definição de um caso envolvendo dispositivos móveis.
Então, este artigo terá como enfoque mostrar as análises feitas em smartphones com sistemas operacional Android sob investigação. Nesse caso, serão mostrados como é feito as coletas das evidências do dispositivo, o exame para identificar e extrair as informações, fazer análise das informações extraídas no exame.
Para melhor entendimento, este presente trabalho foi distribuído nos seguintes tópicos: Nesta primeira seção foi realizada a introdução deste trabalho. Na segunda seção foi feito o desenvolvimento no qual apresentará os subtópicos de computação forense, sistema operacional Android, arquitetura Android, forenses em dispositivos móveis, ferramentas para análise forense em dispositivos mobile e por fim na seção três será apresentada a conclusão.
2. Desenvolvimento
2.1 Computação forense
A computação forense é a área da informática que busca evidências em dispositivos computacionais ou digitais que tenham sido usados para cometer atos criminosos. Segundo Júnior e Claro (2011:7), a forense digital é um campo que é baseado em procedimentos e exames forenses que tem o objetivo de identificar e esclarecer práticas ilegais ligadas à área de tecnologia da informação. Portanto, a computação forense é fundamental para busca de evidências que possam indicar crimes cometidos através de dispositivos digitais. Logo, as técnicas forenses são aplicadas para analisar a fim de tentar verificar se no dispositivo investigado, aconteceu algum possível ato ilegal para ser entregue à justiça os resultados obtidos. De acordo com Eleutério & Machado (2011:16):
A Computação Forense tem como objetivo principal determinar à dinâmica, a materialidade e autoria de ilícitos ligados à área de informática, tendo como questão principal a identificação e o processamento de evidências digitais em provas materiais de crime, por meio de métodos técnico-científicos, conferindo-lhe validade probatória em juízo.
Portanto, o objetivo da computação forense é fazer a análise no ambiente digital, com intuito de conseguir detectar fraudes ou informações que podem indicar algum tipo de crime, para levantar evidências que possam servir como prova para serem entregues à justiça. Logo, peritos computacionais são fundamentais para determinar a materialidade, a dinâmica e os autores do ilícitos em dispositivos digitais.
Na área forense os peritos exercem papel fundamental, pois são profissionais responsáveis por executar as análises para buscar vestígios de ato ilícito. Para execução dessa análises é utilizada as ferramentas forenses no qual, segundo Jansen e Ayers (2007), usam um dispositivo chamado Write Blocker (bloqueador de leitura) para recuperar informações de equipamentos sem modificar o conteúdo, ou seja, utilizando o modo somente de leitura. Ele também faz geração de hash para garantir a integridade dos dados reunidos. Essa funcionalidade é valiosa para um juiz, enquanto para os profissionais da perícia compete dar a garantia da integridade das evidências digitais que foram coletadas por ele.
Os peritos têm que ser bem qualificados, pois cada caso de investigação exige um tipo de conhecimento específico. Portanto, Eleutério e Machado (2011:14), todos os especialistas que trabalham na área têm que ser treinados e adquirir o máximo de conhecimento a respeito da tecnologia da informação, também devem estar sempre preparados para realizar pesquisas, avaliação e preservação evidências físicas e a preparar laudos pericias.
Posto isso, a eficiência do forense computacional nas investigações, será associado ao nível de conhecimento e o quanto os profissionais da área são qualificados. Com isso, o perito terá que ser melhor capacitado possível para que haja maior sucesso nas análises feitas para no final apresentar resultados suficientes que possam ajudar a resolver os casos.
2.2. Sistema Operacional Android
O Android é um sistema operacional de código aberto utilizado em smartphones. O sistema está incluído nos dispositivos móveis fabricados pelas principais marcas mundiais como Samsung, Motorola, Xiaomi e LG. É baseado no sistema operacional de computador chamado distribuição Linux, no qual também possui um código aberto.
Segundo a Oficina da NET (2015), o Android teve sua criação em 2003, que surgiu primeiramente como dispositivo móvel, desenvolvido por Andy Rubin, Rich Miner, Nick Sears e Chris White. Ainda segundo o site, dois anos depois, em 2005, a Google adquiriu a empresa dando assim o nascimento a Google Mobile Division, divisão de pesquisa em tecnologia móvel da Google. Assim, anos depois, em 2008 o sistema operacional Android foi lançado no mercado pela Google rodando em celulares de grandes marcas.
Anos após o seu lançamento, sendo utilizado por várias marcas de fabricantes de smartphone, o Android passou a ser o sistema operacional mais usado no mundo. Assim, o sistema passou a ter vários tipos de aplicativos disponíveis de forma gratuita. Logo, pode ser utilizado para vários fins, tanto positivos quanto negativos. Esses aplicativos guardam informações essenciais das pessoas que utilizam o sistema. Então, estes dados podem ser importantes em análises periciais para o andamento de casos envolvendo investigações em celular.
2.3. Arquitetura Android
A arquitetura do Android corresponde a uma pilha de camadas baseadas no Linux. Na imagem abaixo, é mostrado a arquitetura do Android, no qual pode ser entendida quando se observa o que cada camada representa e a função de cada uma. Como resultado, a arquitetura Android é mostrada como uma pilha de software que consiste em Kernel, bibliotecas, ambiente de execução, aplicativos, middleware e serviços. Assim, Cada camada da pilha acompanhada de seus elementos é agregada de maneira para que se tenha o melhor cenário de execução possível para os smartphones. Assim, segundo o Developer Android (2020), o diagrama da imagem 1 apresenta grande parte dos componentes que a arquitetura Android possui.
Imagem 1: Arquitetura Android
2.3.1. Kernel Linux
A base do Android é o Kernel da distribuição Linux. Com isso, o Android pode ser compilado para se tornar compatível com qual hardware desenvolvido. Por esse motivo, é utilizado por vários tipos de fabricantes de smartphones, no qual é adaptado de acordo com hardware fabricado pelas marcas. A posição do Kernel Linux na estrutura fica na base, pois é responsável pela interação entre hardware e software.
Todas as funcionalidades do Android, como ao exemplo gerenciamento de processos, memória, segurança e rede, são administrados pelo Kernel do Linux. O Linux tem uma plataforma que oferece uma boa segurança e bom gerenciamento de processos. Então, em cada versão que o Android possui, existe um tipo diferente de Kernel para atender aquela versão. Assim, as versões específicas variam de acordo com cada hardware contido nos dispositivos.
2.3.2. Camada de abstração de hardware (HAL)
Acima do Kernel se encontra a camada de abstração de hardware. Ela é responsável por fornecer as interfaces padrão de cada hardware que tem no dispositivo para a estrutura da Java API Framework que está no nível acima na estrutura. Assim, a HAL é o módulo de biblioteca, que representa a interface de cada componente de hardware que o dispositivo possui, como câmera e sensores, por exemplo. Logo, a API Framework faz a solicitação para o acesso de algum hardware que o dispositivo contém, então o Android faz o transporte do módulo da biblioteca para o hardware solicitado.
2.3.3. Android Runtime
Os aplicativos para o sistema operacional Android são desenvolvidos em linguagem de programação Java. Segundo Devmedia (2013), Java foi a linguagem adotada pelo Google para o Android para o desenvolvimento de aplicativos. O Java é uma linguagem que vem sendo utilizada por diversos desenvolvedores e suporta diversos tipos de aplicações no mercado, em adendo essa flexibilidade e o suporte oferecido pelo java constroem um cenário ideal para o uso da linguagem.
O Android Runtime, que pode ser chamado por ART, é uma ambiente gerenciado que faz o controle de tempo, onde cada aplicativo e algumas funcionalidades do sistema são executados pelo mesmo. Antes dele, tinha o Dalvik que funcionava como uma máquina virtual, que está presente em versões mais antigas anteriores ao Android 5.0. Posto isso, ambos utilizam o bytecode, ou seja, é a linguagem que faz o intermédio entre a linguagem do código fonte e a linguagem do dispositivo. Assim, a partir da versão 5.0 que chamava-se lollipop, o código Dalvik foi trocado pelo ART que se tornou a plataforma do Android padrão. A mudança ocorreu devido o ART exigir menos processamento do smartphone que o código Dalvik, assim tendo um desempenho melhor.
2.3.4. Bibliotecas C/C++ nativas
Ao lado do Android Runtime estão as bibliotecas nativas C/C + + do Android. É através das bibliotecas que o dispositivo com Android utiliza diversos tipos de dados. Elas são escritas em linguagens de programação C/C + + no qual são específicas para um tipo de hardware particular. Assim, o Java framework expõe as funcionalidades das bibliotecas ao aplicativos. Entre outras coisas, os modelos Surface Manager, Media Framework, SQLite e OpenGL são algumas das bibliotecas nativas mais proeminentes no Android.
2.3.5. Estrutura da Java API Framework
A Estrutura da Java API apresenta os serviços completos do Android, que são programados na linguagem Java. Segundo o Developer Android (2020), ele é responsável por formar blocos de programação, no qual são essenciais para criação de aplicativos Android, simplificando a reutilização dos componentes e serviços de sistemas modulares. Segundo Tamma e Tindall (2015) a estrutura da Java API é também responsável pela performance de várias funções importantes como gerenciador de recursos, gerenciador de atividades, entre outros. Alguns desses serviços chaves são:
- Gerenciador de atividades: Faz o controle de todos os fatores do ciclo de vida e as atividades executadas pelos aplicativos.
- Provedores de conteúdo: Faz com que haja permissão para que os aplicativos publiquem e compartilhem os dados com tipos de aplicações.
- Gerenciador de recursos: Realiza o fornecimento de acesso a recursos incluídos que não são codificados, como ao exemplo string, layouts de interface do usuário e configurações de cores.
- Gerenciador de notificações: Serviço que realiza o alerta e notificações dos aplicativos para os usuários.
- Sistema de visualização: Realiza o fornecimento de agregado extensível de visualizações, no qual são utilizadas para criação do usuário no aplicativo interfaces.
- Gerenciador de pacotes: Sistema utilizado para os aplicativos conseguir encontrar informações referentes a outros aplicativos que estão instalados atualmente no dispositivo.
- Gerenciador de telefonia: Serviço que faz o fornecimento de informações ao aplicativo referente a telefonia.
- Gerente de localização: Faz o fornecimento do acesso de serviços de localização no qual permite que um aplicativo receba informação atualizada sobre alteração de localização do dispositivo.
2.3.6. Aplicativos
A camada mais elevada na pilha da arquitetura do Android é o dos aplicativos de sistema, que podem ser chamados abreviadamente de apps. Eles são softwares nos quais os usuários utilizam de forma direta. Para Tamma e Tindall (2015) há dois tipos de aplicativos que podem ser descritos, no quais são:
- Aplicativos do Sistema: São os aplicativos que já vêm instalados e enviados junto ao celular. Ao exemplo desses aplicativos são os navegadores padrão, contatos, calendário e assim sucessivamente. No entanto, eles não podem ser desinstalados ou modificados pelo usuário, por serem apenas de leitura no equipamento. No Android na versão 4.4, todas as aplicações instaladas no sistema eram tratados de formas iguais. Entretanto, desde o Android 4.4, os aplicativos situados no diretório “system/priv-app/” são usados como aplicativos privilegiados.
- Aplicativos instalados pelo usuários: São aplicativos baixados e executados pelo próprio usuário, através de diversos tipos de plataformas de distribuição, como a loja padrão do Android a Google play. Ela é a loja oficial da Android de aplicativos, no qual os usuários fazem busca por aplicativos.
2.4. Forense em Dispositivos Móveis
A forense em smartphones é um ramo da perícia digital relacionada ao que visa recuperar evidências digitais ou dados nesses tipos dispositivos móveis. Então, a prática forense em dispositivos móveis se faz presente em grande parte dos peritos da forense digital. Então, a forense nesses dispositivos é a comunicação entre o celular que vai ter os dados extraídos e o computador que irá fazer a extração desses dados armazenados no celular, para ser efetuada a análise pericial. Portanto, extrair, recuperar e analisar evidências ou dados digitais de dispositivos móveis acontece sob certas condições específicas das forenses digitais Segundo Vecchia (2019), fazer exames perícias nesses dispositivos pode ser ter informações muito importantes para o andamento da investigação criminal. Ainda segundo o autor, devido a grande variedade de modelos e marcas de smartphones, assim como ciclo de vida que oferecerá um grande obstáculo aos peritos forenses. Portanto, forense em dispositivo móveis seria o acesso aos dados armazenados no smartphone, como por exemplo SMS, contatos, histórico de chamadas, fotos, vídeos, documentos, arquivos de aplicativos, histórico do navegador e muito mais. Ele também funciona para recuperar dados excluídos do dispositivo usando várias técnicas forenses.
2.4.1. Procedimentos Forenses
Se os dados forem usados em tribunal e a integridade do dispositivo for mantida, é importante a obtenção ou acesso aos detalhes do dispositivo seguindo todas as diretrizes legais básicas. Esses adventos precisam acompanhar o processo de gestão que é um registro cronológico da história das evidências.
Para Vecchia (2019), na prática os procedimentos de coletas realizados em dispositivos móveis ainda não têm o mesmo nível de cuidado que é realizado em computadores ou notebooks. Ainda para o autor, os aspectos importantes que precisaria ser mais adotados no ato da coleta dos celulares são:
- Vestígios físicos: São os vestígios físicos que podem ser deixados por usuários nos equipamentos que são importantes para investigação ou que durante a manipulação merecem cuidados especiais como por exemplo vestígio de sangue. Mas, uns dos vestígios que pode ter uma atenção mais especial são as impressões digitais e amostras de DNA, pois nesses comprovam que os usuários têm um vínculo com o equipamento e com as informações nele contido.
- Dados Voláteis: Assim como ocorre em computadores e notebooks, caso o smartphone esteja ligado no momento da apreensão, pode acontecer de haver dados voláteis valiosos armazenados na memória RAM, ao exemplo de chaves criptográficas e, inclusive, senha de desbloqueio do dispositivo. Mas, as ferramentas forenses para dispositivos móveis, ainda padecem de progresso que permite a automatização da aquisição e análise de dumps de memória RAM de celulares.
- Equipamentos Pareados: No momento da apreensão o smartphone pode estar conectado ao computador. Caso o dispositivo esteja passando por uma atualização de sistema ou em processo de backup, fazer a interrupção da operação pode ocasionar de corromper o sistema de arquivos do equipamento. No entanto, pode acontecer de um processo de sincronização estar em andamento, com isso, sendo capaz de ocasionar a sobreposição de dados no celular, encerrando a conexão, tendo a possibilidade de o problema ser evitado.
- Isolamento e preservação: Para o autor, no momento da apreensão do dispositivo móvel há três tipos de cenários diferentes, no qual cada caso requer um tipo de ação específico, para o isolamento e a preservação dos vestígios do dispositivo estejam garantidos. O primeiro cenário é quando o celular é encontrado ligado e sem que a senha do dispositivo esteja ativa. Nesse caso, se houver o desligamento do dispositivo pode haver a ativação do bloqueio por senha do dispositivo, fazendo com que no momento o exame pericial seja impossibilitado. O segundo cenário acontece no momento que o celular é encontrado ligado, porém protegido por senha, então é sugerido que no início da ação coloque o celular em modo avião, ou utilizar equipamento que bloqueia sinais de rádio para proteger o dispositivo móvel. Feito isso, registrar a data e hora de forma contínua no software do dispositivo, apresentando de maneira clara no relatório de coleta ou apreensão qualquer divergência que ocorrer entre o horário do equipamento e o horário real. Após tudo isso, se for possível retirar a bateria do dispositivo e, caso não seja possível, retirar o chip do aparelho para caso ligue de forma automática, não se conecte a uma rede no qual pode receber um comando remotamente que venha a apagar todas as informações armazenadas no smartphone. No terceiro cenário para o autor, seria quando no momento da coleta o equipamento encontra-se desligado, é recomendado que realize o mesmo passo anterior que é retirada da bateria e do cartão SIM, devido aos motivos citados anteriormente.
- coleta de informações: Posteriormente a coleta dos dispositivos móveis, é adequado que os investidores peçam ao usuário dos dispositivos, os dados referente a senha de proteção do mesmo. Isso pode ser muito importante para o exame pericial, pois as ferramentas forenses podem não conseguir fazer a remoção ou não reconhecer qualquer tipo de bloqueio dos aparelhos móveis que tem disponíveis em todo mercado.
- identificação e documentação: Todos os objetos que são coletados devem ser identificados. Também é incluído os componentes que foram possivelmente retirados como por a bateria e o cartão SIM. Em caso de o aparelho possuir mais de um cartão SIM, recomenda-se que seja registrado de qual slot o cartão SIM foi retirado. Além disso, é aconselhado que todos os componentes fiquem juntos ao aparelho do qual foram retirados, para que não haja uma mistura com os outros itens de equipamentos diferentes.
- Pré exame e triagens de materiais: Uma circunstância discutível é da escolha de qual dispositivo teriam que ser realmente enviados para o exame pericial. Para definição disso, é necessário fazer antes uma análise pelos investigadores das informações armazenadas nos dispositivos, de qual delas terá relevância para as investigações. Caso a inspeção anterior não for executada com cuidados, pode haver violação da integridade dos vestígios. Assim, nessa parte, usando o aparelho não será possível analisar o dispositivo se há informações apagadas e são no momento recuperáveis que seriam importantes para investigação, sem que não haja a acontecimento por completo do exame pericial.
2.4.2. Extração de dados
Equipamentos portáteis possuem vários componentes que potencialmente possuem informações de interesse à investigação. Além da memória interna, os cartões SIM e de memória removíveis também armazenam dados.
No caso de cartões de memória removíveis (MicroSD) o exame dos mesmos deve seguir os mesmos procedimentos de exames realizados em mídias de armazenamento clássicas como discos rígidos. Ou seja, as mídias devem ser duplicadas utilizando bloqueadores de escrita, sendo os exames realizados na cópia com as ferramentas forenses apropriadas. Os cartões de memória servem para armazenar uma grande quantidade de dados como por exemplo: fotos, vídeos, áudios e histórico de conversas etc. Na imagem 2, é apresentada a análise que pode ser realizada primeiramente nos três tipos essenciais de extração de dados, nos quais são: Extração Lógica, sistema de arquivos e extração física feitas através de ferramentas utilizadas para serem executadas. Esses tipos métodos citados alternam suas técnicas e também a quantidade de dados que eles podem está extraindo (PERÍCIA COMPUTACIONAL, 2020).
Imagem 2: Tipo de Dados que podem ser Extraídos
Os cartões SIM requerem utilização de ferramentas forenses mais específicas, uma vez que se trata de Smartcard protegidos por criptografia. A maioria das ferramentas forenses suportam extração das informações do SIM em modo somente leitura evitando assim a conexão deles às redes de telefonia. Os dados que podem ser encontrados são: agenda de contatos, mensagens de texto SMS, registro de chamadas, informações sobre a rede telefonia, e os numerais identificadores ICCID e IMSI.
Quanto à memória interna existem vários níveis de extração de dados possíveis: Manual, Lógica, Física e Avançada. À medida que se avança em direção ao topo da pirâmide, mais tecnologia e conhecimento são exigidos. Qualquer que seja o meio de extração utilizado, cuidados especiais devem ser tomados para garantir que o dispositivo possa continuar isolado das redes de comunicação. Na imagem 3, ilustra os vários tipos de extração de informações que são possíveis em forma de pirâmide.
Imagem 3: Classificação dos níveis de extração de dados
2.4.2.1. Extração Manual
É considerado o nível mais básico da extração de informações da memória interna, onde equivale a verificação manual dos vestígios, que ocorre através da utilização do dispositivo durante o exame. Neste método não é necessário ter conhecimentos, pois pode o dispositivo pode ser utilizado de maneira como usuário comum. As informações encontradas podem ser descritas manualmente ou podem fazer a fotografia da tela do dispositivo móvel, porém se a tela ou o teclado do aparelho estiverem danificados, pode haver impedimentos na realização do exame. Informações apagadas não podem ser recuperadas neste método.
Entretanto, devido a ser passível de muitos problemas, este é recomendável que este tipo de extração seja realizado apenas em último caso, pois por exemplo, pode haver o risco de alteração de forma acidental ou pode ocorrer erro humano no momento da transcrição devido ao processo ser tedioso e consumindo muito tempo.
2.4.2.2. Extração Lógica
Neste nível requer o uso mais específico de ferramentas forenses periciais, pois para facilitar a extração automática das informações contida na memória interna, é necessário que os dispositivos sejam conectados. A conexão pode ocorrer via cabos USB ou então via comunicação sem fios como bluetooth ou infravermelho. Feito isso, é encaminhado vários tipos de comandos ao aparelho que está sendo examinado, por meio das APIs proprietárias que cada fabricante possui, e o dispositivo dá a resposta fornecendo os dados. Com isso, as ferramentas realizam as coletas e assim gerando relatórios com os dados que foram extraídos. Assim como na forma de extração manual, desta forma quando os dados são apagados não é possível fazer a recuperação.
A extração de sistema de arquivos do dispositivo (File System Dump) seria um exemplo de extração lógica avançada. O funcionamento ocorre de maneiras semelhantes, porém as ferramentas, para conseguir ter acesso às partições e aos arquivos internos, utilizam um grupo distinto de API do sistema operacional. Assim, no final da extração o resultado será a geração de um arquivo compactado (ZIP), que possui uma reprodução da estrutura dos diretório obtido. Pode-se encontrar nesta extração arquivos relacionados a bancos de dados, no qual é necessário decodificá-los para os dados contidos nele seja possível ser recuperados. Os registros que foram excluídos do banco de dados e não foram sobrepostos podem ser analisados e as informações excluídas anteriormente podem ser restauradas.
2.4.2.3. Extração física
Nesse nível, as informações que estão armazenadas na memória flash são acessadas de forma direta pelas ferramentas forenses, no qual a cópia funciona bit a bit nos exames da mídia de armazenamento comum. No entanto, os principais desafios são a descriptografia de dados e a reconstrução de vários sistemas de arquivos. O acesso a blocos não alocados em memória maximiza a capacidade de recuperar dados excluídos.
O “Hexadecimal Dump” é um dos tipos de técnicas usadas por ferramentas, no qual corresponde ao encaminhamento de um programa (bootloader) a memória RAM do equipamento. O programa devolve para a ferramenta todo o conteúdo da memória de armazenamento interna do aparelho, sendo que em muitos casos o mesmo nem precisa nem ser inicializado, permitindo inclusive a captura física da memória de dispositivos protegidos por senha.
Alguns dispositivos não permitem a utilização de bootloaders, sendo necessário nesses casos a instalação de programas clientes temporariamente. Com este tipo de procedimento acaba por ocasionar uma pequena alteração no espaço não alocado do aparelho. Precisando assim ser devidamente documentado para que não seja alterada a validade legal dos vestígios coletados.
Podemos também utilizar uma outra técnica chamada “JTAG Extraction”, que consiste no acesso físico ao círculo integrado de memória através de pontos de acesso, requisitando o conteúdo diretamente ao componente eletrónico. Sua desvantagem é que o aparelho precisa ser parcialmente desmontado para que se possa ter acesso.
2.4.2.4. Extração avançada, Chip-off e Micro Read
Neste nível os métodos mais avançados de extração requisitam que tenha a sabedoria de eletrônica, pois é necessário que se faça a retirada do circuito integrado incorporado à memória da placa de circuito impresso.
Posteriormente ser retirado circuito de memória, a técnica chip-off é lido bit a bit em um dispositivo adequado. Esses circuitos são conhecidos como NAND tem problemas de utilizarem algoritmo wear levelling, usado também em HDS e SSDs para aumentar a sua durabilidade, com algoritmo que se faz necessário passar por engenharia reversa no qual se possa colocar na ordem cronologia os dados binários brutos.
A técnica que é considerada a mais avançada de todas é chamada de Micro Read, no qual seria a leitura em um microscópio da condição de cada porta do circuito lógico integrado de memória. Para que essa técnica seja utilizada é necessário ter uma equipe de especialistas, equipamentos que sejam apropriados e de muito conhecimento das características do equipamento em questão, assim só é comprovado em casos críticos, por exemplo, incluindo segurança nacional e somente quando todas as tecnologias que foram citadas anteriormente tivessem ocorridos falhas. Não sem conhecimento de nenhum órgão público que utilize esta técnica, justamente pela ausência de ferramentas comerciais mais específicas, ou de metodologia consolidada e também pelo custo elevado.
2.4.3. Permissões de Aplicativos na Plataforma Android
Todas as aplicações que têm disponíveis precisam ter permissões no dispositivo móvel Android é determinado no arquivo “AndroidManifest.xml”. Logo, todos os tipos de aplicativos para conseguir ter acesso aos recursos que tem disponíveis no aparelhos móveis, tem que requisitar permissão ao arquivo “AndroidManifest.xml” próprio do aplicativo. Todas as aplicações têm seu gerenciamento de permissão no arquivo “package.xml”.
Em versões anteriores ao Android 6.0, no momento que os aplicativos eram instalados que davam as permissões para o mesmo. Assim, listava os diversos tipos de recursos acessíveis que iria ser obtido o acesso. Mas, desta versão em diante, os recursos são solicitados conforme a necessidade do aplicativo. O Android classifica os tipos de permissões em forma distintas, no qual tem incluso permissões de tempo de instalação, de execução e permissões especiais. Assim, para Developer Android (2020) esse tipos de permissão são descritos da seguinte forma:
- Permissões de tempo de instalação: Esse tipo de permissão dá a concessão ao aplicativo de ter o acesso de forma limitada às informações restritas, assim permitindo que o aplicativo faça a execução das atividades de forma limitada que afetem de maneira mínima o sistema ou outras aplicações. Na instalação que as permissões é declarada pelo usuário, assim de forma automática o sistema concede a permissão no momento que usuário faz a instalação do aplicativo. Nesse tipo de permissão há diversos subtipos, nos quais tem as permissões normais e de assinatura. As permissões normais concedem acesso aos dados e ações que vão muito além do sandbox do aplicativo. Mas, nesse tipo de permissão, as informações e as atividades expõem pouco perigo à privacidade de quem usa o dispositivo e as execuções dos outros aplicativos. As permissões de assinatura é caso um aplicativo declare permissões de assinatura definidas por outro aplicativo e ambos os aplicativos forem assinados com o mesmo certificado, o sistema concederá a permissão ao primeiro aplicativo durante o processo de instalação. Caso contrário, o primeiro aplicativo terá a permissão concedida.
- Permissões de execução, são permissões concedidas ao aplicativo com acesso a mais, diferentemente da permissão de tempo de instalação, é permitido a esse aplicativo que seja executado com atividades restritas que afetam de forma mais significativa o sistema e os outros aplicativos. Logo, é necessário que seja solicitado as permissões de execução no aplicativo outrora para acessar as informações restritas ou para realizar as atividades restritas. Assim, várias permissões de execução têm acesso a informações particulares de quem utiliza o dispositivo móvel, no qual é um tipo especial de informações restrita que são muitos confidenciais.
- Permissões especiais: Essas permissões equivalem às atividades do aplicativo específicas. Nesse caso, apenas a plataforma e os OEMs determinam quais são as permissões especiais. Para a plataforma e OEMs definirem quais são as permissões especiais, tem o intuito de quererem proteger o acessos a atividades que são em especial mais fortes. como a sobreposição em outros aplicativos.
2.4.4. Plataforma Android e sua Análise Forense
Os aplicativos em sua totalidade usados por usuários de smartphones armazenam dados dos mesmos e essas informações podem ser utilizadas por especialistas forenses. As informações são armazenadas em dois locais: internos e externos. Armazenamento externo de dados acontece via cartão digital seguro (cartão SD). Geralmente é formatado com o sistema de arquivos FAT32 da Microsoft. Alguns dispositivos podem remover o papel, copiá-lo e analisá-lo melhor. Se você não conseguir extraí-lo, será necessário tirar uma foto do papel. Outros dados podem ser armazenados no chip de memória flash. A memória interna, assim como a externa, armazena também os arquivos de sistema e é processada pela API ( Application Program Interface). Assim, no ato da instalação de novos aplicativos, é criado um diretório do aplicativo será em um subdiretório “/data /data” (VIEIRA E CRUZ, 2015).
Android Software Development Kit (SDK), é outro aspecto importante pois é um conjunto de ferramentas que são utilizadas para criação de aplicativos para o sistema Android. O Android SDK contém especificações como bibliotecas, depurador (ADB), emulador, documentação da API, amostra de código-fonte e instruções do sistema operacional Android necessárias para seu aplicativo. Através do SDK é permitido que banco de dados SQLite sejam criados para aplicações. O SQLite é um banco de dados que possui código fonte aberto que possui aspectos básicos, que podem ser gatilhos, visões e tabela, no qual são necessárias para a disposição de dados (VIEIRA E CRUZ, 2015). Estes bancos de dados são armazenados normalmente no subdiretório “/data/data/databases”.
Em um software cliente-servidor contém três itens: Um cliente, no qual envia comandos para serem realizados em um dispositivo de desenvolvimento; em um serviço que executa os comandos no dispositivo e é executado como um processo em segundo plano; e em um servidor no qual lida com a comunicabilidade entre o cliente e o serviço. Dentre os diversos usos desta ferramenta, vale salientar a: Instalação das aplicações, a ação de comandos aplicados de forma direta no Shell do aparelho, transcrição de arquivos entre computador e smartphone ou vice-versa. (VIEIRA E CRUZ, 2015).
Os smartphones Android têm partições (divisões lógicas de equipamentos de armazenamento de dados) que são característicos, no qual são: recovery, cache, boot e data (informações dos usuários). Em grande parte dos dados do usuário ficarão salvos na partição “/data”, no entanto os dados muito valiosos também podem ser localizados no cartão micro SD.
Para que haja possibilidade de usar o ADB com um equipamento conectado com um cabo USB, é necessário que seja habilitada a função de depuração USB nas configurações de sistema do seu dispositivo. Essa opção pode ser habilitada se as opções do desenvolvedor estiverem habilitadas. Se a tela do dispositivo estiver bloqueada, o especialista precisa desbloquear o dispositivo primeiro e, em seguida, entrar no menu de configurações e habilitar a depuração USB.
2.5. Ferramentas para análise forense em dispositivos mobile
Há uma grande diversidade de smartphones com vários fabricantes, modelos e versões disponíveis no mercado, no qual cada uma tem sua peculiaridade para ser efetuada análise com ferramentas forenses que estejam atualizadas e sendo compatíveis com o momento. Com isso, as ferramentas forenses são essenciais porque beneficia os profissionais da área forense computacional e contribuem para o processo de análise de cada caso.
Segundo Janson e Ayres (2007), para o uso das ferramentas forenses, alguns critérios delas são essenciais, no qual a mesma tem que mostrar os dados que venham a ser úteis e importantes para o investigador, com o intuito de definir ou não a autoria ou responsabilidade; de ser precisa, que seja determinística, mostrando as mesmas informações da entrada, que seja verificável para garantir tenha uma boa precisão na saída, assim sendo fornecido o acesso a fases intermediárias e por fim os resultados sendo apresentados.
A necessidade de muitas atualizações, bem como a disponibilização de centenas de cabos e conectores personalizados, faz com que as principais ferramentas forenses para a extração de dados sejam comerciais ou sejam pagas. Algumas distribuições forenses do Linux como por exemplo a DEFT oferecem uma coletânea de ferramentas livres para extração e análise de dados, porém com funcionalidades relativamente restritas. As ferramentas podem ser divididas naquelas baseadas em hardware, que acabam não necessitando de computadores para realizar a extração dos dados como por exemplo Cellebrite UFFED Touch. E aquelas que são baseadas em software como por exemplo a MicroSystemation XRY. Ambas as ferramentas possuem recursos similares com relação à funcionalidade e quantidade de modelos diferentes de dispositivos que são suportados.
A única certeza que podemos ter é que nenhuma ferramenta é completa, seja devido ao ritmo acelerado de novos aparelhos no mercado, seja devido a diversidade cada vez maior de aplicativos. Se tornando muito comum que alguns modelos de equipamentos portáteis não sejam suportados por algumas das ferramentas ou suportadas parcialmente. Diante deste cenário enseja o uso maior do número possível de ferramentas diferentes e de forma a maximizar as chances de capturar de forma automatizada as informações encaminhadas para o exame pericial.
A disponibilidade de ferramentas de software forense para dispositivos móveis é consideravelmente diferente daquela de computadores pessoais. Embora os computadores pessoais possam ser diferentes dos dispositivos móveis de uma perspectiva de hardware e software, sua funcionalidade se tornou cada vez mais semelhante. Embora a maioria dos sistemas operacionais de dispositivos móveis seja de código aberto (ou seja, Android). Muitos dispositivos móveis com o mesmo sistema operacional também podem variar amplamente em sua implementação, resultando em uma miríade de sistema de arquivos e permutações de estrutura. Essas permutações criam desafios significativos para os fabricantes e examinadores de ferramentas forenses móveis.
Os tipos de software disponíveis para exame de dispositivo móvel incluem ferramentas forenses comerciais e de código aberto, bem como ferramentas não forenses destinadas ao gerenciamento, teste e diagnóstico de dispositivos. As ferramentas forenses são normalmente projetadas para adquirir dados da memória interna de aparelhos e UICCs sem alterar seu conteúdo e para calcular hashes de integridade para os dados adquiridos.
As ferramentas de software forense e não forense geralmente usam os mesmos protocolos e técnicas para se comunicar com um dispositivo. No entanto, ferramentas não forenses podem permitir um fluxo bidirecional irrestrito de informações e omitir funções hash de integridade de dados. Os examinadores de dispositivos móveis geralmente reúnem uma coleção de ferramentas forenses e não forenses para seu kit de ferramentas. A gama de dispositivos em que operam é normalmente reduzida a: Plataformas distintas, uma família específica de sistema operacional ou até mesmo um único tipo de arquitetura de hardware. Ciclos curtos de lançamento de produtos são a norma para dispositivos móveis, exigindo que os fabricantes de ferramentas mantenham atualizadas de forma contínua suas ferramentas.
A tarefa é formidável e o suporte dos fabricantes de ferramentas para os modelos mais recentes pode ficar muito aquém da introdução de um dispositivo no mercado. Modelos de dispositivos móveis mais antigos funcionando, embora desatualizados, podem permanecer em uso por anos após seu lançamento inicial.
Os modelos de dispositivos móveis introduzidos em um mercado nacional também podem ser usados em áreas trocando o UICC de uma operadora de celular com o de outra operadora. Atualmente as principais e mais utilizadas ferramentas forenses gratuitas no mercado são: AFLogical, Andriller, Avilla, Magnet Acquire (está é gratuito para membros da comunidade forense). As pagas incluem Cellebrite, Oxygen, XRY e a MOBILedit.
As ferramentas pagas incluem as ações de realizar root no sistema do dispositivo e extração de dados, enquanto as ferramentas gratuitas nem sempre dispõem dos mesmos procedimentos de root e extração. Além disso, uma questão que pesa muito para decisão para escolha das ferramentas é a questão financeira, pois as melhores ferramentas no mercado são pagas e com custo muito elevado. Por esse motivo, alguns profissionais que iniciam na área optam pelo uso das ferramentas gratuitas, no entanto, sem obter as mesmas funcionalidades presentes nas ferramentas pagas, o que torna a análise mais trabalhosa.
3. Conclusão
Os dispositivos móveis Android sempre estão passando por constantes atualizações de segurança, fazendo com que as ferramentas forense também passem por mudanças periódicas para se adequar às inovações que os sistemas e equipamentos móveis passam. Mas, apesar de existirem ferramentas para análise em smartphones, as ferramentas que são as mais eficientes no mercado são marcadas por um alto custo financeiro. As informações descritas aqui, mostram a importância das ferramentas pelas análises, e que sem elas seria muito mais difícil ter acesso ao sistema Android para extrações de informações. Pode-se afirmar que se houver a disponibilidade de ferramentas gratuitas mais efetivas que possibilita-se o processo de rooting nos dispositivos na mesma proporção que as ferramentas pagas, impactaria na agilidade e possibilidade de extração de dados, não ficando limitada apenas as ferramentas que são pagas. Conclui-se que é necessário que existam mais análises e entendimento a respeito da aplicação de técnicas forenses nas investigações. Assim, os estudos em computação forense e métodos que aplicam essa metodologia com foco exclusivo em smartphones são essenciais, portanto, a abordagem é usada por muitas instituições internacionais profissionais de destaque citadas ao longo do trabalho. Na prática da computação forense, é muito importante usar técnicas e procedimentos bem fundamentados e aprovados para garantir que todo o andamento da investigação seja seguro e eficaz.
Todos os Direitos reservados: Wilian Boscolo