Publiziert: Zuletzt aktualisiert:

SBOM (Software Bill of Materials)

Eine SBOM (Software Bill of Materials) ist eine maschinenlesbare Inventarliste aller Komponenten, Bibliotheken und Abhängigkeiten einer Software, inklusive ihrer Versionen und Lizenzen. Sie ist das Fundament der Supply-Chain-Security: Nur wer weiss, was in seiner Software steckt, kann bekannte Schwachstellen (CVEs) gezielt beheben.

Ohne SBOM ist die eigene Angriffsfläche unbekannt. Das Log4Shell-Ereignis 2021 hat vielen Unternehmen schmerzhaft gezeigt, wie viele ihrer Systeme eine bestimmte Bibliothek enthielten, ohne dass irgendjemand davon wusste.

Was eine SBOM enthält

  • Komponenten: Alle direkten und transitiven Abhängigkeiten (Libraries, Frameworks, Packages).
  • Versionen: Exakte Versionsnummern für Vulnerability-Matching.
  • Lizenzen: SPDX-Lizenzkennzeichnungen für Compliance-Checks.
  • Herkunft (Provenance): Woher kommt eine Komponente? Welchem Source-Repo entspricht sie?
  • Hashes: Kryptografische Prüfsummen zur Integritätssicherung.

Formate und Standards

  • SPDX: ISO/IEC 5962, das standardisierte Format für SBOMs. spdx.dev
  • CycloneDX: Weitverbreitetes, sicherheitsorientiertes Format. cyclonedx.org
  • SWID Tags: Microsoft-Standard, im Unternehmensumfeld verbreitet.

Generierung und Integration

  1. Build-Zeit-Generierung: Tools wie Syft, cdxgen oder Trivy erzeugen SBOMs automatisch im CI/CD-Prozess.
  2. Dependency-Tracking: Die SBOM wird bei jedem Build aktualisiert und im Artefakt-Repository gespeichert.
  3. Vulnerability-Scanning: Die SBOM wird gegen CVE-Datenbanken (NVD, OSV) gematcht.
  4. License-Compliance: Automatische Prüfung auf Lizenz-Konflikte (z. B. GPL in proprietären Projekten).

Der Fokus: Reaktionsfähigkeit bei Zero-Days

Wenn eine neue kritische Schwachstelle bekannt wird, kann die SBOM in Minuten beantworten, welche Systeme betroffen sind.

Reference Guide


Offene Punkte