Was ist eine Software-Stückliste (SBOM)?

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.

Warum Ihr Unternehmen SBOMs verwenden sollte

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.

Komponentensichtbarkeit

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.

Schwachstellenmanagement

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.

Sicherheit der Lieferkette

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.

Zusammenarbeit und Patch-Management

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.

Einhaltung gesetzlicher Vorschriften

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.

Lizenzkonformität

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.

SBOM-Anforderungen in stark regulierten Branchen

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.

Beispiele für Branchen, die SBOMs verwenden

Wer gehört zu einem SBOM-Team?

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:

  • Entwicklungsteam – Das Entwicklungsteam, darunter Softwareingenieure und Entwickler, spielt eine entscheidende Rolle bei der Identifizierung und Dokumentation der im Projekt verwendeten Softwarekomponenten. Sie sind dafür verantwortlich, genaue Informationen über die Abhängigkeiten, Versionen und Ursprünge der von ihnen verwendeten Softwarekomponenten bereitzustellen.
  • Projektmanager – Projektmanager überwachen den gesamten Softwareentwicklungsprozess und sollten am Aufbau eines SBOM beteiligt sein. Sie können sich mit dem Entwicklungsteam abstimmen, um sicherzustellen, dass die erforderlichen Informationen gesammelt und im SBOM dokumentiert werden. Projektmanager spielen auch eine wichtige Rolle bei der Sicherstellung der Einhaltung der SBOM-Anforderungen und deren Integration in den Projektablauf.
  • Sicherheitsteam – Das Sicherheitsteam, zu dem Sicherheitsanalysten und -spezialisten gehören, ist maßgeblich an der Bewertung und Verwaltung der mit Softwarekomponenten verbundenen Sicherheitsrisiken beteiligt. Sie können Einblicke in Schwachstellen und bekannte Sicherheitsprobleme im Zusammenhang mit den in Ihrem SBOM aufgeführten Komponenten geben. Ihr Fachwissen hilft dabei, potenzielle Sicherheitsrisiken zu erkennen und Prioritäten für die Behebung der Risiken festzulegen.
  • Beschaffungsteam – Das Beschaffungsteam oder die Personen, die für die Beschaffung von Softwarekomponenten verantwortlich sind, spielen beim Aufbau einer SBOM eine entscheidende Rolle. Sie können Informationen zur Herkunft und zu Lizenzdetails der aus externen Quellen bezogenen Komponenten bereitstellen. Durch die Zusammenarbeit mit dem Beschaffungsteam wird eine genaue Verfolgung und Überprüfung der Softwarekomponenten innerhalb der Lieferkette gewährleistet.
  • Betriebsteam – Das Betriebsteam ist häufig für die Bereitstellung und Wartung der Software verantwortlich. Beim Erstellen einer SBOM können sie wertvolle Informationen über die Laufzeitumgebung, Bereitstellungskonfigurationen und alle zusätzlichen Softwarekomponenten beisteuern, die während der Betriebsphase eingeführt werden. Ihre Erkenntnisse gewährleisten ein umfassendes und aktuelles SBOM.
  • Experten für Recht und Compliance – Fachleute für Recht und Compliance sind wichtige Interessenvertreter beim Aufbau eines SBOM, insbesondere im Hinblick auf Lizenzierung und geistiges Eigentum. Sie können Hinweise zur Lizenzkonformität geben und sicherstellen, dass Ihr SBOM allen gesetzlichen Anforderungen oder Einschränkungen in Bezug auf die Softwarekomponenten entspricht.
  • Externe Anbieter und Partner – Wenn das Softwareprojekt Komponenten oder Dienste von externen Anbietern oder Partnern enthält, ist es wichtig, diese in den SBOM-Prozess einzubeziehen. Sie können die erforderlichen Informationen zu ihren Angeboten bereitstellen, einschließlich Abhängigkeiten, Versionen und Schwachstellen. Durch die Zusammenarbeit mit externen Stakeholdern wird ein umfassendes und genaues SBOM sichergestellt.
