Die entscheidende Rolle von Scan-Tiefe und SBOM

12.12.2024

Dr. Andreas Kotulla

Open Source

Dr. Andreas Kotulla

Open-Source-Compliance im Jahr 2024: Die entscheidende Rolle von Scan-Tiefe und SBOMs

Die Welt der Cybersicherheit und Software-Compliance steht an einem Wendepunkt: Neue gesetzliche Regelungen wie der Cyber Resilience Act (CRA), die Network und Information Security Directive (NIS2) und der Digital Operational Resilience Act (DORA) setzen Organisationen, besonders in der Europäischen Union, unter erhöhten Handlungsdruck. Die Zeiten, in denen Open-Source-Compliance ein „Nice-to-have“ war, sind endgültig vorbei – sie ist heute ein essenzieller Bestandteil einer sicheren und rechtskonformen digitalen Infrastruktur.

Open

Doch warum ist das so? Compliance bedeutet mehr als das bloße Abhaken gesetzlicher Vorgaben. Sie schützt Unternehmen nicht nur vor rechtlichen Fallstricken, sondern stärkt auch aktiv deren Sicherheitslage. Der Schlüssel liegt in einem umfassenden Ansatz: Der erste Schritt ist die Erstellung einer Software-Stückliste (SBOM), kombiniert mit einem präzisen, dateibasierten Scan, um alle genutzten Komponenten und deren Lizenzen zu identifizieren.

Erfahren Sie, warum Open-Source-Compliance der Grundpfeiler moderner Cybersicherheit ist – und wie Sie Ihr Unternehmen fit für die Herausforderungen der neuen regulatorischen Ära machen können.

Die Bedeutung einer Stückliste verstehen

Eine Software-Stückliste (SBOM) ist im Wesentlichen eine Bestandsaufnahme aller Komponenten innerhalb einer Softwareanwendung, einschließlich Open-Source-Bibliotheken, proprietärem Code von Drittanbietern. Eine SBOM ermöglicht es einer Organisation, das Risiko von Open-Source-Komponenten zu managen und zu überwachen, indem sie alle potenziellen Sicherheitslücken und Lizenzverpflichtungen identifiziert. Diese Transparenz ist nicht nur für die Einhaltung von Vorschriften, sondern auch für das Risikomanagement und die Softwareintegrität von entscheidender Bedeutung.

Eine wirklich effektive SBOM muss alle in der gesamten Lieferkette verwendeten Bestandteile umfassen, einschließlich jedes von Dritten integrierten Codes und aller mit diesen Komponenten verbundenen Abhängigkeiten. Durch die Erfassung aller Aspekte von Drittanbieter- und Open-Source-Code – zusammen mit seinen Abhängigkeiten – bietet eine SBOM einen vollständigen Überblick über potenzielle Risiken und Verpflichtungen und gewährleistet eine umfassende Übersicht über alle am Softwareprodukt beteiligten Komponenten.

Um die Erwartungen der Aufsichtsbehörden zu erfüllen, müssen Organisationen über die grobe Katalogisierung von Komponenten auf hoher Ebene hinausgehen. Eine gründliche SBOM muss jede einzelne Komponente und Lizenz umfassen, die mit der Software verbunden ist, unabhängig davon, ob sie auf der obersten Ebene oder in andere Komponenten eingebettet ist. Diese Gründlichkeit beim Scannen ist unerlässlich, um die potenziellen Risiken zu ermitteln, die jede Lizenz für die rechtliche und betriebliche Sicherheit der Organisation darstellen könnte. Als Beispiel seien hier Codefragmente von Stack Overflow genannt, die sich in fast jedem Projekt finden.

Warum die Scan-Tiefe bei der Open-Source-Compliance wichtig ist

Damit eine SBOM effektiv ist, muss sie Lizenzen erfassen, die mit jeder Open-Source-Komponente verbunden sind. Unvollständiges Scannen oder das Vertrauen auf die Top-Level-Lizenz kann zu erheblichen Lücken führen, insbesondere unter den strengen Anforderungen von CRA, NIS2 und DORA. Wenn nur die Top-Level-Lizenz gemeldet wird, können Unterkomponenten mit eigenen Lizenzen übersehen werden, die zusätzliche bekannte Sicherheitslücken oder Verpflichtungen oder Einschränkungen mit sich bringen könnten. Oft finden sich in einem größeren Projekt beispielsweise einzelne Dateien in einer Komponente, die anderen Lizenzen unterliegen oder aus einem anderen Projekt kopiert wurden.

Ein tiefgehender Snippet-Scan ermöglicht es Organisationen, diese nuancierten Lizenzanforderungen in jeder Komponente zu erkennen. Ohne einen solchen Scan können kritische Elemente – wie Code-Snippets, eingebettete Medien und Patches – unbemerkt bleiben und zu Compliance-Lücken führen. Die Durchführung einer dateibasierten Prüfung, bei der jede Datei und ihre jeweilige Lizenz untersucht wird, stellt sicher, dass Organisationen den Umfang ihrer Verpflichtungen vollständig verstehen und unbeabsichtigte Verstöße vermeiden.

