Zu Abschnitt

Was ist Sicherheit in der Softwarelieferkette?

URL kopieren

Bei der Sicherheit in der Softwarelieferkette werden Best Practices aus dem Risikomanagement und der Cybersicherheit kombiniert, um die Softwarelieferkette vor potenziellen Schwachstellen zu schützen. Die Softwarelieferkette besteht aus den Elementen und Personen, die im Softwareentwicklungs-Lifecycle (Software Development Lifecycle, SDLC) mit Ihrem Code in Berührung kommen, von der Anwendungsentwicklung über die CI/CD-Pipeline bis zum Deployment. 

Die Lieferkette umfasst Netzwerke von Informationen über die Software, wie die Komponenten (etwa Infrastruktur, Hardware, Betriebssysteme (BS), Cloud-Services usw.), die Personen, die sie geschrieben haben, und die Quellen, aus denen sie stammen, wie Registries, GitHub-Repositories, Codebases oder andere Open Source-Projekte. Dazu gehören auch Schwachstellen, die sich negativ auf die Softwaresicherheit auswirken können – hier kommt die Sicherheit der Softwarelieferkette ins Spiel.  

 

Der Großteil der aktuellen Software wird nicht komplett neu geschrieben, sondern besteht in der Regel aus einer Kombination von Softwareartefakten, die Open Source-Software enthalten. Diese Softwareartefakte enthalten jedoch Schwachstellen, und die Entwicklungsteams haben weniger Kontrolle über den Quellcode von Dritten oder Änderungen, die im Laufe der Zeit an einem Artefakt vorgenommen werden. Dabei ist zu beachten, dass nicht gepatchte Software anfälliger für Sicherheitsprobleme ist. Da Software für die Ausführung der täglichen Geschäftsabläufe unerlässlich ist, ist die Sicherheit in der Lieferkette eine wichtige Aufgabe für Unternehmen und Sicherheitsteams.

Das Softwareunternehmen SolarWinds wurde im Jahr 2020 angegriffen. Dabei haben Angreifer schädlichen Code über die Orion-Software für IT-Überwachung und -Verwaltung eingeschleust, eine Plattform, die von großen Unternehmen und Regierungsbehörden genutzt wird. Durch den Angriff auf die Lieferkette infiltrierten die Hacker nicht nur SolarWinds, sondern auch deren Kunden. Log4j ist eine häufig verwendete, aber leicht manipulierbare Open Source-Software, die zahllose Nutzende und Unternehmen anfällig für Datenschutzverletzungen und Angriffe gemacht hat. Im Jahr 2021 hob der Präsident der Vereinigten Staaten die Bedeutung von Softwarelieferketten und Sicherheit mit zwei Präsidentenverfügungen hervor: Lieferketten und Cybersicherheit.

Ein Risiko für eine Komponente der Softwarelieferkette stellt ein potenzielles Risiko für sämtliche Softwareartefakte dar, die auf dieser Komponente der Lieferkette basieren. So können Hacker Malware, eine Hintertür oder anderen schädlichen Code einschleusen, um Komponenten und die damit verbundenen Lieferketten zu gefährden. Die Zahl der Angriffe auf die Softwarelieferkette, die in der Regel von profitorientierten und nationalstaatlichen Akteuren durchgeführt werden, nimmt zu und kann dramatische Auswirkungen sowohl auf unsere digitalen als auch auf unsere physischen Umgebungen haben. In der Regel handelt es sich dabei um eine von vier Risikotypen:

  • Schwachstellen: Fehler im Softwarecode, die ausgenutzt werden können und zu einer Sicherheitsverletzung führen. Führen Sie Patches und Updates für Ihre Softwareartefakte durch, um dieses Risiko zu minimieren.
  • Lizenzierung: Ein rechtliches Risiko, das Sie dazu verpflichten könnte, daraus resultierende Softwareartefakte als Open Source zur Verfügung zu stellen und Patentrechte außer Kraft zu setzen. Konsultieren Sie dazu die juristischen Fachleute auf diesem Gebiet.
  • Abhängigkeiten von Drittanbietern: Abhängigkeiten von einer externen Organisation als Teil der Softwarelieferkette. Sie sind schwer zu erkennen. Analysieren Sie den gesamten Code von Drittanbietern, und sprechen Sie mit Ihren Anbietern darüber, wie sie Sie schützen.
  • Prozesse und Richtlinien: Sind ein Problem, wenn sie nicht vorhanden sind. Erstellen Sie Richtlinien für Ihre Entwicklungsteams und Prozesse (oder Playbooks) für den Fall, dass Sie auf eine Schwachstelle reagieren müssen.

