Qu'est-ce que SBOM (nomenclature logicielle) ?

Liste lisible par machine des composants qui constituent un logiciel, comme les bibliothèques, avec leurs noms, versions, fournisseurs et relations de dépendance. Parmi les formats figurent SPDX et CycloneDX. Lorsqu'une vulnérabilité est annoncée dans un composant, elle permet d'identifier rapidement les produits et versions concernés, et elle sert aussi à la gestion des licences. À la suite d'un décret présidentiel américain de mai 2021, elle est de plus en plus exigée dans les marchés publics et ailleurs.

Nom japonais: SBOM(ソフトウェア部品表)

« SBOM (nomenclature logicielle) » apparaît dans 2 questions d'entraînement réparties sur 2 thèmes, dont Cyberattaques et défense en pratique, Sécurité matérielle : évolutions récentes.

Domaine: Cyberattaques et défense en pratique

Ce qu'elle contient

Pour chaque composant, elle enregistre le nom, la version, le fournisseur, un identifiant qui le désigne de façon unique, des valeurs de hachage, la licence et les dépendances envers d'autres composants. En incluant non seulement les composants utilisés directement, mais aussi ceux qu'utilisent ces composants (dépendances transitives), on peut trouver des composants vulnérables situés profondément dans l'arbre.

Création et utilisation

Une SBOM est généralement générée automatiquement par des outils lors du build ; une SBOM faite à la main devient vite obsolète. En comparant en continu la SBOM aux bases de données de vulnérabilités, on peut identifier rapidement les produits touchés par une vulnérabilité nouvellement annoncée. Les entreprises qui livrent des produits l'utilisent dans leur PSIRT pour informer les clients.

Limites

Une SBOM est une liste de composants et ne garantit pas qu'ils sont sûrs. Un composant vulnérable figurant sur la liste n'est pas forcément utilisé d'une manière réellement exploitable dans ce produit ; on décide donc en tenant compte des informations sur l'exploitabilité (transmises dans des formats comme VEX).

S'entraîner : questions sur SBOM (nomenclature logicielle)

Quel est le principal objectif de la création et de la tenue à jour d'une SBOM (nomenclature logicielle) ?

  1. ALister les composants d'un produit, comme les bibliothèques, avec leurs versions, afin de retrouver immédiatement les produits concernés lorsqu'une vulnérabilité d'un composant est annoncée
  2. BChiffrer le code source du logiciel afin que des tiers, y compris les utilisateurs ayant acheté le produit, ne puissent pas lire le contenu du programme
  3. CCalculer le coût et le délai d'approvisionnement des composants à partir de la liste des semi-conducteurs et composants électroniques servant à fabriquer un produit, et planifier la production
Afficher la réponse et l'explication

Réponse : A. Lister les composants d'un produit, comme les bibliothèques, avec leurs versions, afin de retrouver immédiatement les produits concernés lorsqu'une vulnérabilité d'un composant est annoncée

Les logiciels actuels sont construits en combinant de nombreuses bibliothèques open source et des composants tiers, et les composants dépendent souvent eux-mêmes d'autres composants. Une SBOM est la liste de ces composants avec leurs noms, versions, fournisseurs et relations de dépendance, dans un format lisible par machine (comme SPDX ou CycloneDX). Lorsqu'une vulnérabilité grave est découverte dans un composant largement utilisé, comme la vulnérabilité de Log4j (Log4Shell) rendue publique en décembre 2021, une SBOM permet de trouver rapidement quelles versions de quels produits sont concernées. Aux États-Unis, un décret présidentiel de mai 2021 a fixé l'orientation consistant à exiger une SBOM pour les logiciels fournis à l'administration.

Questions fréquentes

A-t-elle un rapport avec la nomenclature (BOM) des semi-conducteurs et des composants électroniques ?

L'idée est la même : la nomenclature (bill of materials) utilisée dans l'industrie manufacturière, appliquée au logiciel. Les composants d'une SBOM sont toutefois des logiciels comme des bibliothèques, et ses principaux objectifs sont la gestion des vulnérabilités et des licences. Une liste de composants matériels est parfois appelée HBOM.

Quel format une SBOM doit-elle utiliser ?

Les formats les plus utilisés sont SPDX (développé principalement sous l'égide de la Linux Foundation et publié aussi comme norme internationale ISO/IEC 5962) et CycloneDX (développé principalement par l'OWASP), et de nombreux outils prennent en charge les deux. Le choix suit les exigences des clients ou de la réglementation, et la conversion d'un format à l'autre est aussi possible.

« SBOM (nomenclature logicielle) » dans les explications

Questions mentionnant « SBOM (nomenclature logicielle) » (2)

  1. Quel est le principal objectif de la création et de la tenue à jour d'une SBOM (nomenclature logicielle) ?
  2. Quelle affirmation décrit correctement une nomenclature matérielle (HBOM) ?

Termes associés

HBOM (nomenclature matérielle) Attaque par la chaîne d'approvisionnement Centre des opérations de sécurité Cyber Kill Chain EDR (endpoint detection and response) Indicateur de compromission (IoC) Investigation numérique (forensique) MITRE ATT&CK Mouvement latéral (lateral movement) Réponse aux incidents

Retour au glossaire