Tauchen Sie ein in die Details: Code-Schnipsel und Medien

Ein gründlicher Scan sollte nicht nur Open-Source-Bibliotheken und ihre jeweiligen Lizenzen erkennen, sondern auch einzelne Code-Schnipsel untersuchen. Dies ist besonders relevant für Codefragmente, die aus Online-Quellen wie Stack Overflow kopiert wurden und möglicherweise restriktive Lizenzen enthalten. Stack Overflow hat beispielsweise auch Lizenzbedingungen, die je nach Zeitpunkt der Veröffentlichung variieren können, was die Einhaltung der Vorschriften weiter erschwert. Auch Hinweise auf Fremdcode durch eingebettete E-Mails, Copyrights oder URLs muss nachgegangen werden.

Bei der Bewertung der Einhaltung von Vorschriften ist es wichtig, nach Hinweisen zu suchen, die auf das Vorhandensein von externem Code hinweisen können. Kommentare, die Begriffe wie „kopiert von“ oder „basiert auf“ enthalten, können auf Teile von Open-Source-Code hinweisen, der in proprietäre Software integriert wurde. Darüber hinaus können Metadaten wie E-Mail-Adressen und URLs Hinweise auf die ursprüngliche Quelle liefern, was darauf hindeutet, dass eine eingehendere Analyse der Herkunft des Codes gerechtfertigt ist.

Patches und ihre vererbten Lizenzen

Patches stellen eine weitere Herausforderung bei der Einhaltung von Open-Source-Richtlinien dar. Oft enthalten Patches keine expliziten Lizenzinformationen, was zu Unklarheiten bei der Bestimmung ihrer Compliance-Anforderungen führen kann. In solchen Fällen erben Patches in der Regel die Lizenz des ursprünglichen Codes, den sie modifizieren. Dies kann jedoch komplex werden, wenn ein einzelner Patch mehrere Dateien betrifft, die jeweils unterschiedliche Lizenzen haben. Beispielsweise könnte ein Patch, der auf eine Bibliothek angewendet wird, eine permissive Lizenz von der ursprünglichen Codebasis erben. Wenn der Patch jedoch auch Komponenten betrifft, die einer restriktiveren Lizenz unterliegen, können die Auswirkungen unterschiedlich sein.

Das Vorhandensein gemischter Lizenzen innerhalb eines einzelnen Projekts kann Risiken mit sich bringen, wenn diese Lizenzen widersprüchliche Bedingungen enthalten. Eine umfassende SBOM in Kombination mit einem gründlichen, dateibasierten Scannen ist unerlässlich, um diese Überschneidungen zu identifizieren und zu verstehen, wie sie sich auf die gesamte Lizenzstruktur der Software auswirken können.

Erweiterung der Compliance auf Mediendateien, Schriftarten, Bilder und Symbole

Die Einhaltung von Lizenzbedingungen beschränkt sich nicht nur auf den Quellcode. Auch für Mediendateien wie Bilder, Icons, Schriftarten und andere digitale Bestandteile können Lizenzverpflichtungen bestehen. In vielen Fällen können diese Artefakte Lizenzen unterliegen, die spezifische Anforderungen an die Namensnennung stellen oder die kommerzielle Nutzung einschränken. Eine effektive tiefe Compliance-Prüfung identifiziert diese Bestandteile und stellt sicher, dass ihre Lizenzen mit der beabsichtigten Nutzung der Software kompatibel sind.

Unter dem hohen Zeitdruck, dem die Softwareentwicklung unterliegt, werden diese Bestandteile oft übersehen, aber die Nichteinhaltung ihrer jeweiligen Lizenzen kann Organisationen dem Risiko von Urheberrechtsverletzungen aussetzen. Ein gründlicher Scan stellt sicher, dass alle Bestandteile, ob in Form von Code oder Medien, in der SBOM erfasst sind und dass ihre Lizenzverpflichtungen vollständig erfüllt werden.