Zu den üblichen Angriffsvektoren gehören die Übernahme von Updates, die Untergrabung der Codesignierung und die Manipulation von Open Source-Code. 

DevSecOps ist ein Konzept für Unternehmenskultur-, Automatisierungs-, und Softwaredesign, das Sicherheit als gemeinsame Verantwortlichkeit im gesamten IT-Lifecycle integriert. DevSecOps bedeutet, dass die Sicherheit der Anwendungen und der Infrastruktur von Anfang an beachtet werden muss. Es bedeutet ebenfalls, dass einige Sicherheits-Gates automatisiert werden müssen, damit der DevOps-Workflow nicht zu langsam wird. Wenn Sie die richtigen Tools zur kontinuierlichen Integration von Sicherheitsfunktionen verwenden und sich auf eine IDE (Integrated Development Environment) mit Sicherheits-Features einigen, können diese Ziele leichter erreicht werden.

Red Hat Advanced Cluster Security for Kubernetes integriert Sicherheitsprüfungen in die Softwarelieferkette und Entwicklungs-Workflows, um Sicherheitsprobleme mit hohen Risiken erkennen und einfacher beheben zu können. Die Lösung automatisiert außerdem die Sicherheit in DevOps, indem es Entwicklungsteams in vorhandenen Workflows einen Sicherheitskontext zur Verfügung stellt. 

Während die Softwarelieferkette aus Elementen und Personen besteht, die mit Ihrem Code in Berührung kommen, schützt die Anwendungssicherheit den Code selbst vor Angriffen und Schwachstellen. Wie die Sicherheit der Softwarelieferkette muss auch die Anwendungssicherheit in jeder Entwicklungsphase berücksichtigt werden. 

Die Anwendungssicherheit beginnt bereits bei der Softwareentwicklung und erstreckt sich über den gesamten Lifecycle der Anwendung mit dem Ziel, unbefugten Zugriff auf Ihr System zu verhindern und vertrauliche Daten zu schützen. Die verstärkte Integrität Ihrer Lieferkette kann wiederum die Anwendungssicherheit erhöhen. Das Härten von Konfigurationen, das Minimieren von Angriffsflächen, das Einschränken von Berechtigungen, das Signieren von Software und das Verteilen von Builds auf verschiedene Teile Ihres Systems sind Möglichkeiten, um Angreifer davon abzuhalten, Ihre Anwendungen zu manipulieren. 

Die Sicherheit der Softwarelieferkette ist wichtig für Ihre Organisation, Ihre Kundinnen und Kunden und die Unternehmen, die auf Open Source-Beiträge angewiesen sind. Natürlich möchte keine Organisation eine Sicherheitsverletzung erleben, aber gleichzeitig möchte sie auch nicht dafür verantwortlich sein, dass in einer anderen Organisation ein ähnliches Ereignis auftritt. Die Implementierung von Schutzmaßnahmen für Ihre Softwarelieferkette ist daher entscheidend.  

