Supply chain logicielle

Quels outils pour sécuriser la supply chain logicielle?

Pour sécuriser la supply chain logicielle, des initiatives voient le jour pour soutenir les développeurs de projets open source populaires. Tandis que des services et frameworks ont pour objectif de ­disséminer les bonnes pratiques au sein des entreprises.

(Source: Roberto Sorin / AdobeStock.com)
(Source: Roberto Sorin / AdobeStock.com)

La sécurisation de la supply chain logicielle est un enjeu crucial pour la cybersécurité des entreprises. De multiples initiatives et solutions sont nées dans ce domaine.

Une initiative s’efforce d’améliorer la sécurisation des composants open source là où ils sont créés et maintenus. Il s’agit de l’Alpha-Omega Project, chapeautée par l’Open Source Security Foundation (OpenSSF) et soutenue par Google et Microsoft, aussi bien techniquement que financièrement. A l’occasion du dernier événement OpenSSF Day Europe, des responsables de cette initiative ont expliqué que, d’un côté, le volet Alpha vient en aide aux projets open source les plus critiques, utilisés massivement, pour les aider à améliorer leur sécurité. L’autre versant, Omega, consiste à faire appel à des méthodes et des outils automatisés pour identifier les vulnérabilités de sécurité critiques de quelque 10 000 projets open source.

Services signés Google et Red Hat

Outre sa participation à l’Alpha-Omega Project, Google s’implique dans la sécurisation de la supply chain logicielle le service Assured Open Source Software (Assured OSS), un ensemble de bibliothèques de logiciels open source qui font l’objet d’une curation par la firme de Mountain View. Cette dernière va même plus loin, avec le Software Delivery Shield, une solution entièrement gérée promet de répondre aux problèmes de sécurité tout au long de la supply chain logicielle, dans cinq domaines: le développement d’applications, l’approvisionnement logiciel, l’intégration continue (CI) et la livraison continue (CD), les environnements de production et la mise en place de politiques de confiance.

Le Dependabot de Github

La plateforme Github se positionne naturellement en première ligne pour tenter de sécuriser les composants open source qui se retrouvent dans nombre d’applications. Les fonctionnalités de Supply Chain Security de la plateforme de développement Github comprenant l’Advisory Database, le Dependency Graph (un graphe de dépendances annoncé en 2017) et un Dependabot, via lequel les développeurs sont non seulement avertis quand une vulnérabilité est identifiée dans l’un des paquets open source intégrés à leurs applications. Mais le bot soumet également au nom du développeur une demande de mise à jour vers la dernière version du paquet..

L’intérêt d’un Software Bill of Materials

Reste que ce type d’automatisation ne dispense pas les entreprises d’avoir toutes les cartes en main quand des vulnérabilités sont découvertes. Pour ce faire, il est nécessaire de savoir précisément quels projets composent une supply chain logicielle pour agir sur un bout de code vulnérable. D’où l’intérêt de disposer d’un Software Bill of Materials (SBOM), à savoir un inventaire formel des différentes briques utilisées dans le flux de création de logiciels.

Un SBOM se doit d’être complet, en intégrant les composants, bibliothèques et modules open source mais aussi ceux d’outils propriétaires, gratuits ou payants. Le challenge réside actuellement dans le besoin de standardiser ce type de documentation dans le but de disposer non seulement de la liste des composants mais aussi de toutes les dépendances qu’il existe entre eux.

De son côté, Red Hat a tout récemment dévoilé l’offre  Red Hat Trusted Software Supply Chain. Elle comprend plusieurs services, dont le Trusted Application Pipeline, qui permet vérifier le code source et les interdépendances entre composants. Mais aussi de générer automatiquement des SBOMs.

Plusieur framework pour standardiser les pratiques 

Parmi les frameworks visant à standardiser les pratiques en matière de sécurité de la supply chain logicielle, citons en deux, l’un impulsé par le gouvernement US, l’autre émanant de l’industrie. Le National Institute of Standards and Technology (NIST) a développé le Secure Software Development Framework (SSDF), qui décrit un ensemble de pratiques destinées à être mises en œuvre dans le cycle de développement des logiciels. Google et l’Open Source Security Foundation (OpenSSF) ont de leur côté élaboré le Supply Chain Levels for Software Artifacts (SLSA). Ce framework introduit des concepts et des étapes pour aider à sécuriser le cycle de vie du développement logiciel, en mettant la focale sur le code source et les dépendances, notamment.

Webcode
iKpGRTHq