Guide complet sur la nomenclature logicielle (SBOM)
Une nomenclature logicielle (SBOM) est un inventaire formel, lisible par machine, qui identifie et répertorie les composants, les bibliothèques et les dépendances utilisés dans une application logicielle, offrant ainsi une transparence sur sa chaîne d'approvisionnement à des fins de sécurité, de conformité et de gestion.

De nos jours, il est rare que quelqu’un crée un logiciel entièrement à partir de zéro. Les applications modernes sont généralement conçues en assemblant des éléments tels que des bibliothèques open source, des composants tiers, des kits de développement logiciel achetables et du code détenu par une entreprise.
Cela accélère la création de logiciels, mais cela signifie également que le parcours du logiciel, de sa création à son utilisation, est complexe et pas toujours facile à suivre.
C’est pourquoi un Software Bill of Materials (SBOM) est devenu si important. Il permet de clarifier les choses et de maintenir la sécurité. Pensez-y comme à la liste des ingrédients sur un emballage alimentaire. Un SBOM est une liste détaillée de tous les éléments qui composent un logiciel. Il nous fournit les informations de base nécessaires pour gérer les risques, corriger les vulnérabilités et garantir la sécurité du logiciel, depuis sa création jusqu’à son utilisation.
Comment fonctionne la SBOM
Une SBOM est comme une liste qui indique ce qui compose un logiciel. Elle est générée par des outils automatiques qui analysent le code du logiciel et tous ses dépendances.
Tout d'abord, les outils identifient tous les composants en scannant le code et les fichiers associés. Ils analysent des fichiers tels que package.json pour les projets JavaScript ou pom.xml pour les projets Java afin de déterminer les bibliothèques utilisées par les développeurs. Ensuite, ils examinent également les dépendances de ces bibliothèques. Cela permet d'obtenir une vue complète de la composition du logiciel.
Ensuite, l'outil ajoute des informations supplémentaires à la liste, telles que le nom, la version et un identifiant spécial pour chaque composant. Ces identifiants, tels que les Package URLs (PURLs), permettent à chacun de savoir exactement de quel composant il s'agit. La SBOM peut également inclure la licence, le nom du fabricant du composant et un code permettant de vérifier si le composant a été modifié.
Enfin, toutes les informations sont mises au format standard lisible par les ordinateurs. Les principaux formats sont SPDX, CycloneDX et les balises SWID. Ces formats facilitent l’utilisation et la compréhension de la SBOM par différents outils. Cela signifie que les SBOM peuvent être utilisées sans problème sur de nombreuses applications et composants. La SBOM finale peut être partagée avec les clients, enregistrée dans un fichier ou utilisée pour vérifier la sécurité et s’assurer que tout est correct.
Caractéristiques clés du SBOM
Une SBOM véritablement efficace se définit par plusieurs caractéristiques clés qui garantissent son utilité et sa fiabilité. La première et la plus importante est la profondeur et l'exhaustivité. Une liste superficielle des dépendances de haut niveau est insuffisante. Une SBOM robuste fournit une vue hiérarchique imbriquée qui inclut toutes les dépendances transitives, souvent appelées «dépendances des dépendances». Cette visibilité approfondie est nécessaire pour comprendre l'ensemble de la surface d'attaque, car les vulnérabilités se cachent souvent dans ces composants inclus indirectement.
Une autre caractéristique fondamentale est l'automatisation et la lisibilité par les machines. Les SBOM doivent être générés automatiquement dans le cadre du processus de build et d'intégration continue/déploiement continu (CI/CD) afin de garantir leur exactitude et leur actualité. La création manuelle est source d'erreurs et non viable. De plus, la sortie doit être au format standardisé et lisible par machine (comme SPDX ou CycloneDX) plutôt que dans un PDF ou un document statique. Cela permet aux outils de sécurité d'ingérer, d'analyser et de corréler automatiquement les données SBOM avec les bases de données de vulnérabilités, ce qui permet une réponse rapide aux nouvelles menaces.
La fraîcheur et l'exactitude des données sont également essentielles. Les logiciels sont dynamiques ; des dépendances sont constamment ajoutées, mises à jour ou supprimées. Une SBOM n'est pas un instantané ponctuel, mais un artefact vivant qui doit être mis à jour à chaque nouvelle build du logiciel. Une SBOM obsolète peut être trompeuse et donner un faux sentiment de sécurité. Enfin, une SBOM complète soutient la conformité des licences et la traçabilité des composants. Elle répertorie clairement les licences associées à chaque composant, aidant ainsi les équipes juridiques et de conformité à gérer leurs obligations, et peut inclure des données sur l'origine et le fournisseur du composant, ce qui est essentiel pour évaluer la fiabilité de la chaîne d'approvisionnement.

