Was ist eine SBOM (Software Bill of Materials)?
Software Bill of Materials
Eine SBOM ist ein maschinenlesbares Verzeichnis aller Komponenten, aus denen eine Software besteht, also der eigenen Bausteine und der eingebundenen Fremdbibliotheken samt Versionen, Lizenzen und Abhängigkeiten untereinander. Damit lässt sich die Frage beantworten, was genau in einem Produkt steckt.
Wenn eine Schwachstelle in einer verbreiteten Bibliothek bekannt wird, entscheidet die Antwort auf die Frage, in welchen eurer Produkte sie steckt, über den Rest des Tages.
KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
- Formate
- SPDX und CycloneDX
- Enthält
- Komponenten, Versionen, Lizenzen, Abhängigkeiten
- Entsteht
- Automatisch im Build, nicht per Tabelle
- Ergänzt durch
- VEX zur Aussage über die Betroffenheit
Was in einer SBOM steht
Pro Komponente hält eine SBOM mindestens den Namen, die Version, den Herausgeber und eine eindeutige Kennung fest, dazu die Lizenz und die Beziehung zu anderen Komponenten. Diese Beziehungen sind der eigentliche Wert, denn sie zeigen, ob eine Bibliothek direkt eingebunden ist oder erst über eine andere Abhängigkeit ins Produkt kommt.
Verbreitet sind zwei Austauschformate: SPDX aus dem Umfeld der Linux Foundation und CycloneDX aus dem OWASP-Umfeld. Beide gibt es in JSON und XML, beide lassen sich von Werkzeugen lesen. Welches du wählst, ist meist eine Frage dessen, was deine Sicherheitswerkzeuge und deine Kunden verarbeiten.
Wofür du sie im Betrieb brauchst
Der Anlass, an den sich viele erinnern, ist die Schwachstelle in log4j. Die entscheidende Frage war damals nicht, wie sich die Lücke schließen lässt, sondern in welchen der eigenen Anwendungen die Bibliothek überhaupt steckt. Mit einer gepflegten SBOM ist das eine Abfrage, ohne sie sind es Tage voller Rückfragen bei Teams und Lieferanten.
Der zweite Anwendungsfall ist die Lizenz. Copyleft-Lizenzen können Pflichten auslösen, sobald du Software an Kunden weitergibst, und diese Pflichten musst du kennen, bevor ausgeliefert wird. Der dritte ist die Beschaffung: Als Auftraggeber kannst du die Lieferung einer SBOM vertraglich vereinbaren und damit überhaupt erst prüfbar machen, was du einkaufst.
Auch der regulatorische Druck wächst. Der Cyber Resilience Act der EU verlangt von Herstellern von Produkten mit digitalen Elementen, die enthaltenen Komponenten zu dokumentieren, und wer als Zulieferer in solche Produkte hineinliefert, bekommt die Anforderung über den Vertrag weitergereicht.
Der Fehler: die SBOM von Hand
Eine SBOM, die jemand zum Vertragsabschluss einmal als Tabelle zusammenstellt, ist am Tag der nächsten Auslieferung falsch. Du solltest sie im Build erzeugen und versioniert zusammen mit dem Artefakt ablegen, sonst beschreibt sie irgendeinen Stand, nur nicht den, der beim Kunden läuft.
Der zweite Fehler ist, die SBOM als PDF zu verschicken. Der Zweck ist der automatische Abgleich mit Schwachstellenmeldungen, und dafür muss die Datei maschinenlesbar bleiben.
KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
SBOM und was oft damit gleichgesetzt wird
Ein Lizenzmanagement zählt, welche Produkte im Unternehmen installiert sind und ob dafür genug Lizenzen vorliegen. Eine SBOM schaut in die andere Richtung, nämlich in das Innenleben eines einzelnen Produkts.
Der Scanner sucht auf Systemen nach angreifbaren Stellen. Die SBOM ist die Inventarliste, gegen die du eine neue Schwachstellenmeldung abgleichst, auch für Software, die gerade gar nicht läuft.
Ein VEX-Dokument ergänzt die SBOM um die Aussage, ob eine gemeldete Schwachstelle in diesem Produkt tatsächlich ausnutzbar ist. Ohne diese Ergänzung erzeugt jede Meldung Alarm, auch wenn der betroffene Codepfad nie aufgerufen wird.
KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
Eine SBOM nützt erst, wenn jemand sie abfragen kann
Der Wert zeigt sich am Tag einer Schwachstellenmeldung. Ohne SBOM telefoniert jemand die Teams ab und fragt, ob die betroffene Bibliothek irgendwo eingebunden ist. Die Antwort kommt Tage später und unvollständig. Mit SBOM ist es eine Abfrage über alle Artefakte, einschließlich der Versionsstände, die bei Kunden tatsächlich im Einsatz sind.
Damit das funktioniert, muss die SBOM im Build entstehen und fest zum jeweiligen Artefakt gehören. Eine einmal von Hand gepflegte Liste im Wiki ist nach dem nächsten Release falsch, und niemand merkt es. Wichtig ist außerdem die Tiefe: Manche Werkzeuge erfassen nur die direkten Abhängigkeiten, nicht deren Abhängigkeiten, und genau dort sitzen die unangenehmen Funde.
Der zweite Nutzen ist rechtlich. Aus derselben Liste lässt sich beantworten, welche Lizenzen im Produkt stecken und welche Pflichten daraus folgen, etwa das Mitliefern von Lizenztexten oder die Offenlegung von Änderungen. Und Kunden aus regulierten Branchen verlangen die SBOM inzwischen im Beschaffungsprozess, womit aus einem internen Werkzeug ein Bestandteil der Lieferung wird.
SBOM lernen
Wie du die Anforderung an Lieferanten formulierst und wo Lizenzpflichten anfangen, klären die Schulungen zu Softwarelizenzen und Compliance .
Sitzt SBOM schon?
Lesen fühlt sich schnell nach Können an. Ein kurzer Test zeigt dir, was davon schon sitzt und wo sich ein Kurs lohnt. Kostenlos, ohne Anmeldung, mit einer Erklärung zu jeder Antwort.
Häufige Fragen
Muss eine SBOM veröffentlicht werden?
Wie tief muss die Stückliste gehen?
Wer erstellt die SBOM für zugekaufte Software?
Deine Ansprechpartner
Du willst das Thema nicht nur nachschlagen, sondern anwenden können? Wir beraten dich persönlich und kostenlos.
Yves Hoppe
Weiterbildung & Beratung
Ordnet mit dir ein, welcher Kurs zu deinem Vorwissen passt.
Norbert Jansen
Beratung & Inhouse
Plant Inhouse-Trainings, die an euren eigenen Daten und Abläufen ansetzen.
SBOM im Kurs statt im Lexikon
Nachschlagen bringt dich bis zum Verstehen. Anwenden lernst du an echten Aufgaben.