Hauptvorteile eines Tiefen Scans

  1. Identifizieren Sie eingebettete Codefragmente mit eindeutigen Lizenzen
    Open-Source-Code-Schnipsel, die aus Quellen wie Stack Overflow oder GitHub kopiert wurden, sind oft mit unterschiedlichen Lizenzen versehen, die möglicherweise Einschränkungen enthalten, die über die der Hauptprojektlizenz hinausgehen. Ein gründlicher Scan der Codefragmente stellt sicher, dass diese Lizenzen identifiziert werden, und verhindert so versehentliche Lizenzverletzungen.

  2. Einhaltung komplexer Lizenzverpflichtungen sicherstellen
    Open-Source-Projekte enthalten oft Abhängigkeiten mit ihren eigenen einzigartigen Lizenzen, die jeweils spezifische Anforderungen stellen. Ein Scan auf Fragment-Ebene ermöglicht eine vollständige Bestandsaufnahme dieser Verpflichtungen und vermeidet Compliance-Lücken.

  3. Reduzierung rechtlicher und finanzieller Risiken durch nicht identifizierte Komponenten
    Ohne detailliertes Scannen besteht ein hohes Risiko, Komponenten mit Lizenzen zu übersehen, die die Nutzung einschränken oder Copyleft-Anforderungen auferlegen.

  4. Verbesserung der Sichtbarkeit von Sicherheitslücken
    Tiefenscans können Schwachstellen in bestimmten Ausschnitten aufdecken, die bei Scans auf oberster Ebene möglicherweise übersehen werden. Die Identifizierung dieser Risiken stärkt die Sicherheit Ihrer Software und gewährleistet eine rechtzeitige Behebung. Solche Versäumnisse können zu erheblichen rechtlichen und finanziellen Konsequenzen führen, insbesondere im Rahmen von CRA, NIS2 und DORA.

  5. Alle Bestandteile und Abhängigkeiten in die Lieferkette einbeziehen
    Eine vollständige SBOM muss alle Assets der gesamten Lieferkette abdecken, einschließlich des Codes von Drittanbietern und seiner Abhängigkeiten. Dieser Ansatz stellt sicher, dass jede Abhängigkeit und Unterkomponente dokumentiert wird, und bietet einen ganzheitlichen Überblick über die Lizenzverpflichtungen und das Sicherheitsprofil der Software.

  6. Einhaltung von Regulierungsstandards und Branchenerwartungen
    Eine detaillierte SBOM entspricht den Compliance-Anforderungen der jüngsten EU-Verordnungen und stellt sicher, dass Organisationen auf behördliche Prüfungen vorbereitet sind und solide Risikomanagementpraktiken nachweisen können.

  7. Lizenzierung von nicht urheberrechtlich geschützten Bestandteilen
    Nicht-Code-Assets wie Mediendateien und Schriftarten haben oft unterschiedliche Lizenzen, die ihre Nutzung einschränken können. Ein dateibasierter Scan stellt sicher, dass diese Assets korrekt erfasst werden, und verhindert so versehentliche Lizenzverstöße.

Bewährte Verfahren für die Einhaltung von Open-Source-Richtlinien: Die wichtigsten Erkenntnisse

Angesichts der Komplexität moderner regulatorischer Anforderungen ist die Einhaltung von Open-Source-Vorschriften nicht länger zweitrangig, sondern ein grundlegender Aspekt der sicheren und rechtmäßigen Softwareentwicklung. Um diesen Anforderungen gerecht zu werden, sollten Organisationen die folgenden bewährten Verfahren anwenden:

Erstellen Sie eine umfassende Stückliste: Erfassen Sie alle Open-Source-Komponenten, proprietären Code, Tools von Drittanbietern und Mediendateien. Stellen Sie sicher, dass die SBOM alle zugehörigen Lizenzen enthält, um Transparenz zu gewährleisten und Risiken zu minimieren, einschließlich aller Abhängigkeiten und Drittanbieter-Codes entlang der gesamten Lieferkette.

Durchführung von dateibasierten Prüfungen: Gehen Sie über die Erfassung von Bestandteilen auf Komponentenebene hinaus und identifizieren Sie Lizenzen auf Dateiebene, um sicherzustellen, dass Unterkomponenten und eingebettete Code-Schnipsel berücksichtigt werden.

Untersuchen Sie Code-Ausschnitte auf Lizenzbedingungen: Überprüfen Sie Codeausschnitte, insbesondere solche, die aus Online-Communities stammen, und ermitteln Sie ihre lizenzrechtlichen Auswirkungen. Vergewissern Sie sich, dass die Lizenzen der Codeausschnitte mit der beabsichtigten Verwendung der Software kompatibel sind.

Beurteilen Sie Patches sorgfältig: Beachten Sie, dass Patches die Lizenz des Originalcodes übernehmen, sofern nicht ausdrücklich anders angegeben. Prüfen Sie jeden Patch auf potenzielle Konflikte, die sich aus gemischten Lizenzstrukturen ergeben können.

Ausweitung der Compliance auch auf Nicht-Quellcode-Bestandteile: Identifizieren Sie Mediendateien, Schriftarten, Bilder und Icons, da diese oft mit eigenen Lizenzen und Verpflichtungen verbunden sind. Eine gründliche Überprüfung verhindert versehentliche Urheberrechtsverletzungen.

Automatisierungstools nutzen: Verwenden Sie automatisierte Scan-Tools, die die erforderliche Scan-Tiefe bieten können. Denken Sie jedoch daran, dass diese Tools durch manuelle Überprüfungen bei ungewöhnlichen oder uneindeutigen Fällen ergänzt werden sollten.

Durch eine hohe Scan-Tiefe und die Sicherstellung, dass alle Komponenten – einschließlich der kleinsten Datei und Codeschnipsel, jede Abhängigkeit und aller Code von Drittanbietern – berücksichtigt werden, können Organisationen in der sich entwickelnden Landschaft der Open-Source-Compliance sicher navigieren. Dieser Ansatz erfüllt nicht nur die Anforderungen von CRA, NIS2 und DORA, um das Risiko von Sicherheitslücken zu reduzieren, sondern stellt auch sicher, dass Softwareprojekte auf einer Grundlage von Transparenz und Vertrauen aufbauen.