Home Blogs L’attaque de la chaîne d’approvisionnement Polyfill.io et comment protéger votre site
Applications

L’attaque de la chaîne d’approvisionnement Polyfill.io et comment protéger votre site

About The Author

Outline

À ce jour, vous avez probablement entendu parler d’une attaque majeure de la chaîne logistique logicielle qui menace de nombreux sites Web utilisant le service open source polyfill.io. Cet article vous donnera des informations générales sur le problème, ainsi que des actions mises à jour que vous pouvez prendre pour assurer la protection de vos utilisateurs. Bien que les services d’Edgio ne soient pas affectés par cette attaque, notre équipe de sécurité est prête à aider tous les clients qui craignent d’avoir utilisé polyfill.io sur leur site Web ou leur application.

Contexte sur polyfill.io

Pour comprendre la récente attaque de la chaîne d’approvisionnement polyfill.io, nous devrions d’abord définir le terme « polyfil ». Polyfill fait référence au code qui ajoute des fonctionnalités modernes aux navigateurs plus anciens qui ne prennent pas en charge nativement les nouvelles fonctionnalités Web. Il permet aux développeurs de fournir une expérience utilisateur cohérente sur divers navigateurs, en particulier ceux qui adoptent plus lentement les dernières normes Web. Dans le cas de l’attaque polyfill.io, les développeurs ont utilisé polyfill pour ajouter des fonctionnalités JavaScript qui ne sont pas prises en charge par les navigateurs plus anciens.

Polyfill.io est un service largement utilisé qui détecte automatiquement le navigateur de l’utilisateur final et fournit les polyfills nécessaires pour assurer la compatibilité avec les technologies web modernes. En intégrant des scripts de cdn.polyfill.io (CDN open-source de polyfill.io), les développeurs pouvaient fournir des polyremplissages sans les tracas de la gestion manuelle, simplifiant ainsi le processus de maintien de la compatibilité des navigateurs.

Cependant, plus tôt cette année polyfill.io a été acquis par Funnull, une société relativement inconnue et prétendument chinoise. Il semble que l’acquisition ait marqué stratégiquement le début d’une attaque importante de la chaîne d’approvisionnement. Fin juin 2024, la société de sécurité Sansec a averti que le service était utilisé pour injecter du code malveillant dans des milliers de sites Web, redirigeant les utilisateurs vers des sites d’escroquerie et les exposant à des vols de données potentiels et à des actions non autorisées.

Qui est affecté par l’attaque Polyfill.io ?

L’impact de cette attaque de la chaîne logistique est vaste, affectant plus de 100 000 sites Web dans le monde. Tout site Web intégrant des scripts de cdn.polyfill.io est à risque. Le script malveillant introduit par Funnull redirigeait les utilisateurs vers des sites d’escroquerie, activait le vol de données et permettait potentiellement l’exécution de code à distance. Notamment, cette attaque a également compromis les utilisateurs mobiles et ciblé spécifiquement les appareils à des moments particuliers, échappant à la détection par les outils de sécurité et les analyses.

L’attaque de la chaîne d’approvisionnement : ce que vous devez savoir

Bien qu’il existe de nombreuses possibilités néfastes que les attaquants pourraient prendre après avoir compromis des scripts tiers, les plus courantes sont les suivantes :

  • Redirection vers des sites malveillants : les sites Web utilisant des scripts compromis peuvent rediriger sans le savoir les utilisateurs vers des sites escrocs, comme de faux sites Google Analytics ou des sites de Paris sportifs. Ces redirections malveillantes compromettent la confiance des utilisateurs et peuvent conduire à des attaques de phishing.
  • Vol de données et exécution de code : le script modifié peut voler des données sensibles aux utilisateurs et exécuter du code non autorisé, posant de graves risques pour l’intégrité du site Web et la confidentialité des utilisateurs. Les scripts non autorisés peuvent exfiltrer des données sensibles des utilisateurs, telles que des informations personnelles, des informations de carte de crédit et des identifiants de connexion, vers des serveurs externes.
  • Cross-site Scripting (XSS) : des scripts malveillants peuvent s’exécuter dans le contexte du navigateur de l’utilisateur, entraînant un détournement de session, la distribution de logiciels malveillants et, comme mentionné précédemment, l’exfiltration de données.
  • Altération du site : les attaquants peuvent modifier l’apparence ou le contenu d’une page Web, entraînant des dommages à la marque et une perte de confiance de l’utilisateur.
  • Dégradation des performances : les scripts malveillants ou non autorisés peuvent causer des problèmes de performances applicatives importants, ralentir les sites Web et fournir une expérience utilisateur médiocre.

Que pouvez-vous faire pour protéger votre site et vos utilisateurs ?

Compte tenu de cette attaque et de la forte dépendance des bibliothèques tierces dans les applications modernes d’aujourd’hui, les développeurs et les administrateurs de site doivent prendre des mesures immédiates pour protéger leurs sites Web et leurs utilisateurs. Voici nos dernières directives:

  • Identifier les sites utilisant Polyfill.io : la première étape pour protéger votre site et vos utilisateurs de cette attaque est de savoir si votre code fait référence à polyfill.io.

