Getty Images/iStockphoto
Attaque contre les outils de la chaîne logistique logicielle dans GitHub
Checkmarx invite les développeurs à faire preuve de prudence lorsqu’ils choisissent les référentiels à utiliser, car les pirates manipulent les fonctionnalités de GitHub dans la chaîne logistique logicielle pour renforcer leurs codes malveillants.
Checkmarx, éditeur spécialisé dans les outils de test de sécurité applicative, a découvert que des attaquants manipulaient les fonctionnalités de GitHub pour distribuer des logiciels malveillants et averti que la tendance actuelle pose des risques importants pour l’intégrité de la chaîne logistique logicielle, notamment dans le développement Open Source.
Dans un billet de blog publié il y a quelques jours, Yehuda Gelb, chercheur en sécurité chez Checkmarx, a décrit une campagne d’attaque survenue récemment et dans laquelle des acteurs de la menace ont incité des développeurs à télécharger des fichiers de projet Visual Studio malveillants en manipulant la fonctionnalité de recherche de GitHub. Les attaquants se sont appuyés sur les actions GitHub pour mettre automatiquement en évidence les dépôts malveillants et ont attiré les développeurs en tirant parti de la notation par étoiles de GitHub, une fonction mise en œuvre pour promouvoir la confiance entre les utilisateurs de la plateforme collaborative dédiée aux développeurs.
Yehuda GelbChercheur en sécurité, Checkmarx,
Au cours de cette campagne d’attaque, les acteurs non identifiés ont créé des dépôts GitHub avec des noms et des sujets séduisants pour augmenter le nombre de clics. Yehuda Gelb conseille aux développeurs d’être prudents lorsqu’ils utilisent les résultats de recherche, notamment ceux qui remontent en premier, car c’est sur eux que comptent les attaquants.
« Ces dépôts sont habilement déguisés en projets légitimes, souvent liés à des jeux populaires ou des outils, ce qui fait qu’il est difficile pour les utilisateurs de les distinguer d’un code anodin. Pour assurer une visibilité maximale, les attaquants emploient quelques techniques astucieuses qui placent systématiquement leurs dépôts malveillants en tête des résultats de recherche sur GitHub », explique Yehuda Gelb dans son billet de blog.
L’une des techniques utilisées consiste à abuser des Actions GitHub, un service de workflow d’intégration et de déploiement continus. En mettant automatiquement à jour les dépôts malveillants avec des modifications mineures à un rythme très élevé, les attaquants ont réussi à augmenter artificiellement leur visibilité. Selon Yehuda Gelb, cette technique est efficace, car les dépôts de malware apparaissent dans les résultats de recherche des utilisateurs filtrés avec la mention « dernière mise à jour ».
La seconde technique a permis à l’attaquant de créer des dépôts faussement populaires. La popularité dans GitHub est basée sur une évaluation par étoiles, et les comptes qui les confirment sont appelés « stargazers » (observateurs d’étoiles). Les développeurs « étoilent » généralement les projets qu’ils connaissent, auxquels ils font confiance et qu’ils utilisent le plus souvent. Or, Yehuda Gelb a observé que l’attaquant a abusé de cette confiance en créant « plusieurs faux comptes pour ajouter de fausses étoiles », afin d’augmenter les notes de ses propres dépôts malveillants. Bien que cette technique ait déjà été employée contre des instances GitHub, les acteurs de cette campagne l’auraient perfectionnée pour la rendre plus crédible encore.
« Contrairement aux incidents précédents où les attaquants ont ajouté des centaines ou des milliers d’étoiles à leurs dépôts, il semble que dans les cas présents, les attaquants ont opté pour un nombre plus modeste d’étoiles, probablement pour éviter d’éveiller les soupçons avec un nombre exagéré », peut-on lire dans le billet de blog.
Cependant, Checkmarx a découvert que de nombreuses étoiles utilisées dans la campagne ont été créées à la même date. Yehuda Gelb exhorte les utilisateurs à être conscients de cette technique d’ingénierie sociale et souligne qu’il s’agit d’un « signal d’alarme pour les faux comptes ».
En outre, l’acteur de la menace a utilisé des techniques d’évasion et a maintenu la persistance sur les machines Windows des victimes. « Le code malveillant est souvent caché dans les fichiers de projet Visual Studio (. csproj ou .vcxproj) pour échapper à la détection, et s’exécute automatiquement lorsque le projet est construit », peut-on lire dans le billet de blog.
Elle nécessite donc une recherche spécialisée, que l’utilisateur moyen a peu de chances d’effectuer.
Pour établir la persistance du malware, les attaquants ont créé des tâches planifiées qui exécutent le code malveillant à 4 heures du matin, ne nécessitant aucune confirmation ou interaction de la part de l’utilisateur. » Le code, associé au logiciel malveillant « Keyzetsu clipper », a été utilisé pour cibler les portefeuilles de cryptomonnaie et maintenir la persistance sur les systèmes des victimes. Keyzetsu est relativement nouveau dans le paysage des menaces, et Yehuda Gelb explique qu’il est le plus souvent distribué par le biais de logiciels piratés.
Sur la base de l’activation de la charge utile, Yehuda Gelb a également observé que les acteurs de la menace ont pris soin de ne pas attaquer les victimes potentiellement situées en Russie. Bien que l’acteur de la menace et la portée de l’attaque restent inconnus, il est clair que les attaques ont été efficaces lorsqu’elles ont été lancées.
« Les preuves indiquent que la campagne des attaquants a réussi à tromper nombre d’utilisateurs peu méfiants. De nombreux dépôts malveillants ont reçu des plaintes par le biais de problèmes et de demandes d’extraction de la part d’utilisateurs qui ont rencontré des complications après avoir téléchargé et utilisé le code », peut-on lire dans le billet de blog.
Jossef Harush KadouriResponsable de la sécurité de la chaîne logistique des logiciels, Checkmarx
Jossef Harush Kadouri, responsable de la sécurité de la chaîne logistique des logiciels chez Checkmarx, a déclaré à TechTarget Editorial [maison mère propriétaire du MagIT] qu’il était difficile de déterminer l’ampleur de l’attaque. En effet pour lui « cette campagne cible les victimes à l’aide d’appâts SEO et de pseudo-mises à jour constantes. Sur la base des informations dont nous disposons, nous ne pouvons que deviner le nombre de victimes affectées, car il n’y a aucune trace d’une infection réussie ».
Yehuda Gelb écrit en conclusion que les dépôts GitHub malveillants constituent « une tendance permanente, représentant une menace importante pour l’écosystème des logiciels libres ». Par exemple, le mois dernier, Checkmarx a découvert une attaque silencieuse de la chaîne logistique logicielle dans laquelle des acteurs de la menace ont compromis des comptes GitHub pour produire des « commits » malveillants dans des dépôts populaires, y compris Top.gg. Des bouts de malware ont ainsi été découverts dans plusieurs comptes d’utilisateurs de Top.gg.
Yehuda Gelb recommande aux développeurs de vérifier les activités suspectes liées à la fréquence des livraisons et aux « stargazers ». Il conseille également d’être attentifs aux personnes qui démarrent les référentiels et à la date de création des comptes.
Il souligne qu’il demeure risqué pour les développeurs de se fier uniquement à la réputation afin de choisir le référentiel à utiliser, car des codes malveillants pourraient s’y cacher.
« Ces incidents soulignent la nécessité de procéder à des révisions manuelles du code ou d’utiliser des outils spécialisés qui inspectent le code à la recherche de logiciels malveillants », peut-on lire dans son billet de blog.