Resumo
Atualmente, computação em nuvem é mais um assunto do passado do que do futuro. Diversos serviços são fornecidos por diversos fornecedores e para atender diversos segmentos da sociedade, desde serviços de armazenamentos em nuvem para usuários comuns, até serviços de balanceamento, escalonamento, virtualização e backup para pequenas, médias e grandes empresas.
Um dos maiores fornecedores de serviços em nuvem é a Amazon, com sua plataforma de serviços AWS que fornece desde serviço de armazenamento (S3) até a possibilidade de criar toda uma infraestrutura segmentada com máquinas virtuais (EC2). Seus serviços fornecem uma gama de suportes que vão além da interface web de gerenciamento, incluindo ferramentas de linha de comando (awscli) e APIs para integração de seus serviços com outras aplicações.
Um exemplo bastante corriqueiro é de ferramentas móveis (Android, iOS etc) que fazem acesso e consomem serviços fornecidos pelo Amazon AWS. Porém, para acessar tais serviços, muitas vezes é necessário a utilização de chaves de acesso (tokens) que são gerados a partir da interface de administração. Entretanto, pela má configuração de controle de acesso habilitado nas chaves de acesso à API da Amazon, a aplicação pode ser distribuída com uma chave que não segue o princípio do menor privilégio, possuindo permissões excessivas e, em alguns casos, de controle total dos serviços AWS.
O objetivo do projeto é cria uma forma automatizada de extração de possíveis chaves AWS em aplicações móveis Android e verificar as permissões atribuídas a tais chaves de acesso. Como prova de conceito essa ferramenta será executada de maneira automatizada nas 1.000 aplicações mais comuns disponíveis na Play Store da Google.
Ao final toda e qualquer vulnerabilidade será reportada ao desenvolvedor da ferramenta e um relatório será gerado para quantificar a qualidade dos testes e resultados.
Contribuidores
Maycon Vitali (líder) maycon@dc5527.org