Skip to content
Analyst Insight : Téléchargez votre exemplaire du rapport Gartner® Hype Cycle™ for Security Operations, 2024 dès aujourd'hui ! | Obtenir le rapport
Blogs

2 juillet : Attaque de la chaîne d'approvisionnement de Polyfill.io - Fouiller dans la toile des domaines compromis

Résumé :

  • Le 25 juin 2024, l'équipe de police scientifique de Sansec forensics team a publié un rapport révélant une attaque de la chaîne d'approvisionnement ciblant le logiciel largement utilisé Polyfill.io largement utilisée. L'attaque a débuté en février 2024 lorsque Funnull, une entreprise chinoise, a acquis le domaine Polyfill.io et le compte GitHub précédemment légitimes. Peu après, le service a commencé à rediriger les utilisateurs vers des sites malveillants et à déployer des logiciels malveillants sophistiqués avec des techniques d'évasion avancées.
  • Le 27 juin 2024, Namecheap suspendu le malveillant polyfill.io ce qui atténue la menace immédiate pour l'instant. Cependant, Censys détecte toujours 384 773 hôtes intégrer un script JS polyfill renvoyant au domaine malveillant à partir du 2 juillet 2024, principalement situé en Allemagne.
    • Ces hôtes comprennent des sites Web associés à de grandes plateformes telles que Hulu, Mercedes-Benz et WarnerBros. Les experts en sécurité conseillent vivement aux propriétaires de sites web de supprimer toute référence à polyfill.io et à ses domaines associés de leur base de code par mesure de précaution. de leur base de code par mesure de précaution. Cloudflare et Fastly ont proposé des points de terminaison alternatifs et sécurisés pour les services polyfill en guise de solution de contournement.
  • Une enquête plus approfondie a permis de découvrir un réseau plus étendu de domaines potentiellement compromis. Les chercheurs ont identifié quatre domaines actifs supplémentaires liés au même compte que le domaine polyfill.io. Censys a détecté 1 637 160 hôtes référençant un ou plusieurs de ces points de terminaison. Au moins un de ces domaines a été observé en train de mener des activités malveillantes remontant à juin 2023, mais la nature des autres domaines associés est actuellement inconnue.
  • Cet incident met en évidence la menace croissante que représentent les attaques de la chaîne d'approvisionnement sur les projets de logiciels libres.
  • Détection avec Censys
    • Censys Recherche pour les hôtes exposés référençant le domaine polyfill[.]io malveillant
    • Censys Requête ASM pour les hôtes exposés référençant le domaine polyfill[.]io malveillant
    • Censys Requête de recherche pour les hôtes exposés qui font référence à l'un des domaines supplémentaires potentiellement associés
    • Censys Requête ASM pour les hôtes exposés qui font référence à l'un des domaines supplémentaires potentiellement associés

Contexte :

La semaine dernière, la communauté des développeurs web a été secouée par une attaque de la chaîne d'approvisionnement visant la bibliothèque JavaScript Polyfill.io, largement utilisée. Polyfill.js est conçue pour prendre en charge des outils et des fonctionnalités plus modernes sur des navigateurs web plus anciens qui ne les prennent pas en charge de manière native, afin de maintenir la compatibilité croisée. 

En février 2024, le domaine Polyfill.io et le compte GitHub ont été acquis par Funnull, une société chinoise de CDN, ce qui a immédiatement suscité des inquiétudes quant à la légitimité du service. Par la suite, des logiciels malveillants injectés via cdn.polyfill.io ont commencé à rediriger les utilisateurs vers des sites malveillants, affectant les rapports de plus de 100 000 sites web, y compris des plateformes de premier plan telles que JSTOR, Intuit et le Forum économique mondial. Ce logiciel malveillant sophistiqué utilise diverses techniques d'évasion, ce qui le rend particulièrement difficile à détecter et à combattre.

Plusieurs entreprises ont réagi à cette situation. Cloudflare et Fastly ont proposé aux utilisateurs des points de terminaison alternatifs et sécurisés. Google a bloqué les publicités pour les sites de commerce électronique utilisant Polyfill.io. Le bloqueur de sites web uBlock Origin a ajouté le domaine à sa liste de filtres. Andrew Betts, le créateur original de Polyfill.io, a exhorté les propriétaires de sites web à supprimer immédiatement la bibliothèque, soulignant qu'elle n'est plus nécessaire pour les navigateurs modernes.

