Eine Software-Stückliste (SBOM) ist ein Dokument, das eine detaillierte Bestandsaufnahme der in einem Softwareprojekt verwendeten Komponenten und Abhängigkeiten bereitstellt. Außerdem werden alle Bibliotheken, Frameworks und ihre jeweiligen Versionen aufgelistet, die in der Software verwendet werden. Wenn es um Open-Source-Software (OSS) geht, kann ein SBOM eine entscheidende Rolle bei der Gewährleistung von Transparenz, Sicherheit und Compliance spielen.
Die Verwendung einer SBOM – insbesondere in OSS – ermöglicht es einem Unternehmen, Einblick in Komponenten und Abhängigkeiten zu gewinnen, das Risikomanagement zu verbessern und vieles mehr. Nachfolgend erläutern wir diese Vorteile.
OSS enthält häufig verschiedene Komponenten und Abhängigkeiten von Drittanbietern. Ein SBOM ermöglicht Entwicklern und Benutzern eine klare Transparenz aller in der Software verwendeten Komponenten. Hierzu gehören Open-Source-Bibliotheken und Frameworks sowie deren spezifische Versionen. Diese Transparenz hilft dabei, die Zusammensetzung der Software zu verstehen, potenzielle Schwachstellen zu identifizieren und alle Lizenzverpflichtungen im Zusammenhang mit den Open-Source-Komponenten zu verfolgen.
Wie jede andere Software kann auch OSS anfällig für Sicherheitslücken sein. Mit einem SBOM können Unternehmen die Versionen von Open-Source-Komponenten verfolgen und sich über alle bekannten Schwachstellen im Zusammenhang mit diesen Versionen informieren. Dies ermöglicht ein proaktives Schwachstellenmanagement durch die zeitnahe Anwendung von Patches oder Updates, um etwaige Sicherheitsbedenken zu mindern und zu melden (siehe RFC8615 ). Mit einem aktuellen SBOM können Unternehmen die Auswirkungen von Schwachstellen einschätzen und geeignete Maßnahmen zum Schutz ihrer Software ergreifen.
In den letzten Jahren ist die Sicherheit der Software-Lieferkette zu einem wichtigen Anliegen geworden. Eine SBOM trägt zur Verbesserung der Lieferkettensicherheit bei, indem sie Transparenz hinsichtlich der in der Software verwendeten Komponenten und ihrer Herkunft schafft. Darüber hinaus können Organisationen die Vertrauenswürdigkeit und Sicherheitslage der Komponenten beurteilen, auf die sie sich verlassen. Mit einem SBOM können Unternehmen die mit kompromittierten oder bösartigen Komponenten verbundenen Risiken identifizieren und eindämmen und so das Potenzial für Angriffe auf die Software-Lieferkette verringern.
OSS fördert die Zusammenarbeit und das Engagement der Community. Ein SBOM erleichtert die effektive Zusammenarbeit, indem es ein gemeinsames Verständnis der Softwarekomponenten für verschiedene Mitwirkende und Interessengruppen schafft. Es unterstützt bei der Koordinierung der Patch-Management-Anstrengungen, indem es die Komponenten klar identifiziert, die Updates oder Fixes erfordern. Die Zusammenarbeit innerhalb der Open-Source-Community wird effizienter, wenn alle Teilnehmer auf ein gemeinsames SBOM verweisen können, um Sicherheitslücken und andere Probleme zu beheben.
In einigen Branchen verlangen regulatorische Rahmenbedingungen, dass Unternehmen Transparenz und Kontrolle über die in ihren Anwendungen oder Systemen verwendeten Softwarekomponenten nachweisen. Ein SBOM stellt die erforderliche Dokumentation bereit, um diese Compliance-Anforderungen zu erfüllen. Damit können Unternehmen die gebotene Sorgfalt, Nachvollziehbarkeit und Einhaltung relevanter Vorschriften nachweisen, insbesondere im Hinblick auf die Sicherheits- und Lizenzierungsaspekte von OSS.
OSS unterliegt normalerweise bestimmten Lizenzen, die vorschreiben, wie die Software verwendet, geändert und verteilt werden darf. Eine SBOM bietet einen umfassenden Überblick über alle Open-Source-Komponenten und die entsprechenden Lizenzen. Auf diese Weise können Unternehmen die Einhaltung der Lizenzbedingungen der von ihnen verwendeten OSS sicherstellen. Durch das Verständnis der Lizenzverpflichtungen können Unternehmen fundierte Entscheidungen über die Verteilung und Nutzung ihrer Software treffen und gleichzeitig rechtliche Probleme oder Compliance-Probleme vermeiden.
Mehrere Regierungen und Organisationen in stark regulierten Branchen wie dem Banken- und Gesundheitssektor befürworten die Verwendung von SBOMs oder ziehen in Erwägung, die Verwendung eines SBOM entweder intern oder für ihre Lieferanten zur Pflicht zu machen.
Der Aufbau eines SBOM erfordert die Zusammenarbeit und Beteiligung verschiedener Interessengruppen entlang der gesamten Software-Lieferkette. Durch die Einbeziehung dieser Interessengruppen und die Förderung der Zusammenarbeit zwischen ihnen können Unternehmen ein robustes und zuverlässiges SBOM erstellen, das die erforderlichen Informationen zu Softwarekomponenten erfasst, die Sicherheit der Lieferkette verbessert und das Risikomanagement und die Einhaltung von Vorschriften erleichtert.
Hier sind einige Schlüsselpersonen oder Rollen, die in den Prozess eingebunden werden sollten:
Organisationen sollten danach streben, ein SBOM zu erstellen, das einen umfassenden Überblick über Softwarekomponenten, deren Herkunft, Abhängigkeiten und zugehörige Sicherheitsinformationen bietet. Dies ermöglicht ein besseres Management der Risiken in der Software-Lieferkette und verbessert die allgemeine Softwaresicherheit.
Dies sind die wichtigsten Schritte beim Erstellen einer SBOM:
Es gibt mehrere Gründe, warum ein SBOM scheitern oder seinen beabsichtigten Zweck nicht erfüllen kann. Indem Sie diese Herausforderungen angehen und die Richtigkeit, Vollständigkeit und Aktualität Ihres SBOM sicherstellen, können Sie das Risiko eines Scheiterns verringern.
Hier sind einige häufige Fehlerursachen, die den Best Practices zum Erstellen eines SBOM entsprechen:
Insgesamt ist ein SBOM ein wertvolles Tool zur Verwaltung der Komplexität von OSS. Es fördert Transparenz, Sicherheit, Compliance und Zusammenarbeit innerhalb des Open-Source-Ökosystems. Durch die Bereitstellung einer detaillierten Bestandsaufnahme der Softwarekomponenten, ihrer Versionen und der zugehörigen Lizenzinformationen ermöglicht ein SBOM Unternehmen, fundierte Entscheidungen zu treffen, Risiken zu verwalten und die Integrität und Sicherheit ihrer Softwareprojekte zu gewährleisten.