Sicherheit der Softwarelieferkette

Google Cloud bietet eine umfassende und modulare Reihe von Funktionen und Tools für Google Cloud -Produkte, mit denen Ihre Entwickler-, DevOps- und Sicherheitsteams den Sicherheitsstatus Ihrer Softwarelieferkette verbessern können.

Softwarelieferketten

Eine Softwarelieferkette besteht aus dem gesamten Code, den Personen, den Systemen und den Prozessen, die zur Entwicklung und Bereitstellung Ihrer Software beitragen, sowohl innerhalb als auch außerhalb Ihrer Organisation. Dazu gehören:

  • Der von Ihnen erstellte Code, seine Abhängigkeiten sowie die interne und externe Software, die Sie zum Entwickeln, Erstellen, Verpacken, Installieren und Ausführen Ihrer Software verwenden.
  • 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 von Software-Lieferketten gibt es zahlreiche Möglichkeiten, unautorisierte Änderungen an der Software vorzunehmen, die Sie Ihren Nutzern zur Verfügung stellen. Diese Angriffsvektoren erstrecken sich über den gesamten Softwarelebenszyklus. Während einige Angriffe gezielt erfolgen, z. B. der Angriff auf das SolarWinds-Build-System, sind andere Bedrohungen indirekt oder gelangen über Schwachstellen im Prozess oder durch Vernachlässigung in die Lieferkette.

Bei einer Bewertung der Apache Log4j-Sicherheitslücke im Dezember 2021 durch das Google Open Source Insights-Team wurden beispielsweise über 17.000 betroffene Pakete in Maven Central gefunden. Die meisten dieser Pakete hingen nicht direkt vom anfälligen log4j-core-Paket ab, sondern hatten Abhängigkeiten, die das Paket erforderten.

Auch Entwicklungspraktiken und ‑prozesse wirken sich auf Softwarelieferketten aus. Prozesslücken wie fehlende Code-Reviews oder Sicherheitskriterien für die Bereitstellung in der Produktion können dazu führen, dass fehlerhafter Code unbeabsichtigt in die Lieferkette gelangt. Ebenso erhöht das Fehlen einer Abhängigkeitsverwaltung das Risiko von Sicherheitslücken durch externe Quellen oder Softwarepakete, die Sie für die Entwicklung, Builds oder das Deployment verwenden.

Softwarelieferketten auf Google Cloudschützen

Google Cloud bietet:

  • Produkte und Funktionen, die Best Practices für die Sicherheit für Entwicklung, Erstellung, Tests, Bereitstellung und Richtliniendurchsetzung enthalten.
  • Dashboards in der Google Cloud Console, die Sicherheitsinformationen zu Quelle, Builds, Artefakten, Bereitstellungen und Laufzeiten enthalten. Diese Informationen umfassen Sicherheitslücken in Build-Artefakten, die Herkunft von Builds und SBOM-Abhängigkeitslisten (Software Bill of Materials).
  • Informationen zur Reifestufe der Sicherheit Ihrer Softwarelieferkette anhand des SLSA-Frameworks (Supply Chain Levels for Software Artifacts).

Das folgende Diagramm zeigt Google Cloud Dienste, die zusammenarbeiten, um die Softwarelieferkette zu schützen. Sie können einige oder alle dieser Komponenten in Ihre Softwarelieferkette einbinden, um Ihren Sicherheitsstatus zu verbessern.

Google Cloud -Komponenten der Softwarelieferkette

Entwicklungsumgebung schützen

Cloud Workstations bietet vollständig verwaltete Entwicklungsumgebungen auf Google Cloud. IT- und Sicherheitsadministratoren können ihre Entwicklungsumgebungen bereitstellen, skalieren, verwalten und schützen. Entwickler können auf Entwicklungsumgebungen mit einheitlichen Konfigurationen und anpassbaren Tools zugreifen.

Cloud Workstations verlagert die Sicherheit nach links, indem die Sicherheitslage Ihrer Anwendungsentwicklungsumgebungen verbessert wird. Zu den Sicherheitsfunktionen gehören VPC Service Controls, privater eingehender oder ausgehender Traffic, erzwungene Image-Updates und IAM-Zugriffsrichtlinien. Cloud Workstations bietet in Kombination mit Chrome Enterprise Premium zusätzliche Funktionen zum Schutz vor Datenverlust.

Softwarelieferkette schützen

Die Sicherung der Softwarelieferkette – Build-Artefakte und Anwendungsabhängigkeiten – ist ein wichtiger Schritt zur Verbesserung der Sicherheit Ihrer Softwarelieferkette. Die weitverbreitete Verwendung von Open-Source-Software macht dieses Problem besonders schwierig.

  • Assured Open Source Software bietet Open-Source-Pakete, die von Google verifiziert und getestet wurden. Diese Pakete werden mit den sicheren Pipelines von Google erstellt und regelmäßig gescannt, analysiert und auf Sicherheitslücken geprüft.

  • Artifact Registry ist ein universeller Paketmanager für alle Ihre Build-Artefakte und Abhängigkeiten. Durch die Zentralisierung aller Artefakte und Abhängigkeiten haben Sie mehr Transparenz und Kontrolle über den Code in Ihrer Software-Lieferkette.

    • In Remote-Repositories werden Artefakte aus voreingestellten externen Quellen wie Docker Hub, Maven Central, dem Python Package Index (PyPI), Debian oder CentOS sowie benutzerdefinierte Quellen für unterstützte Formate gespeichert. Durch das Zwischenspeichern von Artefakten in Remote-Repositories wird die Downloadzeit verkürzt, die Paketverfügbarkeit verbessert und das Scannen auf Sicherheitslücken ermöglicht, sofern diese Funktion aktiviert ist.
    • Virtuelle Repositories konsolidieren Repositories desselben Formats hinter einem einzelnen Endpunkt und ermöglichen es Ihnen, die Suchreihenfolge in Upstream-Repositories zu steuern. Sie können Ihren privaten Paketen Priorität einräumen, um das Risiko von Angriffen durch Verwechslung von Abhängigkeiten zu verringern.
    • Sie können Artefakte auch schützen, indem Sie Sicherheitsfunktionen wie Zugriffssteuerung, VPC Service Controls-Dienstperimeter, Organisationsrichtlinien und andere Sicherheitsfunktionen konfigurieren. Weitere Informationen finden Sie in der Dokumentation zu Artifact Registry.
  • Mit Artifact Analysis werden Sicherheitslücken für Artefakte in Artifact Registry proaktiv erkannt.

