PLB-SBOM oder: Wie man SBOM für eine Gruppe von Produkten zusammenstellt

01.02.2024

Ingenieurwesen

Produktlinienaufbau SBOM-Diagramm, das zeigt, wie mehrere Projekt-SBOMs zu einem einzigen Produkt-SBOM kombiniert werden.
Produktlinienaufbau SBOM-Diagramm, das zeigt, wie mehrere Projekt-SBOMs zu einem einzigen Produkt-SBOM kombiniert werden.
Produktlinienaufbau SBOM-Diagramm, das zeigt, wie mehrere Projekt-SBOMs zu einem einzigen Produkt-SBOM kombiniert werden.

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.

Vertrauen von über 100 Organisationen

Sehen Sie Ihr SBOM richtig gemacht

Interlynk automatisiert SBOMs, verwaltet Open-Source-Risiken, überwacht,
Lieferanten und bereitet Sie auf das post-quanten Zeitalter vor, alles auf einer vertrauenswürdigen Plattform.

KEIN SPAM, VERSPROCHEN!

Sehen Sie Ihr SBOM richtig gemacht

Interlynk automatisiert SBOMs, verwaltet Risiken in Bezug auf Open Source, überwacht Lieferanten und bereitet Sie auf die Post-Quantum-Ära vor, alles auf einer vertrauenswürdigen Plattform.

KEIN SPAM, VERSPROCHEN!

Sehen Sie Ihr SBOM richtig gemacht

Interlynk automatisiert SBOMs, verwaltet Risiken in Bezug auf Open Source, überwacht Lieferanten und bereitet Sie auf die Post-Quantum-Ära vor, alles auf einer vertrauenswürdigen Plattform.