Le développement récent le plus important est que le 27 juin, Namecheap, le bureau d'enregistrement du domaine polyfill.io, a supprimé le domaine malveillant, ce qui atténue la menace immédiate. 

Cette histoire nous rappelle la menace croissante des attaques de la chaîne d'approvisionnement sur les projets open-source, en particulier dans l'écosystème du développement web où les applications dépendent d'une pile technologique diversifiée de paquets open-source pour fonctionner. Ces dépendances peuvent devenir ténues. Un exemple mémorable date de 2016, lorsque le retrait d'un seul paquet JavaScript open-source de npm par un développeur a provoqué une perturbation généralisée des sites web dans le monde entier, ce qui a incité npm à annuler l'action en l'espace de deux heures seulement. Les dépendances interconnectées au sein de l'écosystème open-source ont des implications interconnectées en matière de sécurité.

 

(xkcd pertinent : https://www.explainxkcd.com/wiki/index.php/2347:_Dependency)

Censys Résultats

Censys a identifié un nombre important d'hébergeurs utilisant le CDN polyfill.io. Selon les dernières données, 384 773 hôtes faisaient référence à "https://cdn.polyfill[.]io" ou "https://cdn.polyfill[.]com" dans leurs réponses HTTP.

Une concentration importante de ces hôtes, environ 237 700, est située dans le réseau Hetzner (AS24940), principalement en Allemagne. Cela n'est pas surprenant - Hetzner est un service d'hébergement web populaire, et de nombreux développeurs de sites web l'utilisent. 

Une analyse plus approfondie des hôtes affectés révèle des domaines liés à de grandes entreprises telles que Warner Bros (www.warnerbros.com), Hulu (www.hulu.com), Mercedes-Benz (shop.mercedes-benz.com) et Pearson (digital-library-qa.pearson.com, digital-library-stg.pearson.com) qui ont un grand nombre d'hôtes référençant le point d'extrémité polyfill malveillant. Il est intéressant de noter que le nom d'hôte le plus courant associé aux hôtes présentant le point de terminaison est ns-static-assets.s3.amazonaws.comce qui indique une utilisation répandue parmi les utilisateurs de l'hébergement de sites web statiques S3 d'Amazon.

La présence de domaines tels que "www.feedthefuture.gov"dans ces premiers résultats met également en évidence l'utilisation de polyfill.io dans divers secteurs, y compris les sites web gouvernementaux. Au total, Censys a observé 182 hôtes affectés affichant un domaine " .gov ".

Voir le rapport suivant rapport suivant qui décompose les noms d'hôtes sur les sites utilisant ce point d'accès.

Si les estimations du nombre de sites web touchés varient considérablement d'une source à l'autre (Sansec parle de 100 000, tandis que Cloudflare évoque des "dizaines de millions"), il n'en va pas de même pour les autres sites. "des dizaines de millions), il est clair que cette attaque de la chaîne d'approvisionnement a eu un impact considérable.

Cloudflare et Fastly ont créé des points de terminaison polyfill sécurisés alternatifs pour les utilisateurs afin d'atténuer la menace tout en empêchant les sites web de se briser. Censys a observé 216 504 hôtes référençant l'un de ces points de terminaison polyfill alternatifs : "polyfill-fastly.io" ou "cdnjs.cloudflare.com/polyfill", soit une augmentation par rapport aux 80 312 observés le vendredi 28 juin dernier.

Enquête sur le domaine malveillant Polyfill[.]io

Nous avons recherché les enregistrements DNS historiques pour tout ce qui se résout en cdn.polyfill.io. Outre les domaines cloudflare et fastly, les trois domaines suivants étaient intéressants :

5f52353c.u.fn03.vip.

cdn.polyfill.io.bsclink.cn.

wildcard.polyfill.io.bsclink.cn. 

Parmi ceux-ci, nous avons trouvé 6 hôtes présentant le troisième domaine (wildcard.polyfill.io.bsclink.cn) qui étaient encore en ligne le 2 juillet 2024 :

Tous sont hébergés dans AS139057, LDPL-AS-AP LEGEND DYNASTY PTE. LTD.

LEGEND DYNASTY PTE. LTD. est une société basée à Singapour. Selon IPinfo son site web associé est edgenext.com, appartenant à EdgeNext, un fournisseur de services en nuage qui "se spécialise dans l'APAC, la Chine, la région MENA et la livraison de nuages à l'échelle mondiale". (https://www.edgenext.com/). On ne sait pas encore comment cette infrastructure est liée à Funnull, le CDN chinois qui possède le domaine polyfill malveillant.

Il convient également de noter que ces hôtes sont uniformément répartis entre différents pays : 2 se trouvent aux Pays-Bas, 2 en Espagne et 2 aux États-Unis.

Autres domaines potentiellement associés

Une enquête plus approfondie a permis de découvrir un réseau plus étendu de domaines potentiellement liés. Un utilisateur de Twitter a découvert que les responsables de la version GitHub de la polyfill ont divulgué les secrets de l'API CloudFlare dans la version GitHub de la polyfill. repo.

Il a été découvert par la suite que la clé API de Cloudflare qui a fait l'objet d'une fuite est toujours active, et qu'elle indique 4 autres clés actifs domaines actifs supplémentaires liés au même compte :

  • bootcdn[.]net
  • bootcss[.]com
  • fichier statique[.]net
  • staticfile[.]org

L'un de ces domaines, bootcss[.]com, a été observé en train de mener des activités malveillantes très similaires à l'attaque polyfill[.]io, avec des preuves remontant à juin 2023. 

En analysant le code JavaScript de la polyfill malveillante, nous voyons une fonction nommée check_tiaozhuan() dont la définition commence ainsi :

fonction check_tiaozhuan() {

var isMobile = navigator.userAgent.match(

/(téléphone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i

) ;

si (_isMobile) {
...

Recherche de check_tiaozhuan() permet de trouver un message sur le forum de développeurs chinois V2EX datant du 20 juin 2023. Le message met en garde contre cdn.bootcss.com détourné pour diffuser des logiciels malveillants par le biais de la bibliothèque JavaScript highlight.js.

Les citations intéressantes suivantes ont été traduites à partir de ce billet à l'aide de Google Translate :

  • "Les deux principaux noms de domaine malveillants concernés ont été enregistrés à la fin du mois de mai.
  • "Ce jQuery malveillant a été introduit par highlight.js hébergé sur cdn.bootcss.com. Lorsque la requête pour highlight.js a un Referer et un UA mobile spécifiques, le serveur renvoie highlight.js avec un code malveillant, sinon il renvoie un code normal, qui est fortement déguisé. En outre, il existe des conditions spécifiques permettant d'introduire du jQuery malveillant lors de l'exécution de ce code".

Cette tactique semble refléter étroitement les tactiques utilisées dans cette attaque.

Le commentaire suivant sous ce billet fait référence à la méthode check_tiaozhuan() :

Traduit : "La fonction check_tiaozhuan() semble vérifier si l'utilisateur utilise un appareil mobile en contrôlant l'objet navigateur. Si c'est le cas, elle définit la valeur de _0x34f873 en fonction de diverses conditions, puis appelle la fonction vfed_update(_0x5e3fa1) avec cette valeur. La fonction vfed_update(_0x5e3fa1) charge un fichier JavaScript à partir de l'URL spécifiée par _0x5e3fa1, ce qui peut rediriger le navigateur de l'utilisateur vers une autre page".

Cette description correspond à l'implémentation de la fonction que nous avons observée dans le script Polyfill[.]io. 

Quand nous avons creusé Censys recherche à la recherche d'hôtes exposés faisant référence à l'un des domaines suspects supplémentaires, nous avons observé un total de 1 637 160 hôtes publics combinés faisant référence à l'un de ces domaines.

Jusqu'à présent, ce domaine (bootcss.com) est le seul à présenter des signes de malveillance potentielle. La nature des autres points de terminaison associés reste inconnue, et nous évitons toute spéculation. Cependant, il ne serait pas totalement déraisonnable d'envisager la possibilité que le même acteur malveillant responsable de l'attaque polyfill.io puisse exploiter ces autres domaines pour des activités similaires à l'avenir.

Références :

A propos de l'auteur

L'équipe de recherche Censys
Solutions de gestion de la surface d'attaque
En savoir plus