HBOM : guide Hardware Bill of Materials pour le CRA
Votre SBOM recense les bibliothèques et paquets logiciels. Elle ne vous dira pas si le module radio de votre produit n'est plus pris en charge, si le bootloader peut être mis à jour, ou quel lot utilisait un jeu de puces de substitution.
C'est le rôle d'une nomenclature des composants matériels (HBOM). Le CRA n'emploie pas le terme « HBOM », mais les produits matériels, les composants matériels commercialisés séparément, la diligence sur les composants tiers et l'inventaire SBOM pointent tous vers le même besoin pratique : savoir quels matériels et quels firmwares se trouvent dans le produit, et savoir si vous pouvez agir lorsqu'une vulnérabilité apparaît.
Résumé
- Un HBOM est un inventaire structuré des composants physiques de votre produit, y compris le firmware porté par chaque composant ou dont il dépend.
- Le CRA n'impose pas d'HBOM sous ce nom. Traitez-le comme le versant matériel de l'inventaire des composants déjà nécessaire pour un produit comportant des éléments numériques.
- Le plancher légal n'est pas « chaque résistance ». Pour le matériel, listez les pièces qui affectent le risque cyber.
- La fin de vie (EOL) des composants est importante. Les dates de support des composants tiers essentiels alimentent la justification de la période de support du produit.
- CycloneDX est le format unifié pratique :
type: devicecouvre le matériel physique,type: firmwarecouvre le logiciel embarqué, et les deux peuvent coexister dans un document CycloneDX 1.6 ou ultérieur. - BSI TR-03183 ne définit pas actuellement la structure HBOM. Ses trois parties portent sur les nomenclatures logicielles, les exigences CRA et les rapports de vulnérabilités.
Pourquoi l'HBOM est important au titre du CRA
Le champ du CRA dépasse les produits purement logiciels. Les produits matériels, les composants matériels commercialisés séparément et le firmware à l'intérieur de ces composants relèvent tous du problème d'inventaire du produit.
C'est important pour les fabricants, car la diligence sur les composants ne se limite pas aux bibliothèques open source. Un processeur sur votre PCB, un module sans fil sur votre carte de développement ou un élément sécurisé dans votre passerelle IoT peut porter du firmware, des paramètres de sécurité et des dates de support. Vous ne pouvez pas gérer ces risques sans les inventorier.
L'obligation SBOM est là où cette preuve prend place habituellement. Le CRA demande aux fabricants d'identifier et documenter les composants et les vulnérabilités, notamment par une SBOM en format lisible par machine couvrant au moins les dépendances de niveau supérieur. Un module ESP32 fait donc entrer à la fois le module physique et sa pile firmware dans l'enregistrement des composants. L'HBOM est l'outil pratique pour capturer ce versant matériel de l'inventaire.
Les périodes de support font partie du même tableau. Le CRA vous permet de prendre en compte les périodes de support des composants tiers essentiels. Votre documentation technique doit alors contenir les informations utilisées pour définir la période de support du produit. Si un jeu de puces ou un module atteint sa fin de support avant la fin de la période de support de votre produit, l'HBOM est là où ce fait doit apparaître en premier.
Le CRA n'exige pas de document appelé HBOM. Traitez les entrées HBOM comme le versant matériel de l'inventaire unifié des composants que vous maintenez pour le produit, en particulier pour les produits embarqués, IoT, industriels et réseaux.
À quoi ressemble un HBOM dans une chaîne d'approvisionnement réelle
Imaginez un importateur européen achetant une passerelle connectée à un ODM de Shenzhen. L'importateur n'a pas besoin de chaque résistance. Il a besoin des données de fabrication qui modifient le risque cyber : module radio, version de référence du firmware, statut de support et substitutions approuvées.
Numéro de pièce, révision, version firmware, page d'avis et date de fin de support.
Module réel, image firmware, état de verrouillage debug et plage de lots ou de numéros de série.
Entrées matérielles liées au firmware, au chemin de mise à jour, à la source fournisseur et aux preuves.
Le lot reçu correspond à la version évaluée avant inscription sur le marché ou changement de marque.
Les avis et signalements clients remontent jusqu'aux modèles, lots ou plages de numéros de série.
La différence clé est l'enregistrement tel que fabriqué. Un BOM de conception indique ce que l'ingénierie avait prévu d'utiliser. L'HBOM doit aussi capturer ce que l'usine a réellement expédié.
HBOM et SBOM : comparaison rapide
| Dimension | SBOM | HBOM |
|---|---|---|
| Périmètre principal | Bibliothèques logicielles, paquets, frameworks | Composants physiques : puces, modules, éléments sécurisés |
| Couverture firmware | Peut inclure des entrées type: firmware |
Firmware listé aux côtés de son composant matériel parent |
| Rôle conformité | Exigence explicite d'inventaire des composants | Extension pratique du même inventaire pour les produits matériels |
| Couverture BSI TR-03183 | Oui, TR-03183-2 (v2.1.0, 2025) | Non, aucune des trois parties de TR-03183 ne couvre l'HBOM |
| Prise en charge CycloneDX | Toutes versions | type: device depuis v1.0 ; type: firmware depuis v1.2 (mai 2020) |
| Outil de génération typique | Syft, Trivy, cdxgen | Manuel ou fiches techniques des fournisseurs matériels ; pas d'outillage d'auto-génération mature à ce stade |
| Place dans le dossier technique | Dossier technique, section inventaire des composants | Même emplacement, dans le cadre de l'inventaire unifié des composants |
Pour l'obligation SBOM complète, voir exigences SBOM CRA. Pour la comparaison des formats, voir CycloneDX vs SPDX.
Ce qu'il faut inclure et où s'arrêter
Le CRA ne donne pas de liste réglementaire de champs HBOM. Il n'exige pas non plus de lister chaque pièce passive. Son socle d'inventaire des composants fixe un plancher de dépendances de niveau supérieur pour la SBOM, et le versant matériel doit suivre la même logique de risque.
Utilisez ce seuil : listez le matériel qui peut modifier le risque cyber du produit, le statut de vulnérabilité, le chemin de mise à jour ou les preuves de période de support.
Commencez par les composants qui remplissent l'une de ces fonctions :
- Traiter des données : processeurs principaux, SoC, microcontrôleurs, FPGA et ASIC liés à la sécurité.
- Stocker du code ou des secrets : flash, eMMC, Trusted Platform Modules (TPM), éléments sécurisés et contrôleurs de stockage.
- Transmettre des données : modules Wi-Fi, Bluetooth, Zigbee, Thread, LoRaWAN, NFC, Ethernet, cellulaire et GNSS.
- Démarrer ou mettre à jour le produit : gestionnaires de démarrage, bootloaders, UEFI, BIOS, firmware du contrôleur de carte mère (BMC) et contrôleurs de mise à jour.
- Appliquer la sécurité : accélérateurs cryptographiques, racines de confiance matérielles, coffres de clés et enclaves sécurisées.
- Exposer l'accès aux services : ports de débogage de production, JTAG, UART, SWD ou interfaces d'administration pour lesquels l'état de verrouillage en production est déterminant.
Les pièces passives telles que les résistances et condensateurs ordinaires n'entrent normalement pas dans l'HBOM, sauf si elles ont une fonction de sécurité, une identité numérique, un firmware ou un risque de substitution connu. Le critère pratique est simple : si une vulnérabilité, un avis de sécurité, une notice de fin de vie ou une substitution fournisseur pour la pièce modifierait votre décision de risque produit, listez-la.
Catégories matérielles prioritaires
Les catégories suivantes ne constituent pas une liste réglementaire. Ce sont les entrées les plus susceptibles de compter dans les preuves CRA, car elles portent du firmware, des clés, des interfaces ou des dépendances de support fournisseur.
| Catégorie | Exemples | Éléments à enregistrer |
|---|---|---|
| Traitement et connectivité | CPU principal, MCU, SoC, Wi-Fi, Bluetooth, Zigbee, LoRaWAN, cellulaire, module Ethernet | Fabricant, numéro de pièce, révision, version firmware, chemin de mise à jour |
| Composants de sécurité | TPM, élément sécurisé, module de sécurité matériel (HSM), accélérateur cryptographique, racine de confiance matérielle | Rôle de stockage des clés, version firmware ou applet, rôle de démarrage sécurisé, source d'avis |
| Firmware de démarrage et de plateforme | Bootloader, gestionnaire de démarrage, UEFI, BIOS, BMC, option ROM, microcode CPU | Version firmware, statut de signature, protection anti-retour arrière, autorité de mise à jour |
| Stockage et contrôleurs | Flash, eMMC, SSD, NVMe, contrôleur de stockage, EEPROM contenant la configuration | Indique si code, secrets ou configuration sont stockés ; version firmware du contrôleur |
| Logique programmable | Bitstream FPGA, ASIC ou FPGA lié à la sécurité | Version du bitstream, provenance de la compilation, méthode de mise à jour, fonction de sécurité |
| Interfaces de débogage et de service | JTAG, UART, SWD, connecteur de service, mode de test en usine | État de verrouillage en production, contrôles d'accès, preuves de désactivation |
Pour chaque entrée, enregistrez au minimum : le nom du composant, le fabricant, la version matérielle ou le stepping, et la version firmware le cas échéant. Liez chaque entrée matérielle à son entrée firmware correspondante via les relations de dépendance CycloneDX.
Le firmware se trouve souvent en dessous du niveau que votre scanner logiciel habituel inspecte : à l'intérieur des modules radio, des bootloaders, des contrôleurs de stockage ou des processeurs d'administration. Documenter les versions firmware dans l'HBOM est le prérequis au suivi et à la remédiation. Vous ne pouvez pas surveiller ce que vous n'avez pas listé.
Les couches firmware souvent oubliées
Un seul champ « version firmware » est souvent trop superficiel. De nombreux produits contiennent plusieurs couches firmware avec des propriétaires, des chemins de mise à jour et des sources de vulnérabilités différents.
Les couches souvent manquées comprennent :
- Firmware de démarrage : ROM de démarrage, bootloader, gestionnaire de démarrage et configuration du démarrage sécurisé.
- Firmware radio : firmware Wi-Fi, Bluetooth, baseband cellulaire, Zigbee, Thread, LoRaWAN et NFC.
- Firmware de plateforme : UEFI, BIOS, BMC, option ROM et microcode CPU. NIST SP 800-193 traite le firmware de plateforme comme le matériel et le firmware fondamentaux nécessaires au démarrage et au fonctionnement d'un système.
- Firmware de contrôleur : contrôleurs de stockage, cartes réseau, contrôleurs d'alimentation, concentrateurs de capteurs et contrôleurs embarqués.
- Firmware de sécurité : firmware TPM, systèmes d'exploitation d'éléments sécurisés, applets d'éléments sécurisés, images d'environnement d'exécution de confiance (TEE) et firmware HSM.
- Logique programmable : bitstreams FPGA et configuration d'ASIC ou FPGA liés à la sécurité.
- Blobs binaires fournisseurs : blobs firmware fournis par le SDK, intégrés à l'image du produit mais maintenus par un fournisseur de puce ou de module.
Chaque couche doit être un composant distinct lorsqu'elle a sa propre version, son propre chemin de mise à jour, son propre mainteneur ou sa propre source d'avis. C'est ce qui vous permet de répondre à la question utile plus tard : quelles versions exactes du produit sont affectées par cet avis de sécurité firmware ?
Les champs qui rendent un HBOM utile
Le plancher réglementaire est plus étroit qu'un HBOM utile. Les champs ci-dessous ne sont pas tous obligatoires au titre du CRA. Ce sont les preuves qui vous permettent de gérer les vulnérabilités, les changements de fournisseurs et les décisions de période de support sans repartir de zéro.
Exemple : ESP32-WROOM-32E, Espressif. Pourquoi : identité de base.
Exemple : ESP32-WROOM-32E-N8. Pourquoi : recherche de vulnérabilités en l'absence de CPE ; vérification de substitution.
Exemple : distributeur agréé ou ODM. Pourquoi : contact chaîne d'approvisionnement et risque de contrefaçon.
Exemple : Rév. 3, PCB B2. Pourquoi : les avis concernent souvent une plage de révisions.
Exemple : ESP-IDF 4.4.1. Pourquoi : principale surface de vulnérabilité.
Exemple : oui, non ou fournisseur uniquement. Pourquoi : indique si une remédiation sur le terrain est possible.
Exemple : OTA signé par le fournisseur. Pourquoi : indique si le chemin de mise à jour est fiable.
Exemple : activé, désactivé ou sans objet. Pourquoi : relie le composant à l'évaluation du risque « sécurisé par défaut ».
Exemple : version de sécurité 3. Pourquoi : empêche la réinstallation d'un firmware vulnérable.
Exemple : JTAG verrouillé. Pourquoi : indique l'état du contrôle d'accès en production.
Exemple : TPM, élément sécurisé ou fusible OTP. Pourquoi : explique quels actifs le composant protège.
Exemple : CPE NVD vérifié. Pourquoi : facilite la correspondance de vulnérabilités lorsqu'un CPE existe.
Exemple : page PSIRT ou page de sécurité. Pourquoi : source principale pour les problèmes de firmware propriétaire.
Exemple : 2031-12. Pourquoi : alimente la justification de la période de support du produit.
Exemple : modèle, lot, numéro de série ou inconnu. Pourquoi : indique si un rappel ou un avis peut être délimité.
Exemple : fiche technique, déclaration fournisseur ou vérification en laboratoire. Pourquoi : explique pourquoi vous faites confiance à l'entrée.
Le firmware dans la définition CRA du logiciel
Le firmware est parfois traité comme une catégorie spéciale, distincte du matériel comme du logiciel. Pour le travail CRA, traitez le firmware comme un logiciel, car il s'agit de code informatique exécuté dans un système d'information électronique.
La conséquence pratique est simple. Le firmware exécuté sur une puce de votre produit est un composant logiciel de votre produit comportant des éléments numériques. Il doit figurer dans votre inventaire des composants. S'il contient une vulnérabilité, cette vulnérabilité suit le même flux de traitement et de signalement que toute autre vulnérabilité logicielle.
Lorsque le firmware ne peut pas être mis à jour
Certains firmwares ne peuvent pas être mis à jour sur le terrain. La ROM de démarrage peut être programmée par masque. Le code d'un élément sécurisé peut être contrôlé par le fournisseur. Un module radio peut ne pas exposer de chemin de mise à jour client. Cela ne fait pas disparaître le composant des preuves CRA.
Le CRA s'attend à ce que les vulnérabilités soient traitables par des mises à jour de sécurité lorsque cela s'applique. Si un composant matériel ne peut pas recevoir de mises à jour, documentez ce fait dans l'HBOM et dans l'évaluation des risques.
Enregistrez :
- Statut de mise à jour : mise à jour possible sur le terrain, par le fournisseur uniquement, en usine uniquement ou immuable.
- Raison : ROM, mémoire à programmation unique, module fournisseur verrouillé, contrainte de certification ou absence de canal de mise à jour exposé.
- Mesures compensatoires : isolation, fonctionnalité désactivée, restriction réseau, authentification renforcée ou atténuation au niveau du produit.
- Voie de réponse : mise à jour firmware, remplacement du module, rappel d'unités, avis client ou déclaration VEX
not_affectedlorsque la fonction vulnérable n'est pas accessible. - Plage affectée : version du produit, révision du PCB, lot ou plage de numéros de série.
Si une vulnérabilité exploitable ne peut être ni corrigée ni atténuée, les obligations d'action corrective du CRA peuvent imposer des mesures correctives, retrait ou rappel. L'HBOM doit vous donner la plage de produits concernés avant que cette décision devienne urgente.
La fin de vie des composants et la période de support
La période de support du produit n'est pas seulement une promesse service client. Elle fait partie du modèle de gestion des vulnérabilités du CRA.
Le CRA vous permet de prendre en compte les périodes de support des composants tiers essentiels intégrés pour définir la période de support du produit. Votre documentation technique doit alors contenir les informations utilisées pour déterminer cette période de support. Les orientations CRA sur les exemples de matériels à longue durée de vie comprennent les cartes mères, microprocesseurs, routeurs, modems, commutateurs et systèmes de contrôle industriels, souvent utilisés plus de cinq ans.
La fin de vie des composants est donc un champ HBOM, pas seulement une note de processus d'achat.
Pour les composants essentiels, enregistrez :
- Date de fin de support fournisseur : mois et année si disponibles.
- Date de la dernière version firmware : date la plus récente à laquelle le fournisseur a publié une mise à jour firmware pertinente pour la sécurité.
- Source des avis : page PSIRT, flux CSAF, liste de diffusion ou contact fournisseur.
- Voie de remplacement : pièce à brochage compatible, plan de reconception, décision d'achat de dernière chance ou décision de fin de vie du produit.
- Couverture contractuelle : si les obligations de correctifs et de notifications du fournisseur couvrent la période de support du produit déclarée.
Si un module essentiel atteint sa fin de support avant votre produit, vous avez une décision à prendre avant la mise sur le marché. Prolongez la couverture fournisseur, choisissez une pièce différente, limitez la période de support du produit si justifié, ou documentez un plan de remplacement.
CycloneDX comme format unifié SBOM et HBOM
CycloneDX prend en charge à la fois les composants matériels et logiciels dans un document unique. Vous n'avez pas besoin d'un format de fichier distinct pour votre HBOM.
Historique des types de composants (pertinent pour le matériel)
| Version CycloneDX | Date de publication | Ajout pertinent |
|---|---|---|
| 1.0 | 2018-03 | type: device disponible dès la première version |
| 1.2 | 2020-05-26 | Ajout de type: firmware |
| 1.5 | 2023-06-26 | Ajout de type: device-driver |
| 1.6 | 2024-04-09 | Socle cible CRA |
| 1.7 | 2025-10-21 | Dernière version stable |
À noter qu'il n'existe pas de type: hardware dans aucune version de CycloneDX. Le type correct pour une puce ou un module physique est type: device.
La spécification CycloneDX traite le dispositif physique et le logiciel qui s'exécute dessus comme des composants distincts. Un processeur ou un jeu de puces doit être représenté comme un composant device, tandis que le code qui s'exécute dessus doit être représenté comme firmware ou operating-system, selon le cas.
Cette approche correspond directement au traitement CRA : le dispositif physique et son firmware sont des composants liés mais distincts, chacun avec sa propre identité et sa propre version.
Ciblez CycloneDX 1.6 ou ultérieur pour tout nouveau travail HBOM. BSI TR-03183-2 v2.1.0 (2025-08-20) a relevé son exigence minimale CycloneDX à 1.6. S'aligner sur 1.6 ou ultérieur permet de regrouper votre SBOM et votre HBOM dans le même document et de satisfaire TR-03183.
CycloneDX dispose également de propriétés officielles cdx:device:* pour les détails matériels tels que la fonction, l'emplacement sur la carte, le type de dispositif, le numéro de série, le numéro de lot et les identifiants GS1. Utilisez ces noms lorsqu'ils correspondent. Si vous ajoutez des propriétés personnalisées pour la capacité de mise à jour ou l'état de sécurité, nommez-les clairement afin que les lecteurs ne les confondent pas avec la taxonomie officielle CycloneDX.
Exemple : dispositif ESP32 avec pile firmware
L'exemple ci-dessous présente un composant matériel réaliste (ESP32-WROOM-32E), son firmware (ESP-IDF) et une bibliothèque au sein du firmware (mbedtls), le tout dans un unique document CycloneDX 1.6 ou ultérieur avec des relations de dépendance :
{
"bomFormat": "CycloneDX",
"specVersion": "1.6",
"version": 1,
"components": [
{
"type": "device",
"bom-ref": "device:esp32-wroom-32e",
"name": "ESP32-WROOM-32E",
"version": "Rev 3",
"manufacturer": { "name": "Espressif Systems" },
"description": "Wi-Fi and Bluetooth SoC module",
"externalReferences": [
{
"type": "documentation",
"url": "https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32e_esp32-wroom-32ue_datasheet_en.pdf"
}
],
"properties": [
{ "name": "cdx:device:function", "value": "Wi-Fi and Bluetooth connectivity" },
{ "name": "cdx:device:deviceType", "value": "SMD module" },
{ "name": "example:firmware:updateable", "value": "vendor-supported" },
{ "name": "example:security:secure-boot", "value": "supported" }
]
},
{
"type": "firmware",
"bom-ref": "firmware:esp-idf-4.4.1",
"name": "ESP-IDF",
"version": "4.4.1",
"description": "Espressif IoT Development Framework running on ESP32"
},
{
"type": "library",
"bom-ref": "library:mbedtls-2.28.0",
"name": "mbedtls",
"version": "2.28.0",
"purl": "pkg:generic/mbedtls@2.28.0",
"description": "TLS library in firmware"
}
],
"dependencies": [
{ "ref": "device:esp32-wroom-32e", "dependsOn": ["firmware:esp-idf-4.4.1"] },
{ "ref": "firmware:esp-idf-4.4.1", "dependsOn": ["library:mbedtls-2.28.0"] }
]
}
Le tableau dependencies rend explicite la relation entre matériel et firmware. Lorsque mbedtls publie un correctif pour un CVE, vous pouvez retracer quel dispositif est affecté et quelle version firmware mettre à jour.
L'exemple omet délibérément un CPE matériel. Les chaînes CPE de la NVD sont spécifiques au produit, et les identifiants au niveau module ou die ne correspondent pas toujours. N'ajoutez un champ cpe que lorsque vous avez vérifié l'entrée NVD exacte pour le composant. Pour la comparaison des formats et les choix d'outillage, voir CycloneDX vs SPDX.
La correspondance des vulnérabilités matérielles fonctionne différemment
Les scanners de vulnérabilités logicielles font souvent la correspondance via le Package URL (PURL), le Common Platform Enumeration (CPE) ou les métadonnées de paquets. Le matériel est plus complexe.
PURL est construit autour des écosystèmes de paquets logiciels tels que npm, Maven, PyPI, Debian et RPM. Il est utile pour les paquets firmware ou les bibliothèques distribués comme des paquets. Ce n'est pas le bon identifiant pour une puce physique.
CPE peut représenter le matériel via part=h, et CycloneDX dispose d'un champ cpe de niveau supérieur sur les composants. Utilisez-le lorsqu'un CPE NVD vérifié existe. Ne supposez pas que chaque puce, module ou image firmware en possède un.
Pour les entrées matérielles sans CPE fiable, gardez une piste de correspondance lisible par un humain :
- nom exact du fabricant
- numéro de pièce fabricant
- révision ou stepping matériel
- nom et version du firmware
- URL de l'avis fournisseur ou du PSIRT
- contact fournisseur
- identifiant GS1 si disponible, en utilisant la propriété
cdx:device:gs1:*correspondante
Surveillez ensuite les sources qui publient réellement des avis de sécurité matériels et firmware : la page PSIRT du fournisseur, la NVD, les vulnérabilités exploitées connues de la CISA, les avis CISA ICS le cas échéant, et les flux sectoriels pour les produits industriels, médicaux ou radio. Utilisez VEX ou des preuves équivalentes lorsqu'un composant est présent mais que la fonction vulnérable n'est pas accessible dans votre produit. Pour le flux de signalement, voir signalement des vulnérabilités et d'incidents CRA.
Ce qu'il faut demander aux fournisseurs et fabricants sous-traitants
Le fabricant est responsable de la diligence sur les composants. Pour le matériel, cela implique de demander les données de sécurité et de cycle de vie avant que la pièce ne soit intégrée au produit.
Demandez aux fournisseurs et fabricants sous-traitants :
- Identité exacte expédiée : numéro de pièce fabricant, révision matérielle, version firmware et toute substitution approuvée.
- Chemin de mise à jour : si le firmware peut être mis à jour sur le terrain, par le fournisseur uniquement, en usine uniquement ou s'il est immuable.
- Sécurité des mises à jour : signature, authentification, protection anti-retour arrière et détails de distribution sécurisée.
- Dates de support : fin de vie du composant, dernier achat possible, dernière version firmware et date de fin de support.
- Canal d'avis : page PSIRT, liste de diffusion de sécurité, flux CSAF, portail de support ou contact nommé.
- Statut de vulnérabilités connues : avis en cours, versions firmware corrigées et toute déclaration VEX ou CSAF.
- Traçabilité de production : BOM conforme à l'état réellement fabriqué, par lot de production, lot ou plage de numéros de série pour les cas de substitutions possibles.
- Route d'approvisionnement : source du distributeur agréé ou du fabricant de composants d'origine lorsque le risque de contrefaçon ou de marché gris est pertinent.
Un BOM de conception n'est pas suffisant lorsqu'un fabricant sous-traitant (ODM) ou un sous-traitant peut substituer des modules en cours de production. Vous avez besoin de l'enregistrement des composants tel que fabriqué pour les unités que vous mettez sur le marché européen.
Questions fréquentes
Le CRA impose-t-il explicitement un HBOM ?
Non. Le CRA n'utilise pas le terme « HBOM ». Le besoin d'inventaire matériel est indirect : les produits matériels sont dans le champ, les fabricants doivent exercer une diligence sur les composants, et l'inventaire des composants du produit doit couvrir ce qu'il contient. L'HBOM est l'approche pratique pour les produits matériels, pas un artefact réglementaire nommé.
Faut-il inclure chaque résistance et condensateur ?
Non. Le plancher SBOM du CRA couvre au moins les dépendances de niveau supérieur, pas chaque pièce passive. Pour l'HBOM, incluez les composants qui traitent, stockent ou transmettent des données numériques, exécutent du firmware, appliquent des périmètres de sécurité, exposent un accès aux services ou affectent la période de support du produit. Une pièce passive sans firmware et sans fonction de sécurité n'entre normalement pas dans l'HBOM.
Le firmware d'une puce Bluetooth est-il considéré comme un logiciel au titre du CRA ?
Oui. Le firmware consiste en du code informatique exécuté dans un système d'information électronique ; traitez-le donc comme un logiciel pour l'inventaire des composants CRA. Tout firmware exécuté sur un composant de votre produit doit figurer dans votre inventaire des composants.
Que faire si une puce n'a pas de CPE ?
Enregistrez le fabricant exact, le numéro de pièce, la révision, la version firmware et la source d'avis, puis surveillez directement le fournisseur. Le CPE est utile lorsqu'une entrée NVD existe, mais de nombreuses entrées matérielles et firmware nécessitent une surveillance manuelle des avis fournisseurs. N'inventez pas une chaîne CPE uniquement pour satisfaire un scanner.
Que faire si le firmware ne peut pas être mis à jour ?
Documentez ce fait plutôt que de le masquer. Marquez le composant comme immuable, fournisseur uniquement ou usine uniquement, expliquez pourquoi, et documentez les mesures compensatoires ou la voie de remplacement. Si une vulnérabilité ultérieure ne peut être ni corrigée ni atténuée, le fabricant peut avoir besoin de prendre des mesures correctives, un retrait ou un rappel.
Comment les données HBOM affectent-elles la période de support CRA ?
Les dates de support des composants essentiels alimentent la justification de la période de support du produit. Le CRA permet aux fabricants de prendre en compte les périodes de support des composants tiers essentiels intégrés, et la documentation technique doit contenir les informations utilisées pour déterminer la période de support du produit. Si un module essentiel atteint sa fin de support avant le produit, il vous faut un contrat fournisseur, un plan de remplacement ou une décision de support du produit.
Que demander à un fournisseur de module matériel ?
Demandez le numéro de pièce et la révision expédiés, la version firmware actuelle, le chemin de mise à jour firmware, la date de fin de support, le canal d'avis, le statut des vulnérabilités connues et le processus d'avis de modification produit. Si le module est fourni par un fabricant sous-traitant ou un ODM, exigez également un BOM conforme à l'état réellement fabriqué pour chaque lot de production.
BSI TR-03183 couvre-t-il l'HBOM ?
Non. BSI TR-03183 comporte trois parties : Partie 1 (Exigences générales), Partie 2 (SBOM) et Partie 3 (Rapports de vulnérabilités). Aucune d'elles ne couvre l'HBOM en tant que concept structurel. TR-03183-2 ne mentionne le firmware que comme un type de fichier de composant au sein d'une nomenclature logicielle, via le champ software_additionalPurpose: firmware. Pour documenter les composants matériels aux fins de conformité CRA, vous devez recourir au jugement d'ingénierie et aux types matériels natifs de CycloneDX, sans vous appuyer sur TR-03183 pour cette partie de votre inventaire.
Quelle version de CycloneDX prend en charge à la fois les composants logiciels et matériels ?
type: device est disponible dans CycloneDX depuis la v1.0. type: firmware a été ajouté en v1.2, publiée en mai 2020. Pour les travaux CRA, ciblez CycloneDX 1.6 ou ultérieur : BSI TR-03183-2 v2.1.0 utilise 1.6 comme socle CycloneDX. Il n'existe pas de type: hardware ; utilisez type: device pour les composants physiques.
Puis-je partager un HBOM avec des clients ?
Vous pouvez, mais le CRA ne rend pas la SBOM ou l'HBOM publiques par défaut. Il s'agit d'un document du dossier technique destiné aux autorités de surveillance du marché sur demande motivée, et les utilisateurs n'ont accès aux informations SBOM que si le fabricant décide de les rendre disponibles. Pour les intégrateurs professionnels, partagez le statut des composants et des vulnérabilités dont ils ont besoin, mais conservez sous contrat les numéros de pièces sensibles, les informations de sourcing et les détails de débogage si nécessaire.
Pour aller plus loin
- Définissez le seuil HBOM : incluez le matériel qui traite, stocke, transmet, démarre, met à jour, applique la sécurité, expose l'accès aux services ou affecte les preuves de période de support.
- Demandez les données fournisseurs avant la mise en production : numéro de pièce, révision, version firmware, chemin de mise à jour, canal d'avis et date de fin de support.
- Créez un document CycloneDX 1.6 ou ultérieur avec une entrée
type: devicepar composant matériel et une entréetype: firmwarepar image firmware. Liez-les avecdependencies. - Enregistrez la capacité de mise à jour et la fin de vie des composants essentiels. Si un module essentiel ne peut être mis à jour ou atteint sa fin de vie avant la fin de la période de support de votre produit, documentez l'atténuation ou la voie de remplacement.
- Surveillez les avis fournisseurs, la NVD, les vulnérabilités exploitées connues de la CISA et les flux sectoriels pour chaque composant essentiel. Les recherches dans la base de données CVE peuvent manquer les problèmes matériels et firmware pour lesquels les identifiants sont faibles.
- Placez la SBOM unifiée, y compris les entrées matérielles, dans votre documentation technique, où elle doit être prête pour les autorités de surveillance du marché sur demande. Si vous préférez ne pas gérer manuellement l'ingestion SBOM et HBOM au fil des versions produit, CRA Evidence gère l'ingestion CycloneDX et le suivi des composants sur votre portefeuille de produits.