PLB-SBOM oder: Wie man SBOM für eine Gruppe von Produkten zusammenstellt
01.02.2024
Ingenieurwesen
Software-Bill-of-Materials (SBOM) wird für die meisten CI/CD-Pipelines unverzichtbar.
SBOM erfasst ein Inventar der Komponenten, die das spezifische Projekt zusammen mit den zugehörigen Metadaten bilden.
Die meisten komplexen Anwendungen in der realen Welt werden jedoch als eine Sammlung oder ein Zusammenstellung von Anwendungen erstellt - manchmal mehr als nur ein paar Schichten tief.
Ein Beispiel: Ein Smartphone ist eine Sammlung von unabhängig erstellten Apps, die auf einem Betriebssystem basieren - vermutlich als Integration von Projekten entwickelt. Die Drittanbieter-Apps können die Funktionen der First-Party-Apps aufrufen, die wiederum von externen Diensten abhängen könnten.
Es gibt viele Möglichkeiten, wenn es darum geht, ein SBOM für ein komplexes Mehrschichtsystem zu erstellen.
Um Leitlinien für bewährte Praktiken zu diesem Thema festzulegen, hat die CISA-Arbeitsgruppe für SBOM-Tools und -Implementierung gerade veröffentlicht - Leitlinien zum Zusammenstellen einer Produktgruppe”. Die zweiseitige Anleitung - ein Muss für jedes Lesen - trennt zwischen UNBEDINGTEN und EMPFOHLENEN Leitlinien und enthält ein Beispiel für ein solches Assembly.
PLB-SBOM
Die Versammlung unabhängiger Komponenten wird als Softwareproduktlinie bezeichnet. CISA hat das SBOM als Produktlinien-Bau-SBOM oder PLB-SBOM bezeichnet.
Das PLB-SBOM listet alle seine Komponenten auf und verweist für jede Komponente auf das individuelle SBOM unter Verwendung des Referenzmechanismus, der für die Spezifikation anwendbar ist ( SPDXRef-für SPDX und bom-ref für CycloneDX).
ERFORDERLICHE Informationen
Die Anleitung konzentriert sich darauf, SBOM für jedes Komponenten-Image zu bewahren und sie als Referenz zu verwenden, um die endgültige PLB-SBOM zu erstellen.
Eine PLB-SBOM muss Folgendes enthalten:
Alle Komponenten mit ihrer Versionsnummer
Ein Verweis auf das Build-SBOM, das jedes Komponenten-Image erzeugt hat
EMPFOHLENE Informationen
Zusätzlich wird empfohlen, die folgenden Informationen im endgültigen PLB-SBOM aufzunehmen
Der Hash des Artefakts, das mit jedem Komponentenbild verknüpft ist
Verfügbarer Produktbezeichner für die Komponente (PURL, CPE, SWID)
Autor des PLB-SBOM: die Entität, die die Produktlinie herausgibt
Es wird empfohlen, einen Hash zu verwenden, um eine Kreuzprüfung zu ermöglichen, und dieser kann ein allgemeines Hashverfahren über die Komponenten hinweg umfassen.
Herausforderungen

Beispiel für eine grafische Darstellung eines PLB-SBOM für „Alpha System 1.0“, Quelle: CISA-Richtlinien
CISAs PLB-SBOM ist ein sinnvoller Anfang für SBOM für zusammengesetzte Software.
Erstens ermöglicht das Beibehalten und Verweisen auf SBOM anstelle von direkter Einbettung die Bewahrung von Validierungsinformationen wie eingebetteten Signaturen.
Natürlich ist das Beibehalten von Komponentensbom anstelle von Einbettung definitionsgemäß verlustfrei.
Es gibt jedoch bekannte Herausforderungen bei der Beibehaltung, dem Verweisen und der Verteilung.
Die Einbeziehung von SBOM durch Verweis impliziert, dass die Sammlung von SBOMs, die das Produkt bilden müssen, als Einheit verwaltet werden muss. Ihre Fähigkeiten werden jedoch variieren, wenn das Komponentensbom in verschiedenen Spezifikationen oder mit unterschiedlichen Versionen der Spezifikation vorliegt.
Ähnlich werden zusammengesetzte SBOM-Einheiten Verbesserungen bei den Werkzeugen erfordern, um die SBOM-Referenzen für alltägliche SBOM-Aktionen wie Schwachstellen- oder Prüfziffernabfragen zu durchlaufen.
Um es den Werkzeugen zu ermöglichen, müssen SBOM-Referenzen die Verteilung aller SBOMs zeitgleich erfordern und schaffen die Notwendigkeit für eine programmgesteuerte Beschreibung von Zusammenbau und Verteilung. Heute existiert nichts dergleichen.
sbomasm
sbomasm — Interlynks Open-Source-Tooling für die SBOM-Zusammenstellung, das sich darauf konzentriert, SBOM-Inhalte einzubetten, um die oben genannten Herausforderungen zu vermeiden. Es wird jedoch bald die Möglichkeit geben, PLB-SBOM mit Verweisen zu erstellen.
Die kommerzielle Plattform von Interlynk wurde mit beiden Anwendungsfällen im Hinterkopf entwickelt und kann eine PLB-SBOM mit Verweisen erstellen und eine automatische Generierung von SBOM bei Änderungen auslösen.
Die Verwaltung einer komplexen Build-Pipeline ohne Automation kann fehleranfällig sein und sich wie eine lästige Pflicht anfühlen. Mit einer durchdachten Einrichtung kann jedoch sogar die komplexeste Software-Build-Pipeline problemlos für SBOM und zugehörige Compliance-Anforderungen automatisiert werden.
Interlynk vereinfacht die Sicherheits-Offenlegung, macht sie unkompliziert und automatisiert den Prozess. Fühlen Sie sich frei, uns unter hello@interlynk.io zu kontaktieren.
