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

Eine Software-Stückliste (SBOM) ist ein Dokument, das eine detaillierte Bestandsaufnahme der Komponenten und Abhängigkeiten enthält, die in einem Softwareprojekt verwendet werden. Sie listet auch alle Bibliotheken, Frameworks und ihre jeweiligen Versionen auf, die in der Software verwendet werden. Wenn es um Open-Source-Software (OSS) geht, kann eine SBOM eine entscheidende Rolle bei der Gewährleistung von Transparenz, Sicherheit und Compliance spielen.

Warum Ihre Organisation SBOMs verwenden sollte

Der Einsatz einer SBOM – insbesondere in OSS – ermöglicht es einer Organisation, Transparenz über Komponenten und Abhängigkeiten zu erlangen, das Risikomanagement zu verbessern und vieles mehr. Im Folgenden werden diese Vorteile erläutert.

Transparenz der Komponenten

OSS enthält oft verschiedene Komponenten und Abhängigkeiten von Drittanbietern. Eine SBOM ermöglicht es Entwicklern und Anwendern, einen klaren Überblick über alle in der Software verwendeten Komponenten zu erhalten. Dies schließt Open-Source-Bibliotheken und -Frameworks sowie deren spezifische Versionen ein. Diese Transparenz hilft dabei, die Zusammensetzung der Software zu verstehen, potenzielle Schwachstellen zu identifizieren und alle mit den Open-Source-Komponenten verbundenen Lizenzverpflichtungen zu verfolgen.

Schwachstellenmanagement

Wie jede andere Software kann auch OSS anfällig für Sicherheitslücken sein. Mit einer SBOM können Organisationen die Versionen von Open-Source-Komponenten verfolgen und sich über alle bekannten Schwachstellen in diesen Versionen informieren. Dies ermöglicht ein proaktives Schwachstellenmanagement, indem umgehend Patches oder Updates angewendet werden, um Sicherheitsprobleme zu entschärfen und zu melden (siehe RFC8615). Mit einer aktuellen SBOM können Organisationen die Auswirkungen von Schwachstellen abschätzen und geeignete Maßnahmen zur Sicherung ihrer Software ergreifen.

Sicherheit der Lieferkette

In den letzten Jahren ist die Sicherheit der Software-Lieferkette zu einem wichtigen Thema geworden. Eine SBOM trägt zur Verbesserung der Sicherheit in der Lieferkette bei, indem sie Transparenz über die in der Software verwendeten Komponenten und ihre Herkunft schafft. Sie ermöglicht es Organisationen auch, die Vertrauenswürdigkeit und Sicherheitslage der Komponenten, auf die sie sich verlassen, zu bewerten. Mit einer SBOM können Organisationen Risiken im Zusammenhang mit kompromittierten oder bösartigen Komponenten erkennen und mindern 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. Eine SBOM erleichtert die effektive Zusammenarbeit, indem sie ein gemeinsames Verständnis der Software-Komponenten für verschiedene Mitwirkende und Interessengruppen schafft. Sie hilft bei der Koordinierung von Patch-Management-Bemühungen, indem sie die Komponenten, die Updates oder Korrekturen benötigen, eindeutig identifiziert. Die Zusammenarbeit innerhalb der Open-Source-Community wird effizienter, wenn alle Teilnehmer auf eine gemeinsame SBOM zurückgreifen können, um Sicherheitslücken und andere Probleme zu beheben.

Einhaltung von Vorschriften

In einigen Branchen müssen Organisationen aufgrund gesetzlicher Vorschriften Transparenz und Kontrolle über die in ihren Anwendungen oder Systemen verwendeten Software-Komponenten nachweisen. Eine SBOM bietet die notwendige Dokumentation, um diese Compliance-Anforderungen zu erfüllen. Sie ermöglicht es Organisationen, ihre Sorgfaltspflicht, Rückverfolgbarkeit und die Einhaltung relevanter Vorschriften nachzuweisen, insbesondere wenn es um Sicherheits- und Lizenzierungsaspekte von OSS geht.

Einhaltung der Lizenzbestimmungen

