Um levantamento feito pela TIQS aponta uma série de vulnerabilidades entre os aplicativos mais populares do País. A empresa brasileira utilizou a sua plataforma de segurança Bit Armor para analisar os 51 aplicativos mais presentes na home screen do smartphone brasileiro, usando como referência o Radar de Popularidade de Apps publicado em maio na pesquisa Panorama Mobile Time/Opinion Box. O resultado é preocupante: a maioria dos apps apresenta duas ou mais vulnerabilidades de segurança previstas no OWASP (Open Web Application Security Project). Em dois deles foram descobertas oito vulnerabilidades diferentes.
O problema mais comum é o “uso de protocolo HTTP não encriptado”, encontrado em 45 aplicativos. Isso significa que o software transmite dados na forma de texto em canal que pode ser visualizado por terceiros não autorizados, o que pode levar à evasão de dados.
Outra ameaça encontrada em 45 aplicativos é um “gerador previsível de números aleatórios”. Isso pode “levar a uma quebra de criptografia se o gerador for usado em áreas críticas, expondo informações sensíveis”, explica a TIQS em seu relatório.
Outras vulnerabilidades comuns são o armazenamento externo de dados (33 apps); fraca encriptação (28 apps); e exposição de dados sensíveis no código (27 aplicativos).
“O método utilizado foi baseado exclusivamente em análise de código. Não quer dizer necessariamente que os aplicativos estudados estejam suscetíveis a esses ataques, mas sim que é possível que ocorram ataques com base nestas vulnerabilidades”, esclarece Marcelo Nascimento, diretor da TIQS, em conversa com Mobile Time. “Uma analogia em tempos de pandemia seria o uso ou não de máscaras. Sabemos que o não uso de máscaras aumenta o risco de contágio do vírus, porém não quer dizer que se alguém não usar máscara vai contrair o vírus”, compara. E acrescenta: “Existem outras variáveis a serem consideradas ao falarmos de vulnerabilidades que não puderam ser cobertas pela breve análise realizada”.
Veja abaixo o gráfico do relatório e a descrição da TIQS sobre cada vulnerabilidade.
Uso de protocolo HTTP não encriptado CWE-319** (45 de 51 apps testados)
Descrição breve: software transmite dados sensíveis* ou crítico para segurança na forma de texto em canal que pode ser vizualizado (sniffed) por terceiros não autorizados. Pode levar a evasão de dados.
Gerador de número aleatório previsível CWE-338 (45 de 51 apps testados)
Descrição breve: Pode levar a uma quebra de criptografia, se o gerador for usado em áreas críticas, expondo informações sensíveis.
Armazenamento externo de dados CWE-921 (33 de 51 apps testados com essa ocorrência)
Descrição breve: Se esses dados não forem protegidos de alguma forma, terceiros podem ler ou modificar esses dados. Tipicamente, no Android, dados externos (cartão SD por exemplo) podem ser lidos e modificados por terceiros (incluindo outras aplicações), inclusive via USB.
Dados sensíveis expostos no código CWE-200 (27 de 51 apps testados)
Descrição breve: exposição de dados sensíveis no código podem levar a evasão desses e de outros dados.
Fraca encriptação CWE-327 (28 de 51 apps testados)
Descrição breve: Pode expor dados sensíveis. Atacantes podem se beneficiar desse tipo fraqueza de diversas formas, incluindo acesso indevido e manipulação de dados.
Dados externos em queries SQL expostos no código CWE-89 (27 de 51 apps testados)
Descrição breve: Pode levar a um ataque de SQL injection, levando a evasão de dados ou comprometimento de dados (um dado pode ser mudado mesmo que não seja visualizado. Exemplo: mudar o primeiro nome de uma tabela para XXX. Não precisa saber se o nome é João ou Maria).
Banco de dados usado em forma de texto simples CWE-312 (22 de 51 apps testados)
Descrição breve: Mesmo que não possa ser lido por humanos (pelo menos não facilmente) esse tipo de uso pode ser explorado por algum mecanismo de decodificação e assim obter informação necessária. Pode levar a evasão e comprometimento de dados sensíveis.
Chave de encriptação exposta no código CWE-798 (6 de 51 apps testados)
Descrição breve: Algum mecanismo de decodificação pode ser usado para expor dados sensíveis.
Uso de vetor de inicialização fraco CWE-329 (1 de 51 apps testados)
Descrição breve: Pode levar a decodificação, que por sua vez leva a exposição de dados sensíveis.
*Informações/dados sensíveis podem ser: CPF, login, senha, número de cartão de crédito, propriedade intelectual entre outras.
** Código CWE (Common Weakness Enumeration – enumeração de fraquezas comuns) – contém a descrição das fraquezas, exemplos, possíveis ataques e remediações. Os links são para a documentação, caso interesse.