Une nouvelle attaque à grande échelle de la chaîne d’approvisionnement a été observée ciblant les développeurs Azure avec pas moins de 218 packages NPM malveillants dans le but de voler des informations personnelles identifiables.
« Après avoir inspecté manuellement certains de ces paquets, il est devenu évident qu’il s’agissait d’une attaque ciblée contre l’ensemble Portée @azure NPMpar un attaquant qui a utilisé un script automatique pour créer des comptes et télécharger des packages malveillants qui couvrent l’intégralité de cette portée », ont déclaré les chercheurs de JFrog, Andrey Polkovnychenko et Shachar Menashe. mentionné dans un nouveau rapport.
L’ensemble des packages malveillants a été divulgué aux responsables du NPM environ deux jours après leur publication, ce qui a entraîné leur suppression rapide, mais pas avant que chacun des packages ait été téléchargé environ 50 fois en moyenne.
L’attaque fait référence à ce qu’on appelle le typosquatting, qui se produit lorsque des acteurs malveillants poussent des packages malveillants avec des noms imitant des bibliothèques légitimes vers un registre de logiciels public tel que NPM ou PyPI dans l’espoir d’inciter les utilisateurs à les installer.
Dans ce cas précis observé par la firme DevSecOps, l’adversaire aurait créé des dizaines d’homologues malveillants portant le même nom que leurs packages de portée @azure existants mais sans le nom de la portée (par exemple, @azure/core-tracing vs core- tracé).
« L’attaquant s’appuie sur le fait que certains développeurs peuvent omettre par erreur le préfixe @azure lors de l’installation d’un package », ont déclaré les chercheurs. « Par exemple, exécuter npm install core-tracing par erreur, au lieu de la commande correcte – npm install @azure/core-tracing. »
Non seulement l’attaque a tiré parti d’un nom d’utilisateur unique pour télécharger chaque package dans le référentiel afin d’éviter d’éveiller les soupçons, mais les bibliothèques contenant des logiciels malveillants comportaient également des numéros de version élevés (par exemple, 99.10.9), indiquant une tentative de mener une attaque de confusion de dépendance. .
Si un développeur installe involontairement l’un de ces packages, cela conduit à l’exécution d’une charge utile de reconnaissance conçue pour répertorier les répertoires ainsi que pour collecter des informations sur le répertoire de travail actuel de l’utilisateur et les adresses IP liées aux interfaces réseau et aux serveurs DNS, le tout étant exfiltré vers un serveur distant codé en dur.
« En raison de l’augmentation fulgurante des attaques de la chaîne d’approvisionnement, en particulier via les référentiels de packages NPM et PyPI, il semble qu’un examen plus approfondi et des mesures d’atténuation devraient être ajoutés », ont déclaré les chercheurs.
« Par exemple, l’ajout d’un mécanisme CAPTCHA à la création d’utilisateurs npm ne permettrait pas aux attaquants de créer facilement un nombre arbitraire d’utilisateurs à partir desquels des packages malveillants pourraient être téléchargés, ce qui faciliterait l’identification des attaques. »