Les chercheurs en sécurité ont apparemment découvert plus de 1,6 million de secrets divulgués par des sites Web, dont plus de 395 000 exposés par le million de domaines les plus populaires.
Les applications Web modernes intègrent généralement des clés API, des secrets cryptographiques et d’autres informations d’identification dans des fichiers JavaScript dans le code source côté client.
Aidés par un outil développé spécifiquement pour cette tâche, les chercheurs de RedHunt Labs ont recherché les vulnérabilités de divulgation d’informations via une sonde « non intrusive » de millions de pages d’accueil de sites Web et d’exceptions générées par les pages de débogage utilisées dans les frameworks populaires.
A NE PAS MANQUER La plate-forme de messagerie Zimbra corrige une faille d’injection memcached qui met en péril les informations d’identification des utilisateurs
« Le nombre de secrets exposés via le front-end des hôtes est alarmant », a déclaré Pinaki Mondal, chercheur en sécurité chez RedHunt Labs, dans un article de blog.
« Une fois qu’un secret valide a été divulgué, il ouvre la voie à un mouvement latéral parmi les attaquants, qui peuvent décider d’abuser du compte de service commercial, entraînant des pertes financières ou un compromis total. »
Des millions de secrets
La première de deux analyses gigantesques s’est concentrée sur le million de sites Web les plus fréquentés. Elle a fourni 395 713 secrets, dont les trois quarts (77 %) étaient liés aux services Google reCAPTCHA, Google Cloud ou Google OAuth.
Le reCAPTCHA de Google représentait à lui seul plus de la moitié (212 127) de ces secrets – et les cinq principaux types de secrets exposés étaient complétés par l’application de messagerie LINE et Amazon Web Services (AWS).
La deuxième phase, qui impliquait de scanner environ 500 millions d’hôtes, a révélé 1 280 920 secrets, le plus souvent concernant Stripe, suivis de Google reCAPTCHA, de l’API Google Cloud, d’AWS et de Facebook.
La majorité des expositions au cours des deux phases – 77 % – se sont produites dans des fichiers JavaScript frontaux.
La plupart des JavaScript ont été diffusés via des réseaux de diffusion de contenu (CDN), le CDN Squarespace ouvrant la voie avec plus de 197 000 expositions.
Mondal a imputé le problème des fuites de secrets vieux de « décennies » aux « complexités du cycle de vie du développement logiciel », ajoutant : « Alors que la base de code s’agrandit, les développeurs omettent souvent de supprimer les données sensibles avant de les déployer en production ».
Recherche « non intrusive »
L’équipe de recherche de RedHunt Labs a déclaré au Daily Swig qu’ils « rapportent en permanence les secrets via l’automatisation à leurs domaines sources à condition qu’ils aient un e-mail [address] mentionné sur leur page d’accueil ».
Les chercheurs ont déclaré qu’ils n’avaient rencontré aucun problème juridique lié à la recherche jusqu’à présent.
« Nous avons reçu quelques rapports d’abus contre les boîtiers sur lesquels l’analyse a été effectuée et nous les avons traités », ont-ils déclaré.
Le processus « extrêmement non intrusif » n’impliquait pas « plus de quelques requêtes HTTP par domaine » et aucune action écrite – « seules des requêtes de lecture vers des URL HTTP et des fichiers JavaScript ont été envoyées ».
Les secrets capturés, quant à eux, sont « stockés sur un volume crypté avec un accès à des personnes très limitées » et « seront éliminés après un mois », ont ajouté les chercheurs.
Red Hunt Labs a mis en open source l’outil développé pour la recherche et a créé une vidéo de démonstration :
Appelé HTTPLootil peut explorer et gratter les URL de manière asynchrone, vérifier les fuites de secrets dans les fichiers JavaScript, rechercher et remplir des formulaires pour déclencher des pages d’erreur/de débogage, extraire des secrets des pages de débogage et détecter automatiquement les piles technologiques.
Redhunt Labs a défini quatre meilleures pratiques pour prévenir et atténuer les fuites de secrets, notamment la définition de restrictions sur les clés d’accès, la gestion centralisée des secrets dans un environnement restreint ou un fichier de configuration, la configuration d’alertes pour les fuites de secrets et la surveillance continue du code source pour les problèmes de fuite d’informations.