In diesem Dokument wird beschrieben, wie Google Sicherheitslücken und Patches für Google Kubernetes Engine (GKE) verwaltet. Diese Informationen können für Sicherheitsexperten nützlich sein, die bei der Behebung von Sicherheitsproblemen oder Sicherheitslücken unterstützen, für die strategische Unterstützung erforderlich ist, z. B. Vorfälle und Probleme, die vom Support eskaliert wurden.
Gemeinsame Verantwortung für Patches
Das Patchen ist eine geteilte Verantwortung zwischen Google und dem Kunden, wie unter Gemeinsame Verantwortung für GKE beschrieben.
So erkennen wir Sicherheitslücken
Google hat große Investitionen in proaktives Sicherheitsdesign und Härtung durchgeführt. Doch selbst die besten Softwaresysteme können Sicherheitslücken haben. Um diese Sicherheitslücken zu finden und zu patchen, bevor sie ausgenutzt werden können, hat Google erhebliche in mehrere Bereiche investiert.
Zu Patchzwecken ist GKE eine Betriebssystemebene, auf der Container ausgeführt werden. Die Betriebssysteme, Container-Optimized OS oder Ubuntu, sind gehärtet und enthalten die Software, die mindestens für die Ausführung von Containern erforderlich ist. GKE-Features werden als Container auf den Basis-Images ausgeführt. In GKE wird kontinuierlich daran gearbeitet, die Anzahl der Abhängigkeiten von Systemkomponenten zu reduzieren. Dadurch wird die Angriffsfläche verringert und die Effizienz der Verwaltung von Sicherheitslücken verbessert. GKE-Systemkomponenten können beispielsweise, wenn möglich, minimale Basis-Images verwenden.
Google erkennt und behebt Sicherheitslücken und fehlende Patches auf folgende Weise:
Container-Optimized OS: Google scannt Images, um potenzielle Sicherheitslücken und fehlende Patches zu ermitteln. Das Team für Container-Optimized OS prüft und behebt Probleme.
Ubuntu: Canonical stellt Google Betriebssystem-Builds zur Verfügung, auf denen alle verfügbaren Sicherheitspatches angewendet sind.
Google scannt Container mit Container Registry-Artefaktanalyse, um Sicherheitslücken und fehlende Patches in Kubernetes- und von Google verwalteten Containern zu ermitteln. Wenn Fehlerkorrekturen verfügbar sind, startet der Scanner automatisch den Patch- und Releaseprozess.
Zusätzlich zu automatisierten Scans erkennt Google Sicherheitslücken, die Scannern unbekannt sind, und behebt sie so:
Google führt Audits, Penetrationstests und Sicherheitslückenerkennung auf allen Plattformen durch. Eine Liste der Plattformen finden Sie im vorherigen Abschnitt Gemeinsame Verantwortung für das Patchen.
Spezialisierte Teams innerhalb von Google und vertrauenswürdigen Drittanbietern von Sicherheitslösungen führen eigene Angriffsuntersuchungen durch. Google arbeitet auch mit der CNCF zusammen, um einen großen Teil der Organisation und des technischen Fachwissens für das Kubernetes-Sicherheits-Audit bereitzustellen.
Google interagiert aktiv über mehrere Prämienprogramme zu Sicherheitslücken mit der Sicherheitsforschungs-Community. Ein dediziertes Google Cloud Programm zu Sicherheitslücken bietet erhebliche Vorteile, unter anderem 133.337 $ für die bedeutendste Cloud-Sicherheitslücke des Jahres. Für GKE gibt es ein Programm, das Sicherheitsforscher belohnt, wenn sie unsere Sicherheitsvorkehrungen überwinden können. Das Programm deckt alle GKE-Softwareabhängigkeiten ab.
Google arbeitet mit anderen Branchen- und Open-Source-Softwarepartnern zusammen, die Sicherheitslücken, Sicherheitsforschung und Patches vor der Veröffentlichung der Sicherheitslücke teilen. Das Ziel dieser Zusammenarbeit besteht darin, große Teile der Internetinfrastruktur zu patchen, bevor die Sicherheitslücke öffentlich bekannt gegeben wird. In manchen Fällen informiert Google diese Community über Sicherheitslücken. Beispielsweise hat Project Zero von Google die Sicherheitslücken Spectre und Meltdown entdeckt und veröffentlicht. Das Google Cloud Sicherheitsteam sucht und behebt auch Sicherheitslücken in der Kernel-basierte virtuelle Maschine (KVM).
Die Sicherheitszusammenarbeit von Google findet auf vielen Ebenen statt. Gelegentlich geschieht dies über Programme, bei denen Organisationen sich anmelden, um Vorabbenachrichtigungen über Software-Sicherheitslücken für Produkte wie Kubernetes und Envoy zu empfangen. Die Zusammenarbeit erfolgt auch informell durch unsere Beteiligung an vielen Open-Source-Projekten wie dem Linux-Kernel, den Containerlaufzeiten, der Virtualisierungstechnologie und anderen.
Für Kubernetes ist Google ein aktives Gründungsmitglied des Security Response Committee (SRC), das einen Großteil des Sicherheitsrelease-Prozesses geschrieben hat. Google ist Mitglied der Liste der Kubernetes-Vertriebspartner, die im Voraus Benachrichtigungen zu Sicherheitslücken erhalten, und war an der Prüfung, dem Patchen, den Maßnahmen zur Risikominderung und der Kommunikation bei nahezu allen schwere Kubernetes-Sicherheitslücken beteiligt. Google hat auch mehrere Kubernetes-Sicherheitslücken entdeckt, z. B. CVE-2019-11254, CVE-2019-11255 und CVE-2021-25741.
Außerhalb dieser Prozesse werden weniger schwerwiegende Sicherheitslücken erkannt und gepatcht. Die meisten Sicherheitslücken werden über einen der zuvor aufgeführten Kanäle privat gemeldet. Die frühzeitige Berichterstattung gibt Google genügend Zeit, bevor die Sicherheitslücke veröffentlicht wird, zu erfahren, wie sie sich auf GKE auswirkt, Patches oder Abhilfemaßnahmen zu entwickeln und Beratung und Kommunikation für Kunden vorzubereiten. Wenn möglich, patcht Google alle Cluster vor der Veröffentlichung der Sicherheitslücke.
Klassifizierung von Sicherheitslücken
GKE investiert viel in die Sicherheit des gesamten Stacks ein, einschließlich Betriebssystem-, Container-, Kubernetes- und Netzwerkebenen, zusätzlich zum Festlegen geeigneter Standardeinstellungen, sicherheitsoptimierter Konfigurationen und verwalteter Komponenten. In Kombination werden diese Anstrengungen dazu beitragen, die Auswirkungen und die Wahrscheinlichkeit von Sicherheitslücken zu reduzieren.
Das GKE-Sicherheitsteam klassifiziert Sicherheitslücken gemäß dem Kubernetes-System zur Sicherheitslückenbewertung. Bei Klassifizierungen werden viele Faktoren berücksichtigt, unter anderem die GKE-Konfiguration sowie die Härtung der Sicherheit. Aufgrund dieser Faktoren und der Investitionen, die GKE in die Sicherheit tätigt, können sich die Klassifizierungen von GKE von anderen Klassifizierungsquellen unterscheiden.
In der folgenden Tabelle werden die Schweregrade von Sicherheitslücken beschrieben:
| Schweregrad | Beschreibung |
|---|---|
| Kritisch | Eine Sicherheitslücke, die in allen Clustern leicht ausnutzbar ist durch einen nicht authentifizierten Remote-Angreifer, der zu einem vollständigen Systemmissbrauch führt. |
| Hoch | Eine Sicherheitslücke, die für viele Cluster ausgenutzt werden kann, was zum Verlust von Vertraulichkeit, Integrität oder Verfügbarkeit führt. |
| Mittel | Eine Sicherheitslücke, die für einige Cluster genutzt werden kann, bei denen der Verlust von Vertraulichkeit, Integrität oder Verfügbarkeit durch allgemeine Konfigurationen, der Schwere des Exploits, den erforderlichen Zugriff oder die Nutzerinteraktion beeinträchtigt wird. |
| Niedrig | Alle anderen Sicherheitslücken. Die Ausnutzung ist unwahrscheinlich oder die Konsequenzen der Ausnutzung sind begrenzt. |
In den Sicherheitsbulletins finden Sie Beispiele für Sicherheitslücken, Fehlerbehebungen und Risikominderungen sowie deren Bewertungen.
So werden Sicherheitslücken für GKE-Cluster gepatcht
Beim Patchen einer Sicherheitslücke muss ein Upgrade auf eine neue GKE-Versionsnummer durchgeführt werden. GKE-Versionen enthalten versionierte Komponenten für das Betriebssystem, Kubernetes-Komponenten und andere Container, aus denen die GKE-Plattform besteht. Das Beheben einiger Sicherheitslücken erfordert nur ein Upgrade der Steuerungsebene, das automatisch von Google in GKE durchgeführt wird, während für andere sowohl Steuerungsebenen- als auch Knotenupgrades erforderlich sind.
Damit Cluster vor Sicherheitslücken aller Schweregrade geschützt bleiben, empfehlen wir, die Best Practices für GKE-Cluster-Upgrades zu befolgen, damit Ihr Cluster rechtzeitig Sicherheitspatches erhält.
Google empfiehlt, Kubernetes-Cluster mindestens einmal pro Monat zu aktualisieren. Eine Liste der Plattformen finden Sie im vorherigen Abschnitt Gemeinsame Verantwortung für das Patchen.
Einige Sicherheitsscanner oder manuelle Versionsüberprüfungen gehen möglicherweise fälschlicherweise davon aus, dass für eine Komponente wie runc oder containerd ein bestimmter Upstream-Sicherheits-Patch fehlt. In GKE werden Komponenten regelmäßig gepatcht und nur bei Bedarf Paketversionen aktualisiert. Das bedeutet, dass GKE-Komponenten funktional mit ihren Upstream-Entsprechungen vergleichbar sind, auch wenn die Versionsnummer der GKE-Komponente nicht mit der Upstream-Versionsnummer übereinstimmt. Details zu einer bestimmten CVE finden Sie in den GKE-Sicherheitsbulletins.
Zeitpläne für Patches
Das Ziel von Google ist es, erkannte Sicherheitslücken innerhalb eines Zeitraums zu minimieren, der für damit verbundene Risiken angemessen ist. GKE ist in der vorläufigen FedRAMP ATO vonGoogle Cloud enthalten. Dies erfordert, dass bekannte Sicherheitslücken innerhalb bestimmter Zeiträume entsprechend ihres Schweregrades behoben werden, wie in der Steuerung RA-5(d) des Risikobewertungsdatensatzes RA-5 „Vulnerability Scanning“ (Scannen auf Sicherheitslücken) in der FedRAMP Security Controls Baseline-Tabelle angegeben.
Für jede bekannte Sicherheitslücke ist es das Ziel von GKE, Patchversionen zu veröffentlichen, die die Sicherheitslücke innerhalb des entsprechenden Zeitrahmens beheben. Nachdem GKE Patchversionen zur Behebung einer bekannten Sicherheitslücke zur Verfügung gestellt hat, aktualisieren Sie Ihre Cluster auf diese Versionen, um die Patching-Zeitrahmen für Ihre Organisation einzuhalten.
So wird über Sicherheitslücken und Patches informiert
Die beste Quelle für aktuelle Informationen zu Sicherheitslücken und Sicherheitspatches für GKE sind die Sicherheitsbulletins.
Ab dem 1. Juni 2026 werden für Google Distributed Cloud (nur Software), GKE on AWS und GKE on Azure keine Sicherheitsbulletins mehr veröffentlicht. Aktuellere Sicherheitsbulletins und Informationen zu behobenen Sicherheitslücken für diese Produkte finden Sie in den folgenden Dokumenten:
Sicherheitslücken werden manchmal für einen begrenzten Zeitraum privat gehalten und mit einem "Embargo" belegt. Embargos unterstützen bei der Verhinderung der frühzeitige Veröffentlichung von Sicherheitslücken, die zu ausgedehnte Angriffen führen können, bevor gegensteuernde Maßnahmen ergriffen werden können. In Embargo-Fällen sprechen die Versionshinweise von "Sicherheitsupdates", bis die Embargo aufgehoben wurde. Nachdem die Embargo aufgehoben wurde, aktualisiert Google Versionshinweise, um die jeweiligen Sicherheitslücken aufzunehmen
Das GKE-Sicherheitsteam veröffentlicht Sicherheitsbulletins für Sicherheitslücken mit hohem und kritischem Schweregrad. Wenn Kunden Maßnahmen ergreifen müssen, um diese Sicherheitslücken mit hohem und kritischem Schweregrad zu adressieren, kontaktiert Google Kunden per E-Mail. Darüber hinaus kann Google Kunden mit Supportverträgen auch über Supportkanäle kontaktieren.
Wie kann ich am schnellsten einen Sicherheitspatch installieren?
Alle Cluster werden mit automatischen GKE-Upgrades automatisch gepatcht. In diesem Abschnitt wird beschrieben, wie Sie schneller als bei automatischen Upgrades Patches für bestimmte Sicherheitskorrekturen oder fortlaufend anwenden. Durch die Kombination von Testumgebungen, manuellen kanalübergreifenden Upgrades, beschleunigten Patcheinstellungen und ereignisgesteuerten Benachrichtigungen können Sie die Vorlaufzeiten für das Patchen verkürzen.
GKE verwaltet Versions-Roll-outs in Release-Versionen, um sicherzustellen, dass neue Versionen qualifiziert und getestet werden. Um die Vorlaufzeiten für das Patchen zu verkürzen, müssen Sie verstehen, wie diese Rollouts funktionieren, und dann das Standardverhalten an Ihre spezifischen Anforderungen anpassen.
Beim „Soaking“ einer gepatchten Version wird sie über einen längeren Zeitraum in Clustern ausgeführt, um die Stabilität zu beobachten. So können Fehler erkannt werden, die erst nach längerer Nutzung in verschiedenen Umgebungen auftreten. Um eine ausreichende Übergangszeit zu gewährleisten, werden GKE-Patch-Releases zuerst im Rapid Channel und dann im Regular Channel und Stable Channel eingeführt. Releases werden auch in jedem Channel getestet, bevor sie zum Upgradeziel für den Channel werden.
Patches frühzeitig qualifizieren und Roll-out mit Roll-out-Sequenzierung verwalten
Wenn Sie einen Sicherheitspatch qualifizieren möchten, den Sie beschleunigen möchten, verwenden Sie die Roll-out-Sequenzierung, um ihn in verschiedenen Umgebungen bereitzustellen. Testen Sie den Patch in anderen GKE-Clustern, bevor Sie die Produktionsumgebung aktualisieren. So können Sie die Kompatibilität von Arbeitslasten prüfen und Probleme erkennen, sobald Google einen Sicherheitsfix veröffentlicht. Anschließend können Sie die gepatchte Version auf den Rest Ihrer Flotte anwenden und die verbleibende Übergangszeit steuern.
Verzögerungen durch Soak-Tests mit beschleunigten automatischen Patch-Upgrades reduzieren
Alternativ können Sie Patches schneller nutzen, indem Sie beschleunigte automatische Patch-Upgrades für Ihre Cluster aktivieren. Mit dieser Funktion wird GKE angewiesen, die Übergangszeit im Kanal für Patch-Updates, insbesondere Sicherheitspatches, zu umgehen. Wenn Sie diesen Ansatz verwenden, empfiehlt Google, einen Testcluster im Rapid Channel (auch mit beschleunigten automatischen Patch-Upgrades) auszuführen, um Patches zu qualifizieren.
Manuelle Upgrades auf neuere Patchversionen in den Kanälen „Regular“ und „Stable“
Wenn Ihre Produktionsarbeitslasten auf Clustern ausgeführt werden, die für die Channels „Regular“ oder „Stable“ registriert sind, müssen Sie diese Channels nicht verlassen und nicht auf die automatische, stufenweise Einführung eines Patches warten, wenn Sie ein bestimmtes Sicherheitsupdate priorisieren müssen.
Wenn Sie die gepatchte Version qualifiziert haben, können Sie Upgrades für Ihre Cluster in „Regular“ oder „Stable“ manuell auf genau diese Patch-Version initiieren, um die verbleibende Übergangszeit zu steuern.
Patchverwaltung mit Clustermeldungen automatisieren
Es ist nicht erforderlich, die Webseite mit den Sicherheitsbulletins nach Patchinformationen zu durchsuchen. Wenn Sie schnell programmatische Benachrichtigungen zu verfügbaren Patches erhalten und Patchqualifizierungs- und Upgrade-Aktionen auslösen möchten, können Sie Clusterbenachrichtigungen verwenden.
Wenn Sie Benachrichtigungen für Sicherheitsbulletins oder geplante Upgrades erhalten möchten, konfigurieren Sie Ihre Benachrichtigungen so, dass sie speziell nach den folgenden Ereignistypen gefiltert werden:
Mit Clusternachrichten können Sie Echtzeitbenachrichtigungen erhalten, wenn diese Ereignisse eintreten. Sie können diese Benachrichtigungen in Ihre SIEM-Systeme (Security Information and Event Management, Sicherheitsinformationen und Ereignisverwaltung), Chatvorgänge oder automatisierten Testpipelines einbinden.