Steuerung und Überwachung von Software mit einem SBOM-Management-System
Ein SBOM (Software Bill of Materials) ist eine strukturierte Auflistung aller Komponenten, Abhängigkeiten und Lizenzen einer Software – vergleichbar mit einer Zutatenliste. Einen detaillierten Überblick über den Aufbau sowie die zunehmende rechtliche Bedeutung von Software-Stücklisten bietet bereits der Beitrag Überblick über Software-Stücklisten.
Sowohl intern entwickelte als auch extern bezogene Softwareprodukte lassen sich mithilfe von SBOM-Dateien gezielt überwachen und verwalten.. Bei externer Software ermöglicht eine SBOM die Prüfung auf bekannte Schwachstellen oder kritische Lizenzen. Treten Sicherheitslücken auf, kann der Hersteller informiert oder die betroffene Software vorübergehend deaktiviert werden, bis ein Update verfügbar ist. Für selbst entwickelte Anwendungen sind vor allem die verwendeten Bibliotheken von Interesse. Treten dort sicherheitsrelevante Probleme auf, ist ein schnelles Eingreifen erforderlich: Die Auswirkungen der Schwachstelle müssen analysiert und – abhängig von der Schwere des Problems – zeitnah behoben werden.
SBOM-Formate im Vergleich: CycloneDX und SPDX
Für Software Bill of Materials (SBOM) haben sich zwei Standardformate etabliert: CycloneDX und SPDX.
CycloneDX, entwickelt von der OWASP Foundation und als OASIS-Standard anerkannt, konzentriert sich auf Sicherheit und wird vor allem in DevSecOps-Pipelines und Tools wie Trivy oder Dependency-Track eingesetzt. SPDX hingegen stammt von der Linux Foundation, ist als ISO/IEC 5962:2021 standardisiert und legt den Schwerpunkt auf Lizenz- und Compliance-Management. CycloneDX ist kompakter und stärker auf Sicherheitsaspekte fokussiert, während SPDX detaillierte Informationen auf Dateiebene für rechtliche Prüfungen liefert. In der Praxis hat sich CycloneDX mittlerweile als das am weitesten verbreitete Format durchgesetzt.
Warum sollte ein SBOM-Managementsystem genutzt werden?
Eine einmal erstellte Stückliste lässt sich zwar leicht visualisieren, doch die manuelle Erstellung, Pflege und Prüfung von SBOM-Dateien ist auf Dauer nicht praktikabel. Effizienter ist der Einsatz eines SBOM-Managementsystems, das sämtliche Stücklisten zentral verwaltet und automatisiert überwacht. SBOM-Managementsysteme unterstützen in der Regel beide Standardformate.
Ein solches System bietet mehrere Vorteile:
- Zentraler Überblick
Das System bietet einen zentralen Überblick über alle Softwareprodukte und deren Stücklisten, die in einem Unternehmen genutzt oder entwickelt werden. - Kontinuierliche und automatisierte Überprüfungen
In regelmäßigen Intervallen werden die SBOM-Dateien automatisch auf Sicherheitslücken überprüft. Besonders wichtig ist dies für bereits produktive Software, da neue Schwachstellen auch nach der Veröffentlichung der Software bekannt werden können. - Regelverwaltung und Compliance-Prüfung
Es lassen sich projektbezogene oder globale Regeln definieren, um Verstöße zu erkennen – etwa die Nutzung von Bibliotheken mit nicht Open-Source-kompatiblen Lizenzen. - Automatische Benachrichtigungen
Bei Regelverstößen oder neuen Sicherheitsrisiken informiert das System die Verantwortlichen automatisch über verschiedene Kommunikationskanäle.
Welche Tools eignen sich?
Am Markt gibt es zahlreiche Tools zur Verwaltung und Analyse von Software-Abhängigkeiten. Viele davon integrieren SBOM-Funktionalitäten als Teilkomponente oder bieten zusätzlich weiterführende Sicherheitsanalysen an. Bekannte kommerzielle Lösungen sind etwa Snyk, Mend oder Aikido.
Ein besonders interessantes Tool ist Dependency-Track – eine Open-Source-Lösung, die speziell auf das Management und die Auswertung von SBOM-Dateien ausgerichtet ist. Dependency-Track unterstützt die gängigen Formate CycloneDX und SPDX und lässt sich einfach selbst hosten. Durch die Integration mit OIDC-Systemen wie Keycloak kann es nahtlos in bestehende Authentifizierungs- und Berechtigungskonzepte eingebunden werden. Zudem bietet es eine intuitive Oberfläche, umfangreiche API-Unterstützung und eine automatische Auswertung von Sicherheitslücken anhand externer Datenquellen.
Bei der API-Unterstützung ist hervorzuheben, dass sämtliche Funktionalitäten über die REST-API angesprochen werden können. Dies ermöglicht die einfache Integration einzelner Funktionalitäten, etwa einer Stücklistenübersicht, in Drittsysteme.
Damit ist Dependency-Track eine leistungsfähige und zugleich kosteneffiziente Lösung für Unternehmen, die ihre Softwarelieferkette transparent und sicher verwalten möchten.
Nutzung und Konfiguration von Dependency-Track
Die zuvor genannten Anforderungen an ein SBOM-Management-System werden von Dependency-Track umfassend abgedeckt. Die Anwendung bietet eine Vielzahl an Funktionen zur Analyse, Bewertung und Verwaltung von Softwarekomponenten. Diese Funktionalitäten werden in der Dokumentation ausführlich erläutert. Deshalb wird im Folgenden nur auf einige ausgewählte interessante Features eingegangen.
Exploit Predictions (CVSS und EPSS)
Dependency-Track kann für jedes Projekt Exploit-Vorhersagen auf Basis von CVSS und EPSS darstellen.
Der CVSS (Common Vulnerability Scoring System) klassifiziert Sicherheitslücken nach ihrem Schweregrad auf einer Skala von 0 bis 10 und berücksichtigt dabei Faktoren wie Ausnutzbarkeit und Auswirkungen. Der EPSS (Exploit Prediction Scoring System) hingegen schätzt die Wahrscheinlichkeit, dass eine bekannte Schwachstelle tatsächlich ausgenutzt wird.
In einer grafischen Darstellung kombiniert Dependency-Track beide Werte: Auf der einen Achse befindet sich der CVSS-Schweregrad, auf der anderen die EPSS-Wahrscheinlichkeit. So lässt sich leicht erkennen, welche Schwachstellen nicht nur kritisch, sondern auch mit hoher Wahrscheinlichkeit aktiv ausgenutzt werden könnten – und daher vorrangig behandelt werden sollten.
Vulnerability Audit
Das Vulnerability Audit ermöglicht es, erkannte Schwachstellen gezielt zu überprüfen und zu bewerten. Sicherheitsfunde können als true positive, false positive oder mit Risiko akzeptiert markiert werden. Damit behalten Teams den Überblick über den tatsächlichen Handlungsbedarf und vermeiden Fehlalarme. Diese Funktion ist besonders nützlich, um Entscheidungen zu dokumentieren und Compliance-Anforderungen nachweisbar zu erfüllen.
Analyzer und deren Konfiguration
Analyzer sind die internen oder externen Module, mit denen Dependency-Track Komponenten analysiert und Sicherheitsinformationen ermittelt. Zu den wichtigsten gehören:
- Internal Analyzer – verarbeitet direkt bereitgestellte SBOM-Dateien
- OSS Index Analyzer – nutzt die öffentliche Schwachstellendatenbank von Sonatype
- GitHub Advisory Analyzer – greift auf GitHubs Advisory-Datenbank zu
- VulnDB Analyzer – verwendet kommerzielle Datenquellen mit erweitertem Informationsumfang.
Mindestens der Internal Analyzer, der OSS Index und der GitHub Advisory Analyzer sollten aktiviert sein. Diese Kombination deckt den Großteil relevanter Schwachstellen ab und sorgt für ein gutes Gleichgewicht zwischen Genauigkeit und Performance.
Verwaltung der Vulnerability Sources
Vulnerability Sources sind die Datenquellen, aus denen Dependency-Track Informationen über bekannte Sicherheitslücken bezieht. Diese werden im Administrations-Bereich konfiguriert. Zu den bekanntesten gehören:
- NVD (National Vulnerability Database)
- GitHub Security Advisories
- OSS Index
- VulnDB
Diese Quellen sollten mindestens täglich über die konfigurierbaren Jobs von Dependency-Track aktualisiert werden, da regelmäßig neue Schwachstellen bekannt und veröffentlicht werden. So bleibt die Risikoanalyse stets aktuell und neue Bedrohungen werden frühzeitig erkannt.
Das bedeutet für Unternehmen
Die Verwaltung von SBOM-Dateien für mehrere Projekte bzw. Software-Produkte geht nur effizient mithilfe einer SBOM-Management-Software. Neben der automatischen Schwachstellenerkennung und Regelverwaltung lässt sich auch die historische Entwicklung eines Projektes bezüglich Schwachstellen nachvollziehen.
Unternehmen, die ihre Software-Lieferkette aktiv überwachen möchten, sollten frühzeitig mit der Einführung eines SBOM-Managementsystems beginnen. So lassen sich Sicherheitsrisiken reduzieren und Compliance-Anforderungen effizient erfüllen.