PLB-SBOM Ou : Comment assembler un SBOM pour un groupe de produits
Ingénierie

Le Bill of Materials (SBOM) est en train de devenir essentiel pour la plupart des pipelines CI/CD.
SBOM capture un inventaire des composants qui composent le projet spécifique ainsi que les métadonnées associées.
Cependant, la plupart des applications complexes du monde réel sont construites comme une collection ou un assemblage d'applications — parfois plus de quelques couches de profondeur.
Par exemple, un smartphone est une collection d'applications construites de manière indépendante sur un système d'exploitation — vraisemblablement construit comme une intégration de projets. Les applications tierces peuvent invoquer des fonctionnalités des applications de première partie, qui à leur tour peuvent dépendre de services externes.
Il y a de nombreux choix lorsqu'il s'agit de construire un SBOM pour un système complexe à plusieurs couches.
Pour établir des conseils de meilleures pratiques sur le sujet, le groupe de travail sur les outils et l'implémentation du SBOM de la CISA vient de publier — Lignes directrices sur l'assemblage d'un groupe de produits”. Le guide de deux pages — un incontournable — sépare les recommandations OBLIGATOIRES et RECOMMANDÉES et inclut un exemple de tel assemblage.
PLB-SBOM
Étant donné que l'assemblage de composants indépendants est appelé une ligne de produits logiciels, la CISA a appelé le SBOM SBOM de la ligne de produits ou PLB-SBOM.
Le PLB-SBOM liste tous ses composants et référence le SBOM individuel pour chaque composant en utilisant le mécanisme de référence applicable à la spécification ( SPDXRef- pour SPDX et bom-ref pour CycloneDX).
Informations REQUIS
Les directives portent sur la préservation de l'SBOM pour chaque image de composant et leur utilisation comme référence pour construire le PLB-SBOM final.
Un PLB-SBOM doit inclure :
Tous les composants avec leur numéro de version
Une référence au SBOM de construction qui a généré chaque image de composant
INFORMATION RECOMMANDÉE
De plus, les informations suivantes sont recommandées pour être incluses dans le PLB-SBOM final
Le hachage de l'artefact associé à chaque image de composant
Identifiant de produit disponible pour le composant (PURL, CPE, SWID)
Auteur du PLB-SBOM : l'entité qui publie la ligne de produit
Le hachage est recommandé pour permettre une vérification croisée et peut inclure un schéma de hachage commun entre les composants.
Défis

Représentation graphique d'un PLB-SBOM pour "Alpha System 1.0", Source : CISA Guidance
Le PLB-SBOM de la CISA est un bon point de départ pour le SBOM des logiciels assemblés.
Tout d'abord, le fait de conserver et de référencer le SBOM au lieu de les intégrer directement permet de préserver les informations de validation telles que les signatures intégrées.
Bien sûr, le fait de conserver les SBOM des composants au lieu de les intégrer est, par définition, sans perte.
Cependant, il existe des défis connus dans la conservation, la référence et la distribution.
Inclure le SBOM par référence implique que la collection de SBOM qui doit constituer le produit doit être gérée comme une unité. Cependant, leurs capacités varieront si le SBOM du composant provient de spécifications différentes ou a différentes versions de la spécification.
Dans le même ordre d'idées, les unités SBOM assemblées nécessiteront des améliorations dans les outils pour parcourir les références SBOM pour les actions SBOM quotidiennes, telles que la recherche de vulnérabilités ou de sommes de contrôle.
Enfin, pour faire fonctionner les outils, les références SBOM nécessitent la distribution de tous les SBOM en tandem et créent le besoin d'une description programmatique de l'assemblage et de la distribution. Aucune n'existe aujourd'hui.
sbomasm
sbomasm — L'outil open-source d'Interlynk pour l'assemblage de SBOM se concentre sur l'intégration du contenu SBOM pour éviter les défis mentionnés ci-dessus. Cependant, il ajoutera bientôt la capacité de construire un PLB-SBOM avec des références.
La plateforme commerciale d'Interlynk est conçue en tenant compte des deux cas d'utilisation et peut produire un PLB-SBOM en utilisant des références et déclencher une auto-génération de SBOM avec toute modification.
Gérer un pipeline de construction complexe sans se concentrer sur l'automatisation peut être sujet aux erreurs et sembler être une corvée. Cependant, avec une configuration réfléchie, même le pipeline de construction de logiciels le plus complexe peut être facilement automatisé pour les besoins de SBOM et de conformité associés.
Interlynk simplifie la divulgation de sécurité, la rend claire et automatise le processus. N'hésitez pas à nous contacter à hello@interlynk.io