La récente attaque à grande échelle de la chaîne d'approvisionnement menée via plusieurs CDN, à savoir Polyfill.io, BootCDN, Bootcss et Staticfile, qui a touché entre 100 000 et des dizaines de millions de sites Web, a été attribuée à un opérateur commun, selon les chercheurs.
Les chercheurs ont découvert un référentiel GitHub public où les prétendus opérateurs de Polyfill.io avaient accidentellement exposé leurs clés secrètes Cloudflare.
En utilisant ces clés API divulguées, qui étaient toujours actives, les chercheurs ont pu établir qu'un opérateur commun était à l'origine des quatre domaines et de l'attaque plus large de la chaîne d'approvisionnement.
Exposition accidentelle des clés Cloudflare
Des chercheurs en sécurité et des passionnés d'Intel Open Source (OSINT) ont découvert un référentiel GitHub associé au domaine polyfill.io qui a été impliqué dans une attaque de chaîne d'approvisionnement à grande échelle qui aurait maintenant touché des dizaines de millions de sites Web.
Les secrets divulgués dans le référentiel ont permis aux chercheurs d'attribuer l'attaque de la chaîne d'approvisionnement impliquant les 4 services CDN, à savoir Polyfill.io, BootCDN, Bootcss et Staticfile, à une seule entité.
La découverte a été réalisée grâce à l'effort de collaboration entre le chercheur Ze Zheng Wuun utilisateur pseudonyme mdmck10et le groupe de recherche sur la sécurité, Équipe MalwareHunter.
Ze-Zheng Wu, un développeur et doctorant basé à Hangzhou, en Chine, a découvert un référentiel GitHub intitulé « data.polyfill.com » qui semblait contenir le code source du backend de Polyfill.io et de sa version relancée Polyfill.com.
Le chercheur a observé que le propriétaire du dépôt avait accidentellement téléchargé un fichier .env dans le référentiel public :
Les fichiers Dot env (.env) sont utilisés par les développeurs et les administrateurs système pour stocker des secrets tels que les clés et jetons API, les variables d'environnement et les paramètres de configuration. En tant que tels, ces fichiers doivent être sécurisés avec des autorisations restrictives et être fortement protégés du public.
Le fichier exposé, comme le voit également BleepingComputer, contient un jeton API Cloudflare, un ID de zone Cloudflare (du domaine Polyfill.io), des clés API Algolia, entre autres valeurs.
BleepingComputer a également observé que les versions antérieures du fichier avaient des informations d'identification MySQL de « production ».
La clé API Cloudflare a permis aux chercheurs, notamment mdmck10, d'interroger et d'obtenir une liste de zones actives associé au compte Cloudflare particulier.
Une éruption nuageuse »zone » est un moyen permettant aux administrateurs d'un site Web d'organiser et de gérer les domaines dans leur compte Cloudflare, ainsi que des paramètres distincts pour chaque domaine.
Grosso modo, chaque « zone » Cloudflare comprend un nom de domaine, ses paramètres DNS, les dates de création ou de modification de la zone et les métadonnées liées à son propriétaire.
Parmi tous les domaines (ou zones) renvoyés pour le compte Cloudflare, un était pour cdn.polyfill.io. Notez que la zone « id » correspond également à l'ID de zone répertorié dans le fichier .env trouvé sur le référentiel GitHub ci-dessus :
Le fichier JSON de 430 lignes, partagé par mdmck10, contenait en outre des entrées pour les domaines, staticfile.net, bootcdn.net, bootcss.com,indiquant qu'ils étaient gérés sous le même compte utilisateur Cloudflare, exploité par une entité commune.
Bien que Cloudflare n'ait jamais autorisé Polyfill.io à utiliser son logo et son nom et n'ait jamais approuvé le service, mercredi, les enregistrements DNS de Polyfill.io ont été mystérieusement transférés vers ceux de Cloudflare, indiquant que le service de Cloudflare était au moins partiellement utilisé par les propriétaires de domaine.
Nous avons contacté Cloudflare à l'époque pour comprendre si elle était impliquée dans la modification de ces enregistrements DNS ou pour aider à atténuer l'attaque, mais nous n'avons pas eu de réponse.
Une attaque plus large est probablement en cours depuis juin 2023
L'équipe MalwareHunter, qui a suivi de près la situation, a attiré l'attention sur le fait que l'avertissement de Google à ses annonceurs concernant l'attaque de la chaîne d'approvisionnement ne se limitait pas aux pages de destination publicitaires intégrant polyfill.io, mais à trois autres services, Bootcss, BootCDN et Staticfile.
« Mais d'une manière ou d'une autre, tout le monde ne s'en souciait pas. Certains des premiers articles sur la situation mentionnaient ces domaines d'une manière ou d'une autre… et en gros, c'est tout. » écrit MalwareHunterTeam dans un fil de discussion sur X (anciennement Twitter).
Le groupe de recherche en sécurité a averti que l’impact combiné résultant de ces trois autres services est susceptible d’avoir un impact beaucoup plus large que prévu initialement.
Tout récemment, le co-fondateur et PDG de Cloudflare, Matthew Prince, a déclaré que « des dizaines de millions de sites Web (4 % du Web) » utilisaient Polyfill.io, qualifiant l'incident de «extrêmement préoccupant » comme si.
Nullify, un enquêteur judiciaire et chercheur en sécurité basé en Australie, a maintenant fait une observation encore plus inquiétante.
Des références à « check_tiaozhuan », une fonction qui représente le code malveillant injecté, existent sur des « forums chinois datant de juin 2023 ».
Depuis lors, « une version très primitive du même code injecté » circulait via BootCSS, selon le chercheur.
BleepingComputer a pu confirmer de manière indépendante que plusieurs pages de forum en langue chinoise, datées du 20 juin 2023, incitent les développeurs à tenter de déchiffrer et de comprendre le « code obscurci » anormal fourni par BootCSS.
La fonction « check_tiaozhuan », selon les développeurs, permettrait de vérifier si un visiteur utilise un appareil mobile et de « rediriger le navigateur de l'utilisateur vers une autre page » :
Des chercheurs du Sansec qui premières alertes sur l'attaque Polyfill.ioont mis à jour leur liste de domaines associés à l'attaque de la chaîne d'approvisionnement pour inclure :
bootcdn.net bootcss.com fichierstatique.net fichierstatique.org unionadjs.com xhsbpza.com union.macoms.la newcrbpc.com
Situation du « jeu du chat et de la souris » : l'impact total reste à évaluer
Bien que l’attaque semble pour l’instant contenue, son impact plus large se fera probablement sentir dans les semaines à venir et son ampleur n’est pas encore pleinement appréhendée.
Peu de temps après la fermeture de Polyfill.io par Namecheap, il a été relancé sur polyfill.com par ses opérateurs. Depuis ce matin, polyfill.com n'est plus responsive.
Dominic Alvieri, analyste des informations sur les menaces, prévient cependant que les opérateurs de Polyfill.io pourraient avoir potentiellement accumulé plusieurs domaines à l'avance auprès de différents bureaux d'enregistrement, citant « polyfill.cloud » comme exemple possible. Le déploiement actif de ces domaines pourrait rapidement transformer cet incident en une situation de jeu de taupe.
Les domaines de sauvegarde toujours enregistrés auprès du registraire actuel incluent /polyfill[.]nuage
Ils vont continuer à passer d’un domaine à l’autre.
Le groupe a toujours le même enregistrement sur tous ses actifs enregistrés connus.@équipe de chasseurs de malwr @1ZRR4H
– Dominique Alvieri (@AlvieriD) 27 juin 2024
Les taux de détection des domaines associés à l'attaque restent faibles parmi les principaux moteurs antivirus et des efforts d'investigation humaine peuvent être nécessaires pour auditer vos environnements :
Taux de détection pour les domaines actuellement : cdn.bootcdn[.]filet cdn.bootcss[.]com cdn.fichier statique[.]filet cdn.fichier statique[.]org Voyons demain… pic.twitter.com/m6EGEIyCwu
— Équipe MalwareHunter (@malwrhunterteam) 27 juin 2024
Les gestionnaires de réponse aux incidents et les équipes de défense SOC peuvent tirer profit de la recherche dans leurs journaux SIEM des événements réseau qui représentent des connexions aux domaines CDN associés à l'incident :
KQL pour chasser dans MDE ###############
Événements DeviceNetwork | où TimeGenerated > il y a (30j) | où RemoteUrl a_un(« polyfill[.]io','cdn.bootcdn[.]réseau », »cdn.bootcss[.]com », »cdn.staticfile[.]net », »cdn.staticfile[.] »org ») | trier par description d'horodatage
###############
re-fang pour exécuter ! https://t.co/bj674ZKQ3r
— mRr3b00t (@UK_Daniel_Card) 28 juin 2024
Si ce n'est pas déjà fait, envisagez de remplacer l'utilisation actuelle de l'un de ces services par des alternatives sûres mises en place par Cloudflare et Rapidement.
Polykill.io de la société de cybersécurité Leak Signal, est un autre service pratique qui vous permet d'identifier les sites Web utilisant Polyfill.io et d'effectuer le changement.
BleepingComputer a tenté de contacter le Polyfill Global Compte X pour commentaires avant la publication mais ils ont désactivé les DM. Les domaines Polyfill .io et .com étant désormais indisponibles, les adresses e-mail de l'administrateur ne sont plus opérationnelles. Nous avons également contacté Funnull pour obtenir des commentaires, mais notre e-mail a rebondi. Nous les avons maintenant contactés via Telegram et attendons une réponse.