Nomenclature logicielle (SBOM): Caractéristiques clés
Quels problèmes la SBOM permet-elle de résoudre?
Les SBOM répondent directement à certains problèmes importants et croissants liés à l'utilisation actuelle des logiciels. La principale préoccupation est l'opacité de la chaîne d'approvisionnement logicielle. Les entreprises ignorent souvent quels composants open source et autres composants tiers sont présents dans leurs applications. Cela rend difficile l'évaluation des risques ou la correction rapide des problèmes lorsqu'une nouvelle vulnérabilité apparaît, comme celles découvertes dans Log4j ou Apache Struts. Une SBOM résout ce problème en fournissant une liste claire de tous les composants inclus.
Elle aide également à résoudre le problème majeur que représente la correction lente et imparfaite des vulnérabilités. Si vous ne disposez pas d'une SBOM, lorsqu'un nouveau problème (CVE) est annoncé, les équipes de sécurité doivent se précipiter et vérifier manuellement si leurs applications sont exposées. Cela prend du temps, demande des efforts et conduit souvent à des erreurs. Mais avec une SBOM, cela peut se faire automatiquement. Les programmes de sécurité peuvent rapidement comparer la liste des composants de la SBOM avec les dernières informations sur les menaces. Cela permet d'identifier exactement quelles applications sont vulnérables, réduisant ainsi le temps nécessaire pour corriger les problèmes de plusieurs jours à quelques minutes.
De plus, les SBOM résolvent les problèmes de licence et d'audit. Suivre toutes les questions juridiques liées aux différentes licences open source dans de nombreuses applications est une tâche importante. Une SBOM fournit un enregistrement clair de chaque licence, ce qui évite les problèmes et les litiges liés aux règles. Enfin, les SBOM répondent à la demande croissante de transparence et d'ouverture du logiciel, tant de la part des régulateurs que des clients. Les directives gouvernementales et les nouvelles normes de sécurité informatique à travers le monde commencent à exiger des SBOM. Cela les rend essentiels pour faire affaires, en particulier avec le gouvernement et les entreprises soucieuses de sécurité.
Avantages de la SBOM
L’adoption généralisée des SBOM offre des avantages considérables en matière de sécurité, d’exploitation et de fonctions commerciales. L’avantage le plus significatif est l’accélération spectaculaire de la correction des vulnérabilités. En sachant précisément quels composants se trouvent dans quelles applications, les organisations peuvent passer d’une posture réactive à une posture proactive. Lorsqu’un CVE critique est publié, les équipes peuvent immédiatement identifier tous les actifs concernés et hiérarchiser les correctifs, ce qui réduit considérablement le temps moyen de réparation (MTTR) et réduit la fenêtre d’exposition.
D’un point de vue opérationnel, les SBOM apportent une efficacité sans précédent dans la gestion de la chaîne d’approvisionnement logicielle. Elles éliminent les conjectures et le travail manuel associés au suivi des composants, libérant ainsi des ressources précieuses en ingénierie et en sécurité. Cette efficacité s’étend aux activités de fusion et d’acquisition, où l’acquéreur peut effectuer une diligence technique précise en analysant l’inventaire logiciel de la société cible. Elle rationalise également les audits logiciels, tant internes qu’externes, en fournissant une source unique de vérité.
Un autre avantage clé est l'amélioration de la conformité des licences et la réduction des risques. Les SBOM fournissent aux équipes juridiques et de conformité les données nécessaires pour éviter les violations de licence qui peuvent entraîner des litiges coûteux ou la publication forcée du code source. Cela protège la propriété intellectuelle et maintient la continuité des activités. Enfin, les SBOM renforcent la confiance des clients et le respect des réglementations. En fournissant un SBOM à ses clients, un éditeur de logiciels démontre son engagement en faveur de la transparence et de la sécurité, ce qui lui permet de se différencier sur le marché et d'établir des partenariats plus solides et plus fiables.

