MASTG-TECH-0049: Análise Dinâmica
A Análise Dinâmica testa o aplicativo móvel executando e rodando o binário do app e analisando seus fluxos de trabalho em busca de vulnerabilidades. Por exemplo, vulnerabilidades relacionadas ao armazenamento de dados podem às vezes ser difíceis de detectar durante a análise estática, mas na análise dinâmica você pode facilmente identificar quais informações são armazenadas de forma persistente e se as informações estão devidamente protegidas. Além disso, a análise dinâmica permite que o testador identifique corretamente:
- Falhas de lógica de negócio
- Vulnerabilidades nos ambientes testados
- Validação de entrada inadequada e codificação inadequada de entrada/saída conforme são processadas por um ou vários serviços
A análise pode ser auxiliada por ferramentas automatizadas, como MobSF, durante a avaliação de um aplicativo. Um aplicativo pode ser avaliado através de side-loading, reempacotamento ou simplesmente atacando a versão instalada.
Coleta Básica de Informações¶
Como mencionado anteriormente, o Android é executado sobre um kernel Linux modificado e mantém o sistema de arquivos proc (procfs) do Linux, que é montado em /proc. O procfs fornece uma visualização baseada em diretórios de um processo em execução no sistema, fornecendo informações detalhadas sobre o processo em si, suas threads e outros diagnósticos em todo o sistema. O procfs é indiscutivelmente um dos sistemas de arquivos mais importantes no Android, onde muitas ferramentas nativas do sistema operacional dependem dele como sua fonte de informação.
Muitas ferramentas de linha de comando não são enviadas com o firmware do Android para reduzir o tamanho, mas podem ser facilmente instaladas em um dispositivo com root usando Busybox. Também podemos criar nossos próprios scripts personalizados usando comandos como cut, grep, sort etc., para analisar as informações do sistema de arquivos proc.
Nesta seção, usaremos informações do procfs direta ou indiretamente para coletar informações sobre um processo em execução.