Dieser Blogbeitrag behandelt die wichtigsten Erkenntnisse aus unserem WebinarSupply Chain : Die Schwachstellen, die Angreifer ausnutzen“. Sehen Sie sich hier das vollständige Webinar an.
Die Risiken in der Software haben dramatisch zugenommen, da Unternehmen zunehmend auf Open-Source-Komponenten, externe Pakete und automatisierte Entwicklungspipelines setzen. Kleine Lücken, die einst harmlos erschienen, haben nun reale Konsequenzen, insbesondere da die Abhängigkeiten immer tiefer und schwieriger zu überprüfen sind.
Ein deutliches Beispiel für diesen Wandel waren der kürzlich aufgetretene npm-Wurm Shai-Hulud und Shai-Hulud 2.0, die sich über kompromittierte Pakete verbreiteten und innerhalb weniger Stunden Tausende von nachgelagerten Projekten beeinträchtigten. Vorfälle wie diese machen eines deutlich: Schwachstellen in der Lieferkette bleiben nicht mehr auf einen Bereich beschränkt, sondern wirken sich auf ganze Ökosysteme aus.
Da 70 bis 90 % der modernen Software aus Open-Source-Komponenten besteht, von denen die meisten Entwickler nie direkt zu Gesicht bekommen, können kleine Probleme schnell zu großen Risiken werden. Dennoch sind nur 15 % der Unternehmen zuversichtlich, dass sie dieses Open-Source-Risiko gut im Griff haben. Da bis 2025 voraussichtlich 70 % aller böswilligen KI-Angriffe auf Lieferketten abzielen werden, ist es heute unerlässlich, Schwachstellen in der Software-Lieferkette zu identifizieren.
Für Ingenieur- und Sicherheitsteams liegt der Vorteil auf der Hand: Wenn man weiß, wo diese Schwachstellen liegen, gibt es weniger Überraschungen, schnellere Reaktionszeiten und eine viel geringere Wahrscheinlichkeit, dass man in die nächsten Schlagzeilen zur Lieferkette gerät.
SBOMs sind nicht mehr optional
Um Risiken in der Software-Lieferkette zu managen und auf Schwachstellen zu reagieren, benötigen Unternehmen einen klaren Überblick über ihre Software-Stack. Die Grundlage für diese Transparenz bildet die SBOM (Software Bill of Materials), die die erforderliche Transparenz schafft, um Komponentenrisiken zu verstehen und bei auftretenden Problemen schnell zu handeln.
Eine SBOM ist definiert als eine detaillierte Bestandsaufnahme aller geschlossenen und Open-Source-Komponenten, Lizenzen und Abhängigkeiten, die in einer Anwendung verwendet werden. Diese Bestandsaufnahme liefert wichtige Daten für Transparenz, Compliance und Risikomanagement.
Was heute noch nicht anfällig oder bösartig ist, kann morgen schon leicht dazu werden. Da ständig neue Schwachstellen entdeckt werden, auch in älteren Versionen, sind eine kontinuierliche Überwachung und Bestandsaufnahme erforderlich.
George PrichiciVP, Produkte, OPSWAT
SBOM vs. SCA
Ein wichtiger Punkt ist die Unterscheidung zwischen SBOM und SCA (Software Analysis). Die SBOM ist das Inventar oder eine Liste der Komponenten. Die SCA bewertet, ob diese Komponenten anfällig, veraltet oder risikobehaftet sind. Zusammen geben sie Unternehmen die notwendigen Einblicke, um fundierte Entscheidungen zu treffen, schneller auf Sicherheitsprobleme zu reagieren und das gesamte Risikomanagement zu stärken.
| Kategorie | SBOM | SCA |
|---|---|---|
Zweck | Bestandsaufnahme der Komponenten |
Identifizieren Sie Schwachstellen in Komponenten
|
Risikoabdeckung | Compliance und Transparenz | Sicherheitsrisiken, CVEs, Laufzeitrisiken |
Zeitpunkt | Vor der Bereitstellung / Beschaffung | Kontinuierlich / Build & Laufzeit |
Globale Bewegungen, die teilweise durch Angriffe wie SolarWinds ausgelöst wurden, erfordern nun SBOMs, wobei regulatorische Impulse von Einrichtungen wie CISA, NSA und NIST sowie von der EU und den NATO-Verbündeten ausgehen, sodass die Transparenz von SBOMs nicht mehr optional ist, sondern eine grundlegende Erwartung an jeden Softwareanbieter darstellt.
Die 7 kritischen Schwachstellen, die Angreifer ausnutzen
Die Geschwindigkeit der modernen Entwicklung in Verbindung mit der starken Abhängigkeit von Drittanbieter- und Open-Source-Code hat zu schwerwiegenden Sicherheitslücken geführt. Angreifer nutzen sieben primäre Schwachstellen aus:
1. Open Source und Abhängigkeitsrisiko
Wenn Entwickler Geschwindigkeit priorisieren, verwenden sie häufig große Open-Source-Bibliotheken ohne vollständige Codeüberprüfung. Eine einzelne Komponente kann zusätzliche transitive Abhängigkeiten mit sich bringen. Wenn Sie nur die oberste Ebene überwachen, können Sie bösartigen Code übersehen, der in diese versteckten transitiven Abhängigkeiten eingeschleust wurde.
Dieses Muster beobachten wir immer wieder in Open-Source-Ökosystemen. Ein einziges kompromittiertes Paket kann sich über Abhängigkeitsketten ausbreiten und Millionen von Downloads erreichen, bevor jemand etwas bemerkt. Ein kürzlich erfolgter Angriff auf die npm-Lieferkette mit Krypto-Malware zeigt genau, wie dies in der Praxis abläuft.
Bewährte Praktiken:
- Scannen Sie alle Open-Source-Pakete und deren vollständige Abhängigkeitsketten, um Schwachstellen, veraltete Komponenten oder versteckte Malware zu identifizieren, bevor diese in Ihren Code gelangen.
- Überwachen Sie Abhängigkeiten kontinuierlich im Laufe der Zeit, da sichere Komponenten durch neue CVEs oder bösartige Updates zu einem Risiko werden können.
- Verwenden Sie vertrauenswürdige Registrierungen und überprüfen Sie die Integrität der Pakete, um sicherzustellen, dass die von Ihnen heruntergeladenen Pakete nicht manipuliert wurden.
- Wenden Sie Richtlinien an, die riskante Lizenzen kennzeichnen oder blockieren, damit keine inkompatiblen oder viralen Lizenzbedingungen in Ihre Builds gelangen.
- Verzögern Sie die Verwendung neu veröffentlichter Pakete, bis sie überprüft wurden, um das Risiko zu verringern, dass ungeprüfte oder bösartige Versionen in Ihre Umgebung gelangen.
2. Lizenzierungsrisiko
Lizenzierungsfragen betreffen mittlerweile sowohl den technischen als auch den rechtlichen Bereich. Virale Lizenzen wie die GPL können dazu führen, dass Ihre resultierende Anwendung unter derselben Lizenz veröffentlicht werden muss, wodurch Ihr Unternehmen möglicherweise sein eigenes geistiges Eigentum (IP) verliert. Eine kontinuierliche Überwachung ist erforderlich, da sich die Lizenzbedingungen ändern können, selbst für ältere, zuvor konforme Versionen.
Bewährte Praktiken:
- Verwenden Sie ein automatisiertes Tool zur Lizenzerkennung, um risikoreiche oder inkompatible Lizenzen frühzeitig in der Entwicklung zu erkennen. Eine ausführlichere Erklärung, warum dies wichtig ist, finden Sie hier: Die entscheidende Rolle der Lizenzerkennung für die Sicherheit von Open-Source-Software.
- Verfolgen Sie Lizenzänderungen kontinuierlich, um Verschiebungen zu erkennen, die sich auf die Compliance oder die Gefährdung des geistigen Eigentums auswirken können.
- Komponenten mit restriktiven oder viralen Lizenzen blockieren oder überprüfen, bevor sie in die Codebasis gelangen.
- Führen Sie ein übersichtliches Verzeichnis aller verwendeten Lizenzen, um Audits und Risikobewertungen zu vereinfachen.
3. Lücken in den SBOM-Daten oder fehlende SBOMs
Zwar schreiben Vorschriften die Weitergabe von SBOMs vor, doch eine allgemeine Liste reicht nicht aus. Für eine wirksame Risikominderung und Prävention sind detaillierte Datenpunkte erforderlich, darunter der Autor, Mitwirkende, die Häufigkeit der Veröffentlichung und der Wartungsstatus.
Bewährte Praktiken:
- Verbessern Sie SBOM-Berichte, indem Sie Komponenten erneut scannen, um sie mit aktualisierten Lizenzdaten, dem Status der Sicherheitslücken und anderen wichtigen Metadaten anzureichern. Ein detailliertes Beispiel hierfür finden Sie hier unter „CycloneDX SBOM Report Validation and Enrichment” (Validierung und Anreicherung von SBOM-Berichten mit CycloneDX).
- Validieren und ergänzen Sie SBOMs mithilfe automatisierter Tools, um sicherzustellen, dass die Informationen vollständig, korrekt und umsetzbar sind.
- Verlangen Sie von Anbietern die Bereitstellung einer vollständigen SBOM-Tiefe, einschließlich transitiver Abhängigkeiten und aller relevanten Metadaten.
- Aktualisieren und überwachen Sie SBOM-Bestände kontinuierlich, wenn sich Komponenten weiterentwickeln oder neue Schwachstellen auftreten.
4. Drittanbieter
Jeder Anbieter, auf den Sie sich verlassen, wird Teil Ihrer Lieferkette. Wenn dieser veraltete oder kompromittierte Komponenten liefert, übernehmen Sie dieses Risiko. Vollständige SBOMs, einschließlich transitiver Abhängigkeiten, ermöglichen es Ihnen, Ihre Risiken schnell zu erkennen, anstatt bei einem Vorfall den Anbietern hinterherlaufen zu müssen. Ein kürzlich veröffentlichter Beitrag zum Thema „Managing Dependency Vulnerabilities in Your Software Supply Chain ) untersucht, wie Teams diesen Teil des Prozesses stärken können.
5. Supply Chain
Aufgrund der raschen Verbreitung von KI umgehen Teams häufig normale Einschränkungen, was dies zu einem wichtigen Angriffsvektor macht. Angreifer schleusen bösartigen Code in Machine-Learning-Modelle, PICO-Dateien oder Open-Source-Bibliotheken ein. Typosquatting ist in Umgebungen wie Pytorch weit verbreitet, wo Benutzer möglicherweise die falsche Bibliothek herunterladen, die Malware enthalten kann und zur vollständigen Remote-Codeausführung auf dem Rechner eines Ingenieurs führt.
6.Container
Das Scannen von Containern muss sich weiterentwickeln und darf sich nicht nur auf Schwachstellen konzentrieren. Moderne Sicherheitslösungen müssen auch nach Malware, Crypto-Minern und schnell agierenden Bedrohungen suchen, die in öffentlich zugänglichen Container-Images veröffentlicht werden. Eine aktuelle Analyse des NVIDIA Container CVE-2024-0132 zeigt, wie leicht diese Probleme übersehen werden können.
7. Geheimnisse und Zugangsdaten
Wenn Teams schnell arbeiten, werden Zugriffsschlüssel oder Anmeldedaten häufig für Testzwecke fest im Quellcode hinterlegt. Selbst wenn diese später überschrieben werden, bleiben diese Geheimnisse oft im Git-Verlauf erhalten, wo sie für Angreifer durch Scannen leicht zu finden sind. „Verborgene Gefahren aufdecken: Wie man Geheimnisse im Code aufspürt“ zeigt, wie es zu solchen Sicherheitslücken kommt und was Teams tun können, um sie zu verhindern.
Der Weg zu einer Secure Software Supply Chain
Um diesen Bedrohungen entgegenzuwirken, muss die Sicherheit eine „Shift Left“-Mentalität annehmen, was bedeutet, dass dieselben Richtlinien, die vor der Veröffentlichung durchgesetzt werden, bereits früher im Entwicklungszyklus angewendet werden sollten. Das Ziel besteht darin, die Sicherheit als Überlagerung in die bestehende CI/CD-Pipeline zu integrieren. Dieser automatisierte Ansatz gewährleistet die Durchsetzung bei Bedarf, ohne die Produktivität der Entwickler zu beeinträchtigen.
Eine umfassende Lösung muss Folgendes bieten:
- Automatisiertes Scannen der Lieferkette entlang der gesamten Pipeline
- Einblick in Quellcode, Container und vom Anbieter bereitgestellte Dateien
- Analyse, die über CVEs hinausgeht, um Malware, Lizenzprobleme und offengelegte Geheimnisse zu erkennen
Wie OPSWAT , diese Lücken zu schließen
- Multiscanning frühzeitigen Erkennung von Malware
- Integrierte CI/CD-Sicherheitskontrollen für GitHub, GitLab, TeamCity, Jenkins und mehr
- Automatisierte SBOM-Generierung und Schwachstellen-Mapping
- Signierung von Artefakten und Integritätsprüfung
- Scannen von Geheimnissen und Durchsetzung der Hygiene bei Anmeldedaten
Sprechen Sie noch heute mit einem unserer Experten, um maßgeschneiderte Lösungen für Ihren Stack zu finden.


