O que é EDL?
O problema que assola os investigadores é o fato de os dispositivos Android oferecerem diferentes mecanismos de proteção de dados. Por esse motivo, é quase impossível desenvolver um único método para extrair e descriptografar os dados de um dispositivo. Claro, em muitos casos a extração de dados é possível, mas muitas vezes os dados ainda são criptografados. Tem havido muito buzz sobre o EDL por parte dos fabricantes de software forense, bem como dos investigadores. Vamos dar uma olhada no que é EDL e como ele pode ser usado na perícia forense móvel.
O que é EDL?
Os fabricantes de telefones celulares SoC (System on Chip) geralmente fornecem modos especiais projetados para depuração, diagnóstico ou recuperação. Neste caso, os dispositivos baseados em Qualcomm têm um modo EDL (modo de download de emergência). Nesta interface de teste integrada, é possível obter acesso às funções de leitura / gravação da memória de baixo nível. Este acesso se aplica tanto à ROM quanto à RAM .
Conectar o dispositivo a um conector USB é suficiente para iniciar a extração?
Para colocar um dispositivo no modo EDL, não há uma abordagem única para todos; muitas vezes está em todo o lugar. Com várias maneiras de colocar o dispositivo no modo de download de emergência (EDL), o investigador é frequentemente relegado a escanear as páginas da Internet por causa dos vários métodos, muitas vezes diferentes para cada dispositivo. Existem abordagens de software e abordagens de hardware.
Abordagens de software:
- ADB (Android Debug Bridge). Se o dispositivo estiver desbloqueado e o modo adb estiver ativado, você pode emitir o comando “adb reboot edl” em uma linha de comando.
- Fastboot. Mude o dispositivo para o modo fastboot segurando Power e Vol- ao mesmo tempo (a combinação de teclas pode ser diferente para cada dispositivo) e execute o comando “fastboot oem edl”.
Método de combinação de teclas (a combinação depende do modelo do dispositivo). Você precisa desligar o dispositivo, conecte o cabo USB ao PC, mas não ao dispositivo. Pressione e segure Vol- e Vol + ao mesmo tempo e, enquanto os segura, conecte a outra extremidade do cabo USB no dispositivo. Segure as teclas por 3-5 segundos, o dispositivo deve entrar no modo EDL. Além disso, manter pressionado o botão “#” e conectar o dispositivo via USB é o suficiente para mudar muitos telefones com botão de pressão Qualcomm para o modo EDL. Este método funciona em muitos dispositivos KaiOS Qualcomm, incluindo Jio Phone 1.
Abordagens de hardware:
- Cabo EDL. Cabos especializados podem ser usados para mudar o dispositivo para o modo EDL. Esses cabos estão disponíveis online ou, se você tiver um kit de cabo forense de oxigênio, eles estão incluídos.
- Encurtando os pinos. Este método, também conhecido como “pontos de teste de curto-circuito”, requer experiência técnica e, muitas vezes, a desmontagem do telefone. Para mudar o telefone para EDL, pinças de metal para conserto de telefones celulares ou um pedaço de fio são freqüentemente usados para curto / conectar os pontos de teste. Isso não é recomendado, a menos que o investigador tenha experiência em montagem / desmontagem de componentes elétricos.
É possível encontrar conselhos sobre pontos de teste de curto-circuito na Internet. Para fazer isso, digite o seguinte no campo de pesquisa:
<nome do dispositivo>, pontos de teste, ponto de teste, 9008, EDL.
A extração começará imediatamente após colocar o dispositivo no modo EDL?
Depois de colocar o dispositivo no modo EDL, um programador especial deve ser carregado no dispositivo. Somente após carregá-lo na RAM do dispositivo, será possível iniciar a extração de dados usando o protocolo Firehose.
A maioria dos dispositivos baseados em Qualcomm verifica a assinatura eletrônica do programador. É por isso que um arquivo para outro dispositivo, mesmo que seja baseado no mesmo processador, normalmente será de pouca utilidade. O que nós sabemos; os próprios fabricantes não estão muito ansiosos para compartilhar nenhum desses arquivos com fornecedores de software. Oferecendo os perfis mais atualizados no Oxygen Forensic® Detective, agora temos 500 desses arquivos para diferentes dispositivos Qualcomm.
Se eu mesmo encontrasse um programador para o modelo X, ele seria útil?
A boa notícia é que os programadores dependem apenas do modelo do dispositivo e, se esse arquivo for encontrado, os investigadores podem usá-lo em qualquer software que ofereça suporte para extração via modo EDL. Esta é uma das razões pelas quais o Oxygen Forensic Detective permite que um investigador carregue qualquer arquivo de programador usando o Oxygen Forensic® Detective.
Isso significa que todos os softwares forenses oferecem a mesma solução e a única diferença entre eles está no conjunto desses programadores?
Na maioria dos casos, quando o fabricante do software afirma que oferece suporte à extração de EDL, isso significa que o software pode carregar o programador correspondente no dispositivo e usá-lo para extrair o despejo físico e não necessariamente suportar a capacidade única de adicionar um programador não fornecido com o software pacote.
E se não houver um programador disponível?
Alguns SoCs Qualcomm têm uma vulnerabilidade crítica no PBL (Carregador de inicialização principal) que permite que um programador não assinado seja carregado no dispositivo. O Oxygen Forensic® Detective usa uma exploração especialmente projetada com base nesta vulnerabilidade. Nosso software oferece a capacidade de fazer upload para os dispositivos com chipsets MSM8909, MSM8916, MSM8939 e MSM8952 de um programador genérico correspondente e iniciar a extração.
É possível o exploit one-for-all exclusivo para a extração de EDL?
A maior parte das soluções, quer sejam de apoio ou simplesmente a possibilidade de o ter, contam com a referida vulnerabilidade. Isso é evidenciado pela lista de processadores para os quais o modo EDL é compatível, independentemente da presença do programador.
E se o telefone estiver criptografado?
A memória dos dispositivos mais modernos é criptografada e um despejo criptografado muitas vezes é inútil por si só.
A partir do Android 7.0, a memória do dispositivo é criptografada por padrão, usando uma chave de hardware, quando o SoC permite. A Qualcomm foi uma das primeiras a incluir criptografia de chave de hardware em seus SoCs e, desde 2014, todos os SoCs da Qualcomm para dispositivos Android a suportam. Em alguns dispositivos que não passaram na certificação do Google, um esquema de criptografia desatualizado sem uma chave de hardware pode ser usado, mas esses são principalmente dispositivos sem nome de fabricantes chineses. Portanto, a grande maioria dos dispositivos Qualcomm modernos são criptografados usando uma chave de hardware. Para descriptografar os dados, são necessárias uma chave de hardware e uma senha da tela de bloqueio do dispositivo (se houver uma).
Atualmente, duas abordagens fundamentalmente diferentes são usadas para descriptografar dados desses dispositivos. No entanto, ambas as abordagens são baseadas na mesma vulnerabilidade que ignora as verificações de integridade ao inicializar dispositivos baseados em Qualcomm. A primeira opção envolve a modificação do bootloader (função que carrega o sistema operacional Android), para que o dispositivo ligue aparentemente normal, mas com a capacidade de comunicação extra (por exemplo, com privilégios de root, adb ligado). Como o sistema está totalmente carregado, a partição do usuário é montada de forma descriptografada como dm-0. Nesse caso, a descriptografia é realizada automaticamente pelo próprio sistema operacional. Esta é uma abordagem universal, mas não funciona se o modo 'Inicialização segura' estiver habilitado. Se este modo estiver ativado, é necessário inserir a senha da tela de bloqueio para inicializar o sistema. Se for desconhecido, não haverá passagem pela tela bloqueada e o sistema não carregará. Se os arquivos não forem carregados, eles não serão descriptografados e transferidos.
É importante mencionar que a abordagem inicial coberta ainda funciona se o dispositivo estiver protegido por senha, mas o modo de inicialização segura estiver desativado. O raciocínio por trás disso é que se a inicialização segura estiver desligada, a frase 'default_password' é usada como a senha padrão, permitindo que o sistema inicialize totalmente e monte o dm-0 antes que a senha do usuário seja inserida. Se a inicialização segura estiver ativada, a senha criada pelo usuário será usada para criptografia e o sistema não inicializará a menos que seja inserida. Usar a inicialização segura ainda fica a critério do usuário e alguns fabricantes, por algum motivo, escondem-no nas configurações e complicam o procedimento de ligá-lo de várias maneiras.
Como o Oxygen Forensic® Detective funciona com criptografia?
A abordagem única, adotada por nossa empresa, é um pouco mais complicada e se baseia em uma modificação do TrustZone. Sabemos que a chave de hardware é frequentemente usada para criptografar dados do usuário e é armazenada no TrustZone. Nossa abordagem explora a vulnerabilidade de inicializar o dispositivo com um TrustZone modificado. Fazendo isso, podemos executar nosso código dentro do TrustZone e extrair a chave de hardware. Em seguida, se a opção de inicialização segura estiver desativada, descriptografamos imediatamente o despejo usando a senha padrão. Se o modo de inicialização segura estiver ativado, é possível usar força bruta na senha offline (envolvendo poder de computação externo), uma vez que a chave de hardware já foi extraída.
Nota: nos chips Qualcomm, o TrustZone contém um erro na implementação da criptografia, às vezes permitindo descriptografar o dump sem saber a senha, mas tendo uma chave de hardware. A vulnerabilidade funciona em 2 a 4% dos casos. Portanto, o despejo com o modo de inicialização seguro ativado ainda pode ser descriptografado sem o conhecimento da senha.
Isso significa que o suporte de extrações de EDL de dispositivos MSM8937 em várias soluções forenses pode ser diferente?
Algumas soluções extraem apenas despejos físicos criptografados, o que é completamente inútil. Alguns podem extrair dados apenas dos modelos de dispositivo onde um programador foi encontrado e alguns podem descriptografar os dados apenas se a inicialização segura estiver desligada.
Dê uma olhada no que o Detetive Forense de Oxigênio pode fazer por suas investigações em dispositivos que usam o modo EDL.
Comentários
Postar um comentário