Die OSS unterliegt in der Regel bestimmten Lizenzen, die vorschreiben, wie die Software verwendet, verändert und verbreitet werden darf. Eine SBOM bietet einen umfassenden Überblick über alle Open-Source-Komponenten und die entsprechenden Lizenzen. Dies hilft Organisationen, die Einhaltung der Lizenzbedingungen der von ihnen verwendeten OSS sicherzustellen. Durch das Verständnis der Lizenzverpflichtungen können Organisationen fundierte Entscheidungen über die Verbreitung und Verwendung ihrer Software treffen und gleichzeitig rechtliche oder Compliance-Probleme vermeiden.

SBOM-Anforderungen in stark regulierten Branchen

Mehrere Regierungen und Organisationen in stark regulierten Branchen wie dem Bankwesen und dem Gesundheitswesen befürworten die Verwendung von SBOMs oder erwägen, die Verwendung von SBOMs entweder intern oder für ihre Zulieferer zur Pflicht zu machen.

Beispiele für Branchen, die SBOMs verwenden

Wer ist Teil eines SBOM-Teams?

Die Erstellung einer SBOM erfordert die Zusammenarbeit und Mitwirkung verschiedener Interessengruppen in der gesamten Software-Lieferkette. Durch die Einbeziehung dieser Interessengruppen und die Förderung der Zusammenarbeit zwischen ihnen können Organisationen eine robuste und zuverlässige SBOM zusammenstellen, die die erforderlichen Informationen über Software-Komponenten erfasst, die Sicherheit der Lieferkette erhöht und das Risikomanagement und die Einhaltung von Vorschriften erleichtert.

Hier sind einige Schlüsselpersonen oder -rollen, die in den Prozess einbezogen werden sollten:

  • Entwicklungsteam – Das Entwicklungsteam, einschließlich der Softwareingenieure und -entwickler, spielt eine entscheidende Rolle bei der Identifizierung und Dokumentation der im Projekt verwendeten Software-Komponenten. Sie sind dafür verantwortlich, genaue Informationen über die Abhängigkeiten, die Versionen und die Herkunft der von ihnen verwendeten Software-Komponenten bereitzustellen.
  • Projektmanager – Projektmanager beaufsichtigen den gesamten Softwareentwicklungsprozess und sollten an der Erstellung einer SBOM beteiligt sein. Sie können sich mit dem Entwicklungsteam abstimmen, um sicherzustellen, dass die erforderlichen Informationen gesammelt und in der 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, bestehend aus Sicherheitsanalysten und -spezialisten, ist maßgeblich an der Bewertung und dem Management von Sicherheitsrisiken im Zusammenhang mit Software-Komponenten beteiligt. Sie können Einblicke in Schwachstellen und bekannte Sicherheitsprobleme im Zusammenhang mit den in Ihrer SBOM aufgelisteten Komponenten geben. Ihr Fachwissen hilft dabei, potenzielle Sicherheitsrisiken zu identifizieren und Abhilfemaßnahmen zu priorisieren.
  • Beschaffungsteam – Das Beschaffungsteam oder die Personen, die für die Beschaffung von Software-Komponenten verantwortlich sind, spielen eine entscheidende Rolle bei der Erstellung einer SBOM. Sie können Informationen über die Herkunft und die Lizenzierungsdetails der von externen Quellen bezogenen Komponenten liefern. Die Zusammenarbeit mit dem Beschaffungsteam gewährleistet eine genaue Nachverfolgung und Überprüfung der Software-Komponenten innerhalb der Lieferkette.
  • Betriebsteam – Das Betriebsteam ist häufig für die Bereitstellung und Wartung der Software verantwortlich. Bei der Erstellung einer SBOM kann es wertvolle Informationen über die Laufzeitumgebung, die Bereitstellungskonfigurationen und alle zusätzlichen Software-Komponenten beisteuern, die während der Betriebsphase eingeführt wurden. Seine Erkenntnisse gewährleisten eine umfassende und aktuelle SBOM.
  • Rechts- und Compliance-Experten – Rechts- und Compliance-Experten sind wichtige Interessengruppen bei der Erstellung einer SBOM, insbesondere im Hinblick auf die Lizenzierung und das geistige Eigentum. Sie können Sie bei der Einhaltung von Lizenzbestimmungen beraten und sicherstellen, dass Ihre SBOM mit allen rechtlichen Anforderungen oder Einschränkungen im Zusammenhang mit den Software-Komponenten übereinstimmt.
  • Externe Anbieter und Partner – Wenn das Softwareprojekt Komponenten oder Dienste von externen Anbietern oder Partnern umfasst, ist es wichtig, diese in den SBOM-Prozess einzubeziehen. Sie können die notwendigen Informationen über ihre Angebote, einschließlich Abhängigkeiten, Versionen und Schwachstellen, bereitstellen. Die Zusammenarbeit mit externen Interessengruppen trägt dazu bei, eine umfassende und genaue SBOM zu gewährleisten.
