KI-gestützte Cyberangriffe: Wie man intelligente Bedrohungen erkennt, verhindert und abwehrt

Jetzt lesen
Wir verwenden künstliche Intelligenz für Website-Übersetzungen, und obwohl wir uns um Genauigkeit bemühen, kann es sein, dass sie nicht immer 100%ig präzise sind. Wir danken Ihnen für Ihr Verständnis.

Software Bill of Materials (SBOM) erklärt 

von OPSWAT
Jetzt teilen

Bei der Software werden in hohem Maße vorgefertigte Komponenten von Drittanbietern eingesetzt, um Prozesse zu optimieren, von denen einige Open Source sind. Diese Komponenten sind die Bausteine moderner Webanwendungen, können aber auch Schwachstellen aufweisen und Cyberkriminellen potenzielle Einstiegspunkte in Ihr System bieten. 

Um einen Überblick über die Komponenten zu erhalten und die Schwachstellen in den Abhängigkeiten Ihrer Software zu verwalten, ist das Führen einer SBOM (Software Bill of Materials) genannten Liste unerlässlich, um die Sicherheit, das Risikomanagement und die Compliance Ihrer Anwendung zu verbessern. 

Was ist SBOM? 

A Software Bill of Materials (SBOM) ist ein detailliertes Inventar aller in einer Anwendung verwendeten Closed- und Open-Source-Komponenten, Bibliotheken und Abhängigkeiten. Einfacher ausgedrückt: So wie ein physisches Produkt mit einer Liste von Bauteilen und Materialien geliefert werden kann, hat auch Software ihre Komponenten. 

Entwickler und Anbieter konstruieren Software häufig durch die Kombination von Open-Source- und kommerziellem Code. Die SBOM beschreibt diese Komponenten systematisch, um die Transparenz und Rückverfolgbarkeit grundlegender Codekomponenten in Softwareprodukten zu gewährleisten und so die Sicherheit der Lieferkette zu erleichtern und die Einhaltung von Vorschriften sicherzustellen.

Was sind die Vorteile einer SBOM? 

Im Kern bietet ein SBOM drei Hauptvorteile: 

Transparenz 

Sie bietet einen klaren Überblick über die Zusammensetzung der Software und ermöglicht es den Beteiligten - egal ob Entwickler, Prüfer oder Endbenutzer -, die Komponenten ihres Software-Stacks zu verstehen.

Vulnerability Management 

Sicherheit ist eines der dringendsten Probleme bei der Softwareentwicklung. Mit einem SBOM können Komponenten in einem Softwareprodukt schnell identifiziert werden, wodurch es einfacher wird, Schwachstellen zu erkennen, zu beheben und zu beseitigen.

Wenn ein Sicherheitshinweis veröffentlicht wird, enthält er in der Regel aktuelle Informationen über Sicherheitslücken in Softwarekomponenten. Durch den Abgleich einer SBOM mit den neuesten Sicherheitshinweisen können Unternehmen schnell feststellen, ob ihre Anwendungen gefährdet sind, und die notwendigen Maßnahmen ergreifen, um sie angemessen abzusichern.

Integration in den SDLCSoftware Development Lifecycle)

Während die Software die Entwicklungspipeline durchläuft, wird sie ständig aktualisiert, von der Konzeption und dem Design bis zur Bereitstellung und Wartung. Ein SBOM dient als dynamischer Datensatz, der sicherstellt, dass in jeder Phase des SDLC ein klares Bild der Softwarekomponenten, Abhängigkeiten und Beziehungen besteht.

Wer braucht eine SBOM? 

Im Großen und Ganzen kann ein Software-Konsument jede Einrichtung sein, ob kommerziell oder nicht, die ihre Drittkomponenten und Software-Dienstprogramme von Drittanbietern bezieht. Diese Anbieter decken ein breites Spektrum ab: 

  • Kommerzielle Software-Hersteller
  • Softwareentwickler, die vertraglich verpflichtet sind, Softwarekomponenten zu liefern
  • FOSS (Free and Open-Source Software) Anbieter, die Code in offenen Repositories oder Paketmanagern verwalten

Diese Anbieter tragen mehrere Hüte. Sie können Hersteller, Entwickler, Betreuer oder Anbieter sein. Idealerweise sollten diese Unternehmen auch SBOMs für ihre Softwarefunktionen erstellen. Ein wichtiger Unterschied ist, dass die meisten Zulieferer auch Verbraucher sind. Ein Lieferant ohne vorgelagerte Komponenten wird jedoch in der Regel als Root-Entität bezeichnet.

SBOM im öffentlichen Sektor

Bundesbehörden spielen eine zentrale Rolle bei der Annahme und Durchsetzung von SBOM-Normen. Bei ihrer Aufsicht geht es nicht nur um die Festlegung von Maßstäben, sondern auch um die Sicherstellung der Konformität mit diesen Maßstäben im Interesse der Allgemeinheit. Die im Mai 2021 erlassene US Executive Order 14028 beauftragt mehrere Behörden mit weitreichenden Zuständigkeiten, darunter auch das NIST (National Institute of Standards and Technology), mit der Verbesserung der Cybersicherheit durch eine Reihe von Initiativen im Zusammenhang mit der Sicherheit und Integrität der Software-Lieferkette.

Abschnitt 10 (j) der Executive Order 14028 definiert eine SBOM als "formale Aufzeichnung, die die Details und Lieferkettenbeziehungen der verschiedenen Komponenten enthält, die bei der Erstellung von Software verwendet werden". SBOMs haben das Potenzial, die Transparenz, die Herkunft und die Geschwindigkeit zu erhöhen, mit der Schwachstellen identifiziert und von Bundesministerien und -behörden behoben werden können.

