A Check Point Research (CPR), divisão de Inteligência em Ameaças da Check Point® Software Technologies Ltd, uma fornecedora de soluções de cibersegurança global, encontrou dados confidenciais de vários aplicativos móveis expostos e disponíveis para qualquer pessoa com um navegador.
Ao pesquisar o “VirusTotal”, a equipe da CPR identificou 2.113 aplicativos móveis cujos bancos de dados estavam desprotegidos e expostos ao longo de uma pesquisa realizada durante três meses. O VirusTotal, uma subsidiária do Google, é um serviço de uma ferramenta online gratuita que verifica arquivos e URLs para detectar vírus, cavalos de Troia e outras formas de malware.
Os aplicativos móveis variam entre 10 mil e 10 milhões de downloads. Entre as informações confidenciais encontradas estavam mensagens de chat em aplicativos populares de namoro, fotos pessoais e familiares, IDs de token em um aplicativo de saúde, dados de plataformas de troca de criptomoedas, entre outras.
A Check Point Research alerta sobre a facilidade em localizar conjuntos de dados e recursos críticos de aplicativos consultando repositórios públicos e incentiva o mercado a aplicar as melhores práticas para segurança na nuvem.
As plataformas de nuvem mudaram a maneira como os desenvolvedores trabalham e se tornaram um padrão no desenvolvimento de aplicativos. Ao escrever o código, os desenvolvedores investem muitos recursos para proteger um aplicativo contra várias formas de ataques. No entanto, os desenvolvedores podem negligenciar a configuração adequada do banco de dados na nuvem, deixando-os expostos em tempo real, o que pode resultar em uma violação catastrófica se explorado.
Em geral, os desenvolvedores alteram manualmente as configurações padrão bloqueadas e protegidas das regras de segurança para executar testes. Se for deixado desbloqueado e desprotegido antes de liberar o aplicativo para produção, o banco de dados ficará aberto para qualquer pessoa que o acesse e, portanto, suscetível a leitura e gravação no banco de dados.
Metodologia de acesso
Para acessar os bancos de dados expostos, a metodologia é simples:
1. Procurar aplicativos móveis que se comunicam com serviços em nuvem no VirusTotal.
2. Arquivar aqueles que têm acesso direto aos dados.
3. Navegar no link recebido.
Exemplos de aplicativos expostos
A Check Point Research apresenta vários exemplos de aplicativos cujos dados foram encontrados e expostos. Em um exemplo, a CPR encontrou mais de 50 mil mensagens privadas expostas de um aplicativo popular de namoro. Para evitar explorações, a equipe da CPR não listará os nomes dos aplicativos móveis envolvidos na pesquisa.
Exemplo A:
• Categoria: Aplicativo de loja de departamentos, uma das maiores redes da América do Sul.
• Descrição: O dono do aplicativo é uma grande rede de lojas da América do Sul.
• Número de downloads: mais de 10 milhões.
• Dados expostos: credenciais de gateway de API e chave de API.
Figura 1: Banco de dados aberto de um aplicativo móvel de comércio eletrônico amplamente usado com credenciais de texto simples.
Exemplo B:
Categoria: Aplicativo rastreador de corrida (running).
Descrição: Desenvolvido para rastrear e analisar desempenhos de corrida.
Número de downloads: Mais de 100 mil.
Dados expostos: coordenadas de GPS dos usuários e outros parâmetros de saúde, como frequência cardíaca, expostas. As coordenadas das vítimas podem ser usadas para criar mapas para rastrear sua localização.
Figura 2: Modelos de telefone e coordenadas de GPS expostos em um aplicativo Running tracker
Exemplo C:
Categoria: Aplicativo de namoro.
Descrição: Aplicativo de namoro para pessoas com deficiência.
Número de downloads: Mais de 10 mil.
Dados expostos: 50 mil mensagens privadas no banco de dados aberto de um aplicativo de namoro.
Figura 3 – Mensagens de chat privado trocadas em um aplicativo de namoro com fotos dos remetentes
Exemplo D:
Categoria: Aplicativo de design de logotipo.
Descrição: Aplicativo amplamente utilizado para criação de logotipo e design gráfico.
Número de downloads: Mais de 10 milhões.
Dados expostos: 130 mil nomes de usuários, e-mails e senhas expostos.
Figura 4: Nomes de usuários, senhas e e-mails no banco de dados do aplicativo de design gráfico
Exemplo E:
Categoria: Aplicativo de plataforma de áudio social para usuários compartilharem e ouvirem podcasts independentes.
Descrição: Os usuários podem comprar e compartilhar podcasts e diversos materiais de áudio.
Número de downloads: mais de 5 milhões.
Dados expostos: Dados bancários dos usuários, localização, números de telefone, mensagens de bate-papo, histórico de compras e muito mais.
Figura 5. Banco de dados aberto do aplicativo de áudio com dados bancários e número de telefone
Exemplo F:
Categoria: Aplicativo de contabilidade.
Descrição: Aplicativo de serviços contábeis para pequenas e médias empresas.
Número de downloads: Mais de 1 milhão.
Dados expostos: 280 mil números de telefone associados a pelo menos 80 mil nomes de empresas, endereços, saldos bancários, saldos em dinheiro, contagens de faturas e e-mails.
Figura 6. Nome da empresa, e-mail, endereço e saldos da base de dados do aplicativo de contabilidade
Exemplo G:
Categoria: Leitor de PDF.
Descrição: n/d.
Número de downloads: 500 mil.
Dados expostos: Arquivo Base64 de configuração OpenVPN com chaves privadas expostas. Isso poderia ser usado por um cibercriminoso para se conectar à VPN da empresa e invadir sua rede.
Figura 7. Base64 do arquivo de configuração do OpenVPN no banco de dados aberto
“Nesta pesquisa, mostramos como é fácil localizar conjuntos de dados e recursos críticos que estão abertos na nuvem para qualquer pessoa que possa simplesmente acessá-los via navegador. Compartilhamos um método simples de como os cibercriminosos podem fazer isso. A metodologia envolve a busca de repositórios de arquivos públicos, como o VirusTotal, para aplicativos móveis que usam serviços em nuvem. Um cibercriminoso pode consultar o VirusTotal para obter o caminho completo para o back-end de nuvem de um aplicativo móvel. Compartilhamos alguns exemplos do que nós mesmos poderíamos encontrar lá. Tudo o que descobrimos está disponível para qualquer pessoa”, relata Lotem Finkelstein, chefe de Inteligência de Ameaças da Check Point Software Technologies.
“Por fim, com esta pesquisa, provamos como é fácil ocorrer uma violação ou exploração de dados, pois a quantidade de dados que fica aberta e disponível para qualquer pessoa na nuvem é impressionante. É muito mais fácil violar do que pensamos”, conclui Finkelstein.
Para manter a segurança
Seguem algumas orientações para garantir que os diferentes serviços de nuvem sejam seguros:
Amazon Web Services
Segurança dos cubos S3 do AWS CloudGuard
Regra específica: “Garantir que os cubos (buckets) do S3 não sejam acessíveis publicamente”.
ID da regra: D9?AWS?NET?06
Google Cloud Platform
Certificar-se de que o banco de dados do Cloud Storage não seja acessível de modo anônimo ou público.
ID da regra: D9 . GCP . IAM . 09
Microsoft Azure
Verificar se a regra de acesso à rede padrão para contas de armazenamento está configurada para negar acesso.
ID da regra: D9 . AZU . NET . 24