Skip to main content

Risques liés à la chaîne d’approvisionnement logicielle et bonnes pratiques

Écrit par

4 avril 2023

0 minutes de lecture

Au lieu de créer des applications entièrement à partir de code propriétaire, les équipes de développement modernes combinent du code maison (la « recette secrète » de l’entreprise) avec de nombreux composants tiers. Ces ressources tierces, dont beaucoup sont open source, sont précieuses pour les développeurs : elles leur font gagner du temps et favorisent l’innovation. Mais les possibilités infinies des logiciels open source s’accompagnent d’un nouveau niveau de risque : celui de la sécurité de la chaîne d’approvisionnement logicielle. 

Quels sont les risques de sécurité liés à la chaîne d’approvisionnement ?

Mais pourquoi les organisations d’aujourd’hui doivent-elles surveiller de si près leur chaîne d’approvisionnement logicielle ? Le monde du développement logiciel évolue en permanence. Chaque jour, les développeurs de votre organisation s’appuient sur de nombreux composants dans leurs applications pour éviter de réinventer la roue. Chacun de ces composants a des dépendances, et ces dépendances ont elles-mêmes des dépendances. Votre entreprise est exposée si un élément de cette chaîne présente des vulnérabilités critiques connues.

La faille de sécurité de SolarWinds Orion est un exemple de risque cyber lié à la chaîne d’approvisionnement pouvant avoir des répercussions durables.

Voici quelques menaces courantes pour la chaîne d’approvisionnement :

  • Packages et conteneurs open source vulnérables. Par exemple, un package npm moyen ajoute 79 packages tiers et 39 mainteneurs à votre chaîne d’approvisionnement logicielle. En téléchargeant ce seul composant, vous exposez toute une surface d’attaque. 

  • Typosquatting et usurpation de marque. Cette technique d’attaque consiste, pour des acteurs malveillants, à publier des packages malveillants dans un registre sous des noms proches de ceux de packages légitimes. Les utilisateurs qui ne vérifient pas la sécurité de leurs packages open source risquent de télécharger par inadvertance l’une de ces ressources malveillantes. 

  • Gestion des données. De nombreuses organisations ne savent tout simplement pas ce que contient leur chaîne d’approvisionnement logicielle. Leur nomenclature logicielle (SBOM) devient rapidement obsolète, car elle n’est pas mise à jour chaque fois qu’un développeur ajoute un package ou un conteneur open source, ou en met un à jour. 

  • Droits d’accès. Les organisations accordent trop d’accès à des fournisseurs ou composants tiers. En cas de compromission, ce tiers peut alors devenir le maillon faible de leur chaîne d’approvisionnement. 

  • Erreur humaine ou négligence. Des erreurs se produisent lorsque les équipes ne tiennent pas compte des bonnes pratiques de sécurité de la chaîne d’approvisionnement logicielle. Un développeur peut télécharger un package malveillant ou autoriser un fournisseur tiers à accéder à des informations sensibles. Les erreurs humaines peuvent mettre l’ensemble du cycle de développement logiciel (SDLC) en danger de bien des façons. 

Pour en savoir plus sur la sécurité de la chaîne d’approvisionnement, consultez notre livre blanc récent sur la chaîne d’approvisionnement.

Sécurisez votre chaîne d’approvisionnement avec Snyk

Snyk vous aide à détecter les problèmes de sécurité de votre chaîne d’approvisionnement et vous indique comment les corriger rapidement.

Pourquoi rédiger une SBOM ne suffit pas

Même si de nombreuses organisations comprennent les risques liés à l’utilisation de composants tiers, elles adoptent souvent une approche incomplète de la sécurité de leur chaîne d’approvisionnement, ce qui peut entraîner des attaques. On pense souvent qu’il suffit de créer une SBOM pour sécuriser une chaîne d’approvisionnement logicielle. C’est compréhensible : les SBOM occupent aujourd’hui une place centrale dans de nombreuses discussions sur la sécurité (et elles ont aussi été mises en avant dans un décret présidentiel récent).

Mais en réalité, une SBOM n’est qu’une « liste d’ingrédients ». Et, comme pour les aliments emballés, elle contient souvent des éléments aussi obscurs et inconnus que le « polysorbate 80 ». Vous reconnaissez peut-être cet ingrédient, mais est-il bon ou mauvais ?

Pour prolonger l’analogie, un ingrédient considéré comme inoffensif par le passé peut devenir à éviter par la suite (comme le colorant rouge n° 5). Il en va de même pour les SBOM. Ce n’est pas parce que votre SBOM est fiable aujourd’hui qu’elle le sera demain. Votre organisation doit mettre en œuvre d’autres bonnes pratiques de sécurité de la chaîne d’approvisionnement, dans la durée, pour prévenir efficacement les risques.

Bonnes pratiques de sécurité de la chaîne d’approvisionnement pour votre organisation

Les équipes de développement doivent suivre cinq bonnes pratiques de sécurité de la chaîne d’approvisionnement : analyser les packages et conteneurs open source, utiliser les bons packages (et éviter les malveillants), tenir à jour une SBOM exacte, mettre en œuvre des politiques RBAC et faire de la formation et de la sensibilisation des équipes une priorité. 

Passons en revue ces bonnes pratiques :

1. Analysez vos packages et conteneurs open source à la recherche de vulnérabilités, puis définissez des politiques

Suivre manuellement tous les packages et conteneurs open source et vérifier qu’ils ne présentent aucune vulnérabilité n’est pas réaliste. Investissez plutôt dans un outil qui analyse régulièrement votre chaîne d’approvisionnement logicielle à la recherche de vulnérabilités. Prévenez de manière proactive la propagation de composants vulnérables en définissant des politiques qui incitent les développeurs à remplacer ces logiciels open source risqués par de meilleures alternatives dès les premières étapes du SDLC.

2. Assurez-vous d’utiliser les bons packages

Le typosquatting et l’usurpation de marque étant des menaces très répandues pour la chaîne d’approvisionnement, il est important de vérifier chaque package. Mettez en place des points de contrôle pour les packages open source le plus tôt possible dans le cycle de développement logiciel, à l’aide d’un outil SCA comme Snyk Open Source. Pour que votre équipe de développement puisse suivre ces recommandations, intégrez les analyses de sécurité à ses workflows, par exemple à la CLI de ses outils de pipeline CI/CD.

3. Gardez une trace du contenu de vos applications (SBOM)

Les SBOM sont essentielles aux bonnes pratiques de sécurité de la chaîne d’approvisionnement de toute entreprise. Comme le SDLC moderne évolue très rapidement, pensez à utiliser des outils d’automatisation des SBOM. 

Les équipes doivent également contrôler qui a accès à leurs SBOM. Imaginons qu’une SBOM soit accessible à un large public et qu’une vulnérabilité critique annoncée récemment se trouve dans votre logiciel. La SBOM elle-même devient alors une menace pour la sécurité de la chaîne d’approvisionnement !

4. Mettez en œuvre des politiques RBAC complètes

Le contrôle d’accès basé sur les rôles repose sur le principe du moindre privilège : chaque utilisateur dispose par défaut du niveau d’accès minimal nécessaire à son travail. Pour définir des politiques RBAC, votre équipe doit savoir qui a accès à quoi et à quel niveau. La politique en tant que code (PaC) permet aux équipes de sécurité de définir ces politiques RBAC sous forme de code dans un langage déclaratif de haut niveau. Elle centralise la gestion des politiques et les applique de manière uniforme à toute l’organisation. 

5. Faites de la formation et de la sensibilisation des équipes une priorité

Pour prévenir les problèmes dus aux erreurs humaines ou à la négligence, sensibilisez et formez votre personnel aux menaces potentielles qui pèsent sur la chaîne d’approvisionnement. La ludification est un excellent moyen d’inciter les développeurs à découvrir les bonnes pratiques de sécurité de la chaîne d’approvisionnement. Il est également essentiel de célébrer les contributions positives des membres de l’équipe aux efforts de sécurité de votre organisation. Snyk propose des leçons de sécurité gratuites pour les développeurs : découvrez-les ici.

Sécuriser votre chaîne d’approvisionnement logicielle avec Snyk

Les solutions Snyk de sécurité de la chaîne d’approvisionnement permettent aux équipes de développement et de sécurité d’unir leurs efforts pour sécuriser leur chaîne d’approvisionnement logicielle. Nous aidons les organisations à protéger leurs bibliothèques open source, leurs outils de développement, leurs images de conteneur et leur infrastructure cloud. En s’intégrant directement aux outils et workflows de développement existants, notre plateforme de sécurité pensée pour les développeurs permet aux équipes d’adopter rapidement et facilement les bonnes pratiques de sécurité de la chaîne d’approvisionnement. 

Sécurisez votre chaîne d’approvisionnement avec Snyk

Snyk vous aide à détecter les problèmes de sécurité de votre chaîne d’approvisionnement et vous indique comment les corriger rapidement.