# Software-Lieferkette

Eine Software-Lieferkette besteht aus den Komponenten, Bibliotheken, Tools und Prozessen, die zur Entwicklung, Erstellung und Veröffentlichung eines Software-Artefakts verwendet werden.
Software-Anbieter erstellen ihre Produkte häufig durch die Zusammenstellung von Open-Source- und kommerziellen Software-Komponenten. Eine Software-Stückliste (Software Bill of Materials, SBOM) gibt das Inventar der Komponenten an, die zur Erstellung eines Software-Artefakts wie einer Software-Anwendung verwendet werden. Sie ist vergleichbar mit einer Zutatenliste auf einer Lebensmittelverpackung: So wie man ein Etikett konsultieren kann, um Lebensmittel zu vermeiden, die Allergien auslösen können, können SBOMs Organisationen oder Personen helfen, den Konsum von Software zu vermeiden, die ihnen schaden könnte.
Das Konzept der Stückliste ist in der traditionellen Fertigung als Teil des Lieferkettenmanagements fest etabliert. Ein Hersteller verwendet eine Stückliste, um die Teile zu verfolgen, die er zur Herstellung eines Produkts verwendet. Werden später Mängel an einem bestimmten Teil festgestellt, lassen sich die betroffenen Produkte anhand der Stückliste leicht lokalisieren.

## Nutzung

Eine SBOM ist sowohl für den Ersteller (Hersteller) als auch für den Käufer (Kunden) eines Softwareprodukts nützlich. Hersteller nutzen oft verfügbare Open-Source- und Drittanbieter-Softwarekomponenten, um ein Produkt zu erstellen. Mit einer SBOM kann der Hersteller sicherstellen, dass diese Komponenten auf dem neuesten Stand sind und schnell auf neue Schwachstellen reagieren. Käufer können eine SBOM verwenden, um eine Schwachstellen- oder Lizenzanalyse durchzuführen, die beide zur Bewertung des Risikos eines Produkts herangezogen werden können.
Während viele Unternehmen für die allgemeine Stücklistenverwaltung einfach eine Tabellenkalkulation verwenden, birgt eine in einer Tabellenkalkulation geschriebene Stückliste zusätzliche Risiken und Probleme. SBOMs gewinnen an Wert, wenn sie gemeinsam in einem Repository gespeichert werden, das Teil anderer Automatisierungssysteme sein kann und von anderen Anwendungen leicht abgefragt werden kann. Diesem Bedarf an automatisierter SBOM-Verarbeitung wird durch CycloneDX und Software Package Data Exchange (SPDX) Rechnung getragen, beides offene Dokumentenstandards.
Das Verständnis der Lieferkette von Software, die Beschaffung einer SBOM und deren Verwendung zur Analyse bekannter Schwachstellen sind entscheidend für das Risikomanagement.

## Gesetzgebung
### Vereinigte Staaten

Der Cyber Supply Chain Management and Transparency Act von 2014 war ein US-Gesetz, das vorsah, dass Regierungsbehörden für alle neu erworbenen Produkte SBOMs einholen müssen. Es hätte auch die Einholung von SBOMs für „jede Software, Firmware oder jedes Produkt, das von der Regierung der Vereinigten Staaten verwendet wird“, vorgeschrieben. Obwohl es letztendlich nicht verabschiedet wurde, hat dieses Gesetz die Regierung sensibilisiert und spätere Gesetze wie das „Internet of Things Cybersecurity Improvement Act of 2017“ angestoßen.
Die US Executive Order on Improving the Nation's Cybersecurity vom 12. Mai 2021 wies das NIST an, innerhalb von 90 Tagen einen Leitfaden herauszugeben, der Normen, Verfahren oder Kriterien zu verschiedenen Themen enthält, um die Sicherheit der Software-Lieferkette zu verbessern„, einschließlich der Bereitstellung einer Software Bill of Materials (SBOM) für jedes Produkt“. Außerdem wurde die NTIA beauftragt, innerhalb von 60 Tagen „Mindestelemente für eine SBOM zu veröffentlichen“.
Die NTIA-Mindestelemente wurden am 12. Juli 2021 veröffentlicht und „beschreiben SBOM-Anwendungsfälle für mehr Transparenz in der Software-Lieferkette und zeigen Optionen für die künftige Entwicklung auf.“ Die Mindestelemente bestehen aus drei großen Kategorien: Datenfelder (Basisinformationen über jede Softwarekomponente), Automatisierungsunterstützung (die Fähigkeit, SBOMs in maschinen- und menschenlesbaren Formaten zu erstellen) sowie Praktiken und Prozesse (wie und wann Unternehmen SBOMs erstellen sollten). Die Anforderung „Automatisierungsunterstützung“ spezifiziert die Notwendigkeit einer „automatischen Generierung“, die durch den Einsatz von Software Composition Analysis (SCA) Lösungen möglich ist.

### Europäischer Wirtschaftsraum

Die ab Dezember 2027 geltende Cyberresilienz-Verordnung verpflichtet Hersteller von Produkten mit digitalen Elementen unter anderem, Sicherheitslücken und Komponenten ihrer Produkte zu ermitteln und zu dokumentieren. Ein zentraler Bestandteil dieser Dokumentation ist die Erstellung einer Software-Stückliste (SBOM) in einem gängigen maschinenlesbaren Format. Diese SBOM muss zumindest die obersten Abhängigkeiten der Produkte darstellen. Wenn der Hersteller die SBOM dem Nutzer zur Verfügung stellt, muss er auch bekanntgeben, wo auf diese Liste zugegriffen werden kann. Darüber hinaus muss die Technische Dokumentation des Produkts eine SBOM beinhalten. Auf begründetes Verlangen der Marktaufsichtsbehörde hin muss die SBOM ebenfalls bereitgestellt werden. Diese Maßnahmen sollen die Transparenz und Sicherheit von Produkten im EWR erhöhen, indem sie eine Übersicht über die verwendeten Softwarekomponenten und deren Abhängigkeiten bieten.