Première tentative
- Un scanner basique écrit en Python vérifiait les variables de configuration Firebase.
- Il s'est arrêté de fonctionner en moins d'une heure à cause de problèmes de consommation mémoire.
Deuxième tentative
- Le scanner réécrit en Go ne présentait pas de fuite mémoire.
- L'analyse de plus de 5 millions de domaines a pris plus de temps que prévu.
Vérification manuelle de tous les domaines
- Chaque entrée d'un fichier texte de 550 000 lignes a été inspectée manuellement.
- 136 sites et 6,2 millions d'enregistrements ont été confirmés, mais il est devenu évident qu'une méthode automatisée était nécessaire.
Catalyst
- La liste des sites potentiellement affectés a été examinée avec un scanner auxiliaire appelé Catalyst.
- Il vérifiait automatiquement l'accès en lecture à des collections Firebase communes sur les sites ou dans les bundles
.js.
- Un échantillon de 100 enregistrements a été collecté afin d'évaluer l'impact des données et d'identifier les types d'informations exposées.
- Supabase (un concurrent open source de Firebase) a été choisi pour stocker les résultats.
Les chiffres
- Enregistrements totaux : 124 605 664
- Noms : 84 221 169
- E-mails : 106 260 766
- Numéros de téléphone : 33 559 863
- Mots de passe : 20 185 831
- Informations de paiement : 27 487 924
- À noter que ces chiffres peuvent être supérieurs à la réalité.
Liste des sites affectés
1. Silid LMS
- Système de gestion de l'apprentissage pour les élèves et les enseignants.
- Le plus grand nombre d'enregistrements d'utilisateurs exposés, avec 27 millions de personnes affectées.
2. Réseau de jeux d'argent en ligne
- Composé de 9 sites, tous avec des designs différents.
- Certains jeux étaient truqués avec une probabilité de gain de 0 %.
- Lors d'une tentative de signalement du problème, le service client a cherché à amadouer le chercheur.
- Le plus grand nombre d'informations de comptes bancaires exposées : 8 millions.
- Le plus grand nombre de mots de passe en clair exposés : 10 millions.
3. Lead Carrot
- Générateur de leads en ligne pour le cold calling.
- L'un des 3 sites ayant exposé le plus d'informations utilisateurs, avec 22 millions de personnes affectées.
4. MyChefTool
- Application de gestion d'activité et point de vente pour les restaurants.
- Le plus grand nombre de noms exposés et le deuxième plus grand nombre d'e-mails exposés, avec respectivement 14 millions et 13 millions.
Résultats
- 842 e-mails envoyés en 13 jours.
- 85 % des e-mails ont été délivrés.
- 9 % des e-mails ont rebondi.
- 24 % des propriétaires de sites ont corrigé l'erreur de configuration.
- 1 % des propriétaires de sites ont répondu.
- 0,2 % (2) des propriétaires de sites ont proposé une bug bounty.
L'avis de GN⁺
- Cette étude montre à quel point une mauvaise configuration de sécurité Firebase peut se produire facilement. C'est un cas important qui rappelle aux développeurs la nécessité de prêter attention aux paramètres de sécurité.
- On constate que les réactions des propriétaires de sites variaient lorsqu'un problème de sécurité était découvert. La plupart ont corrigé le problème, mais certains l'ont ignoré ou n'ont pas proposé de compensation appropriée.
- Les outils d'automatisation utilisés pour trouver ces vulnérabilités peuvent aussi être utiles à d'autres chercheurs en sécurité. Parmi les outils offrant des fonctionnalités similaires, on peut citer OWASP ZAP et Burp Suite.
- Lorsqu'on utilise des services cloud comme Firebase, il est important de bien comprendre et appliquer les paramètres de sécurité. Une mauvaise configuration peut conduire à des fuites de données à grande échelle.
- Ce cas peut aussi aider à comparer les fonctions de sécurité et la facilité d'utilisation d'autres services, y compris l'alternative open source Supabase. Supabase repose sur PostgreSQL et offre des fonctionnalités similaires à Firebase tout en étant open source.
1 commentaires
Avis Hacker News