GitHub assiégé par des millions de repositories malveillants lors d'une attaque en cours
-
GitHub continue de supprimer les repositories contenant des logiciels malveillants, mais il en reste des milliers.
GitHub a du mal à contenir une attaque en cours qui inonde le site de millions de repositories de code. Ces repositories contiennent des logiciels malveillants masqués qui volent les mots de passe et les crypto-monnaies sur les appareils des développeurs, ont indiqué les chercheurs.
Les repositories malveillants sont des clones de repositories légitimes, ce qui les rend difficiles à distinguer à un œil occasionnel. Une partie inconnue a automatisé un processus qui crée des repositories légitimes, ce qui signifie que le code source est copié afin que les développeurs puissent l’utiliser dans un projet indépendant qui s’appuie sur celui d’origine. Le résultat est des millions de forks avec des noms identiques à celui d’origine qui ajoutent une charge utile enveloppée sous sept couches d’obscurcissement. Pour ne rien arranger, certains, ignorant la méchanceté de ces imitateurs, publient aussi des forks, ce qui ajoute au flot.
Frapper une taupe
“La plupart des dépôts forkés sont rapidement supprimés par GitHub, qui identifie l’automatisation”, ont écrit mercredi Matan Giladi et Gil David, chercheurs de la société de sécurité Apiiro . « Cependant, la détection automatisée semble manquer de nombreux dépôts, et ceux qui ont été téléchargés manuellement survivent. Étant donné que l’ensemble de la chaîne d’attaque semble être en grande partie automatisé à grande échelle, les 1 % qui survivent représentent néanmoins des milliers de dépôts malveillants.
Compte tenu du nombre constant de nouveaux dépôts téléchargés et de la suppression de GitHub, il est difficile d’estimer précisément le nombre de chacun. Les chercheurs ont déclaré que le nombre de dépôts téléchargés ou dupliqués avant que GitHub ne les supprime se compte probablement en millions. Ils ont déclaré que l’attaque « affecte plus de 100 000 repositories GitHub ».
Les responsables de GitHub n’ont pas contesté les estimations d’Apiiro et n’ont pas répondu aux autres questions envoyées par e-mail. Au lieu de cela, ils ont publié la déclaration suivante :
GitHub héberge plus de 100 millions de développeurs répartis sur plus de 420 millions de repositories et s’engage à fournir une plate-forme sûre et sécurisée aux développeurs. Nous disposons d’équipes dédiées à la détection, à l’analyse et à la suppression du contenu et des comptes qui enfreignent nos politiques d’utilisation acceptable. Nous utilisons des examens manuels et des détections à grande échelle qui utilisent l’apprentissage automatique et évoluons et adaptons constamment aux tactiques adverses. Nous encourageons également les clients et les membres de la communauté à signaler les abus et les spams.
Les attaques de chaîne d’approvisionnement ciblant les utilisateurs de plates-formes de développement existent depuis au moins 2016, lorsqu’un étudiant a téléchargé des scripts personnalisés sur RubyGems, PyPi et NPM. Les scripts portaient des noms similaires à ceux de packages légitimes largement utilisés, mais n’avaient par ailleurs aucun lien avec eux. Une fonctionnalité de téléphone dans les scripts de l’étudiant a montré que le code imposteur était exécuté plus de 45 000 fois sur plus de 17 000 domaines distincts, et que plus de la moitié du temps, son code recevait des droits administratifs tout-puissants. Deux des domaines concernés se terminaient par .mil, ce qui indique que des personnes au sein de l’armée américaine avaient exécuté son script. Cette forme d’attaque de la chaîne d’approvisionnement est souvent appelée typosquatting, car elle repose sur le fait que les utilisateurs commettent de petites erreurs lors du choix du nom d’un package qu’ils souhaitent utiliser.
En 2021, un chercheur a utilisé une technique similaire pour exécuter avec succès un code contrefait sur des réseaux appartenant à Apple, Microsoft, Tesla et des dizaines d’autres sociétés. La technique, connue sous le nom d’attaque par confusion de dépendances ou par confusion d’espace de noms, a commencé par placer des packages de codes malveillants dans un référentiel public officiel et en leur donnant le même nom que les packages de dépendances qu’Apple et les autres sociétés ciblées utilisent dans leurs produits. Des scripts automatisés dans les gestionnaires de packages utilisés par les entreprises téléchargeaient et installaient ensuite automatiquement le code de dépendance contrefait.
La technique observée par Apiiro est connue sous le nom de repo confusion.
“Semblable aux attaques de confusion de dépendances, les acteurs malveillants amènent leur cible à télécharger leur version malveillante au lieu de la vraie”, explique le message de mercredi. “Mais les attaques de confusion de dépendances profitent du fonctionnement des gestionnaires de paquets, tandis que les attaques de confusion de dépôts reposent simplement sur les humains pour choisir par erreur la version malveillante plutôt que la vraie, en utilisant parfois également des techniques d’ingénierie sociale.”
Le déroulement de la campagne est simple :
1 Clonage de dépôts existants (par exemple : TwitterFollowBot, WhatsappBOT, discord-boost-tool, Twitch-Follow-Bot et des centaines d’autres)
2 Les infecter avec des chargeurs de logiciels malveillants
3 Les télécharger sur GitHub avec des noms identiques
4 “Forker” automatiquement chacun des milliers de fois
5 Faire la promotion secrète sur le Web via des forums, Discord, etc.Les développeurs qui utilisent l’un des dépôts malveillants dans la campagne décompactent une charge utile (payload) enfouie sous sept couches d’obscurcissement pour recevoir du code Python malveillant et, plus tard, un fichier exécutable. Le code, principalement constitué d’une version modifiée du logiciel open source BlackCap-Grabber, collecte ensuite les cookies d’authentification et les informations de connexion de diverses applications et les envoie à un serveur contrôlé par l’attaquant. Les chercheurs ont déclaré que le dépôt malveillant « effectue une longue série d’activités malveillantes supplémentaires ».
Cette image montre comment fonctionne la charge utile (payload) :
Image gif animée à voir sur le site originalLa campagne a débuté en mai dernier et était en cours au moment où ce post a été mis en ligne sur Ars. Apiiro a déclaré qu’il y a eu jusqu’à présent trois phases principales :
Mai 2023 : comme initialement signalé par Phylum , plusieurs packages malveillants ont été téléchargés sur PyPI contenant les premières parties de la charge utile actuelle. Ces packages ont été diffusés par des appels ’ os.system(“pip install package”) ’ implantés dans des forks de dépôts GitHub populaires, tels que ‘chatgpt-api’.
Juillet-août 2023 : plusieurs dépôts malveillants ont été téléchargés sur GitHub, fournissant cette fois la charge utile directement plutôt que via l’importation de packages PyPI. Cela s’est produit après que PyPI ait supprimé les packages malveillants et que la communauté de la sécurité s’y soit davantage concentrée. Aliakbar Zahravi et Peter Girnus de Trend Micro en ont publié une excellente analyse technique .
Novembre 2023 – maintenant : nous avons détecté plus de 100 000 dépôts contenant des charges utiles malveillantes similaires, et ce nombre ne cesse d’augmenter. Cette approche d’attaque présente plusieurs avantages :
- GitHub est énorme, donc malgré le grand nombre d’instances, leur part relative reste insignifiante et donc difficile à détecter.
- Les gestionnaires de packages ne sont pas impliqués comme avant, donc les noms de packages malveillants explicites ne sont pas mentionnés, c’est donc un indicateur de moins.
- Les dépôts ciblés se situent dans une petite niche et ont une faible popularité, ce qui permet aux développeurs peu méfiants de commettre l’erreur et de cloner leurs imitateurs malveillants.
Schéma montrant les trois phases de la campagne.Le message de mercredi ne précise pas combien de téléchargements ou d’installations, le cas échéant, les dépôts malveillants de cette campagne ont reçus, et les représentants d’Apiiro n’ont pas répondu à un e-mail demandant ces détails et d’autres détails. Sans ces informations, il est difficile d’évaluer à quel point le flot de téléchargements malveillants sur GitHub représente une menace réelle. Compte tenu du grand nombre de forks et de la durée prolongée de la campagne, les développeurs feraient bien d’être conscients du risque et de s’assurer que les téléchargements proviennent de sources légitimes.
-
Sacrée attaque ! A mon avis on n’a pas fini d’en entendre parler.
GitHub ça appartient bien à Microsoft ?
-
-
-
-
-
-
Si même github on peut plus si fier