Acadêmicos encontram bugs de criptografia em 306 aplicativos populares para Android, nenhum recebe patch
Apenas 18 dos 306 desenvolvedores de aplicativos responderam à equipe de pesquisa, apenas 8 se envolveram com a equipe após o primeiro e-mail.
Uma equipe de acadêmicos da Universidade de Columbia desenvolveu uma ferramenta personalizada para analisar dinamicamente os aplicativos Android e ver se eles estão usando código criptográfico de maneira insegura.
Batizada de CRYLOGGER , a ferramenta foi usada para testar 1.780 aplicativos Android, representando os aplicativos mais populares em 33 categorias diferentes da Play Store, em setembro e outubro de 2019.
Os pesquisadores dizem que a ferramenta, que verificou 26 regras básicas de criptografia (veja a tabela abaixo), encontrou bugs em 306 aplicativos Android. Alguns aplicativos quebraram uma regra, enquanto outros quebraram várias.
As três regras mais violadas foram:
- Regra nº 18 – 1.775 aplicativos – Não use um PRNG inseguro (gerador de números pseudoaleatórios)
- Regra nº 1 – 1.764 aplicativos – Não use funções hash quebradas (SHA1, MD2, MD5, etc.)
- Regra nº 4 – 1.076 aplicativos – Não use o modo de operação CBC (cenários cliente / servidor)
Essas são regras básicas que qualquer criptógrafo conhece muito bem, mas regras que alguns desenvolvedores de aplicativos podem não estar cientes sem ter estudado a segurança de aplicativos (AppSec) ou criptografia avançada antes de entrar no espaço de desenvolvimento de aplicativos.
APENAS 18 DOS 306 DESENVOLVEDORES DE APLICATIVOS RESPONDERAM À EQUIPE DE PESQUISA
Os acadêmicos da Universidade de Columbia disseram que, depois de testarem os aplicativos, também contataram todos os desenvolvedores dos 306 aplicativos Android considerados vulneráveis.
“Todos os aplicativos são populares: eles têm de centenas de milhares de downloads a mais de 100 milhões”, disse a equipe de pesquisa. “Infelizmente, apenas 18 desenvolvedores responderam ao nosso primeiro e-mail de solicitação e apenas 8 deles nos acompanharam várias vezes, fornecendo feedback útil sobre nossas descobertas.”
Embora alguns bugs de criptografia estivessem no código de um aplicativo, alguns bugs comuns também estavam sendo introduzidos como parte das bibliotecas Java usadas como parte dos aplicativos.
Os pesquisadores afirmam que também contataram os desenvolvedores de 6 bibliotecas populares do Android, mas, como antes, apenas receberam respostas de 2 delas.
Como nenhum dos desenvolvedores corrigiu seus aplicativos e bibliotecas, os pesquisadores se abstiveram de publicar os nomes dos aplicativos e bibliotecas vulneráveis, citando possíveis tentativas de exploração contra os usuários dos aplicativos.
UMA FERRAMENTA COMPLEMENTAR AO CRYPTOGUARD
Em suma , a equipe de pesquisa acredita ter construído uma ferramenta poderosa que pode ser usada de forma confiável por desenvolvedores Android como um utilitário complementar ao CryptoGuard .
As duas ferramentas são complementares porque o CryptoGuard é um analisador estático (analisa o código fonte antes de ser executado), enquanto o CRYLOGGER é uma ferramenta de análise dinâmica (analisa o código durante a execução). Como os dois trabalham em níveis diferentes, os acadêmicos acreditam que ambos podem ser usados para detectar barramentos relacionados à criptografia em aplicativos Android antes que o código do aplicativo chegue aos dispositivos dos usuários.
Assim como o CryptoGuard, o código do CRYLOGGER também está disponível no GitHub .
Detalhes adicionais sobre a pesquisa da equipe estão disponíveis em uma pré-impressão denominada ” CRYLOGGER: Detecting Crypto Misuses Dynamically “, que será apresentado no Simpósio IEEE sobre Segurança e Privacidade, no próximo ano, em maio de 2021.