So wird eine SBOM erstellt

Organisationen sollten eine SBOM anstreben, die einen umfassenden Überblick über Software-Komponenten, deren Herkunft, Abhängigkeiten und zugehörige Sicherheitsinformationen bietet. Dies ermöglicht ein besseres Risikomanagement in der Softwarelieferkette und erhöht die allgemeine Softwaresicherheit.

Hier sind die wichtigsten Schritte bei der Erstellung einer SBOM:

  • Identifizieren und inventarisieren Sie die Komponenten: Beginnen Sie damit, jede Software-Komponente zu identifizieren, die in Ihrem Projekt verwendet wird, sowohl proprietäre als auch Open-Source-Komponenten. Erstellen Sie eine Bestandsliste, die Informationen wie den Namen, die Version und die Herkunft jeder Komponente enthält.
  • Bestimmen Sie die Herkunft der Komponenten: Bestimmen Sie für jede Komponente, ob sie proprietär, quelloffen oder eine Kombination aus beidem ist. Dieser Schritt hilft bei der Bewertung potenzieller Sicherheitslücken, die mit verschiedenen Komponenten verbunden sind.
  • Dokumentieren Sie die Abhängigkeiten: Dokumentieren Sie die Abhängigkeiten zwischen den Komponenten, einschließlich der verwendeten Bibliotheken oder Frameworks. Dies hilft, die Beziehungen zwischen den verschiedenen Komponenten zu verstehen und stellt sicher, dass alle Abhängigkeiten berücksichtigt werden.
  • Erhebung von Metadaten: Erheben Sie Metadaten für jede Komponente, z. B. Lizenzinformationen, bekannte Schwachstellen und Versionsdaten. Diese Informationen sind für die Verfolgung der Sicherheits- und Compliance-Aspekte der Software-Komponenten von entscheidender Bedeutung.
  • Automatisieren Sie die Erstellung von Stücklisten: Um den Prozess zu rationalisieren, sollten Sie die Erstellung von SBOMs mit speziellen Tools automatisieren, die Ihr Software-Projekt scannen, die Komponenten identifizieren und die erforderlichen Informationen automatisch erfassen.
  • Halten Sie Ihre SBOM auf dem neuesten Stand: Wenn sich Ihr Software-Projekt weiterentwickelt, ist es unerlässlich, Ihre SBOM auf dem neuesten Stand zu halten. Überprüfen und aktualisieren Sie regelmäßig den Bestand, die Herkunft der Komponenten, die Abhängigkeiten und die Metadaten, wenn Änderungen auftreten.
  • Teilen und nutzen Sie Ihre SBOM: Teilen Sie Ihre SBOM mit den relevanten Interessengruppen in Ihrer Software-Lieferkette, z. B. Anbietern, Kunden und Prüfern. Dies fördert die Transparenz, ermöglicht eine bessere Risikobewertung und hilft bei der Identifizierung und Behebung von Schwachstellen.
  • Überwachen und Verwalten von Schwachstellen: Überwachen Sie kontinuierlich neue Schwachstellen und Sicherheitsupdates für die Komponenten in Ihrer SBOM. Bleiben Sie über die neuesten Sicherheitspatches informiert und beheben Sie Schwachstellen umgehend, um die Sicherheit Ihrer Software zu gewährleisten.
Sieben Wege, wie eine SBOM scheitern kann

