Primeira tentativa
- Um scanner básico escrito em Python verificava variáveis de configuração do Firebase.
- Parava de funcionar em menos de uma hora devido a problemas de consumo de memória.
Segunda tentativa
- O scanner reescrito em Go não tinha vazamento de memória.
- Levaria mais tempo do que o esperado para escanear mais de 5 milhões de domínios.
Verificação manual de todos os domínios
- Cada item de um arquivo de texto com 550 mil linhas foi inspecionado manualmente.
- 136 sites e 6,2 milhões de registros foram confirmados, mas ficou claro que era necessário um método automatizado.
Catalisador
- A lista de sites potencialmente afetados foi analisada com um scanner auxiliar chamado Catalisador.
- Ele verificava automaticamente o acesso de leitura a coleções comuns do Firebase no site ou nos bundles
.js.
- Foram coletadas amostras de 100 registros para avaliar o impacto dos dados e identificar os tipos de informação.
- O Supabase (concorrente open source do Firebase) foi escolhido para armazenar os resultados.
Números
- Total de registros: 124.605.664
- Nomes: 84.221.169
- E-mails: 106.260.766
- Números de telefone: 33.559.863
- Senhas: 20.185.831
- Informações de pagamento: 27.487.924
- Observe que esses números podem ser maiores do que o total real.
Lista de sites afetados
1. Silid LMS
- Sistema de gestão de aprendizagem para estudantes e professores.
- Exposição do maior número de registros de usuários, afetando 27 milhões de pessoas.
2. Rede de apostas online
- Composta por 9 sites, todos com designs diferentes.
- Alguns jogos eram manipulados para ter 0% de chance de vitória.
- Ao tentar relatar o problema, o suporte ao cliente tentou seduzir o pesquisador.
- Exposição do maior número de informações de contas bancárias: 8 milhões.
- Exposição do maior número de senhas em texto puro: 10 milhões.
3. Lead Carrot
- Gerador online de leads para cold calling.
- Um dos 3 sites com mais informações de usuários expostas, afetando 22 milhões de pessoas.
4. MyChefTool
- App de gestão comercial e aplicação de ponto de venda para restaurantes.
- Exposição do maior número de nomes e o segundo maior número de e-mails: 14 milhões e 13 milhões, respectivamente.
Resultados
- 842 e-mails enviados ao longo de 13 dias.
- 85% de entrega de e-mails.
- 9% de e-mails retornaram.
- 24% dos donos dos sites corrigiram a configuração incorreta.
- 1% dos donos dos sites responderam.
- 0,2% (2) dos donos dos sites ofereceram bug bounty.
Opinião do GN⁺
- Esta pesquisa mostra como uma configuração incorreta de segurança no Firebase pode acontecer com facilidade. É um caso importante para alertar desenvolvedores sobre a necessidade de atenção às configurações de segurança.
- Também fica claro que a reação dos donos dos sites variou bastante quando problemas de segurança foram encontrados. A maioria corrigiu o problema, mas alguns ignoraram ou não ofereceram recompensa adequada.
- As ferramentas automatizadas usadas para encontrar essas vulnerabilidades de segurança também podem ser úteis para outros pesquisadores de segurança. Ferramentas com funções semelhantes incluem OWASP ZAP e Burp Suite.
- Ao usar serviços em nuvem como o Firebase, é importante entender e aplicar corretamente as configurações de segurança. Uma configuração incorreta pode levar a vazamentos de dados em larga escala.
- Este caso também pode ajudar na comparação entre recursos de segurança e facilidade de uso ao considerar outros serviços, incluindo a alternativa open source Supabase. O Supabase é baseado em PostgreSQL e oferece funcionalidades semelhantes às do Firebase, mas é open source.
1 comentários
Opiniões do Hacker News