SBOM
Eine SBOM listet jede Softwarekomponente eines Produkts mit Version und Lieferant. Formate, Mindestinhalte, was der Cyber Resilience Act verlangt, wie du sie nutzt.
Aktualisiert Diese Seite als Markdown
Kurz gesagt
Eine SBOM (Software Bill of Materials, Software-Stückliste) ist ein maschinenlesbares Inventar der Softwarekomponenten eines Produkts: Name, Version, Lieferant, eindeutige Kennungen und die Abhängigkeiten zwischen ihnen. Die gängigen Formate sind SPDX und CycloneDX. Der Cyber Resilience Act verlangt von Herstellern eine SBOM, die mindestens die obersten Abhängigkeiten abdeckt, als Teil der Schwachstellenbehandlung (Anhang I Teil II). Nützlich ist eine SBOM nur, wenn sie vollständig ist, aktuell gehalten und laufend mit Schwachstellendaten abgeglichen wird.
Was ist eine SBOM?
Eine Software Bill of Materials (SBOM, Software-Stückliste) ist ein formales, maschinenlesbares Inventar der Komponenten, aus denen eine Software besteht: Open-Source-Bibliotheken, Hersteller-SDKs, Betriebssystempakete, der Bootloader, das RTOS, die Kryptobibliothek. Zu jeder Komponente hält sie mindestens Name, Version, Lieferant und eine eindeutige Kennung fest, dazu die Abhängigkeiten zwischen den Komponenten und Metadaten darüber, wer die SBOM wann erstellt hat. Die Analogie ist die Stückliste physischer Produkte, und der Zweck ist derselbe: Stellt sich ein Teil als fehlerhaft heraus, findest du jedes Produkt, das es enthält.
Zwei Formate dominieren. SPDX, gepflegt unter der Linux Foundation und als ISO/IEC 5962 genormt, und CycloneDX, ein OWASP-Projekt, das von Ecma standardisiert ist. Beide sind JSON oder XML, beide werden von gängigen Build-Tools erzeugt und von Schwachstellenscannern gelesen. Ein ergänzender Dokumenttyp, VEX (Vulnerability Exploitability eXchange), hält fest, ob eine bekannte Schwachstelle in einer gelisteten Komponente im Produkt tatsächlich ausnutzbar ist.
Wo ist es definiert?
Die Grundlage ist der NTIA-Bericht The Minimum Elements for a Software Bill of Materials (2021). Er benennt die erforderlichen Datenfelder (Lieferantenname, Komponentenname, Version, weitere eindeutige Kennungen, Abhängigkeitsbeziehung, Ersteller der SBOM-Daten, Zeitstempel), verlangt Automatisierbarkeit über ein Standardformat und beschreibt die Praktiken rund um Erzeugung und Verteilung. CISA hat diese Arbeit mit Leitfäden zu SBOM-Typen, Austausch und Mindestanforderungen fortgeführt.
In der EU macht der Cyber Resilience Act die SBOM zur gesetzlichen Pflicht für Produkte mit digitalen Elementen. Anhang I Teil II Nummer 1 verlangt von Herstellern, Schwachstellen und Komponenten des Produkts zu ermitteln und zu dokumentieren, unter anderem durch eine SBOM in einem gängigen, maschinenlesbaren Format, die mindestens die obersten Abhängigkeiten abdeckt. Die SBOM gehört zur technischen Dokumentation (Anhang VII). In Deutschland legt die Technische Richtlinie BSI TR-03183 Teil 2 fest, welche Felder, Formate und Tiefe das BSI erwartet, und ist dabei detaillierter als die Verordnung selbst.
Was es in der Praxis bedeutet
Für Anwendungscode mit Paketmanager ist eine SBOM ein Build-Schritt. Für Embedded-Produkte ist sie der schwere Teil der CRA-Compliance:
- Unvollständige Inventare. Yocto und Buildroot erzeugen SPDX für die Pakete, die sie bauen, aber Hersteller-SDKs, Binärblobs, Bootloader, Funkstacks und vor Jahren in den Quellbaum kopierte Bibliotheken fehlen.
- Falsche Versionen. Die SBOM sagt OpenSSL 3.0.x; das Binary auf dem Gerät meldet sich als 1.1.1. Wenn wir in einem Hardwaretest Firmware extrahieren, ist der Vergleich der echten Binaries mit der deklarierten SBOM eines der ersten Dinge, die wir tun, und beides passt beim ersten Anlauf selten zusammen.
- Nur die oberste Ebene. Das CRA-Minimum sind die obersten Abhängigkeiten, aber die meisten CVEs sitzen in den transitiven. Geh tiefer, wo du kannst.
- Ein Dokument statt eines Prozesses. Die SBOM wird einmal für die technische Dokumentation erzeugt und nach dem nächsten Firmware-Release nie neu gebaut. Nötig ist, sie mit jedem Build neu zu erzeugen und laufend mit Schwachstellen-Feeds abzugleichen, mit VEX-Aussagen für die Treffer, die du bewertet hast.
- Keine Kennungen. Komponenten nur mit Namen, ohne PURL oder CPE, lassen sich nicht automatisch abgleichen.
Zyberum prüft SBOMs gegen extrahierte Firmware, baut den Schwachstellenbehandlungsprozess, den der CRA verlangt, um sie herum auf und kontrolliert Tiefe und Format der SBOM in CRA-Gap-Analysen für Gerätehersteller.
Häufige Missverständnisse
Eine SBOM macht ein Produkt nicht sicher; sie macht es möglich zu wissen, was drinsteckt. Nach dem CRA muss sie nicht öffentlich sein; sie muss existieren und Behörden zur Verfügung stehen, und Kunden fragen zunehmend in Verträgen danach. Und die Ausgabe eines Binärscanners ist eine Schätzung einer SBOM, nicht die SBOM selbst; die maßgebliche Liste kommt aus dem Build.
FAQ
Häufig gestellte Fragen
Verlangt der Cyber Resilience Act eine SBOM?
Ja. Anhang I Teil II Nummer 1 verlangt von Herstellern, Schwachstellen und Komponenten des Produkts zu ermitteln und zu dokumentieren, unter anderem durch eine SBOM in einem gängigen, maschinenlesbaren Format, die mindestens die obersten Abhängigkeiten abdeckt. Die SBOM gehört zur technischen Dokumentation (Anhang VII), die Marktüberwachungsbehörden anfordern können. Veröffentlichen müssen Hersteller sie nach der Verordnung nicht.
Welches SBOM-Format soll ich verwenden?
SPDX oder CycloneDX; beide sind maschinenlesbar, von Build-Tools und Scannern breit unterstützt und werden von der Technischen Richtlinie BSI TR-03183-2 akzeptiert. Nimm das Format, das deine Toolchain nativ erzeugt, und stelle sicher, dass jede Komponente eine Version und eine eindeutige Kennung wie eine Package URL (PURL) oder CPE trägt, sonst scheitert der Abgleich mit Schwachstellendatenbanken.
Ist eine SBOM dasselbe wie ein Schwachstellenscan?
Nein. Die SBOM ist das Inventar. Ein Scanner gleicht dieses Inventar mit CVE-Daten ab und liefert eine Liste potenziell betroffener Komponenten. Eine VEX-Aussage (Vulnerability Exploitability eXchange) hält dann fest, ob jeder Treffer in deinem Produkt tatsächlich ausnutzbar ist. Inventar, Abgleich und Bewertung sind drei Schritte, und der CRA erwartet alle drei als laufenden Prozess.
Quellen
- Verordnung (EU) 2024/2847 (Cyber Resilience Act), Anhang I Teil II und Anhang VII
- NTIA: The Minimum Elements for a Software Bill of Materials (SBOM), 2021
- CISA: Software Bill of Materials (SBOM)
- BSI TR-03183: Cyber-Resilienz-Anforderungen an Hersteller und Produkte, Teil 2: Software Bill of Materials (SBOM)
Passende Seiten
- GlossarCyber Resilience Act (CRA)Der Cyber Resilience Act (Verordnung (EU) 2024/2847) regelt die Cybersicherheit von Produkten mit digitalen Elementen: Pflichten, Klassen, Fristen 2026 und 2027.
- GlossarCVECVE (Common Vulnerabilities and Exposures) gibt jeder öffentlichen Schwachstelle eine ID. Wie CVE-Einträge entstehen, was sie enthalten und wie du sie nutzt.
- InsightsCyber Resilience Act: Was Hersteller bis 2027 umsetzen müssenPraxisleitfaden zum EU Cyber Resilience Act: Geltungsbereich, Produktklassen, Fristen, Meldepflichten und die Schritte, die du als Hersteller jetzt angehen solltest.
- InsightsSchwachstellenmanagement: Ein Prozess, der in der Praxis hältSchwachstellenmanagement, das funktioniert: Quellen, Triage mit CVSS und Exploit-Daten, SLAs nach Schwere, SBOM, Coordinated Disclosure und die Pflichten aus dem CRA.
- GlossarFirmware-ExtraktionFirmware-Extraktion heißt, Code und Daten aus einem Gerät herauszuholen. Methoden von Update-Datei bis Chip-off, was Angreifer finden, wie du es ihnen schwer machst.
- LeistungenMach deine Produkte CRA-konform, ohne die Entwicklung auszubremsen.Cyber Resilience Act umsetzen: Gap-Analyse, sichere Entwicklung, Schwachstellenmanagement, SBOM und Penetrationstest für Produkte mit digitalen Elementen.