Es gibt verschiedene Möglichkeiten, wie eine SBOM scheitern oder ihren Zweck verfehlen kann. Die Bewältigung dieser Herausforderungen und die Sicherstellung der Genauigkeit, Vollständigkeit und Aktualität Ihrer SBOM kann dazu beitragen, das Risiko eines Scheiterns zu mindern.

Im Folgenden werden einige häufige Fehlerursachen aufgeführt, die die bewährten Praktiken für die Erstellung einer SBOM widerspiegeln:

  • Unvollständige oder ungenaue Bestandsaufnahme: Wenn Ihre SBOM nicht alle in einem Projekt verwendeten Software-Komponenten 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 Ihrer SBOM untergräbt.
  • Mangelnde Komponententransparenz: Wenn Ihre SBOM keinen klaren Einblick in die Herkunft, die Versionen und die Abhängigkeiten von Software-Komponenten bietet, wird es schwierig, die damit verbundenen Risiken zu bewerten und effektiv zu verwalten. Ohne umfassende Transparenz wird es schwierig, Schwachstellen zu verfolgen, Patch-Updates zu identifizieren und die Einhaltung von Lizenzanforderungen sicherzustellen.
  • Manuelle und veraltete Prozesse: Sich bei der Erstellung und Pflege einer SBOM auf manuelle Prozesse zu verlassen, kann zu mangelnder Effizienz und Fehlern führen. Wenn Ihre SBOM nicht regelmäßig aktualisiert wird, um Änderungen im Software-Projekt widerzuspiegeln, ist sie schnell veraltet und verliert ihren Wert als zuverlässige Referenz für Sicherheits- und Compliance-Zwecke.
  • Unzureichende Metadaten und unzureichender Kontext: Eine SBOM sollte mehr als nur eine Liste von Software-Komponenten enthalten – sie sollte auch relevante Metadaten wie Lizenzinformationen, bekannte Schwachstellen und Versionsdaten enthalten. Wenn dieser zusätzliche Kontext fehlt oder unvollständig ist, wird die Fähigkeit, Risiken genau zu bewerten und fundierte Entscheidungen zu treffen, beeinträchtigt.
  • Mangelnde Zusammenarbeit der Interessengruppen: Die Zusammenarbeit und der Informationsaustausch zwischen den Interessengruppen in der Software-Lieferkette sind für eine effektive Nutzung der SBOM unerlässlich. Wenn es an Zusammenarbeit mangelt oder der Austausch von SBOM-Informationen zögerlich ist, wird es schwierig, Schwachstellen gemeinsam zu identifizieren und zu beheben, was die Sicherheit der Software insgesamt gefährdet.
  • Begrenzte Tools und Automatisierung: Die manuelle Erstellung und Pflege einer SBOM kann zeitaufwändig und fehleranfällig sein. Ohne geeignete Tools und Automatisierung wird es schwierig, die SBOM effizient zu erstellen, zu aktualisieren und zu verwalten. Fehlende Automatisierung kann auch zu Verzögerungen bei der Identifizierung neuer Schwachstellen oder Abhängigkeiten führen.
  • Unzureichende Überwachung von Schwachstellen: Eine SBOM sollte durch einen robusten Prozess zur Überwachung von Schwachstellen ergänzt werden. Fehlt eine regelmäßige Überwachung im Hinblick auf neue Schwachstellen und Sicherheitsupdates im Zusammenhang mit den Software-Komponenten, können potenzielle Risiken unbemerkt bleiben, sodass die Software bekannten Schwachstellen ausgesetzt ist.
Zusammenfassung

Insgesamt ist eine SBOM ein wertvolles Instrument zur Verwaltung der Komplexität von OSS. Sie fördert Transparenz, Sicherheit, Compliance und Zusammenarbeit innerhalb des Open-Source-Ökosystems. Durch die Bereitstellung einer detaillierten Bestandsaufnahme von Software-Komponenten, ihrer Versionen und der zugehörigen Lizenzinformationen ermöglicht eine SBOM es Organisationen, fundierte Entscheidungen zu treffen, Risiken zu verwalten und die Integrität und Sicherheit ihrer Software-Projekte zu gewährleisten.