So erstellen Sie eine SBOM

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:

  • Komponenten ermitteln und inventarisieren: Beginnen Sie mit der Identifizieren aller Softwarekomponenten, die in Ihrem Projekt verwendet werden, einschließlich proprietärer und Open Source-Komponenten. Erstellen Sie eine Inventarliste, die Informationen wie Name, Version und Herkunft jeder Komponente enthält.
  • Herkunft der Komponenten bestimmen: Bestimmen Sie für jede Komponente deren Ursprung, ob sie proprietär, Open Source oder eine Kombination aus beidem ist. Dieser Schritt hilft bei der Bewertung potenzieller Sicherheitslücken in verschiedenen Komponenten.
  • Dokumentabhängigkeiten: Dokumentieren Sie die Abhängigkeiten zwischen Komponenten, einschließlich aller verwendeten Bibliotheken oder Frameworks. Dies hilft, die Beziehungen zwischen verschiedenen Komponenten zu verstehen und stellt sicher, dass alle Abhängigkeiten berücksichtigt werden.
  • Erfassen Sie Metadaten: Sammeln Sie Metadaten für jede Komponente, beispielsweise Lizenzinformationen, bekannte Schwachstellen und Veröffentlichungsdaten. Diese Informationen sind für die Verfolgung der Sicherheits- und Compliance-Aspekte der Softwarekomponenten von entscheidender Bedeutung.
  • Automatisieren Sie die SBOM-Generierung: Um den Prozess zu optimieren, können Sie die SBOM-Generierung mithilfe spezieller Tools automatisieren. Diese Tools können Ihr Softwareprojekt scannen, die Komponenten identifizieren und die erforderlichen Informationen automatisch sammeln.
  • Halten Sie Ihre SBOM auf dem neuesten Stand: Während sich Ihr Softwareprojekt weiterentwickelt, ist es wichtig, Ihr SBOM auf dem neuesten Stand zu halten. Überprüfen und aktualisieren Sie regelmäßig den Bestand, die Komponentenherkunft, Abhängigkeiten und Metadaten, wenn Änderungen auftreten.
  • Teilen und nutzen Sie Ihr SBOM: Geben Sie Ihr SBOM an relevante Stakeholder in Ihrer Software-Lieferkette weiter, etwa an Anbieter, Kunden und Prüfer. Dies fördert die Transparenz, ermöglicht eine bessere Risikobewertung und hilft bei der Identifizierung und Behebung von Schwachstellen.
  • Schwachstellen überwachen und verwalten: Achten Sie kontinuierlich auf neue Schwachstellen und Sicherheitsupdates im Zusammenhang mit den Komponenten in Ihrem SBOM. Bleiben Sie über die neuesten Sicherheitspatches informiert und beheben Sie Schwachstellen umgehend, um die Sicherheit Ihrer Software zu gewährleisten.
Sieben Gründe, warum ein SBOM nicht liefern kann

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:

  • Unvollständige oder ungenaue Bestandsaufnahme: Wenn Ihre SBOM nicht alle in einem Projekt verwendeten Softwarekomponenten genau erfasst oder unvollständige Informationen enthält, kann dies zu blinden Flecken und Lücken im Verständnis der Software-Lieferkette führen. Eine fehlende oder ungenaue Bestandsaufnahme kann dazu führen, dass Schwachstellen oder Abhängigkeiten übersehen werden, was die Wirksamkeit Ihres SBOM beeinträchtigt.
  • Mangelnde Komponentensichtbarkeit: Wenn Ihr SBOM keine klare Transparenz hinsichtlich der Herkunft, Versionen und Abhängigkeiten von Softwarekomponenten bietet, wird es schwierig, die damit verbundenen Risiken wirksam zu bewerten und zu verwalten. Ohne umfassende Transparenz wird es schwierig, Schwachstellen aufzuspüren, Patch-Updates zu identifizieren und die Einhaltung der Lizenzanforderungen sicherzustellen.
  • Manuelle und veraltete Prozesse: Das Verlassen auf manuelle Prozesse zum Erstellen und Verwalten eines SBOM kann zu Ineffizienzen und Fehlern führen. Wenn Ihr SBOM nicht regelmäßig aktualisiert wird, um Änderungen im Softwareprojekt widerzuspiegeln, ist es schnell veraltet und verliert seinen Wert als zuverlässige Referenz für Sicherheits- und Compliance-Zwecke.
  • Unzureichende Metadaten und Kontext: Ein SBOM sollte mehr als nur eine Liste von Softwarekomponenten enthalten – es sollte relevante Metadaten wie Lizenzinformationen, bekannte Schwachstellen und Veröffentlichungsdaten umfassen. Wenn dieser zusätzliche Kontext fehlt oder unvollständig ist, ist es nicht möglich, Risiken genau einzuschätzen und fundierte Entscheidungen zu treffen.
  • Mangelnde Zusammenarbeit der Interessengruppen: Für eine effektive SBOM-Nutzung sind Zusammenarbeit und Informationsaustausch zwischen den Beteiligten in der Software-Lieferkette von entscheidender Bedeutung. Wenn es an der Zusammenarbeit mangelt oder die Bereitschaft zum Austausch von SBOM-Informationen gering ist, wird es schwierig, Schwachstellen gemeinsam zu identifizieren und zu beheben, was die Gesamtsicherheit der Software gefährdet.
  • Begrenzte Werkzeuge und Automatisierung: Die manuelle Erstellung und Pflege einer SBOM kann zeitaufwändig und fehleranfällig sein. Ohne die richtigen Werkzeuge und Automatisierung wird es schwierig, Ihr SBOM effizient zu generieren, zu aktualisieren und zu verwalten. Mangelnde Automatisierung kann außerdem zu Verzögerungen bei der Identifizierung neuer Schwachstellen oder Abhängigkeiten führen.
  • Unzureichendes Schwachstellen-Monitoring: Ein SBOM sollte durch einen robusten Prozess zur Schwachstellenüberwachung ergänzt werden. Wenn die Softwarekomponenten nicht regelmäßig auf neue Schwachstellen überwacht werden und keine Sicherheitsupdates bereitgestellt werden, bleiben potenzielle Risiken möglicherweise unbemerkt und die Software ist bekannten Schwachstellen ausgesetzt.
Zusammenfassung

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.