banner
Maison / Nouvelles / VMConnect : les packages PyPI malveillants imitent les modules open source populaires
Nouvelles

VMConnect : les packages PyPI malveillants imitent les modules open source populaires

Jul 28, 2023Jul 28, 2023

Accueil » Calendrier éditorial » Sécurité de la chaîne d'approvisionnement logicielle » VMConnect : les packages PyPI malveillants imitent les modules open source populaires

ReversingLabs a identifié plusieurs packages Python malveillants sur le référentiel open source Python Package Index (PyPI). Au total, les chercheurs de ReversingLabs ont découvert 24 packages malveillants imitant trois outils Python open source populaires : vConnector, un module wrapper pour les liaisons pyVmomi VMware vSphere ; ainsi que eth-tester, une collection d'outils pour tester les applications basées sur Ethereum ; et bases de données,un outil qui prend en charge asyncro une gamme de bases de données.

Sur la base des observations de l'équipe de recherche, la campagne a débuté vers le 28 juillet 2023, lorsque le premier des packages malveillants a été publié. Cela se poursuit encore aujourd'hui, avec de nouveaux packages PyPI malveillants publiés quotidiennement, à mesure que les packages précédents sont détectés et supprimés.

Contrairement à d'autres campagnes récentes sur la chaîne d'approvisionnement, telles que l'Opération Brainleeches, les packages malveillants qui composent cette campagne témoignent d'un effort concerté visant à tromper les développeurs. Ils y parviennent en implémentant l'intégralité des fonctionnalités des modules qu'ils imitent et en créant des projets GitHub correspondants et liés qui omettent les fonctionnalités malveillantes trouvées dans le package de version PyPI.

Ce n’est pas la première fois que nous observons un tel comportement. En juin 2022, par exemple, nous avons découvert un package malveillant npm, maintenancewebsite, qui utilisait une approche similaire pour masquer les fonctionnalités de cryptomining. La campagne VMConnect est le dernier exemple d'utilisation de modules open source pour propager du code malveillant, et une preuve supplémentaire que les évaluations de sécurité des référentiels de code open source peuvent passer à côté de ces attaques nuancées.

L'équipe de recherche de ReversingLabs surveille en permanence les référentiels de packages open source pour détecter les cas de falsification de code malveillant, l'implantation de packages ou de dépendances malveillants et d'autres formes d'attaques de la chaîne d'approvisionnement logicielle. Ce travail implique une analyse et une analyse à la fois automatisées et dirigées par l'homme des packages publiés dans les référentiels de packages publics les plus populaires tels que npm, PyPI, Ruby et NuGet.

Historiquement, la grande majorité des campagnes malveillantes de la chaîne d'approvisionnement que nous avons identifiées ont été trouvées sur le référentiel open source npm, qui héberge la part du lion des projets et des développeurs open source. Cependant, ces derniers mois, d’autres plates-formes, en particulier Python Package Index (PyPI), ont connu une augmentation des activités malveillantes. En février, par exemple, les chercheurs de ReversingLabs ont découvert 41 packages PyPI malveillants se faisant passer pour des bibliothèques HTTP, certains imitant des bibliothèques populaires et largement utilisées. En mars, nous avons rencontré un package PyPI malveillant nommé termcolour, un téléchargeur en trois étapes publié en plusieurs versions qui cooptait le nom d'un package PyPI défunt. Puis, en mai, PyPI a brièvement cessé d’accepter de nouvelles soumissions après avoir été submergé de soumissions malveillantes.

Les chercheurs en menaces de ReversingLabs ont identifié une nouvelle campagne PyPI malveillante qui inclut un package VMConnect suspect publié dans le référentiel PyPI.

Ce package a été déclaré suspect lors d'une analyse de routine par ReversingLabs Titanium Platform, un puissant moteur d'analyse statique capable d'extraire divers types de métadonnées à partir d'un large éventail de formats de fichiers.

Outre les différents types de métadonnées, la plateforme ReversingLabs Titanium est également capable d'extraire des indicateurs de comportement, facilitant ainsi la compréhension des capacités fonctionnelles d'un fichier. Et c'est cette fonctionnalité qui a attiré notre attention sur le fichier _init_.py dans VMConnect. Le code contenu dans le fichier __init__.py de VMConnect est capable de créer un processus, de décoder les données à l'aide de l'algorithme Base64 et de convertir les données binaires en leur représentation sous forme de chaîne — un comportement couramment utilisé en matière d'obscurcissement. C’est cette combinaison de comportements qui a déclenché la détection initiale et a donné lieu à une enquête plus approfondie.

Figure 1 : Indicateurs de comportement extraits du package VMConnect.