Nomenclature logicielle (SBOM): Caractéristiques clés
En quoi la SBOM diffère-t-elle de la SCA?
L'analyse de la composition logicielle (SCA) et la SBOM sont liées, mais différentes. La SCA est comme l'action, et la SBOM est ce que vous obtenez.
Les outils SCA analysent le code pour identifier des problèmes tels que des failles de sécurité et des problèmes de licence. Ce sont les technologies qui réalisent cette analyse.
Une SBOM est la liste de tous les éléments contenus dans votre logiciel. Il ne s'agit pas seulement de sécurité ; c'est un registre de tout, ce qui le rend utile pour gérer le logiciel tout au long de son cycle de vie, prouver que vous respectez les règles et être transparent sur le contenu de votre logiciel.
Imaginez fabriquer quelque chose: la SCA, c’est comme vérifier les matériaux pour détecter des problèmes. La SBOM, c’est l’étiquette de livraison qui indique ce qui est dans la boîte. Vous devez chercher des problèmes, mais vous devez aussi connaître ce que vous avez utilisé. Les deux sont essentiels pour bien faire du logiciel.
Pourquoi la SBOM est-elle essentielle à la sécurité des applications?
La SBOM est essentielle car la sécurité des applications ne peut plus se limiter au code propre à une organisation. La grande majorité des risques liés aux logiciels modernes proviennent de la chaîne d'approvisionnement. Les vulnérabilités à fort impact telles que Log4Shell, Heartbleed et la récente alerte concernant la porte dérobée XZ Utils ont clairement démontré qu'une attaque contre un seul composant open source omniprésent peut créer une crise mondiale. Sans SBOM, les organisations avancent à l'aveuglette dans ces tempêtes, incapables de déterminer rapidement et avec certitude leur exposition.
De plus, la SBOM transforme la sécurité des applications d'une discipline réactive à une discipline proactive et prédictive. Elle fournit la couche de données fondamentale qui permet l'automatisation à grande échelle. Les équipes de sécurité peuvent créer des workflows dans lesquels la divulgation de nouvelles vulnérabilités déclenche automatiquement l'analyse de toutes les SBOM d'un référentiel, générant instantanément des tickets pour les propriétaires des applications concernées. Cela permet de faire passer l'ensemble du programme de sécurité d'une réponse manuelle frénétique à un processus rationalisé et orchestré, améliorant ainsi fondamentalement la résilience de l'organisation.
En fin de compte, la SBOM est essentielle en raison des exigences croissantes des régulateurs et du marché. Les cadres de cybersécurité et les mandats gouvernementaux, tels que l’ordonnance exécutive américaine sur l’amélioration de la cybersécurité nationale, officialisent l’exigence des SBOM dans les logiciels vendus au gouvernement fédéral. Cette tendance se répercute sur le secteur privé, faisant des SBOM une attente de base pour faire des affaires. Dans cette nouvelle réalité, disposer d’un programme SBOM n’est pas seulement une bonne pratique, c’est une exigence fondamentale pour démontrer la diligence raisonnable et conserver une licence d’exploitation.
Exemples concrets d'utilisation de la SBOM
Les SBOM sont passées de la théorie à la pratique, apportant une valeur critique dans de nombreux scénarios réels. Un exemple parfait est l'accélération de la réponse aux vulnérabilités zero-day. Lorsqu'une vulnérabilité critique comme Log4Shell est annoncée, une organisation dotée d'un référentiel SBOM centralisé peut l'interroger immédiatement. Au lieu de jours de panique et de recherches manuelles, une simple requête pour «log4j-core» renvoie instantanément la liste de toutes les applications, versions et serveurs contenant le composant vulnérable. Cela permet à l'équipe sécurité d'assigner les correctifs avec précision et de fournir à la direction une évaluation exacte de l'impact en quelques heures, et non en plusieurs jours.
Un autre cas d’utilisation puissant concerne les achats et la gestion des risques liés aux fournisseurs. Une grande entreprise envisageant un nouveau fournisseur de logiciels suite à une fusion peut demander un SBOM dans le cadre du questionnaire de sécurité. L’équipe de sécurité de l’entreprise peut alors analyser le SBOM pour détecter un volume élevé de composants vulnérables connus, l’utilisation de licences restrictives ou non conformes, ou des dépendances vers des projets open source mal entretenus ou malveillants. Cela permet une évaluation du risque technique fondée sur les données avant la signature du contrat, évitant ainsi une future catastrophe en matière de sécurité ou de conformité.
Les SBOM sont également essentielles pour les équipes DevOps et d'ingénierie de plateformes qui gèrent de grandes plateformes internes. Dans une architecture de microservices comprenant des centaines de services, chacun avec ses propres dépendances, le suivi manuel des composants est impossible. En imposant que chaque build de service produise une SBOM, l'équipe de la plateforme peut maintenir un inventaire en temps réel de l'ensemble de l'écosystème logiciel. Cela leur permet de surveiller de manière proactive les nouvelles vulnérabilités révélées dans tous les services et de générer automatiquement des demandes de fusion pour mettre à jour les dépendances de manière contrôlée et systématique, garantissant ainsi la santé et la sécurité globales de la plateforme.
Comment ImmuniWeb vous aide avec SBOM
ImmuniWeb s'appuie sur sa plateforme alimentée par l'IA pour fournir des capacités SBOM complètes, profondément intégrées dans un cadre plus large de test et de surveillance de la sécurité des applications. La technologie d'ImmuniWeb génère automatiquement des SBOM précises, détaillées et conformes aux normes (dans des formats tels que SPDX et CycloneDX) dans le cadre de ses processus continus de découverte et de test. En analysant les applications web et mobiles d'une organisation, ImmuniWeb établit un inventaire complet des composants logiciels, y compris les bibliothèques open source, les frameworks et leurs dépendances transitives.
L’un des principaux atouts de l’approche d’ImmuniWeb est l’intégration transparente de la génération de SBOM avec la surveillance proactive de la sécurité. La plateforme ne se contente pas de créer une SBOM statique ; elle surveille en permanence les composants qui y sont répertoriés par rapport aux bases de données mondiales sur les vulnérabilités et aux flux d’informations sur les menaces. Lorsqu’une nouvelle vulnérabilité est découverte dans un composant, ImmuniWeb peut immédiatement alerter l’organisation, identifier les applications exactes concernées et fournir des conseils pratiques pour y remédier. La SBOM passe ainsi d’un document passif à un système d’alerte précoce actif pour la chaîne d’approvisionnement logicielle.
De plus, ImmuniWeb améliore la gestion des SBOM en mettant l'accent sur la conformité et la réduction des risques. La plateforme aide les organisations à répondre aux exigences réglementaires en constante évolution en fournissant la transparence et les pistes d'audit nécessaires. Elle évalue également le niveau de risque de chaque composant, en tenant compte de facteurs au-delà des CVE, tels que l'âge du composant, la fréquence des mises à jour et son état de maintenance. En offrant une vue unifiée qui combine les données SBOM avec les résultats des tests de sécurité et la cartographie de la conformité, ImmuniWeb permet aux organisations de maîtriser leur chaîne d'approvisionnement logicielle, de prendre des décisions éclairées qui renforcent la sécurité, garantissent la conformité et permettent de construire des logiciels résilients dès le départ.
Disclaimer
Le texte ci-dessus ne constitue pas un conseil juridique ou d'investissement et est fourni «tel quel», sans aucune garantie d'aucune sorte. Nous vous recommandons de vous adresser aux experts d'ImmuniWeb pour mieux comprendre le sujet.