Apple, Microsoft et PayPal parmi 35 organisations compromises par une attaque de dépendances jumelles maléfiques

  • FrançaisFrançais


  • L’an dernier, Alex Birsan, chasseur de bogues, a réussi à compromettre la chaîne logistique logicielle de 35 entreprises en exploitant les mécanismes de packaging utilisés par les développeurs JavaScript, Python et Ruby.

    Dans un article publié mardi, Birsan raconte comment il a réussi à distribuer du code malveillant de preuve de concept via le registre npm, PyPI (Python Package Index) et RubyGems, qui sont utilisés par les développeurs pour installer des bibliothèques de logiciels qui ajoutent des fonctionnalités à leurs applications.

    L’intégration de bibliothèques de logiciels tiers à partir de registres publics nécessite un degré élevé de confiance dans ceux qui créent et téléchargent des packages logiciels, la confiance a souvent été abusée par des techniques telles que la faute de frappe ou la compromission du compte d’un responsable de bibliothèque.

    Ces systèmes d’empaquetage sont publics dans la mesure où tout développeur peut ajouter des noms de package spécifiques à son code et charger ces bibliothèques à partir d’un référentiel distant dans l’environnement où l’application qui contient les modules s’exécutera.

    Mais ils permettent également des dépendances privées – des bibliothèques de code utilisées en interne dans une organisation qui ne sont pas accessibles au grand public.

    Birsan a cherché à savoir s’il pouvait identifier les noms des packages privés utilisés dans les entreprises et créer des packages malveillants en utilisant ces noms de bibliothèques pour les placer dans les registres publics de packages – les index qui gardent une trace des modules logiciels disponibles.

    Les noms des packages privés se sont avérés assez faciles à trouver, en particulier dans l’écosystème Node.js / JavaScript, car les fichiers package.json privés apparaissent assez souvent dans les référentiels de logiciels publics.

    Biran a donc créé des bibliothèques portant le même nom qu’il a conçues pour faufiler les données de configuration du système à travers les pare-feu d’entreprise. Son schéma d’exfiltration reposait sur le codage hexadécimal des informations et en faisait une partie d’une requête DNS vers un serveur DNS personnalisé qu’il contrôlait.

    Polluer le flux de codage

    Le défi est alors devenu d’obtenir des applications qui nécessitent des bibliothèques privées pour rechercher ces noms de fichiers dans une source publique polluée.

    En fait, il est courant pour les développeurs de logiciels d’entreprise de s’appuyer sur une configuration hybride pour leurs applications, une configuration qui référence les packages internes privés mais prend également en charge la récupération des dépendances à partir d’un registre public, afin de s’assurer que les packages sont à jour.

    Un assortiment de pansements / emplâtres

    Plus de correctifs pour SolarWinds Orion après que les chercheurs ont trouvé une faille permettant aux utilisateurs à faible priv d’exécuter du code, entre autres

    LIRE LA SUITE

    «Les développeurs internes publient leurs packages sur ce flux privé, et les consommateurs vérifient les flux privés et publics pour les meilleures versions disponibles des packages requis», explique Microsoft dans un article publié conjointement avec la divulgation de Birsan. “Cette configuration présente un risque pour la chaîne d’approvisionnement: l’attaque de substitution.”

    L’attaque de substitution – demander aux applications de rechercher des dépendances et de récupérer des versions malveillantes portant le même nom à partir d’une source publique mal sécurisée au lieu d’une source contrôlée par l’entreprise – a fini par fonctionner plutôt bien pour Birsan.

    «Qu’il s’agisse d’erreurs ponctuelles commises par les développeurs sur leurs propres machines, de serveurs de build internes ou cloud mal configurés, ou de pipelines de développement systémiquement vulnérables, une chose était claire: squatter des noms de packages internes valides était une méthode presque infaillible les réseaux de certaines des plus grandes sociétés de technologie, obtenant l’exécution de code à distance et permettant éventuellement aux attaquants d’ajouter des portes dérobées pendant les builds », a-t-il expliqué.

    Les entreprises que Birsan a réussi à attaquer avec cette technique incluent Apple, Microsoft, Netflix, PayPal, Shopify, Tesla, Uber et Yelp. Et pour ses efforts, il a reçu au moins 130 000 $ de programmes de prime aux bogues impliquant ces entreprises.

    Le succès de Birsan dans la réalisation de telles attaques devrait déclencher l’alarme. Les attaques de la chaîne logistique logicielle présentent un degré de risque plus élevé que de nombreux scénarios de menace, car elles ont le potentiel d’affecter autant de victimes en aval. Rappelons que le compromis du système de build SolarWinds, parmi les incidents de sécurité logicielle les plus importants de mémoire récente, était une attaque de la chaîne d’approvisionnement.

    Les fichiers de preuve de concept malveillants de Birsan ont été détectés par les systèmes de détection automatisés de la sécurité biz Sonatype, mais la société a permis à l’expérience de se poursuivre après s’être entretenue avec lui et avoir discuté du calendrier de divulgation.

    Sonatype, dont le CTO a soulevé des inquiétudes concernant le manque de gestion appropriée des espaces de noms dans les écosystèmes open source il y a des années, a publié hier un script pour aider les entreprises à vérifier si leurs noms de packages internes peuvent être trouvés dans les registres de packages publics. Selon l’entreprise, il y a eu une augmentation de 430% des attaques de la chaîne d’approvisionnement logicielle en amont. ®

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *