RAT dans le temps d'importation la menace de la chaîne d'approvisionnement npm qui utilise blockchains pour la persistance

Auteur: Publié 5 min de lectura 184 lecture

Les images de cet article ont été générées par intelligence artificielle. Notre méthode de publication

L'infection découverte dans deux versions bêta de l'espace de noms @ joyfill confirme une tendance dangereuse dans laquelle les paquets apparemment inoffensifs de l'écosystème de npm agissent comme vecteurs d'accès à distance persistants : dans ce cas, un implant de type RAT associé à la famille DEV # POPPER qui est activé au moment de l'importation du module et non par des crochets conventionnels du cycle de vie.

Ce qui distingue cet incident, c'est l'utilisation Infrastructure de contrôle et de contrôle multiblocs (Tron, Aptos et BNB Smart Chain) résoudre et distribuer le code chiffré, ainsi qu'une branche redondante qui lance un processus Node.js séparé qui consulte un serveur IP pour télécharger une seconde charge utile. Cette combinaison fournit à l'attaquant une résilience opérationnelle inhabituelle: ils peuvent mettre à jour ou changer la charge utile sans republier le paquet en npm et le processus déposé peut survivre à l'exécution d'une construction ou d'un test, créant une persistance en dehors du flux de vie attendu du développeur.

RAT dans le temps d'importation la menace de la chaîne d'approvisionnement npm qui utilise blockchains pour la persistance
Image générée avec IA.

Du point de vue du risque, cela a plusieurs implications critiques. Premièrement, tout processus qui importe le paquet est exposé à l'exécution arbitraire du code, y compris les environnements de développement, les coureurs CI, construire des images et des serveurs de rendu. Deuxièmement, la capacité des logiciels malveillants de collecter des références et des outils de développement - tels que les gestionnaires de références, les extensions de navigateur, les données GitHub CLI ou les jetons stockés - multiplie l'impact potentiel parce qu'il permet la latéralité et le vol de secrets qui facilitent ensuite des engagements supplémentaires.

Un autre point important est la sophistication opérationnelle: l'utilisation de transactions dans différentes chaînes de blocs comme canal de couverture pour livrer des hachages ou des fragments de charge utile rend difficile la médiation et la traçabilité conventionnelles, et l'utilisation de différentes adresses, comptes et transactions dans chaque branche complique la détection par de simples signatures. Les enquêtes publiques qui ont associé des techniques similaires à des grappes de suivi telles que PolinRider et les campagnes attribuées aux acteurs nord-coréens mettent en évidence la probabilité d'une opération délibérée et axée sur les ressources.

Si vos images de projet, d'organisation ou d'IC ont utilisé les versions concernées, la première approche devrait être de supposer que l'exécution arbitraire a eu lieu et d'agir en conséquence: supprimer les versions compromises de Lockfiles, caches, miroirs internes, construire des images et des artefacts déployés; reconstruire des images à partir de sources propres; et tourner immédiatement les identifiants et les jetons associés au processus Node.js ou aux agents de l'IC qui ont pu exécuter ces paquets. Il convient également de rechercher des preuves de processus Node.js qui ont été supprimés dans les dossiers, des connexions sortantes inhabituelles (par exemple à la PI mentionnée dans l'analyse) et des activités d'exfiltration.

Au niveau opérationnel, il convient d'ajouter des contrôles de confinement : restreindre l'évacuation des coureurs et des constructeurs, bloquer les connexions aux hôtes suspects et aux adresses IP au niveau du réseau, et analyser les machines de développement pour détecter les artefacts RAT et infostealer (par exemple, les fichiers binaires temporaires, persistants ou les sockets ouverts). Pour les interventions en cas d'incident, capturez des images médico-légales des machines impliquées avant de les nettoyer et corrélez les registres d'IC, les dossiers d'emballage et les paramètres télémétriques pour estimer la portée et les vecteurs pivotants.

Pour réduire la probabilité de récurrence, mettre en oeuvre des mesures techniques et organisationnelles : utiliser la vérification de l'intégrité des unités et le blocage des versions, appliquer des politiques de moindre privilège pour les jetons d'IC et les titres de créance stockés dans les coureurs, adopter des pratiques de signature et de réponse de l'appareil (p. ex., des solutions d'essai telles que les cadres Sigstore et SLSA) et générer un Bill of Materials (SBOM) pour les images et les versions. En outre, limiter l'accès aux secrets des processus de construction et utiliser des jetons éphémères lorsque cela est possible pour réduire l'exposition temporaire.

RAT dans le temps d'importation la menace de la chaîne d'approvisionnement npm qui utilise blockchains pour la persistance
Image générée avec IA.

De la communauté de développement, la leçon est tangible: les paquets qui sont chargés dans le temps d'importation peuvent exécuter le code immédiatement, donc même les unités marquées "développement seulement" peuvent donner lieu à des engagements s'ils finissent en images ou en coureurs. L'examen et le durcissement des pipelines pour empêcher les devDependences d'atteindre des environnements avec des secrets ou des références est une bonne pratique préventive.

Pour l'analyse technique et les contextes similaires, les rapports publics et l'analyse des campagnes liées à la chaîne d'approvisionnement et aux logiciels malveillants fournissent plus de détails et de recommandations: l'équipe de recherche Checkmark publie l'analyse de ces menaces sur son portail de recherche ( Recherche Checkmarx) et les anciens combattants en réponse comme eSentire ont documenté des familles d'infostealers comparables ( Blog eSentire). Pour les mesures et guides de sécurité spécifiques sur la plate-forme et l'exécution, la page officielle Node.js sur la sécurité est un bon point de départ ( Node.js Sécurité).

Enfin, le traitement d'un paquet comme celui de @ joyfill / layouts dans sa version compromise devrait être rigoureux: assumer l'exécution à distance, révoquer et faire pivoter les pouvoirs, reconstruire les artefacts à partir de sources fiables et améliorer les contrôles automatiques de l'IC. La prévention et la détection précoce de l'ingénierie de la chaîne d'approvisionnement nécessitent des contrôles techniques et une sensibilisation opérationnelle entre les concepteurs, les équipes de sécurité et les gestionnaires de l'infrastructure.

Couverture

Autres

Plus de nouvelles sur le même sujet.