Une nouvelle vague de cyberattaques, baptisée « GlassWorm », exploite une faiblesse fondamentale du développement logiciel moderne : le recours au code open source. Les chercheurs ont découvert que des acteurs malveillants cachent du code exécutable dans des logiciels apparemment inoffensifs en utilisant des caractères Unicode invisibles. Cette méthode permet aux logiciels malveillants d’échapper aux contrôles de sécurité standards, compromettant ainsi des centaines de projets sur des plateformes telles que GitHub et npm.
La menace silencieuse : comment fonctionne GlassWorm
Le cœur de l’attaque réside dans l’exploitation de la manière dont les ordinateurs interprètent le texte. Les attaquants insèrent du code subtil, mais fonctionnel, dans des projets open source. Ces modifications semblent inoffensives à l’œil humain mais sont exécutables par un ordinateur. Justin Cappos, professeur d’informatique à l’Université de New York, le décrit comme un message caché à la vue de tous, comme une modification subtile des couleurs de l’encre pour intégrer des données supplémentaires.
Ce n’est pas une nouvelle technique ; en 2021, des chercheurs de l’Université de Cambridge ont identifié des vulnérabilités similaires appelées « Trojan Source ». Cependant, GlassWorm se distingue par son échelle et sa sophistication. Les attaquants soumettent des correctifs apparemment mineurs à des logiciels populaires, intégrant des instructions malveillantes qui restent non détectées.
Le risque de la chaîne d’approvisionnement
Le véritable danger de GlassWorm réside dans sa capacité à exploiter la chaîne d’approvisionnement logicielle. Les applications modernes partent rarement de zéro ; au lieu de cela, ils s’appuient sur des bibliothèques et des dépendances pré-écrites. Cela signifie qu’un seul package compromis peut infecter d’innombrables projets. Un attaquant n’a pas besoin de cibler directement une application ; ils peuvent empoisonner un élément de base commun, garantissant ainsi la propagation automatique du malware.
Entre le 3 et le 9 mars, des sociétés de cybersécurité ont identifié l’activité de GlassWorm dans des centaines de référentiels, notamment ceux écrits en JavaScript, TypeScript et Python. Le 16 mars, deux packages auparavant sains, avec plus de 135 000 téléchargements mensuels, avaient été infectés. L’objectif des attaquants est purement financier : le code caché télécharge des scripts secondaires conçus pour voler la crypto-monnaie, les informations d’identification des développeurs et d’autres données précieuses.
Le plus gros problème : une sécurité sous-financée
Le succès de GlassWorm met en évidence un problème crucial. La sécurité de la chaîne d’approvisionnement logicielle a toujours été négligée. Alors que les acteurs étatiques exploitent ces vulnérabilités depuis des années, les cybercriminels profitent désormais de cette opportunité. Cappos soutient que blâmer les responsables est une distraction ; le vrai problème est des outils de sécurité inadéquats.
“La chose la plus simple à faire est d’essayer de blâmer les responsables, mais c’est un peu myope. Les outils et les protections de sécurité doivent s’améliorer pour nous sauver.”
Cette attaque souligne la nécessité de méthodes de détection améliorées et d’une infrastructure de sécurité plus robuste. La confiance dans l’écosystème open source est mise à l’épreuve, et les conséquences pourraient être généralisées jusqu’à ce que de meilleures défenses soient mises en place.