Im Folgenden sind einige Best Practices aufgeführt, die Sicherheitsteams berücksichtigen sollten:

  • Erteilen von Zugriff nach dem Least Privilege-Prinzip auf Ressourcen in der gesamten Lieferkette (beispielsweise Entwicklertools, Quellcode-Repositories und andere Softwaresysteme), Multi-Faktor-Authentifizierung und Verwendung starker Passwörter
  • Durchführen regelmäßiger Sicherheitstrainings für Mitarbeitende
  • Härten der Sicherheit für Ihre angeschlossenen Geräte und sensiblen Daten
  • Kennenlernen Ihrer Zulieferer und Geschäftspartner, beginnend mit den Tier-One-Lieferanten Durchführen von Risikobewertungen zur Beurteilung des Cybersicherheitsstatus der einzelnen Anbieter und der öffentlichen Richtlinien zu Schwachstellen
  • Regelmäßiges Scannen und Patchen anfälliger Systeme

Entwicklungsteams sollten auch sichere Programmierpraktiken, die Verwendung von Sperrdateien und andere sicherheitsorientierte Maßnahmen in Betracht ziehen:

  • Validieren der Prüfsummen
  • Einbeziehen von Herstellerabhängigkeiten in die Versionskontrolle
  • Veröffentlichen und Nutzen der Software Bill of Materials (SBOM)
  • Nutzen der Supply Chain Levels for Software Artifacts (SLSA), die Folgendes umfassen:
    • Möglichkeit, Ihre Softwareartefakte digital zu signieren, um ihre Herkunft zu authentifizieren
    • Nutzung der Automatisierung für Ihre Prozesse und Richtlinien
  • Scannen Ihrer Software mit automatischen Sicherheitstools wie Software Composition Analysis (SCA), Static Application Security Testing (SAST) und Dynamic Application Security Testing (DAST)

Red Hat weiß, wie wichtig es ist, Softwarekomponenten und -abhängigkeiten schon früh im Softwareentwicklungs-Lifecycle zu sichern, und nutzt DevSecOps-Praktiken, um die Integration von Sicherheit während der verschiedenen Phasen zu automatisieren. Red Hat kümmert sich um die Belange bezüglich der Upstream-Lieferkette und stellt Ihnen ein Produkt zur Verfügung, auf das Sie sich rund um die Uhr verlassen und dem Ihr Unternehmen vertrauen kann. Red Hat und seine Partner verfügen über Fachwissen, ein umfassendes DevSecOps-Partnernetzwerk und die Fähigkeit, Unternehmen bei der Implementierung der Sicherheit in der Softwarelieferkette während des gesamten Softwareentwicklungs-Lifecycles zu unterstützen.

Weiterlesen

ARTIKEL

Was ist DevSecOps?

Wenn Sie die Agilität und Reaktionsfähigkeit von DevOps vollständig ausschöpfen möchten, muss die IT-Sicherheit im gesamten Lifecycle Ihrer Apps eine Rolle spielen.

ARTIKEL

Was ist das Besondere an der Cloud-Sicherheit?

Die wichtigsten Sicherheitslücken gefährden sowohl traditionelle IT- als auch Cloud-Systeme. Lernen Sie die Unterscheidungsmerkmale kennen.

ARTIKEL

Was ist SOAR?

SOAR umfasst drei wichtige Software-Funktionen, die Sicherheits-Teams verwenden: Case- und Workflow-Management, Aufgabenautomatisierung sowie eine zentrale Methode, um Bedrohungsinformationen (die so genannte Threat Intelligence) aufzurufen, zu durchsuchen und zu teilen.

Mehr über Sicherheit erfahren

Produkte

Ein Sicherheits-Framework, in dem Nutzeridentitäten verwaltet werden und Kommunikation verschlüsselt wird.

Eine unternehmensfähige, Kubernetes-native Lösung für Container-Sicherheit, mit der Sie cloudnative Anwendungen zuverlässiger entwickeln, bereitstellen und ausführen können.

Ein Service für prädiktive Analytik, mit dem sich Probleme mit der Sicherheit, Performance und Verfügbarkeit Ihrer Red Hat Infrastruktur erkennen und beheben lassen.

Eine zentrale Konsole mit integrierten Sicherheitsrichtlinien, mit der Sie Kubernetes-Cluster und -Anwendungen verwalten können.

Ressourcen