Une porte dérobée cachée dans un package Go est restée indétectée pendant des années

Une Porte Dérobée Cachée Dans Un Package Go Est Restée

Une faille inquiétante a été mise au jour dans le monde de la programmation avec le langage Go, permettant à des cybercriminels de détourner des projets open-source en logiciels malveillants. Cette attaque a révélé des vulnérabilités dans le service de proxy de Google, mettant en lumière les dangers croissants au sein des chaînes d’approvisionnement numériques.

La vue d’ensemble : Le langage de programmation Go a été conçu pour offrir une syntaxe similaire à celle du C tout en accordant la priorité à la sécurité de la mémoire et à la sûreté. Également connu sous le nom de Golang, Go a gagné en popularité tant chez les développeurs légitimes que chez les cybercriminels ingénieux.

Go, l’un des langages de programmation les plus prisés aux côtés de standards « traditionnels » tels que Python, C et Visual Basic, a été exploité pour transformer des projets open-source légitimes en logiciels malveillants. Le cœur du problème résidait dans le service proxy.golang.org, propriété de Google, qui sert de miroir aux développeurs pour récupérer rapidement et installer des modules Go sans avoir besoin d’accéder à leurs dépôts GitHub d’origine.

L’attaque de la chaîne d’approvisionnement a été récemment découverte par la société de sécurité Socket Inc., qui a joué un rôle clé dans la suppression du paquet malveillant. Le Go Module Mirror hébergeait une version modifiée d’un paquet Go légitime appelé boltdb, utilisé par des milliers d’autres paquets logiciels. Cette version malveillante est entrée sur le serveur proxy de Google en 2021 et a été distribuée aux développeurs Go au moins jusqu’à lundi dernier.

Le service proxy de Google accorde la priorité à la mise en cache pour des raisons de performance, comme l’a expliqué Socket, et conserve un paquet mis en cache même après des modifications de la source d’origine. Les cybercriminels ont utilisé une technique de typosquatting pour créer un nouveau dépôt sur GitHub (boltdb-go/bolt), avec une URL ressemblant à l’originale, propre (boltdb/bolt).

Une porte derobee cachee dans un package Go est restee

Le module malveillant contenait un payload de porte dérobée contrôlé par les acteurs de menaces via un serveur de commandement et de contrôle externe. Après que le module ait été récupéré par le Go Module Mirror de Google, les cybercriminels ont modifié le dépôt GitHub en revenant à une version propre du paquet. Cela a permis à la porte dérobée de rester inaperçue tout en se cachant dans le serveur proxy pendant des années.

La porte dérobée était conçue pour créer une adresse IP et un port cachés, qui étaient utilisés pour vérifier le serveur C2 pour d’autres ordres et commandes. L’IP appartenait à la société d’hébergement Hetzner Online, un fournisseur d’infrastructure légitime et digne de confiance, ce qui offrait une couche supplémentaire d’ « invisibilité » au logiciel malveillant.

Socket a expliqué que, contrairement à d’autres opérations malveillantes « indiscriminées », ce particulier backdoor Go était conçu pour maximiser la probabilité de réussites des attaques et rester non détecté le plus longtemps possible. La société a également rencontré de la résistance de la part de Google dans ses efforts pour retirer le paquet malveillant.

L’entreprise de sécurité a d’abord demandé aux gestionnaires du proxy de supprimer le module contenant la porte dérobée la semaine dernière, mais le problème est resté non résolu. Après un suivi cette semaine, le Go Module Mirror de Google a finalement traité le problème il y a quelques jours.