Sicherheit der Softwarelieferkette

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Bei modernen Frameworks und Ansätzen zur Softwareentwicklung liegt der Fokus auf Geschwindigkeit und Zuverlässigkeit der Softwarebereitstellung sowie auf einer gemeinsamen Verantwortung der Stakeholder der Software.

Neben der DevOps-Praktik, die wir nach links verschieben, um die Sicherheit zu erhöhen, tragen viele andere DevOps-Verfahren dazu bei, dass sicherere Software bereitgestellt wird. Eine stärkere Stakeholder-Zusammenarbeit, Sichtbarkeit der Arbeit, reproduzierbare Builds, automatisierte Tests, inkrementelle Änderungen sind alles, die die Softwaresicherheit unterstützen. Im Accelerate State of DevOps Report 2022 wurde festgestellt, dass in Kulturen mit höherer Vertrauenswahrscheinlichkeit Praktiken angewendet werden, um die Softwarelieferkette zu stärken. Die Verwendung von CI/CD hilft bei der Implementierung von Sicherheitspraktiken.

In modernen Entwicklungs-Frameworks gibt es jedoch keine Orientierungshilfen, mit denen Organisationen Bedrohungen für ihre Software besser verstehen, ihre Fähigkeit bewerten, auf Bedrohungen zu reagieren und darauf zu reagieren, und entsprechende Maßnahmen ergreifen. Sie konzentrieren sich normalerweise auch speziell auf den Code und die Prozesse innerhalb einer Organisation und vernachlässigen externe Faktoren, die die Integrität von Anwendungen beeinträchtigen können. Ein Angriff, der ein Open-Source-Softwarepaket kompromittiert, wirkt sich beispielsweise auf jeden Code aus, der direkt oder indirekt von diesem Paket abhängt. Solche Angriffe auf Softwarelieferketten haben seit 2020 stark zugenommen.

Softwarelieferketten

Eine Softwarelieferkette besteht aus dem gesamten Code, den Personen, Systemen und Prozessen, die zur Entwicklung und Bereitstellung Ihrer Software beitragen, sowohl innerhalb als auch außerhalb Ihrer Organisation. Es enthält Folgendes:

  • Code, den Sie erstellen, sowie dessen Abhängigkeiten und die interne und externe Software, mit der Sie Ihre Software entwickeln, erstellen, verpacken, installieren und ausführen.
  • Prozesse und Richtlinien für Systemzugriff, Tests, Überprüfung, Monitoring und Feedback, Kommunikation und Genehmigung.
  • Systeme, denen Sie vertrauen, um Ihre Software und ihre Abhängigkeiten zu entwickeln, zu erstellen, zu speichern und auszuführen.

Angesichts der großen Reichweite und Komplexität der Softwarelieferkette gibt es zahlreiche Möglichkeiten, nicht autorisierte Änderungen an der Software zu implementieren, die Sie für Ihre Nutzer bereitstellen. Diese Angriffsvektoren erstrecken sich über den gesamten Softwarelebenszyklus. Obwohl einige Angriffe gezielt erfolgen, z. B. der Angriff auf das Build-System SolarWinds, sind andere Bedrohungen indirekt oder decken Schwächen in der Lieferkette oder werden sie vernachlässigt.

In einem Blogpost über die Sicherheitslücke bei der Remote-Ausführung in Apache log4j vom Dezember 2021 gab das Open-Source-Team von Google außerdem an, dass in Maven Central mehr als 17.000 Pakete betroffen waren. Die meisten der betroffenen Pakete waren nicht direkt vom anfälligen log4j-core-Paket abhängig, aber es gab Abhängigkeiten, die es benötigten.

Prozesslücken wie fehlende Codeprüfung oder Sicherheitskriterien für die Bereitstellung in der Produktion können dazu führen, dass fehlerhafter Code ungewollt in die Lieferkette gelangt. Ebenso kann Schadcode in Ihre Software gelangen, wenn Sie mit Quellcode außerhalb Ihres vertrauenswürdigen Versionsverwaltungssystems Builds erstellen oder Anwendungen von Systemen außerhalb Ihres vertrauenswürdigen Build-Systems und Artefakt-Repositories erstellen und bereitstellen.

Laut State of the Software Supply Chain 2021 stiegen die Nutzung von Open-Source-Software und Angriffen auf Softwarelieferketten zwischen 2020 und 2021 deutlich an:

  • Im Jahr 2021 stieg die Anzahl der Angriffe auf Softwarelieferketten um 650 %.
  • Die Verfügbarkeit und die Nachfrage nach Open-Source-Paketen steigen weiterhin, wobei die Downloadzahlen von Open-Source-Komponenten 2021 im Vergleich zum Vorjahr um 73% gestiegen sind.
  • Sicherheitslücken sind bei den beliebtesten Open-Source-Projekten am häufigsten.

Um die Integrität Ihrer Software zu schützen, ist es wichtig, Ihre Sicherheitslage zu kennen: Wie gut ist Ihre Organisation darauf vorbereitet, Bedrohungen zu erkennen, darauf zu reagieren und sie zu beheben?

Compliance-Anforderungen und Frameworks für die Bewertung

Aufgrund der zunehmenden Bedenken in Bezug auf die Sicherheit der Lieferkette sind neue behördliche Vorschriften speziell für die Sicherheit in der Lieferkette entstanden. Hier einige Beispiele:

Neue Frameworks werden entwickelt, um Organisationen dabei zu unterstützen, ihren Sicherheitsstatus zu bewerten und mehr über die Risikominderungen zu erfahren.

In diesen Frameworks werden etablierte Praktiken zur Softwaresicherheit in einem Format strukturiert, mit dem Sie Sicherheitsbedrohungen identifizieren und Maßnahmen ergreifen können, um diese zu minimieren.

Softwarelieferkette in Google Cloud schützen

Software Delivery Shield bietet eine vollständig verwaltete Sicherheitslösung für die Softwarelieferkette in Google Cloud. Darin werden Best Practices umgesetzt, einschließlich Vorgehensweisen in Frameworks wie SLSA und NIST SSDF. Sie implementieren die Komponenten der Lösung basierend auf Ihren Prioritäten und Anforderungen schrittweise.

Nächste Schritte