Definition SBOM | Software Bill of Materials Was ist SBOM (Software Bill of Materials)?
Anbieter zum Thema
Die Software Bill of Materials ist die Inventarliste eines Softwareprodukts. Sie enthält die für die Software verwendeten Komponenten wie Pakete oder Bibliotheken inklusive Abhängigkeiten sowie Versions- und Lizenzinformationen. Mit einer SBOM lassen sich die Codebasis einer Software und die Softwarelieferkette absichern. In einigen Bereichen, beispielsweise beim Einsatz der Software für einige kritische Infrastrukturen oder staatliche Institutionen, ist die SBOM verpflichtende Voraussetzung.

SBOM ist das Akronym für Software Bill of Materials. Es handelt sich um eine Inventar- oder Stückliste für ein Softwareprodukt, die alle verwendeten Komponenten wie Bibliotheken oder Softwarepakete enthält. Zum Inhalt der SBOM gehören die Abhängigkeiten der Komponenten, die Versions- und Lizenzinformationen sowie bekannte Schwachstellen oder Sicherheitslücken. Mit einer Software Bill of Materials lässt sich die Codebasis eines Softwareprodukts und die komplette Softwarelieferkette absichern. Die SBOM ist ein wichtiger Baustein der Softwaresicherheit und in einigen Bereichen zwingend vorgeschrieben. Durch Sicherheitsvorfälle wie die kritische Log4j-Schwachstelle hat die SBOM in den letzten Jahren kontinuierlich an Bedeutung gewonnen. Zahlreiche Institutionen und Gremien beschäftigen sich mit der Erstellung von Vorgaben und mit Standardisierungen der Software Bill of Materials. Beispielsweise hat die US-Telekommunikationsbehörde National Telecommunications and Information Administration (NTIA) eine Reihe von Minimalanforderungen für die SBOM entwickelt. Seit der Executive Order 14028 der US-Regierung aus dem Jahr 2021 besteht die Verpflichtung, beim Einsatz einer Software für US-Behörden eine SBOM in einem vorgegebenen Format zu liefern. Aufseiten der EU sind mit der Open-Source-Softwarestrategie ähnliche Anforderungen entstanden.
Zu den für die Software Bill of Materials entwickelten Standards zählen zum Beispiel SWID (Software Identification Tag), SPDX (Software Package Data Exchange) oder OWASP CycloneDX. Es wird erwartet, dass sich die SBOM zu einem allgemein vorgeschriebenen Standard für den Einsatz von Software für kritische Infrastrukturen (KRITIS) entwickelt. Große Branchenverbände machen sich ebenfalls für die SBOM stark. Mittlerweile existieren zahlreiche Tools, die eine automatisierte Erstellung, Aktualisierung, Verwaltung und Nachverfolgung der Software Bill of Materials ermöglichen.
Aufbau und Inhalt einer Software Bill of Materials
In der SBOM werden alle für die Erstellung eines Softwareprodukts verwendeten Komponenten wie Bibliotheken oder Pakete aufgezählt. Dazu zählen zum Beispiel Open-Source-Softwarepakete oder Softwarekomponenten von Drittherstellern. Für jede Komponente sind Informationen wie Versionsinformationen, Abhängigkeiten, Lizenzinformationen, Patchlevel oder bekannte Schwachstellen aufgelistet. Die National Telecommunications and Information Administration veröffentlichte 2021 mit einem Leitfaden von Minimalanforderungen an eine SBOM eine Art De-facto-Standard und legte sieben Datenfelder für jede Komponente fest. Diese Datenfelder sind Name des Anbieters, Name der Komponente, Version der Komponente, eindeutige Identifikatoren, Abhängigkeitsbeziehung, Autor der SBOM-Daten und Zeitstempel der Zusammenstellung der SBOM-Daten. Die Software Bill of Materials und ihre Informationen müssen in der Regel in einem maschinenlesbaren, standardisierten Format wie SPDX, CycloneDX oder SWID-Tags vorliegen. Für jede neue Version eines Softwareprodukts ist die SBOM auf den aktuellen Stand zu bringen.
Erstellen der Software Bill of Materials
Grundsätzlich ist es möglich, eine Software Bill of Materials in Formaten wie CSV, PDF oder HTML manuell zu erstellen und auf dem aktuellsten Stand zu halten. Dieser Vorgang ist aber zeitaufwendig und fehleranfällig. Aus diesem Grund kommen bevorzugt Tools für ein automatisiertes Erstellen einer Software Bill of Materials zum Einsatz. Sie werden als SCA-Tools (Software Composition Analysis Tools) bezeichnet und liefern SBOMs in standardisierten Formaten wie SPDX, SWID oder CycloneDX. Die maschinenlesbaren Formate erlauben die Integration in weitere automatisierte Prozessabläufe wie in DevSecOps-Pipelines. SCA-Tools untersuchen den Programmcode selbständig nach Pakten und Bibliotheken und extrahieren die benötigten Zusatzinformationen über die Softwarekomponenten aus Datenbanken und anderen Quellen. Die Inhalte der SBOM werden von den SCA-Tools kontinuierlich aktualisiert und auf dem neuesten Stand gehalten.
(ID:49426504)