L'écosystème open source est la pierre angulaire du développement de logiciels modernes, favorisant l'innovation et la collaboration. Cependant, son ouverture même le rend vulnérable à diverses cybermenaces. Selon un rapport de Comparitech, en 2023, plus de 100 millions de souches de logiciels malveillants et d'applications potentiellement indésirables (PUA) ont été identifiées, démontrant que les attaques liées aux logiciels malveillants restent une grave cybermenace.
Nouvelles familles de logiciels malveillants dans les packages Open Source
Logiciel malveillant d'installation-falsification
Comment ils travaillent: Ce type de malware altère le processus d'installation des packages open source. Il injecte du code malveillant lors de l’installation du package, qui peut ensuite s’exécuter chaque fois que le package est utilisé.
Vulnérabilités exploitées : Installation-Sabotage les logiciels malveillants exploitent la confiance que les utilisateurs place dans des référentiels open source et le manque de contrôles de sécurité rigoureux pendant le processus d'installation du package.
Stratégies de protection : Pour vous protéger contre les logiciels malveillants de falsification d'installation, il est essentiel d'utiliser des packages vérifiés et signés, d'activer l'authentification à deux facteurs pour les comptes de référentiel et d'effectuer régulièrement des audits de sécurité des dépendances.
Exemple de code malveillant Install-Tamper : npm Package « colors » (2022)
Description :
Le package « colors » est une bibliothèque npm populaire utilisée pour ajouter des effets de couleur aux journaux de la console. Il est largement utilisé dans diverses applications Node.js.
Comment cela a fonctionné:
Début 2022, une version du Paquet « couleurs » a été malicieusement modifié pour inclure un script de boucle infinie dans son fichier principal. Cette modification a été effectuée par le responsable du projet lui-même, qui l'aurait fait pour protester contre l'utilisation par les entreprises de projets open source sans soutien ni dons adéquats.
Impact:
Cette modification a provoqué le crash de toute application utilisant la version compromise de « colors », entraînant des perturbations généralisées parmi de nombreuses entreprises et systèmes logiciels qui dépendaient du package pour leurs opérations.
Leçons apprises:
Cet incident met en évidence les vulnérabilités inhérentes au modèle de gestion des paquets open source, basé sur la confiance. Il souligne la nécessité pour les mainteneurs de respecter des règles éthiques. standards et que les utilisateurs effectuent des analyses et des tests approfondis des dépendances tierces dans leurs environnements de développement. L'affaire « couleurs » souligne également l'importance de soutenir les mainteneurs open source afin d'éviter l'épuisement professionnel et les représailles contraires à l'éthique.
Porte dérobée de première utilisation
Comment ils travaillent: Cette porte dérobée s'active lorsqu'un package open source est importé et utilisé pour la première fois. Il peut envoyer des informations système à un serveur distant ou télécharger des charges utiles supplémentaires.
Vulnérabilités exploitées : Les portes dérobées de première utilisation profitent de l’exécution de code non vérifié lors de la première utilisation d’un package, contournant souvent les outils d’analyse statique.
Stratégies de protection : L'examen et la surveillance du code des packages nouvellement importés et l'utilisation d'outils d'analyse dynamique pour détecter les comportements inhabituels sont essentiels pour se défendre contre les portes dérobées de première utilisation.
Exemple de porte dérobée de première utilisation : incident de porte dérobée Webmin (2019)
Description :
Webmin est une interface Web populaire pour l'administration système sous Unix. En 2019, il a été découvert que le logiciel avait été compromis avec un détourné qui était présent dans le code depuis plus d’un an avant d’être détecté.
Comment cela a fonctionné:
La porte dérobée a été secrètement introduite dans le référentiel Webmin GitHub via un serveur de build compromis. Le code malveillant n'était actif que si l'administrateur modifiait le mot de passe à l'aide de l'interface Webmin. Une fois déclenché, il permettait l'exécution de commandes à distance avec les privilèges root.
Impact:
La porte dérobée était livrée avec les versions Webmin 1.882 à 1.921, affectant potentiellement plus de trois millions de sites Web et de serveurs. La porte dérobée a ouvert les systèmes à des attaquants distants qui pourraient potentiellement prendre le contrôle total du serveur, entraînant ainsi un vol de données, un détournement de serveur et une nouvelle compromission du réseau.
Leçons apprises:
Cet incident met en évidence la vulnérabilité critique qui peut survenir lorsque les processus de build sont compromis. Cela souligne l’importance de sécuriser les serveurs de build et de réaliser régulièrement des audits de sécurité du cycle de vie du développement logiciel. Le cas Webmin démontre également la nécessité d’un contrôle approfondi des mises à jour logicielles, même lorsqu’elles proviennent de sources fiables.
Ver de compromission d'exécution
Comment ils travaillent: Ce ver est dormant dans un package open source et s'active pendant l'exécution, se propageant potentiellement à d'autres packages et systèmes.
Vulnérabilités exploitées : Les vers à compromis d'exécution exploitent la nature interconnectée des projets open source dans lesquels un package compromis peut en affecter d'autres.
Stratégies de protection : La mise en œuvre de systèmes stricts de surveillance du comportement d’exécution et de détection des anomalies peut aider à identifier et à atténuer ces menaces.
Exemple de compromis d'exécution P2PInfect : le ver rouillé auto-réplicatif peer-to-peer
Description :
P2PInfecter est un ver peer-to-peer (P2P) découvert par les chercheurs du cloud de l'Unité 42.
Écrit en Rust, un langage de programmation hautement évolutif et compatible avec le cloud, ce ver est capable d'infecter plusieurs plates-formes et cible Redis, une application de base de données open source populaire largement utilisée dans les environnements cloud.
Comment ça fonctionne
Exploitation initiale :
- P2PInfect exploite la vulnérabilité d'échappement du bac à sable Lua, CVE-2022-0543, dans les instances Redis vulnérables.
- Cette vulnérabilité permet au ver d'exécuter du code arbitraire dans l'environnement de script Lua.
Livraison de la charge utile :
- Une fois l’accès initial obtenu, P2PInfect supprime une charge utile initiale qui établit une communication P2P avec un réseau plus vaste.
- Le ver extrait ensuite des fichiers binaires malveillants supplémentaires, notamment des scripts spécifiques au système d'exploitation et des logiciels d'analyse.
Propagation:
- L'instance Redis infectée rejoint le réseau P2P, donnant accès à d'autres charges utiles pour les futures instances Redis compromises.
- P2PInfect cible à la fois les systèmes d'exploitation Linux et Windows, ce qui le rend plus évolutif et plus puissant que les autres vers.
Impact :
Les chercheurs de l'unité 42 ont identifié plus de 307,000 934 systèmes Redis uniques communiquant publiquement au cours des deux dernières semaines, dont 2 pourraient être vulnérables à cette variante du ver PXNUMXP.
P2PInfect sert d’exemple d’attaque sérieuse que les acteurs pourraient mener en utilisant cette vulnérabilité.
Leçons apprises:
Les développeurs doivent examiner et vérifier leurs packages, maintenir les dépendances à jour et être prudents quant aux noms et sources des packages.
La vigilance et la surveillance continue sont essentielles pour prévenir de telles attaques sur la chaîne d'approvisionnement.
Attaque en chaîne de dépendances
Comment ils travaillent: Les attaquants compromettent un package dans une chaîne de dépendances, ce qui affecte ensuite tous les autres packages qui en dépendent.
Vulnérabilités exploitées : Cette attaque exploite la confiance dans les dépendances des packages et l'effet en cascade d'un package compromis.
Stratégies de protection : L’utilisation d’un outil d’analyse de composition logicielle pour suivre et gérer les composants open source et leurs dépendances peut protéger contre les attaques par chaîne de dépendances.
Exemple d'attaque en chaîne de dépendances du package npm « event-stream » (2018) : un compromis sur la chaîne d'approvisionnement
Description :
En 2018, le package npm populaire appelé « flux d'événements » a été compromis.
L’attaque impliquait une manipulation de la chaîne de dépendances qui affectait des utilisateurs peu méfiants.
Comment cela a fonctionné:
Compromis initial :
- L'attaquant a repris une dépendance moins utilisée appelée « flatmap-stream ».
- Ils ont injecté du code malveillant dans « flatmap-stream ».
Propagation:
- Le « flatmap-stream » compromis a été inclus en tant que dépendance dans le package « event-stream » largement utilisé.
- De nombreux projets ont installé sans le savoir le package « event-stream » compromis.
Impact:
L'attaquant a eu accès à des informations sensibles provenant d'utilisateurs sans méfiance.
L’incident a mis en évidence les risques d’attaques de la chaîne d’approvisionnement via les dépendances.
Leçons apprises:
Les développeurs doivent examiner et vérifier leurs packages, maintenir les dépendances à jour et être prudents quant aux noms et sources des packages.
La vigilance et la surveillance continue sont essentielles pour prévenir de telles attaques sur la chaîne d'approvisionnement.
Protégez vos projets Open Source avec Xygeni
Comme nous l’avons vu, l’écosystème open source est une arme à double tranchant : s’il favorise l’innovation, il expose également votre logiciel à des risques importants, comme installer un sabotage Malwares, portes dérobées de première utilisation et attaques par chaîne de dépendance. Les conséquences de ces menaces sont graves et il est essentiel de protéger votre chaîne d'approvisionnement en logiciels.
Xygéni propose des solutions performantes conçues pour défendre vos projets open source contre ces menaces en constante évolution. Nos outils garantissent la sécurité de vos dépendances, préservant la résilience de vos logiciels et la fluidité de votre processus de développement.
Rendre le De plus intelligentcisions avec analyse complète des packages
Étant donné la complexité des packages open source, il est essentiel de faire des choix éclairés. Analyse complète du package vous permet d'évaluer rapidement la sécurité des composants open source. Grâce à notre plateforme, vous pouvez sélectionner en toute confiance des packages sûrs et fiables, évitant ainsi les risques liés aux dépendances non sécurisées. En créant des solutions intelligentes,cisEn intégrant les ions en amont, vous créez des applications plus solides et plus sécurisées qui résistent à l'épreuve du temps.
Défendez-vous de manière proactive grâce à la détection des logiciels malveillants en temps réel
Réagir aux menaces après qu'elles aient infiltré votre système ne suffit pas. C'est pourquoi Xygeni propose Détection des logiciels malveillants en temps réel pour détecter les menaces telles que les malwares zero-day dès leur apparition. Notre système bloque immédiatement le code malveillant, l'empêchant ainsi d'atteindre votre environnement de développement. En agissant rapidement, vous garantissez la sécurité de vos projets dès le début.
Sécurisez votre chaîne d'approvisionnement grâce à une surveillance continue
Dans le monde en évolution rapide du développement de logiciels, des changements se produisent constamment. Surveillance continue de la chaîne d'approvisionnement garde un œil vigilant sur chaque mise à jour. Notre protection proactive détecte et bloque les modifications suspectes dans vos dépendances, empêchant ainsi les packages compromis d'entrer dans vos projets. Avec Xygeni, vous maintenez une chaîne d'approvisionnement sécurisée et fiable, protégeant ainsi votre logiciel contre les menaces potentielles.
Prenez le contrôle de votre sécurité avec Xygeni
Comme vous l'avez vu, les risques liés aux logiciels open source sont réels et croissants. Les solutions de sécurité de Xygeni vous offrent les outils nécessaires pour gérer efficacement ces risques. En vous concentrant sur la détection précoce, l'analyse complète des packages et la surveillance continue, vous pouvez protéger vos logiciels contre les menaces émergentes. Ne laissez pas vos projets open source vulnérables : améliorez votre stratégie de sécurité dès aujourd'hui avec Xygeni et ayez l'esprit tranquille en sachant que vos logiciels et vos données sont sécurisés.
Prêt à sécuriser vos projets open source ? Laissez Xygeni vous aider à garder une longueur d’avance sur les menaces et à créer des logiciels résilients capables de gérer tout ce qui va suivre.
Regardez notre démo vidéo