SBOM-Typen und Definitionen 

Je nach Softwareentwicklungs- und -bereitstellungsphase werden verschiedene Arten von SBOMs erstellt, die jeweils einem bestimmten Zweck dienen und unterschiedliche Einblicke in die Softwarekomponenten bieten. Hier sind sechs gängige Arten von SBOM-Dokumenten.

Gestaltung

In dieser Phase der Anwendungsentwicklung existieren einige Komponenten möglicherweise noch gar nicht. Diese Art von Stückliste wird in der Regel aus einer Entwurfsspezifikation, einem RFP (Request for Proposal) oder einem ersten Konzept abgeleitet.

Quelle

Sie wird direkt aus der Entwicklungsumgebung erstellt und bietet Einblicke in die Quelldateien und Abhängigkeiten, die für die Erstellung eines Produktartefakts erforderlich sind. Sie wird in der Regel von SCA-Werkzeugen (Software Composition Analysis) generiert und erfordert gelegentlich manuelle Klarstellungen.

Bauen Sie

Sie wird als Teil des Softwareerstellungsprozesses erstellt und fasst Daten aus Quelldateien, erstellten Komponenten und anderen Abhängigkeiten zusammen. Dies ist besonders wertvoll, da es während der Erstellung eines freizugebenden Software-Artefakts erzeugt wird.

Analysiert

Diese SBOM wird aus der Post-Build-Analyse von Software-Artefakten wie ausführbaren Dateien oder Images virtueller Maschinen abgeleitet. Sie umfasst verschiedene Heuristiken und wird manchmal als "Drittanbieter"-SBOM bezeichnet.

Eingesetzt

Ein umfassendes Inventar der auf einem System vorhandenen Software. Es wird durch die Dokumentation der SBOM der auf den Systemen installierten Softwarekomponenten erstellt und bietet Einblicke in die reale Bereitstellung von Software.

Laufzeit

Dieses SBOM wird durch Echtzeit-Systeminstrumentierung erstellt und erfasst die Komponenten, die während der Ausführung der Software vorhanden sind. Sie bietet Einblicke in dynamische Komponenten und externe Verbindungen und kann auch als "instrumentiert" oder "dynamisch" bezeichnet werden.

Was sind die Elemente einer SBOM? 

Zu den Mindestelementen einer SBOM gehören nach Angaben der NTIA (National Telecommunications and Information Administration) der Name des Softwareanbieters, die Komponenten, ihre Versionen, eindeutige Bezeichner, die Beziehung der Abhängigkeiten, der Autor der SBOM-Daten und der Zeitstempel. Zusätzlich sollten SBOM-Daten die folgenden Elemente enthalten, um effektiv und umfassend zu sein: 

  • Datenfelder: Müssen über klar definierte Datenfelder verfügen, in denen der Name der Softwarekomponente, die Versionen und die Attribute aufgeführt sind. Dadurch wird gewährleistet, dass jeder Beteiligte den Aufbau der Software genau versteht. 
  • Unterstützung der Automatisierung: Angesichts der dynamischen Natur der Softwareentwicklung sollte eine SBOM automatisch aktualisiert und in die Softwareentwicklungs- und -bereitstellungspipelines integriert werden können. Dies gewährleistet Genauigkeit und Effizienz in Echtzeit. 
  • Praktiken und Prozesse: Über die bloße Auflistung von Komponenten hinaus sollte eine SBOM in bewährte Verfahren und Prozesse eingebettet sein, die ihre Erstellung, Pflege und Nutzung regeln. 

SBOM-Formate

Beliebte SBOM-Formate sind:

  • SPDXSoftware Package Data Exchange) - entwickelt von der Linux Foundation
  • CycloneDX - wird häufig für die Anwendungssicherheit verwendet
  • SWIDSoftware Identification Tagging) - definiert durch ISO/IEC 19770-2

Durch die Katalogisierung der einzelnen Komponenten ermöglicht ein SBOM den Unternehmen eine eindeutige Identifizierung der mit jeder Software verbundenen Lizenzen, wodurch sichergestellt wird, dass sie die Lizenzbedingungen einhalten und mögliche rechtliche Fallstricke vermeiden.

Bleiben Sie konform und Secure in Ihrem SDLC 

Aufgrund der zunehmenden Angriffe auf die Lieferkette haben die Bundesregierung und der private Sektor die Bedeutung der Software-Identifizierung erkannt. Eine SBOM ist entscheidend für die Beschreibung von Softwarekomponenten, insbesondere von Komponenten Dritter. SBOM-Daten helfen bei der Vermeidung von Schwachstellen und sorgen für Transparenz bei der Erstellung von SBOMs. Jede Software sollte eine umfassende SBOM enthalten, um die Sicherheitsmaßnahmen zu unterstützen. 

Durch die Katalogisierung der einzelnen Komponenten ermöglicht ein SBOM den Unternehmen eine eindeutige Identifizierung der mit jeder Software verbundenen Lizenzen, wodurch sichergestellt wird, dass sie die Lizenzbedingungen einhalten und mögliche rechtliche Fallstricke vermeiden. 

Mit OPSWAT SBOM können Entwickler bekannte Schwachstellen identifizieren, Lizenzen validieren und ein Komponenteninventar für OSS (Open-Source-Software), Abhängigkeiten von Drittanbietern und Container erstellen. Um mehr über die Sicherung Ihrer Software-Lieferkette mit robusten SBOM-Lösungen zu erfahren, besuchen Sie die OPSWAT Software Supply Chain Security.

Bleiben Sie auf dem Laufenden mit OPSWAT!

Melden Sie sich noch heute an, um die neuesten Unternehmensinformationen zu erhalten, Geschichten, Veranstaltungshinweise und mehr.