Une nomenclature logicielle (SBOM) est un document qui fournit un inventaire détaillé des composants et des dépendances utilisés dans un projet logiciel. Il répertorie également toutes les bibliothèques, frameworks et leurs versions respectives qui sont utilisés dans le logiciel. En matière de logiciels open source (OSS) , un SBOM peut jouer un rôle crucial pour garantir la transparence, la sécurité et la conformité.
L’utilisation d’un SBOM, en particulier dans l’OSS, permet à une organisation d’obtenir une visibilité sur les composants et les dépendances, d’améliorer la gestion des risques et bien plus encore. Ci-dessous, nous décrivons ces avantages.
Les OSS intègrent souvent divers composants et dépendances tiers. Un SBOM permet aux développeurs et aux utilisateurs d'avoir une visibilité claire sur tous les composants utilisés dans le logiciel. Cela inclut les bibliothèques et les frameworks open source, ainsi que leurs versions spécifiques. Cette visibilité permet de comprendre la composition du logiciel, d’identifier les vulnérabilités potentielles et de suivre les obligations de licence associées aux composants open source.
Comme tout autre logiciel, les logiciels libres peuvent être exposés à des vulnérabilités de sécurité. Avec un SBOM, les organisations peuvent suivre les versions des composants open source et rester informées de toutes les vulnérabilités connues associées à ces versions. Cela permet une gestion proactive des vulnérabilités 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 vulnérabilités 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 en logiciels est devenue une préoccupation majeure. Un SBOM contribue à améliorer la sécurité de la chaîne d'approvisionnement en offrant une transparence sur les composants utilisés dans le logiciel et leurs origines. Il permet également aux organisations d’évaluer la fiabilité et la sécurité des composants sur lesquels elles s’appuient. 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 logicielle.
L'OSS encourage la collaboration et l'engagement communautaire. 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 correctifs. La collaboration au sein de la communauté open source devient plus efficace lorsque tous les participants peuvent se référer à un SBOM partagé pour traiter les vulnérabilités de sécurité et d’autres problèmes.
Dans certains secteurs, les cadres réglementaires exigent que les organisations démontrent leur transparence et leur contrôle sur les composants logiciels utilisés dans leurs applications ou systèmes. Un SBOM fournit la documentation nécessaire pour satisfaire à ces exigences de conformité. Il permet aux organisations de démontrer leur diligence raisonnable, leur traçabilité et leur conformité aux réglementations en vigueur, notamment en ce qui concerne les aspects de sécurité et de licence des OSS.
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 un aperçu complet de tous les composants open source et de leurs licences correspondantes. Cela aide les organisations à garantir la conformité avec les conditions de licence des OSS 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 tout problème juridique ou de conformité.
Plusieurs gouvernements et organisations dans des secteurs hautement réglementés, tels que les banques et les soins de santé, préconisent l’utilisation de SBOM ou envisagent de rendre l’utilisation d’un SBOM obligatoire, soit en interne, soit pour leurs fournisseurs.
La création d’un SBOM nécessite la collaboration et l’implication de diverses parties prenantes tout au long de la chaîne d’approvisionnement des logiciels. En impliquant ces parties prenantes et en favorisant la collaboration entre elles, les organisations peuvent créer un SBOM robuste et fiable qui capture les informations nécessaires sur les composants logiciels, améliore la sécurité de la chaîne d’approvisionnement et facilite les efforts de gestion des risques et de conformité.
Voici quelques personnes ou rôles clés qui devraient être impliqués dans le processus :
Les organisations doivent aspirer à créer un SBOM qui offre une vue complète des composants logiciels, de leurs origines, de leurs dépendances et des informations de sécurité associées. Cela permet une meilleure gestion des risques de la chaîne d’approvisionnement en logiciels et améliore la sécurité globale des logiciels.
Voici les étapes clés lors de la création d’un SBOM :
Il existe plusieurs façons pour qu'un SBOM échoue ou ne réponde pas à son objectif initial. Relever ces défis et garantir l’exactitude, l’exhaustivité et l’actualité de votre SBOM peut contribuer à atténuer le risque d’échec.
Voici quelques causes courantes d’échec qui reflètent les meilleures pratiques pour la création d’un SBOM :
Dans l’ensemble, un SBOM est un outil précieux pour gérer les complexités des OSS. Il favorise la transparence, la sécurité, la conformité et la collaboration au sein de l'écosystème open source. 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 de garantir l'intégrité et la sécurité de leurs projets logiciels.