CI/CD-Pipeline schützen

Böswillige Akteure können Softwarelieferketten angreifen, indem sie die CI/CD-Pipelines kompromittieren. Die folgenden Produkte helfen Ihnen, Ihre CI/CD-Pipeline zu schützen:

  • Cloud Build führt Ihre Builds in der Infrastruktur von Google Cloudaus. Zu den Sicherheitsfunktionen gehören detaillierte IAM-Berechtigungen, VPC Service Controls und isolierte und kurzlebige Build-Umgebungen. Zu den spezifischen Funktionen für die Sicherheit der Softwarelieferkette gehören:

    • Unterstützung für SLSA-Level 3-Builds für Container-Images.
    • Möglichkeit, eine authentifizierte und fälschungssichere Build-Herkunft für containerisierte Anwendungen zu generieren.
    • Sicherheitsinformationen für erstellte Anwendungen. Dazu zählen:

      • Die SLSA-Build-Ebene, die die Reifestufe Ihres Software-Build-Prozesses gemäß der SLSA-Spezifikation angibt.
      • Sicherheitslücken in Build-Artefakten.
      • Build-Herkunft, eine Sammlung überprüfbarer Metadaten zu einem Build. Sie enthalten Details wie die Digests der erstellten Images, die Quell-Speicherorte, die Build-Toolchain, die Build-Schritte und die Build-Dauer.

    Eine Anleitung zum Ansehen von Sicherheitsstatistiken für erstellte Anwendungen finden Sie unter Anwendung erstellen und Sicherheitsstatistiken ansehen.

  • Cloud Deploy automatisiert die Bereitstellung Ihrer Anwendungen in einer Reihe von Zielumgebungen in einer definierten Reihenfolge. Es unterstützt die Continuous Delivery direkt in Google Kubernetes Engine, GKE Enterprise und Cloud Run mit Ein-Klick-Genehmigungen und ‑Rollbacks, Sicherheit und Audit auf Unternehmensniveau sowie integrierten Bereitstellungsstatistiken. Außerdem werden Sicherheitsinformationen für bereitgestellte Anwendungen angezeigt.

Anwendungen in der Produktion schützen

Google Kubernetes Engine (GKE) und Cloud Run tragen zur Sicherheit Ihrer Laufzeitumgebungen bei. Beide bieten Sicherheitsfunktionen, um Ihre Anwendungen zur Laufzeit zu schützen.

  • GKE kann den Sicherheitsstatus Ihrer Container bewerten und aktive Anleitungen zu Clustereinstellungen, Arbeitslastkonfiguration und Sicherheitslücken geben. GKE enthält ein Sicherheitsstatus-Dashboard, das fundierte, umsetzbare Empfehlungen zur Verbesserung Ihres Sicherheitsstatus bietet. Eine Anleitung zum Aufrufen von Sicherheitserkenntnissen im GKE-Sicherheitsstatus-Dashboard finden Sie unter In GKE bereitstellen und Sicherheitserkenntnisse ansehen.

  • Cloud Run enthält einen Sicherheitsbereich, in dem Sicherheitserkenntnisse zur Softwarelieferkette angezeigt werden, z. B. Informationen zur Einhaltung der SLSA-Build-Ebene, Build-Herkunft und Sicherheitslücken, die in ausgeführten Diensten gefunden wurden. Eine Anleitung zum Aufrufen von Sicherheitserkenntnissen im Bereich „Sicherheitserkenntnisse“ von Cloud Run finden Sie unter In Cloud Run bereitstellen und Sicherheitserkenntnisse ansehen.

Vertrauenswürdigkeit durch Richtlinien aufbauen

Die Binärautorisierung hilft Ihnen, eine Vertrauenskette entlang Ihrer Softwarelieferkette aufzubauen, aufrechtzuerhalten und zu prüfen, indem sie Attestierungen erfasst. Das sind digitale Dokumente, die Images zertifizieren.

Eine Attestierung gibt an, dass durch das erfolgreiche Ausführen eines bestimmten, erforderlichen Prozesses das zugehörige Image erstellt wurde. Basierend auf diesen gesammelten Attestierungen hilft die Binärautorisierung, vertrauenswürdige Richtlinien zu definieren, zu überprüfen und zu erzwingen. So wird sichergestellt, dass das Image nur bereitgestellt wird, wenn die Attestierungen den Richtlinien Ihrer Organisation entsprechen. Sie können die Binärautorisierung so konfigurieren, dass Sie benachrichtigt werden, wenn Richtlinienverstöße gefunden werden.

Attestierungen können beispielsweise angeben, dass ein Image Folgendes ist:

Sie können die Binärautorisierung mit GKE und Cloud Run verwenden.

Preise

Für jeden Google Cloud Dienst gelten eigene Preise. Weitere Informationen finden Sie in der Dokumentation zur Preisgestaltung für die Dienste, die Sie interessieren.

Nächste Schritte