MASTG-TEST-0201: Uso em Runtime de APIs para Acesso a Armazenamento Externo
Visão Geral¶
Aplicativos Android usam uma variedade de APIs para acessar o armazenamento externo). Coletar uma lista abrangente dessas APIs pode ser desafiador, especialmente se um aplicativo usa um framework de terceiros, carrega código em tempo de execução ou inclui código nativo. A abordagem mais eficaz para testar aplicativos que gravam no armazenamento do dispositivo geralmente é a análise dinâmica, e especificamente o rastreamento de métodos ( Rastreamento de Métodos).
Etapas¶
- Certifique-se de ter Frida para Android instalado.
- Instale o aplicativo.
- Execute um script para iniciar o aplicativo com Frida e registrar todas as interações com arquivos.
- Navegue até a tela do aplicativo que deseja analisar.
- Feche o aplicativo para parar o Frida.
O script do Frida deve registrar todas as interações com arquivos fazendo hook nas APIs relevantes, como getExternalStorageDirectory, getExternalStoragePublicDirectory, getExternalFilesDir ou FileOutputStream. Você também pode usar open como uma abordagem geral para interações com arquivos. No entanto, isso não capturará todas as interações com arquivos, como aquelas que usam a API MediaStore, e deve ser feito com filtragem adicional, pois pode gerar muito ruído.
Observação¶
A saída deve conter uma lista de arquivos que o aplicativo gravou no armazenamento externo durante a execução e, se possível, as APIs usadas para gravá-los.
Avaliação¶
O caso de teste falha se os arquivos encontrados acima não estiverem criptografados e vazarem dados sensíveis.
Para confirmar isso, você pode inspecionar manualmente os arquivos usando o adb shell ( Transferência de Dados entre Host e Dispositivo) para recuperá-los do dispositivo, e fazer engenharia reversa do aplicativo ( Descompilação de Código Java) e inspecionar o código ( Revisão de Código Java Descompilado).
Demos¶
MASTG-DEMO-0002: Rastreamento de APIs de Armazenamento Externo com Frida