Initié depuis l'automne 2020, ces attaques utilisent une fonctionnalité de GitHub appelée GitHub Actions qui permet aux utilisateurs de lancer automatiquement des tâches suite à un certain événement déclencheur au sein d'un de leurs dépôts GitHub. Pour réaliser cet exploit, les cybercriminels détournent un dépôt légitime en installant des GitHub Actions malveillantes sur le code original, puis en exécutant une Pull Request avec le dépôt original afin de fusionner le code maléfique et le code légitime.
Rappelons que GitHub Inc est un fournisseur d'hébergement de code et de contrôle de version pour les développeurs. Il peut être considéré comme un outil de communication et de collaboration entre plusieurs développeurs. Il offre les fonctionnalités de contrôle de version distribué et de gestion du code source utilisant Git. GitHub fournit un contrôle d'accès et plusieurs fonctionnalités de collaboration telles que le suivi des bogues, la gestion des tâches, l'intégration continue et les wikis pour chaque projet. Basée en Californie, GitHub Inc est une filiale de Microsoft depuis 2018.
Dans le cadre de l’attaque contre GitHub, des chercheurs en sécurité ont rapporté que des cybercriminels pouvaient faire tourner jusqu'à 100 mineurs de cryptomonnaies au cours d'une seule attaque, créant ainsi d'énormes charges de calcul pour l'infrastructure de GitHub. Jusqu'à présent, ces cybercriminels semblent opérer au hasard et à grande échelle. Les recherches ont révélé qu'au moins un compte exécute des centaines de demandes de mise à jour contenant du code malveillant. À l'heure actuelle, les attaquants ne semblent pas du tout cibler activement les utilisateurs de GitHub, mais plutôt se concentrer sur l'utilisation de l'infrastructure cloud de GitHub pour héberger des activités de cryptominage.
Le premier cas de cette attaque avait été signalé par un ingénieur logiciel en France en novembre 2020. Tout comme sa réaction au premier incident, GitHub aurait affirmé qu’elle enquête activement sur la récente attaque. Cependant, GitHub semble faire beaucoup d'allers-retours sur les attaques, car les pirates créent simplement de nouveaux comptes une fois que l'entreprise détecte et désactive les comptes infectés.
En novembre de l’année dernière, une équipe d'experts Google en sécurité informatique chargée de trouver des vulnérabilités Zero day a dévoilé une faille de sécurité concernant la plateforme GitHub. Selon Felix Wilhelm, le membre de l’équipe Project Zero qui l’a découverte, la faille affectait également la fonctionnalité GitHub Actions, un outil d'automatisation du travail des développeurs. En effet, les commandes de flux de travail d'Actions sont « vulnérables aux attaques par injection » :
Github Actions prend en charge une fonctionnalité appelée commandes de workflow en tant que canal de communication entre le runner Action et l'action exécutée. Les commandes de workflow sont implémentées dans runner/src/Runner.Worker/ActionCommandManager.cs et fonctionne en analysant STDOUT de toutes les actions exécutées à la recherche de l'un des deux marqueurs de commande. GitHub Actions est disponible sur les comptes GitHub Free, GitHub Pro, GitHub Free for organizations, GitHub Team, GitHub Enterprise Cloud, GitHub Enterprise Server, GitHub One et GitHub AE. GitHub Actions n'est pas disponible pour les dépôts privés appartenant à des comptes utilisant les anciens plans.
Rappelons que le cryptominage malveillant utilise un code malveillant et potentiellement indésirable conçu pour pirater la puissance de traitement inactive d'un périphérique ou d’une infrastructure et l'utiliser pour exploiter la cryptomonnaie. L'activité de minage de cryptomonnaies est généralement dissimulée ou s'exécute en tâche de fond sans le consentement de l'administrateur ou de l'utilisateur. Il existe deux types de cryptominage malveillants :
- Le mode binaire : il s'agit d'applications malveillantes téléchargées et installées sur l'appareil ciblé avec l'objectif de miner de la cryptomonnaie. Certaines solutions de sécurité identifient la plupart de ces applications comme étant des chevaux de Troie ;
- Le mode navigateur : il s’agit d’un code JavaScript malveillant intégré dans une page Web (ou dans certains de ses composants ou objets), conçu pour miner la cryptomonnaie depuis les navigateurs des visiteurs du site. Cette méthode appelée cryptojacking est de plus en plus populaire auprès des cybercriminels depuis mi-2017. Certaines solutions de sécurité détectent la majorité de ces scripts de cryptojacking comme étant des applications potentiellement indésirables.
Selon une étude de Cisco publiée le mois dernier, 68 % des organisations ont été confrontées au cryptominage malveillant au cours des neuf premiers mois de 2020. Dans un rapport publié sur son site, l’équipe de sécurité de Cisco a identifié un certain nombre de tendances majeures en matière de menaces cybernétiques sur les trois premiers trimestres de l’année 2020. L'étude menée par Cisco a révéle que, si l'on considère les menaces auxquelles la base de ses clients qui utilise Cisco Umbrella, une technologie de sécurité Cisco basée sur le cloud, a été confrontée au cours des neuf premiers mois de 2020, on constate que 68 % de ces clients ont été confronté au cryptominage malveillant.
Pour Felix Wilhelm, le gros problème de la fonctionnalité GitHub Actions est qu'elle est très vulnérable aux attaques par injection. « Le gros problème de cette fonctionnalité est qu'elle est très vulnérable aux attaques par injection. Comme le processus du runner analyse chaque ligne imprimée vers STDOUT à la recherche de commandes de flux de travail, chaque action GitHub qui contient un contenu non fiable dans le cadre de son exécution est vulnérable. Dans la plupart des cas, la possibilité de définir des variables d'environnement arbitraires entraîne l'exécution de code à distance dès qu'un autre flux de travail est exécuté. J'ai passé un certain temps à regarder les dépôts GitHub populaires et presque tout projet utilisant des GitHub actions un peu complexes est vulnérable à cette classe de bogue ».
Cependant, au regard de la nature de cette autre attaque, qui utilise également comme vecteur d’attaque la fonctionnalité GitHub Actions, certains analystes estiment que les responsables de GitHub devraient repenser la fonctionnalité qui permet aux utilisateurs de lancer automatiquement les tâches.
Notons qu'il existe plusieurs autres outils intéressants pour l'hébergement de code et le contrôle de version (GitHub, GitLab, Bitbucket, SourceForge). Depuis le rachat de GitHub par Microsoft, les anti-Microsoft ont même lancé le hashtag #MovingToGitLab sur Internet. GitLab fonctionne avec une version gratuite à installer sur son propre serveur ou une version cloud payante.
Bien que GitHub propose ses services de base gratuitement, les services professionnels et d'entreprise sont payants. Les comptes GitHub gratuits sont couramment utilisés pour héberger des projets open source. En janvier 2020, GitHub a déclaré qu’elle a plus de 40 millions d'utilisateurs et plus de 190 millions de dépôts dont au moins 28 millions de dépôts publics, ce qui en fait le plus grand hébergeur de code source au monde.
Et vous ?
Avez-vous un compte GitHub ?
Quel est votre avis sur le sujet ?
Voir Aussi :
Google dévoile une faille de sécurité « grave » concernant la plateforme GitHub de Microsoft, aucun correctif n'est disponible pour le moment et les utilisateurs sont invités à faire des mises à jour
GitHub lance Arctic Code Vault, une initiative pour la sauvegarde du code open source mondial pour un millénaire, dans le cadre d'un vaste programme d'archivage
68 % des organisations ont été confrontées au cryptominage malveillant au cours des neuf premiers mois de 2020, selon une étude de Cisco
Rachat de GitHub, pourquoi ce rachat, et quels sont les plans de Microsoft