Segurança da informação em aplicativos móveis – AndroBugs

Sem título

No post anterior (Segurança da informação em aplicativos móveis – Introdução) vimos como a preocupação com a segurança da informação está se tornando cada vez mais importante. Nesse post vamos discutir sobre o AndroBugs Framework que permite a identificação de potenciais vulnerabilidades apresentadas por um aplicativo desenvolvido para o Android.

O AndroBugs é open source e escrito em Python, desenvolvido por Yu-Cheng Lin, engenheiro de software da equipe de segurança da MediaTek, tendo como objetivo levantar potenciais vulnerabilidades por meio da emulação de operações em um aplicativo com base em vulnerabilidades comuns conhecidas. Além de analisar o aplicativo, o AndroBugs verifica vulnerabilidades em bibliotecas de terceiros que estejam sendo utilizadas e propõe melhorias de acordo com as melhores práticas de desenvolvimento.

O passo a passo a seguir é referente a utilização do AndroBugs no Sistema Operacional Linux, mas também é possível utilizar no Windows, basta acessar a seção Setup Steps and Usage for Windows na documentação.

Para utilizar o AndroBugs é necessário ter a versão 2.7.x do Python, não vai funcionar com a versão 3.x (Para conferir a versão basta utilizar o comando python  – – version 😉 ).

O segundo passo é clonar o projeto Androbugs do GitHub:

git clone https://github.com/AndroBugs/AndroBugs_Framework.git

01

Assim que for concluído o passo anterior, inclua o arquivo .apk do aplicativo na pasta do AndroBugs, acesse a pasta AndroBugs_Framework através do terminal e execute o seguinte comando:

python androbugs.py -f [APK]

Após executá-lo, a análise do aplicativo será iniciada como demonstrado na imagem abaixo:

02

Ao final da execução da verificação do aplicativo, é gerado um relatório bem completo contendo as informações levantadas de forma priorizada o que facilita muito a análise dos resultados. Neste relatório são encontradas as seguintes informações:

  • Título do vetor
  • Caminho do código fonte
  • Nível de criticidade
  • Categoria
  • Explicações detalhadas
  • Recomendações de mitigação
  • Documentos ou links de referência para pesquisa

Com relação ao nível de criticidade são definidas quatro categorias:

[Critical] – Vulnerabilidades de segurança classificadas como críticas e que devem ser resolvidas.

03

[Warning] – Não foi possível confirmar que é uma vulnerabilidade, portanto é necessário que o desenvolvedor analise e verifique manualmente.

04

[Notice] – É uma categoria para problemas com prioridade baixa.

05

[Info] – Não foram detectadas vulnerabilidades.

06

Este relatório também pode ser encontrado em formato txt dentro da pasta Reports:

07

O AndroBugs ainda disponibiliza uma ferramenta para análise de dados, Massive Analysis Tools, em que o pré-requisito é o PyMongo library. Mais informações podem ser obtidas através da documentação na seção Massive Analysis Tool.

Espero que tenham gostado e caso possuam informações complementares ou sugestões, deixe um comentário. ?

Referências:

  1. https://github.com/AndroBugs/AndroBugs_Framework
  2. https://www.blackhat.com/docs/eu-15/materials/eu-15-Lin-Androbugs-Framework-An-Android-Application-Security-Vulnerability-Scanner.pdf