Bestandsführung für Software

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
Nicht verwechseln

SBOM und was oft damit gleichgesetzt wird

SBOM gegen Lizenzmanagement

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.

SBOM gegen Schwachstellenscanner

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.

SBOM gegen VEX

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
In der Praxis

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 .

Wissen prüfen

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?
In aller Regel nicht öffentlich. Üblich ist die Weitergabe an Kunden, Auftraggeber oder Prüfstellen, oft unter Vertraulichkeit. Lege im Vertrag fest, wer sie in welchem Format bekommt und wie aktuell sie sein muss.
Wie tief muss die Stückliste gehen?
Die direkten Abhängigkeiten sind das Minimum, aussagekräftig wird eine SBOM erst mit den transitiven. Gerade die Bibliothek, die über drei Ecken hereinkommt, ist die, an die im Ernstfall niemand denkt.
Wer erstellt die SBOM für zugekaufte Software?
Der Hersteller, denn nur er kennt seinen Build. Als Einkäufer solltest du die Lieferung in den Vergabeunterlagen oder im Vertrag verlangen und dabei Format und Aktualisierung festlegen, sonst bekommst du eine Momentaufnahme ohne Fortschreibung.
Persönlich für dich da

Deine Ansprechpartner

Du willst das Thema nicht nur nachschlagen, sondern anwenden können? Wir beraten dich persönlich und kostenlos.

Yves Hoppe

Yves Hoppe

Weiterbildung & Beratung

Ordnet mit dir ein, welcher Kurs zu deinem Vorwissen passt.

Norbert Jansen

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.