banner
Nachrichtenzentrum
Tolle Fabrikpreise mit ausgezeichneter Qualität

Verwaltung von Open-Source-Komponenten in der Software-Lieferkette

Aug 20, 2023

Getty Images/iStockphoto

Open-Source-Komponenten sind ein wesentlicher Bestandteil heutiger Softwareanwendungen, können jedoch einen entscheidenden Nachteil haben: die Sicherheit.

Moderne Softwareanwendungen bestehen aus Komponenten aus vielen verschiedenen Quellen, einschließlich Open-Source-Software (OSS). Dies kann dem Softwareentwicklungslebenszyklus Vorteile bringen, wie z. B. eine höhere Entwicklungsgeschwindigkeit, geringere Entwicklungskosten und eine erhöhte Skalierbarkeit.

Durch die Verwendung von Komponenten aus unterschiedlichen Quellen wird jedoch auch die Angriffsfläche einer Anwendung erweitert und die Anzahl der Einstiegspunkte erhöht, über die Angreifer Zugriff auf Anwendungen und vertrauliche Daten erhalten können. DevOps-Teams müssen die Sicherheit ihrer Software-Lieferkette gewährleisten, indem sie proaktive Maßnahmen zur Eindämmung von Angriffen ergreifen.

Eine Software-Lieferkette umfasst alle Personen, Prozesse, Tools, Codebibliotheken und zugrunde liegenden IT-Infrastrukturen, die zur Erstellung einer Softwareanwendung verwendet werden. Es umfasst alle Aspekte des Softwareentwicklungslebenszyklus (SDLC), wie Codeerstellung, Tests, Bereitstellung und Wartung nach dem Start.

Viele der Komponenten, aus denen die Software-Lieferkette eines Projekts besteht, sind Open Source. Beispielsweise veröffentlichte das Designautomatisierungsunternehmen Synopsys im Februar 2023 einen Bericht, in dem die Ergebnisse von mehr als 1.700 Audits kommerzieller Codebasen untersucht wurden. Der Bericht ergab, dass in 96 % der Anwendungen mindestens eine Open-Source-Komponente vorhanden ist. Fast alle kommerziellen Anwendungen enthalten eine Open-Source-Komponente.

Ein Angriff auf die Software-Lieferkette erfolgt, wenn Angreifer die Software eines Anbieters infiltrieren, um Schadcode einzuschleusen, der Kunden infiziert, die diese Software verwenden. Eine Infiltration kann zu jedem Zeitpunkt des SDLC erfolgen und viele verheerende Cyberangriffe nutzen die Software-Lieferkette. Zu den jüngsten Angriffen auf die Lieferkette zählen der SolarWinds-Angriff und die Log4j-Schwachstelle.

Die grundlegende Sicherheit der Software-Lieferkette erfordert die Überprüfung ihrer Schwachstellen:

OSS-Komponenten werden für Softwareentwicklungsprojekte immer beliebter. IT-Anbieter nutzen und unterstützen die Erstellung von Open-Source-Projekten wie den folgenden:

OSS-Komponenten versorgen nicht nur wichtige Anwendungen mit Strom, sondern bieten auch zahlreiche Vorteile. Die Nutzung ist kostenlos, auch bei der Entwicklung kommerzieller Apps. OSS-Komponenten sind außerdem anpassbar, da der Code offen ist – Entwickler können die Funktionalität um weitere Features erweitern.

OSS kann die Entwicklungszeit verkürzen. Die OSS-Bibliothek enthält Komponenten für nahezu jede Funktionalität, die Benutzer in ihre Anwendung integrieren möchten. Dadurch haben Entwickler mehr Zeit für andere Entwicklungsbereiche. Open-Source-Projekte werden oft auch nach einem bestimmten Standard entwickelt, was dazu führt, dass verschiedene Open-Source-Komponenten problemlos zusammenarbeiten.

Schließlich können Open-Source-Projekte eine robuste Codequalität und Sicherheit aufweisen. Sie werden oft von vielen Mitwirkenden entwickelt, was eine umfassende Prüfung der Softwarekomponente gewährleistet. Jeder Entwickler kann OSS-Komponenten auch auf Sicherheitslücken untersuchen, wodurch sie sicherer sind als proprietärer Code, den Entwickler nicht auf Sicherheitsprobleme untersuchen können.

Trotz der zahlreichen OSS-Vorteile können Angreifer immer noch Open-Source-Komponenten infiltrieren. Die häufigste Angriffsmethode ist der Missbrauch von OSS-Aspekten der Software-Lieferkette für böswillige Zwecke, was auf unterschiedliche Weise geschehen kann:

Um die Sicherheit der Open-Source-Komponenten in Software-Lieferketten zu verwalten, sollten DevOps-Teams die folgenden Best Practices berücksichtigen:

Befolgen Sie bei der Entwicklung von Anwendungen sichere Codierungspraktiken und fordern Sie dies auch von Softwareanbietern auf. Zu diesen Codierungspraktiken gehören die folgenden:

Die Teams müssen außerdem sicherstellen, dass die Software-Lieferkettenumgebung während der gesamten Entwicklung sicher ist. Zu den Best Practices gehören die folgenden: