Software-Stückliste

Ein SBOM (Software Bill Of Materials) ist ein strukturiertes Verzeichnis aller Komponenten, Abhängigkeiten und Lizenzen einer Softwareanwendung. Es bietet detaillierte Metadaten, einschließlich Komponentennamen, Versionen, Lizenzen, Schwachstellen und Abhängigkeiten, und hilft Unternehmen, Open-Source- und Drittanbieter-Software für Sicherheit, Compliance und Risikomanagement zu verfolgen.

Sie können Ihre SBOM problemlos in standardisierte Formate (SPDX, CycloneDX ) exportieren und SBOMs von Drittanbietern importieren und dabei VEX-Daten verwenden, um die Anforderungen von Behörden und Kunden zu erfüllen.

Während des Pipeline-Laufs gibt es bestimmte Werkzeuge, die zur Erzeugung von SBOMs verwendet werden. Das derzeit verfügbare Werkzeug zur Erstellung einer SBOM ist:

Was sind Paket-SBOMs?

Eine Paket-SBOM enthält alle Informationen über alle Pakete, die in einem Softwareprojekt verwendet werden. Sie enthält Informationen zu den Versionen, Lizenzen und Sicherheitslücken der einzelnen verwendeten Pakete. Paket-SBOMs werden auf Microservice-Ebene erstellt, eine SBOM wird für jeden Microservice in einer Architektur erstellt.

SBOM-Lebenszyklus

Der SBOM-Lebenszyklus erstreckt sich über alle Schritte der Microservice-Bereitstellung (die CI-, CD- und CC-Pipeline läuft).

  • Continuous Integration(CI)-Pipeline - Während des Laufs der CI-Pipeline wird für jeden erstellten Microservice ein SBOM erzeugt.
  • Continuous Deployment(CD)-Pipeline - Während des Laufs der CD-Pipeline wird ein Release-SBOM für alle bereitgestellten Microservices erstellt.
  • Continuous Compliance(CC)-Pipeline - Nach Abschluss des CD-Pipeline-Laufs überwacht die CC-Pipeline kontinuierlich die bereitgestellte Anwendung. Während des Laufs der CC-Pipeline werden die SBOMs, die für jeden Microservice in der CI-Pipeline erstellt wurden, abgerufen und gescannt.

Lebenszyklus einer SBOM
Lebenszyklus einer SBOM

SBOM-Lebenszyklus in der kontinuierlichen Integrationspipeline

Die Continuous Integration-Pipeline erstellt die verteilbaren Artefakte aus den Anwendungs-Repositories.

Wenn die CI-Pipeline im Schritt code-compliance-checks läuft, wird CRA ausgeführt und erstellt ein Paket-SBOM für das Repository, aus dem das bereitgestellte Artefakt erstellt wird. Diese Paket-SBOM enthält Informationen über die Pakete, die von jedem Microservice verwendet werden, der in der CI-Pipeline erstellt wird. Sie enthält Informationen über die Lizenz, die Version und die Sicherheitslücken der einzelnen Pakete.

Dieses Paket SBOM wird in der Asservatenkammer der Pipeline zur weiteren Verwendung bei der Bereitstellung in der Produktion gespeichert.

SBOM-Lebenszyklus in der kontinuierlichen Bereitstellungspipeline

Die Continuous-Deployment-Pipeline sammelt alle Beweise und erstellt die Zusammenfassung der Änderungsanforderung.

Wenn die Bereitstellung für die Produktion durch die CD-Pipeline erfolgt, werden die Paket-SBOMs, die im Evidence Locker gespeichert sind, abgerufen. Diese SBOMs werden zu einer Freigabe-SBOM aggregiert. Die Freigabe-SBOM wird dem Änderungsantrag als Anlage beigefügt.

SBOM-Lebenszyklus in der kontinuierlichen Compliance-Pipeline

Die Continuous-Compliance-Pipeline prüft die bereitgestellten Artefakte und ihre Quell-Repositorys nach der Bereitstellung in der Produktion regelmäßig auf Schwachstellen.

Wenn die CC-Pipeline läuft, ruft sie die zuvor gespeicherte Paket-SBOM, die während des Laufs der CI-Pipeline erzeugt wurde, aus dem Evidence Locker ab. Die CC-Pipeline legt die Paket-SBOMs nicht neu an.

SBOM-Dienstprogramm für die SBOM-Validierung

Wenn die Pipeline ausgeführt wird, wird die Datei SBOM als Anhang zu den Nachweisen com.ibm.code_bom_check sowohl im Format standard als auch cyclonedx hinzugefügt.

Das Tool sbom-utility validiert die SBOM, indem es eine Reihe von Standard- und benutzerdefinierten Prüfungen durchführt, um festzustellen, ob die Metadaten enthalten sind:

  • Eine Komponente auf der Stammebene der SBOM, die Daten enthält
  • Ein Zeitstempel
  • A name und bom-ref für jedes Komponentenfeld

Um Beweise für die SBOM-Validierung zu sammeln, setzen Sie sbom-validation-collect-evidence auf 1. Die Beweise werden als Anhang zu com.ibm.code_bom_check gesammelt, wobei der Beweistyp und der Werkzeugtyp als sbom-utility angegeben werden.

Weitere Informationen finden Sie in den Dokumentationen des Tools sbom-utility.