Si vous avez une solution SAST (Static application Security Testing), vous pouvez exécuter une requête pour rechercher des références à polyfill.io (la syntaxe peut varier, mais le Regex suivant vous donne l’idée) :

Result = find_strings().FindByRegex(@\ »https?://(cdn.polyfill.io)\ »);

En outre, les outils d’analyse statique du code (SCA), qui se concentrent sur l’identification et la gestion des composants open source et de leurs vulnérabilités, peuvent vous aider. Les outils SCA maintiennent des bases de données des vulnérabilités connues associées aux bibliothèques et aux frameworks. En analysant votre base de code, les outils SCA peuvent marquer toutes les dépendances (y compris polyfill.io) présentant des problèmes de sécurité connus.

Si vous n’avez pas SAST ou SCA en place, nous vous recommandons de suivre ces étapes de ZAP, un projet GitHub Top 1000 activement maintenu dédié aux tests de sécurité.

docker run -t zaproxy/zap-stable zap.sh -cmd -addoninstall pscanrulesBeta -zapit https://www.example.com/

La commande d’une ligne utilisée par la détection de script Polyfill.io de ZAP pour vérifier les scripts servis à partir du domaine polyfill.io (nécessite Docker) ; pour une analyse plus robuste, exécutez une analyse de base ZAP .

  • Mise en œuvre de la protection côté client : la protection côté client aide à protéger contre les attaques de la chaîne logistique en surveillant et contrôlant les scripts et les appels API tiers en temps réel, empêchant le chargement de code malveillant et bloquant les interactions non autorisées avec des hôtes malveillants.

La solution Client-Side protection d’Edgio permet aux équipes de mettre en œuvre un modèle de sécurité positif en autorisant uniquement l’exécution de scripts tiers définis dans les navigateurs clients.

client-side-protection-policy-example

Exemple de stratégie de protection côté client. Un modèle de sécurité positif peut être appliqué en indiquant quelles sources de script peuvent être appelées dans la liste de permissions.

  • Supprimer les scripts Polyfill.io : supprimez toutes les références à cdn.polyfill.io de votre code. Remplacez-les par des sources alternatives et fiables pour les polyfills ou arrêtez complètement l’utilisation de polyfills, car les navigateurs modernes les exigent rarement.

Les fonctions Edge d’Edgio peuvent également être utilisées pour réécrire dynamiquement toutes les références polyfill faites par votre site vers n’importe quelle URL sécurisée (disponible dans notre repo GitHub ici). Cette couche de sécurité supplémentaire peut être considérée comme un « correctif virtuel » simple et facile à déployer, offrant une protection précieuse et permettant à vos équipes de développement de gagner du temps pour revenir en arrière et supprimer et remplacer les références à la bibliothèque compromise.

  • Surveillez les compromis : vérifiez régulièrement votre site Web pour détecter des signes de compromis, tels que des redirections non autorisées ou des exfiltrations de données. Mettez en œuvre des outils de surveillance de la sécurité pour détecter les activités inhabituelles et vous tenir informé des avis de sécurité et des mises à jour liés aux bibliothèques et services que vous utilisez.
  • Passez aux services de confiance : si votre cas d’utilisation nécessite des polyfills, recherchez des services alternatifs auprès d’organisations ayant fait leurs preuves. Cependant, vous savez ce qu’ils disent des garanties dans la vie – il est donc important d’utiliser les contrôles et les meilleures pratiques énoncés ci-dessus pour réduire les risques. Après tout, les développeurs utiliseront ce qu’ils pensent fonctionner – polyfill.io était un service assez populaire – et tous n’ont pas une expérience de codage sécurisé.

Conclusion

L’attaque de la chaîne logistique Polyfill.io sert de rappel brutal des vulnérabilités inhérentes aux composants logiciels tiers. Chez Edgio, nous insistons sur l’importance de sécuriser vos applications web grâce à une sécurité multicouche robuste. Notre service de protection des applications Web et des API (WAAP) , qui inclut la protection côté client pour détecter et bloquer les scripts malveillants exécutés sur les navigateurs côté client, assure une protection continue contre les attaques de la chaîne logistique et autres menaces en constante évolution.

En outre, notre nouvelle solution Attack surface Management (ASM) offre une visibilité complète sur l’ensemble de votre empreinte Web, vous permettant d’identifier et de limiter les vulnérabilités de manière proactive, en vous protégeant contre les failles potentielles avant qu’elles ne puissent être exploitées par des attaquants.

Enfin, les services de sécurité gérés d’Edgio sont également prêts à vous aider à mettre en œuvre ou à gérer entièrement la sécurité de vos applications Web. Avec 24/7 opérations de sécurité, une équipe dédiée de veille stratégique sur les menaces et des architectes de sécurité assignés, vous pouvez être assuré que vos ressources Web sont surveillées en permanence et protégées contre les menaces les plus récentes, ce qui permet à vos équipes de se concentrer sur l’innovation pendant que nous traitons vos besoins en matière de sécurité.

Si vous avez des questions ou avez besoin d’aide pour protéger vos sites Web contre les attaques de la chaîne d’approvisionnement, n’hésitez pas à contacter les experts en sécurité d’Edgio.