Un Software Bill of Materials (SBOM) est un document qui fournit un inventaire détaillé des composants et des dépendances utilisés dans un projet logiciel. Elle répertorie également toutes les bibliothèques, les cadres et leurs versions respectives qui sont utilisés dans le logiciel. Lorsqu’il s’agit de logiciels libres (OSS), une SBOM peut jouer un rôle crucial en garantissant la transparence, la sécurité et la conformité.
L’utilisation d’un SBOM - en particulier dans le domaine du logiciel libre - permet à une organisation d’avoir une meilleure visibilité sur les composants et les dépendances, d’améliorer la gestion des risques et bien d’autres choses encore.
Les logiciels libres intègrent souvent divers composants et dépendances de tiers. Un SBOM permet aux développeurs et aux utilisateurs d’avoir une visibilité claire de tous les composants utilisés dans le logiciel, y compris les bibliothèques et les cadres libres, ainsi que leurs versions spécifiques. Cette visibilité aide à comprendre la composition du logiciel, à identifier les vulnérabilités potentielles et à suivre toutes les obligations de licence associées aux composants libres.
Comme tout autre logiciel, les logiciels libres peuvent présenter des failles de sécurité. Avec un SBOM, les organisations peuvent suivre les versions des composants libres et rester informées de toutes les failles connues associées à ces versions. Cela permet une gestion proactive des failles en appliquant rapidement des correctifs ou des mises à jour pour atténuer et signaler tout problème de sécurité (voir RFC8615). En disposant d’un SBOM à jour, les organisations peuvent évaluer l’impact des failles et prendre les mesures appropriées pour sécuriser leurs logiciels.
Ces dernières années, la sécurité de la chaîne d’approvisionnement des logiciels est devenue une préoccupation majeure. Un SBOM contribue à renforcer la sécurité de la chaîne d’approvisionnement en fournissant une transparence sur les composants utilisés dans le logiciel et leur origine. Il permet également aux organisations d’évaluer la fiabilité et la posture de sécurité des composants dont elles dépendent. Avec un SBOM, les organisations peuvent identifier et atténuer les risques associés aux composants compromis ou malveillants, réduisant ainsi le potentiel d’attaques de la chaîne d’approvisionnement des logiciels.
Les logiciels libres encouragent la collaboration et l’implication de la communauté. Un SBOM facilite une collaboration efficace en fournissant une compréhension commune des composants du logiciel entre les différents contributeurs et parties prenantes. Il aide à coordonner les efforts de gestion des correctifs en identifiant clairement les composants qui nécessitent des mises à jour ou des corrections. La collaboration au sein de la communauté des logiciels libres devient plus efficace lorsque tous les participants peuvent se référer à un SBOM partagé pour traiter les vulnérabilités en matière de sécurité et d’autres problèmes.
Dans certains secteurs, les cadres réglementaires exigent des organisations qu’elles fassent preuve de transparence et de contrôle sur les composants logiciels utilisés dans leurs applications ou leurs systèmes. Un SBOM fournit la documentation nécessaire pour satisfaire à ces exigences de conformité. Il permet aux organisations de faire preuve de diligence raisonnable, de traçabilité et de conformité avec les réglementations pertinentes, en particulier en ce qui concerne les aspects de sécurité et de licence des logiciels libres.
Les logiciels libres sont généralement régis par des licences spécifiques qui dictent la manière dont le logiciel peut être utilisé, modifié et distribué. Un SBOM fournit une vue d’ensemble de tous les composants open source et de leurs licences correspondantes. Cela aide les organisations à assurer la conformité avec les conditions de licence des logiciels libres qu’elles utilisent. En comprenant les obligations de licence, les organisations peuvent prendre des décisions éclairées sur la distribution et l’utilisation de leurs logiciels tout en évitant les problèmes juridiques ou de conformité.
Plusieurs gouvernements et organisations dans des secteurs très réglementés, tels que la banque et les soins de santé, préconisent l’utilisation de SBOM ou envisagent d’en faire une exigence, que ce soit en interne ou pour leurs fournisseurs.
En impliquant ces parties prenantes et en favorisant la collaboration entre elles, les organisations peuvent construire un SBOM robuste et fiable qui capture les informations nécessaires sur les composants logiciels, renforce la sécurité de la chaîne d’approvisionnement et facilite la gestion des risques et les efforts de mise en conformité.
Voici quelques personnes ou rôles clés qui devraient être impliqués dans le processus :
Les organisations devraient aspirer à créer un SBOM qui offre une vue d’ensemble des composants logiciels, de leurs origines, de leurs dépendances et des informations de sécurité associées. Cela permet de mieux gérer les risques de la chaîne d’approvisionnement en logiciels et d’améliorer la sécurité globale des logiciels.
Voici les étapes clés de la création d’un SBOM :
Il existe plusieurs façons pour un SBOM d’échouer ou de ne pas atteindre l’objectif visé. En relevant ces défis et en garantissant l’exactitude, l’exhaustivité et la mise à jour de votre SBOM, vous pouvez contribuer à atténuer le risque d’échec.
Voici quelques causes courantes d’échec qui reflètent les meilleures pratiques de création d’un SBOM :
Dans l’ensemble, un SBOM est un outil précieux pour gérer la complexité des logiciels libres. Il favorise la transparence, la sécurité, la conformité et la collaboration au sein de l’écosystème des logiciels libres. En fournissant un inventaire détaillé des composants logiciels, de leurs versions et des informations de licence associées, un SBOM permet aux organisations de prendre des décisions éclairées, de gérer les risques et d’assurer l’intégrité et la sécurité de leurs projets logiciels.