Comment Chainguard prévient-il les logiciels malveillants dans Chainguard Libraries ?

Alex Burrage Director, Product Security

Nous avons récemment assisté à une recrudescence de l'introduction de logiciels malveillants dans les bibliothèques open source, ciblant spécifiquement la chaîne d'approvisionnement logicielle. Cela inclut les attaques contre Axios, LiteLLM, CanisterWorm, Elementary Data, SAP’s Cloud Application Programming Model, @TanStack et Intercom. Et ce ne sont là que quelques-unes des principales attaques de ces 40 derniers jours. Bien que ces attaques aient provoqué une incertitude, des dommages et des coûts considérables dans l'ensemble de l'industrie technologique (le coût moyen d'une violation de données est estimé à 4,4 millions de dollars), les clients de Chainguard ont été totalement protégés. Cet article explique pourquoi il en a été ainsi et comment nous continuons à protéger nos clients avec la meilleure et la plus sûre des chaînes d'approvisionnement disponibles.

Construction à partir des sources

Chainguard fournit des dépendances open source qui sont construites à partir des sources dans notre environnement sécurisé et contrôlé.

Cette simple affirmation offre la meilleure couche de défense connue contre les injections de logiciels malveillants. Dans cette récente vague d'attaques sur la chaîne d'approvisionnement, un vecteur d'attaque courant a été l'introduction d'artefacts binaires sans code source correspondant. Des binaires malveillants sont insérés dans le paquet lui-même, dans sa chaîne de dépendances ou dans le pipeline de publication. La nature de confiance par défaut de la chaîne d'approvisionnement open source générale fait que ces binaires — qui peuvent tout faire — sont automatiquement ajoutés aux ordinateurs portables, aux serveurs et à l'infrastructure des consommateurs, où ils peuvent faire des ravages. Nos recherches montrent que plus de 98 % des logiciels malveillants n'ont pas de code source publiquement vérifiable. En construisant à partir des sources, nous garantissons que les paquets construits par Chainguard sont protégés contre les logiciels malveillants. Lorsque le code source est publié, il peut être examiné par la communauté, construit par Chainguard et mis à disposition dans les environnements de nos clients.

Bien que cette affirmation soit simple, sa mise en œuvre est difficile. Chainguard a appliqué ses années d'expérience dans la création d'images de conteneurs sécurisées et fiables à grande échelle pour résoudre ce problème. C'est uniquement grâce à notre usine logicielle sur mesure alimentée par l'IA que nous sommes en mesure de reconstruire des millions de paquets provenant de millions de développeurs et de communautés différents, chacun ayant sa propre façon de construire et de compiler. L'un des défis consiste notamment à identifier le commit ou la version qui correspond à un artefact publié, car ce processus n'est pas standard et constitue souvent une faible priorité pour les développeurs. Il est toutefois nécessaire de pouvoir établir ces liens pour reproduire nous-mêmes les artefacts en amont à partir des sources.

Avec Chainguard Libraries, les clients s'appuient sur un système unique, contrôlé et auditable, plutôt que de faire confiance aux normes de sécurité variables de milliers d'environnements de construction indépendants. En outre, Chainguard supprime automatiquement toutes les étapes du processus de construction qui sont fondamentalement risquées, sujettes à des abus ou carrément dangereuses. Un exemple instructif pour ce dernier point est que Chainguard Libraries n'exécutera pas de scripts au moment de l'installation, ce qui est la méthode par laquelle le logiciel malveillant du paquet Axios a été introduit. Travailler dans le cadre de ces contraintes exige souvent des efforts importants pour obtenir le même résultat, mais c'est là la promesse et la valeur que Chainguard apporte sans cesse à la chaîne d'approvisionnement logicielle. Lorsque les identifiants d'éditeur ont été utilisés pour distribuer deux versions malveillantes de LiteLLM, les mises à jour ne disposaient pas de code source publiquement vérifiable. Là encore, en construisant exclusivement à partir des sources, Chainguard garantit que notre catalogue de paquets n'est pas vulnérable à l'ensemble de ce vecteur de menace.

Renseignement sur les menaces

Dans toute bonne approche de sécurité, quelle que soit la robustesse des principes de conception, il est essentiel de viser une défense en profondeur. Et si l'approche de construction à partir des sources protège, il est important de fournir également des mécanismes complémentaires.

Chainguard fournit cette couche de protection supplémentaire par le biais de Sentinel, notre système d'orchestration de nouvelle génération alimenté par le framework agentique DriftlessAF de Chainguard pour l'utilisation de sources de renseignements sur les menaces concernant la fiabilité de nos paquets. Sentinel est conçu pour ingérer une variété de sources et de flux de renseignements, allant de simples indicateurs binaires à des signaux plus nuancés et ambigus, afin de fournir à Chainguard des signaux de haute qualité sur les logiciels que nous construisons et distribuons de manière continue.

Les détails précis du fonctionnement de Sentinel et des flux qu'il consomme sont délibérément gardés secrets pour permettre à Chainguard d'avoir une longueur d'avance sur les acteurs malveillants. Ces détails évoluent constamment alors que Chainguard continue de mener la lutte pour sécuriser la chaîne d'approvisionnement logicielle et protéger ses clients contre les menaces émergentes assistées par l'IA.

L'approche héritée et pourquoi il faut s'en détacher

En sécurisant votre chaîne d'approvisionnement, vous vous défendez contre les dernières menaces. Traditionnellement, ce problème aurait été résolu en exécutant des analyses de logiciels malveillants sur l'ensemble de votre infrastructure ou de votre parc pour détecter les logiciels malveillants connus ou les activités suspectes. Mais la surveillance, bien qu'importante, signifie toujours que vous devrez peut-être prendre des mesures correctives une fois qu'un problème est découvert.

À l'ère de l'IA, cette analyse ne peut pas réagir assez vite. Comme nous l'avons vu lors d'attaques récentes, l'introduction de code malveillant en amont pour exfiltrer les données des victimes ne prend que quelques minutes, et les délais se réduisent à mesure que de nouvelles attaques surviennent. Par exemple, la nouvelle dépendance utilisée dans l'attaque Axios — plain-crypto-js — n'a été publiée que 24 minutes avant d'être utilisée pour exfiltrer des données. Cela rend les contrôles purement réactifs insuffisants. Des versions malveillantes de tanstack utilisant le typosquatting ont été disponibles en ligne pendant sept heures avant que quiconque ne s'en aperçoive. Au moment où une alerte est générée, les dégâts sont peut-être déjà faits. Une fois qu'un logiciel malveillant se trouve dans votre environnement, il ne faut parfois que quelques secondes pour exfiltrer des gigaoctets de données d'entreprise ou d'informations d'identification privées. La seule façon de se défendre dans cette nouvelle ère est d'arrêter les attaques à la source, en construisant à partir des sources.

Il a longtemps été difficile de répondre aux alertes et aux incidents de sécurité, et cela devient de plus en plus difficile à mesure que la génération d'outils de codage alimentés par l'IA accélère le rythme de l'industrie logicielle. Les circonstances sont idéales pour changer d'approche. L'industrie doit cesser de mener un combat permanent et difficile pour adopter une posture de sécurité par défaut, où vous n'avez pas à vous soucier des logiciels malveillants et n'avez pas à répondre à des alertes. Chainguard prend ces engagements afin que nos clients puissent cesser de penser à la sécurité et compter sur nous pour s'en occuper pendant qu'ils se consacrent à la création de la prochaine innovation majeure.

Découvrez Chainguard Libraries pour en savoir plus sur la façon de protéger votre organisation contre la prochaine attaque de la chaîne d'approvisionnement.

Share this article

Vous souhaitez en savoir plus sur Chainguard?

Contactez-nous