L'empoisonnement par artefacts dans les actions GitHub importe des logiciels malveillants via des pipelines logiciels PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

L'empoisonnement d'artefacts dans les actions GitHub importe des logiciels malveillants via des pipelines logiciels

Un attaquant soumettant des modifications à un référentiel open source sur GitHub pourrait amener des projets logiciels en aval qui incluent la dernière version d'un composant à compiler des mises à jour avec du code malveillant.

C'est selon la société de sécurité de la chaîne d'approvisionnement logicielle Legit Security, qui a déclaré dans un avis publié le 1er décembre que cette faiblesse «d'empoisonnement d'artefacts» pourrait affecter les projets logiciels qui utilisent GitHub Actions - un service d'automatisation des pipelines de développement - en déclenchant le processus de construction lorsque un changement est détecté dans une dépendance logicielle. 

La vulnérabilité n'est pas théorique : Legit Security a simulé une attaque contre le projet qui gère Rust, provoquant la recompilation du projet à l'aide d'une version personnalisée - et malveillante - de la populaire bibliothèque de logiciels GCC, a déclaré la société dans l'avis.

Le problème affecte probablement un grand nombre de projets open source, car les responsables exécutent généralement des tests sur le code contribué avant d'analyser le code eux-mêmes, explique Liav Caspi, directeur de la technologie chez Legit Security.

"C'est un modèle courant aujourd'hui", dit-il. "De nombreux projets open source aujourd'hui, lors d'une demande de changement, ils exécutent un tas de tests pour valider la demande car le responsable ne veut pas avoir à revoir le code en premier. Au lieu de cela, il exécute automatiquement des tests.

L'attaque tire parti du processus de construction automatisé via GitHub Actions. Dans le cas du langage de programmation Rust, le modèle vulnérable aurait pu permettre à un attaquant d'exécuter du code de manière privilégiée dans le cadre du pipeline de développement, en volant les secrets du référentiel et en falsifiant potentiellement le code, a déclaré Legit Security.

"Pour le dire simplement : dans un flux de travail vulnérable, tout utilisateur de GitHub peut créer un fork qui construit un artefact", a déclaré la société. indiqué dans son avis. « Ensuite, injectez cet artefact dans le processus de construction du référentiel d'origine et modifiez sa sortie. Il s'agit d'une autre forme d'attaque de la chaîne d'approvisionnement logicielle, où la sortie de la construction est modifiée par un attaquant. »

La vulnérabilité permet une attaque similaire à l'attaque par insertion de malware qui ciblait CodeCov et, par le biais du logiciel de cette société, ses clients en aval.

"[L]e manque d'implémentation GitHub native pour la communication d'artefacts inter-workflow a conduit de nombreux projets et la communauté GitHub Actions à développer des solutions non sécurisées pour la communication inter-workflow et a rendu cette menace très répandue", a déclaré Legit Security dans l'avis.

GitHub a confirmé le problème et a payé une prime pour les informations, tandis que Rust a réparé son pipeline vulnérable, a déclaré Legit Security.

Source : Sécurité légitime

La chaîne d'approvisionnement logicielle a besoin de sécurité

La vulnérabilité est le dernier problème de sécurité à affecter les chaînes d'approvisionnement de logiciels. L'industrie et les agences gouvernementales ont de plus en plus cherché à renforcer la sécurité des logiciels open source et des logiciels fournis en tant que service.

En mai 2021, par exemple, l'administration Biden a publié son décret exécutif sur l'amélioration de la cybersécurité de la nation, une règle fédérale qui, entre autres exigences, oblige le gouvernement à exiger des normes de sécurité de base pour tout logiciel qu'il achète. Du côté de l'industrie privée, Google et Microsoft ont promis des milliards de dollars pour renforcer la sécurité dans l'écosystème open source, qui fournit le code qui comprend plus des trois quarts de la base de code de l'application moyenne.

Logique, mais vulnérable

Le problème de sécurité appartient à une classe de problèmes difficiles à trouver connue sous le nom de problèmes logiques, qui incluent des problèmes d'autorisations, le potentiel d'insertion de référentiels bifurqués dans un pipeline et un manque de différenciation entre les référentiels bifurqués et de base.

Étant donné que les projets logiciels utilisent souvent des scripts automatisés pour vérifier les soumissions de code avant de les transmettre aux responsables, les demandes d'extraction seront exécutées via l'automatisation avant qu'un humain ne les vérifie à la recherche de code malveillant. Bien que l'automatisation permette de gagner du temps, elle doit également être considérée comme un moyen pour les attaquants d'insérer du code malveillant dans le pipeline.

"Lorsque vous faites du développement open source, le problème est plus important, car vous acceptez la contribution de n'importe qui dans le monde", déclare Caspi. "Vous exécutez des choses auxquelles vous ne pouvez pas faire confiance."

GitHub a reconnu le problème et a élargi les moyens d'exclure les soumissions de collaborateurs externes de l'insertion automatique dans le pipeline Actions. L'entreprise mis à jour ses API GetArtifact et ListArtifacts dans le but de fournir plus d'informations pour aider à déterminer si un artefact est digne de confiance.

"Quiconque fait quelque chose comme le projet Rust l'a fait - en faisant confiance à la contribution d'un tiers - alors il est toujours vulnérable", déclare Caspi. « C'est un problème de logique. GitHub vient de faciliter l'écriture d'un script plus sûr.

Horodatage:

Plus de Lecture sombre