sbomasm: SBOM-Zusammenstellung für Softwareprodukte
16.07.2023
Interlynk
Die Erstellung des Software-Bill of Materials, oder „SBOM“ — zusammen mit der Software selbst — ist eine gute Praxis zur Überwachung von Zero-Day-Sicherheitsanfällen oder zur Erfüllung von regulatorischen und Compliance-Anforderungen.
SBOM ist auch bereit für die Anforderungen an die Software-Transparenz, die in gut regulierten Bereichen wie Finanzen, Gesundheitswesen und Bundesbehörden auftreten.
Für die Erstellung von SBOM für Softwareprojekte in den meisten Software-Ökosystemen und aus Anwendungsbinaries und Firmware existieren kommerzielle und Open-Source-Tools.
Jedoch wird ein typisches kommerziell verfügbares Softwareprodukt oder verbundenes Gerät als eine Sammlung von Software und Hardware projekten aufgebaut, die aus mehreren Hardwarekomponenten, Bibliotheken, Diensten oder sogar der direkten Verteilung von ausführbaren Dateien zusammengesetzt sind.
Hier einige Beispiele:
Eine mobile App umfasst Drittanbieterbibliotheken für Marketing-, Authentifizierungs- oder Werbezwecke — alle von Drittanbietern.
Ein medizinisches Gerät kann programmierbare Komponenten von verschiedenen Anbietern enthalten, von denen jeder seine eigenen Versionen und Upgrade-Zyklen hat.
Eine Desktop-Anwendung kann einige Drittanbieter-executables verwenden, die sie für spezifische Funktionen aufruft.
In diesen Fällen kann SBOM für Projekte und Bibliotheken mit dem Projekt erstellt werden, aber die Zusammenführung in das endgültige Produkt-SBOM erfordert ein tieferes Verständnis der SBOM-Formate und -Einschränkungen.
Die Erstellung eines endgültigen Produkt-SBOM durch die Kombination des Projekt-SBOM löst mehrere Probleme, einschließlich:
Bereitstellung eines einzigen Produkt-SBOM anstelle vieler Projekt-SBOMs
Verfolgung der Produktversion gegenüber spezifischen Projektversionen
Verfolgung des endgültigen Produkts mit einer einzigen SKU in SBOM-Management-Systemen
Kartierung neu offengelegter Schwachstellen auf spezifische Projekte
sbomasm — Assembler für SBOM
Interlynk’s kostenloses und quelloffenes Tool - sombasm ist die Lösung für dieses SBOM-Zusammenstellungsproblem.
sbomasm ist ein Befehlszeilen-Dienstprogramm, das für moderne Versionen von Windows, Mac und Linux entwickelt wurde. Es ist der einfachste Weg, SBOMs aus mehreren Projekten zu einem Produkt-SBOM mit dem kommerziellen Namen des Produkts, Version, Lizenz und anderen Metadaten zu kombinieren.
sbomasm hat konfigurierbare Eingaben, die in den meisten CI/CD-Pipelines verwendet werden können, um diesen Prozess mit jeder Produktveröffentlichung zu automatisieren.
sbomasm kümmert sich um multiple Komplexitäten, wie das Bewahren von Komponentenbeziehungen und Prüfziffern zur Verfolgung von Komponentenanfälligkeiten, das Verwalten von Duplikaten von Komponenten oder Subkomponenten und das Ermöglichen von Multi-Format-Spezifikationen.
Funktionen
sbomasm unterstützt:
CycloneDX- und SPDX-Eingabe- und -Ausgabeformate
Befehlszeilenschnittstelle und Konfigurationsdatei als Eingabe
verfügbar auf den meisten modernen Versionen von Windows, Linux und Mac
flaches Zusammenführen (keine Hierarchie) oder hierarchisches Zusammenführen
Indikator für die Nutzung des Endprodukts (Primärpaketerklärung des SBOM)
Optionen zur Automatisierung der Produkternstellung von SOBM
Beispiele
In seiner einfachsten Form kann sbomasm verwendet werden, um SBOMs von zwei verschiedenen Projekten in ein Endprodukt zu kombinieren:
Projekte
Docker Engine — v24.0.2: SBOM-Datei: engine.spdx.tv
Docker Compose — v2.19.1: SBOM-Datei: compose.spdx.tv
Produkt
Docker Desktop — v4.21.2: Gewünschte SBOM-Datei: desktop.spdx.tv
Befehl
Das ist alles!
Nachdem der Vorgang abgeschlossen ist, beschreibt die SBOM-Datei desktop.spdx.tv ein Produkt namens Docker Desktop in der Version v4.21.2 und Typ application, das aus drei Teilen besteht — docker engine v24.0.2, docker compose v2.19.1
Alle Komponenten behalten ihre ursprünglichen Lizenzen und Prüfziffern, was zukünftige Überprüfungen ermöglicht.
Jede Zero-Day-Sicherheitsanfälligkeit gegen eine Komponente von Docker Engine v24.0.1 wird auch in Docker Desktop v4.21.2 angezeigt, sowie unter dem Namen der Komponente — Docker Engine v24.0.1 (Beziehungserhaltung)
Konfiguration
sbomasm unterstützt auch die häufigsten Konfigurationen aus der Konfigurationsdatei. Die Vorlage für eine solche Datei kann mit
Die Konfigurationsdatei kann bearbeitet werden, um mehrere Optionen anzupassen und kann mit einem einfachen Befehl für beliebig viele Projekt-SBOMs verwendet werden:
Zusätzliche Funktionen
sbomasm Funktionen sind in der SBOM-Plattform von Interlynk enthalten. Es kann auf eine kommerzielle Version für weitere Funktionen, wie zum Beispiel:
Auto-Import von SBOM aus Projekten
Extrahieren jeder Projekt-SBOM aus der Produkt-SBOM
Visuelle Schnittstelle und integrierte Vorlagen für die automatische SBOM-Zusammenstellung
Unterstützung für kommerzielle Lizenzen
Schwärzung des Lieferanten- oder Komponenten-Namens aus der Produkt-SBOM
Zukunft
sbomasm ist eines der wachsenden Tools aus Interlynks Open-Source-Toolset Initiative.
Unsere Mission ist es, es allen CI/CD-Systemen zu erleichtern, SBOMs zu erstellen und sie für Verbraucher nützlich zu machen.
Wir entwickeln alle Tools kontinuierlich weiter. Kontaktieren Sie uns gerne unter hello@interlynk.io, wenn Sie sbomasm oder andere Tools verwenden möchten,
sbomqszur SBOM-Qualitätsbewertung,sbomgrzum Suchen von SBOMs odersbomexzur Erkundung von SBOM-Formaten und -Spezifikationen,
Wir sind bestrebt, zu helfen und die Funktionen dieser Tools zu erweitern.
