Eine Software Bill of Materials (SBOM) ist eine Inventar-Auflistung von Open-Source- oder kommerziellen Komponenten, die in einem Produkt verbaut wurden. Es handelt sich dabei um eine Liste von Komponenten/Bibliotheken mit ihrer Version, Lizenz und anderen relevanten Details zu Urheberschaft, Herkunft und Verwendung.

Die SBOMs können Softwareanbietern dabei helfen, die konforme Verwendung von Open-Source Softwarekomponenten sicherzustellen. Sie ist auch die Grundlage für die Ermittlung und Behebung von Sicherheitslücken in den eingesetzten Komponenten.

Was beinhaltet die SBOM?

Für die Erstellung einer vollständigen SBOM ist es wichtig, dass sie eine klare Sicht auf die Komponenten des Produkts gewährleistet. Prinzipiell gibt es zwei Arten von SBOMs:

☑️ Die Dependency Software Bill of Materials enthält die Open-Source- oder Drittanbieter-Bibliotheken, die während des Build-Prozesses hinzugefügt werden (Abhängigkeiten). Sie werden typischerweise über ihre Prüfsumme erkannt und die Lizenz wird aus den Metadaten der Komponente ermittelt. Eine Dependency SBOM wird in der Regel automatisch vom Build-System oder spezialisierten Tools in einem standardisierten Format wie SPDX oder CycloneDX erstellt, um den Austausch und die Nachbearbeitung zu erleichtern. Sie enthält jeweils die Top-Level Lizenz der identifizierten Komponenten.

☑️ Die Forensic Software Bill of Materials ist das Ergebnis einer tiefergehenden Analyse, bei der der Quellcode des Produkts und die Abhängigkeiten auf eingebettete Open-Source-Artefakte (Code-Snippets oder einzelne Dateien) und Lizenzen untersucht werden. Die Identifizierung erfolgt auf Dateiebene. Die Erstellung der Forensic SBOM umfasst in der Regel das Scannen des Codes und erfordert manuelle Arbeit, um die Komponenten und Lizenzen anhand der vom Tool generierten Daten zu identifizieren. Neben Erkenntnissen wie Open-Source-Snippets, die kopiert und in den produkteigenen Code integriert wurden, deckt die Forensic SBOM auch modifizierte Bibliotheken ab, die ein hohes Compliance-Risiko darstellen können.

Um eine vollständige Sicht auf die Komponenten von Drittanbietern zu erhalten und Lizenz- oder Sicherheitsrisiken zu vermeiden, ist die Erstellung einer Forensic-SBOM unumgänglich.

Die Software-Bill-of-Materials listet die OSS-Komponenten und Teile auf, die für die Herstellung eines Produkts erforderlich sind, und zwar in einer hierarchischen Art und Weise. Eine Komponente kann Teil einer (übergeordneten) Komponente sein, und sie kann sie wiederum ihre eigenen Unterkomponenten haben, und so weiter. Die sich daraus ergebende Stückliste enthält eine Mischung aus Unterkomponenten, Bibliotheken und Codefragmenten. Ihre mehrstufige Struktur kann durch einen Baum mit mehreren Ebenen veranschaulicht werden.

Die Einhaltung der Lizenzverpflichtungen spielt im Open-Source-Ökosystem eine wichtige Rolle. Eine der Herausforderungen besteht darin, die mit den einzelnen Open-Source-Komponenten verbundenen Lizenzen zu ermitteln und festzustellen, ob es sich um freizügige oder restriktive (Copyleft)Lizenzen handelt. In verschiedenen Szenarien können einzelne Bibliotheken Code enthalten, der unter Copyleft-Lizenzen steht. Selbst ein kleiner Codeschnipsel aus einer Quelle wie z.B. StackOverflow kann aufgrund des starken Copyleft-Effekts der Lizenz einen erheblichen Einfluss auf die gesamte Software haben. Am wichtigsten ist es, diese Risiken rechtzeitig zu erkennen und entsprechend zu beheben, damit das endgültige Softwareprodukt aus rechtlicher Sicht einwandfrei ist.

 

AI und Compliance

In letzter Zeit ist ein neuer Akteur beim Thema Compliance hinzugekommen, und zwar die künstliche Intelligenz mit dem von ihr generierten Softwarecode. Viele Entwickler haben in der generativen KI eine Hilfe für ihre täglichen Aufgaben gefunden, was jedoch mit gewissen Risiken und Herausforderungen verbunden ist. Generative KI kann zwar ein leistungsfähiges Werkzeug zur Automatisierung bestimmter Aspekte der Programmierung und zur Codegenerierung sein, aber man muss einige Aspekte beachte, wenn es um Lizenzkonformität geht.

Wenn ein Softwareentwickler den generierten Code einfach kopiert, kann dies zu Lizenz- und Urheberrechtsverletzungen führen, und er bzw. sein Unternehmen können verklagt werden. Unternehmen müssen sich der rechtlichen Risiken bewusst sein und diese mit entsprechenden Maßnahmen, wie Open-Source-Scanning und SBOM-Erstellung, reduzieren. Nur mit einer Forensic SBOM lässt sich volle Transparenz über die Eigentumsverhältnisse und Lizenzen für den von KI generierten Code herstellen.

Generative KI-Modelle werden in der Regel mit LMS-Modellen trainiert, wobei online zugänglicher Quellcode verwendet wird. Diese Trainingsdaten ermöglichen es dem KI-System, Codierungsmuster zu lernen und zu reproduzieren. Daher basiert der generierte Code auf bereits existierendem Code, z.B. aus Open-Source-Repositorys, für den bestimmte Lizenzbedingungen gelten. Diese muss man kennen und beachten, wenn generierter Code in ein Produkt integriert wird.

Eine vollständige forensische SBOM ist wichtiger denn je und sollte als integraler Bestandteil des Lebenszyklus eines Projekts erstellt und gepflegt werden.

Open-Source-Management Dienste

Open-Source-Management Dienste

Sorgen Sie für Transparenz und mindern Sie Risiken mit einer forensischen Software Bill of Materials (SBOM). Unsere Experten sind bereit, Sie durch die Feinheiten der Open-Source-Lizenzierung und die Einhaltung von KI-generiertem Code zu führen.

Kontaktieren Sie uns

Kontaktieren Sie uns

Sprechen Sie mit unseren Spezialisten und erfahren Sie, wie die FOSS Management-Dienstleistungen Ihrem Unternehmen helfen können.