Die Cloud Run-Bedrohungserkennung ist ein integrierter Dienst von Security Command Center, der den Zustand unterstützter Cloud Run-Ressourcen kontinuierlich überwacht, um die gängigsten Laufzeitangriffe zu erkennen. Wenn die Cloud Run-Bedrohungserkennung einen Angriff erkennt, wird in Security Command Center nahezu in Echtzeit ein Ergebnis generiert.
Die Laufzeitdetektoren von Cloud Run Threat Detection überwachen Cloud Run-Ressourcen auf verdächtige Binärdateien und Bibliotheken und verwenden Natural Language Processing (NLP), um schädlichen Bash- und Python-Code zu erkennen.
Außerdem sind Detektoren für die Steuerungsebene über Event Threat Detection verfügbar. Diese Detektoren überwachen den Cloud Logging-Stream Ihrer Organisation oder Projekte, um potenzielle Angriffe auf die Steuerungsebene Ihrer Cloud Run-Ressourcen zu erkennen.
Unterstützte Ressourcen
Cloud Run Threat Detection überwacht die folgenden Ressourcen:
Unterstützte Ausführungsumgebungen
Die unterstützten Ausführungsumgebungen unterscheiden sich für Laufzeit- und Steuerungsebenendetektoren.
Unterstützte Ausführungsumgebungen für Laufzeitdetektoren
Die Laufzeit-Detectors von Cloud Run Threat Detection unterstützen nur Cloud Run-Ressourcen, die in der Ausführungsumgebung der zweiten Generation ausgeführt werden. Beachten Sie Folgendes, bevor Sie Cloud Run Threat Detection aktivieren:
Wenn Sie die Cloud Run-Bedrohungserkennung aktivieren, können Sie keinen Cloud Run-Dienst oder keine Dienstüberarbeitung erstellen, die in der Ausführungsumgebung der ersten Generation ausgeführt wird. Der Cloud Run-Dienst muss die Ausführungsumgebung der zweiten Generation verwenden. Wir empfehlen Ihnen, Ihre Arbeitslasten in der Ausführungsumgebung der zweiten Generation zu testen, bevor Sie die Cloud Run-Bedrohungserkennung aktivieren.
Wenn Sie die Laufzeit-Bedrohungserkennung für einen Dienst aktivieren möchten, stellen Sie eine Überarbeitung bereit, in der die Ausführungsumgebung des Dienstes entweder auf die Ausführungsumgebung der zweiten Generation oder auf die Standardausführungsumgebung festgelegt ist.
Unterstützte Ausführungsumgebungen für Detektoren der Steuerungsebene
Die Detectors für die Steuerungsebene unterstützen sowohl Ausführungsumgebungen der ersten als auch der zweiten Generation.
Funktionsweise der Laufzeit-Bedrohungserkennung von Cloud Run Threat Detection
Wenn Sie die Cloud Run-Bedrohungserkennung aktivieren, werden Telemetriedaten von den unterstützten Cloud Run-Ressourcen erfasst, um Prozesse, Skripts und Bibliotheken zu analysieren, die auf einen Laufzeitangriff hindeuten könnten. Wenn Ereignisse erkannt werden, sieht der Ausführungspfad so aus:
- Bei der Cloud Run-Bedrohungserkennung wird ein Watcher-Prozess verwendet, um Container- und Ereignisinformationen für die gesamte Dauer einer Cloud Run-Arbeitslast zu erfassen. Es kann bis zu 20 Sekunden dauern, bis der Watcher-Prozess gestartet wird.
Cloud Run Threat Detection analysiert die erfassten Ereignisinformationen, um festzustellen, ob ein Ereignis auf einen Vorfall hindeutet. Dabei wird NLP verwendet, um Bash- und Python-Skripts auf schädlichen Code zu analysieren.
Wenn Cloud Run Threat Detection einen Vorfall identifiziert, wird er als Ergebnis in Security Command Center gemeldet.
Wenn Cloud Run Threat Detection keinen Vorfall identifiziert, werden keine Informationen gespeichert.
Alle erhobenen Daten sind sitzungsspezifisch und werden nicht dauerhaft gespeichert.
Informationen zum Prüfen von Cloud Run Threat Detection-Ergebnissen in derGoogle Cloud -Konsole finden Sie unter Ergebnisse prüfen.
Bekannte Probleme
- Instanzen Ihrer Cloud Run-Dienste oder -Jobs, die länger als sieben Tage aktiv sind, senden keine Telemetrieinformationen mehr.
- Wenn der Watcher-Prozess in einer laufenden Instanz Ihres Cloud Run-Dienstes oder -Jobs vorzeitig beendet wird, wird er nicht neu gestartet. Die Instanz sendet keine Telemetrieinformationen mehr an Cloud Run Threat Detection. Cloud Run Threat Detection-Logs sind in den Instanzlogs nicht vorhanden. Es gibt keinen Hinweis darauf, dass ein Watcher-Prozess beendet wurde.
Detektoren
In diesem Abschnitt werden die verfügbaren Laufzeit- und Steuerungsebenendetektoren aufgeführt. Wir fügen regelmäßig neue Detektoren hinzu, wenn neue Cloud-Bedrohungen auftreten.
Laufzeitdetektoren
Cloud Run Threat Detection umfasst die folgenden Laufzeitdetektoren:
Anzeigename | API-Name | Beschreibung |
---|---|---|
Ausführung: Hinzugefügtes schädliches Binärprogramm ausgeführt | CLOUD_RUN_ADDED_MALICIOUS_BINARY_EXECUTED |
Eine Binärdatei, die die folgenden Bedingungen erfüllt, wurde ausgeführt:
Wenn eine hinzugefügte schädliche Binärdatei ausgeführt wird, ist dies ein starkes Zeichen dafür, dass ein Angreifer die Kontrolle über die Arbeitslast hat und schädliche Software ausführt. |
Ausführung: Hinzugefügte schädliche Bibliothek geladen | CLOUD_RUN_ADDED_MALICIOUS_LIBRARY_LOADED |
Es wurde eine Bibliothek geladen, die die folgenden Bedingungen erfüllt:
Wenn eine hinzugefügte schädliche Bibliothek geladen wird, ist dies ein starkes Zeichen dafür, dass ein Angreifer die Kontrolle über die Arbeitslast hat und schädliche Software ausführt. |
Ausführung: Integriertes schädliches Binärprogramm ausgeführt | CLOUD_RUN_BUILT_IN_MALICIOUS_BINARY_EXECUTED |
Eine Binärdatei, die die folgenden Bedingungen erfüllt, wurde ausgeführt:
Wenn eine integrierte schädliche Binärdatei ausgeführt wird, ist dies ein Zeichen dafür, dass der Angreifer schädliche Container bereitstellt. Sie haben möglicherweise die Kontrolle über ein legitimes Image-Repository oder eine Container-Build-Pipeline erlangt und eine schädliche Binärdatei in das Container-Image eingefügt. |
Ausführung: Container-Escape | CLOUD_RUN_CONTAINER_ESCAPE |
Im Container wurde ein Prozess ausgeführt, der versucht hat, die Isolation des Containers zu durchbrechen. Dabei wurden bekannte Escape-Techniken oder Binärdateien verwendet. Diese Art von Angriff kann dem Angreifer Zugriff auf das Hostsystem verschaffen. Diese Prozesse werden anhand von Informationen als potenzielle Bedrohungen identifiziert. Wenn ein Container-Escape-Versuch erkannt wird, deutet dies möglicherweise darauf hin, dass ein Angreifer Sicherheitslücken ausnutzt, um aus dem Container auszubrechen. Dadurch kann der Angreifer unbefugten Zugriff auf das Hostsystem oder die gesamte Infrastruktur erhalten und die gesamte Umgebung gefährden. |
Ausführung: Ausführung eines Kubernetes-Angriffstools | CLOUD_RUN_KUBERNETES_ATTACK_TOOL_EXECUTION |
In der Umgebung wurde ein Kubernetes-spezifisches Angriffstool ausgeführt. Dies kann darauf hindeuten, dass ein Angreifer auf Kubernetes-Clusterkomponenten abzielt. Diese Angriffstools werden anhand von Informationen als potenzielle Bedrohungen identifiziert. Wenn ein Angriffstool in der Kubernetes-Umgebung ausgeführt wird, kann dies darauf hindeuten, dass ein Angreifer Zugriff auf den Cluster erhalten hat und das Tool verwendet, um Kubernetes-spezifische Sicherheitslücken oder Konfigurationen auszunutzen. |
Ausführung: Ausführung eines lokalen Ausspähtools | CLOUD_RUN_LOCAL_RECONNAISSANCE_TOOL_EXECUTION |
Ein lokales Aufklärungstool, das normalerweise nicht mit dem Container oder der Umgebung verknüpft ist, wurde ausgeführt. Dies deutet auf einen Versuch hin, interne Systeminformationen zu sammeln. Diese Aufklärungstools werden anhand von Informationen als potenzielle Bedrohungen identifiziert. Wenn ein Aufklärungstool ausgeführt wird, deutet dies darauf hin, dass der Angreifer möglicherweise versucht, die Infrastruktur zu kartieren, Schwachstellen zu identifizieren oder Daten zu Systemkonfigurationen zu sammeln, um seine nächsten Schritte zu planen. |
Ausführung: Schädlicher Python-Code ausgeführt (Vorschau) | CLOUD_RUN_MALICIOUS_PYTHON_EXECUTED |
Ein ML-Modell (maschinelles Lernen) hat den angegebenen Python-Code als schädlich identifiziert. Angreifer können Python verwenden, um Tools oder andere Dateien von einem externen System in eine manipulierte Umgebung zu übertragen und Befehle ohne Binärdateien auszuführen. Der Detektor verwendet NLP-Techniken, um den Inhalt von ausgeführtem Python-Code zu bewerten. Da dieser Ansatz nicht auf Signaturen basiert, können Detektoren bekannten und neuen Python-Code identifizieren. |
Ausführung: Geändertes schädliches Binärprogramm ausgeführt | CLOUD_RUN_MODIFIED_MALICIOUS_BINARY_EXECUTED |
Eine Binärdatei, die die folgenden Bedingungen erfüllt, wurde ausgeführt:
Wenn eine modifizierte schädliche Binärdatei ausgeführt wird, ist dies ein starkes Zeichen dafür, dass ein Angreifer die Kontrolle über die Arbeitslast hat und Schadsoftware ausführt. |
Ausführung: Geänderte schädliche Bibliothek geladen | CLOUD_RUN_MODIFIED_MALICIOUS_LIBRARY_LOADED |
Es wurde eine Bibliothek geladen, die die folgenden Bedingungen erfüllt:
Wenn eine modifizierte schädliche Bibliothek geladen wird, ist dies ein starkes Zeichen dafür, dass ein Angreifer die Kontrolle über die Arbeitslast hat und schädliche Software ausführt. |
Schädliches Script ausgeführt | CLOUD_RUN_MALICIOUS_SCRIPT_EXECUTED |
Ein ML-Modell (maschinelles Lernen) hat den angegebenen Bash-Code als schädlich identifiziert. Angreifer können Bash verwenden, um Tools oder andere Dateien von einem externen System in eine manipulierte Umgebung zu übertragen und Befehle ohne Binärdateien auszuführen. Der Detektor verwendet NLP-Techniken, um den Inhalt von ausgeführtem Bash-Code zu bewerten. Da dieser Ansatz nicht auf Signaturen basiert, können Detektoren bekannten und neuen schädlichen Bash-Code identifizieren. |
Schädliche URL beobachtet | CLOUD_RUN_MALICIOUS_URL_OBSERVED |
Cloud Run Threat Detection hat eine schädliche URL in der Argumentliste eines laufenden Prozesses erkannt. Der Detector gleicht URLs, die in der Argumentliste laufender Prozesse beobachtet werden, mit den Listen unsicherer Webressourcen ab, die vom Google-Dienst Safe Browsing verwaltet werden. Wenn eine URL fälschlicherweise als Phishing-Website oder Malware eingestuft wird, melden Sie sie unter Unvollständige Daten melden. |
Reverse Shell | CLOUD_RUN_REVERSE_SHELL |
Ein Prozess, bei dem die Stream-Weiterleitung an einen Remote-Socket gestartet wurde. Der Detektor sucht nach Mit einer Reverse-Shell kann ein Angreifer von einer manipulierten Arbeitslast aus mit einer vom Angreifer kontrollierten Maschine kommunizieren. Der Angreifer kann dann die Arbeitslast ausführen und steuern, z. B. als Teil eines Botnetzes. |
Unerwartete untergeordnete Shell | CLOUD_RUN_UNEXPECTED_CHILD_SHELL |
Ein Prozess, der normalerweise keine Shells aufruft, hat einen Shellprozess gestartet. Der Detektor überwacht alle Prozessausführungen. Wenn eine Shell aufgerufen wird, generiert der Detektor ein Ergebnis, wenn der übergeordnete Prozess normalerweise keine Shells aufruft. |
Detectors der Steuerungsebene
Die folgenden Control Plane-Detektoren sind über Event Threat Detection verfügbar. Diese Detektoren sind standardmäßig aktiviert. Sie verwalten diese Detektoren genauso wie andere Event Threat Detection-Detektoren. Weitere Informationen finden Sie unter Event Threat Detection verwenden.
Anzeigename | API-Name | Logquelltypen | Beschreibung |
---|---|---|---|
Auswirkungen: Cryptomining-Befehle | CLOUD_RUN_JOBS_CRYPTOMINING_COMMANDS |
Cloud-Audit-Logs: IAM System Event-Audit-Logs |
Während der Ausführung wurden einem Cloud Run-Job bestimmte Cryptomining-Befehle angehängt. Ergebnisse werden standardmäßig als Hoch eingestuft. |
Ausführung: Docker-Image für Cryptomining | CLOUD_RUN_CRYPTOMINING_DOCKER_IMAGES |
Cloud-Audit-Logs: IAM System Event-Audit-Logs |
Bestimmte bekannte fehlerhafte Docker-Images wurden an einen neuen oder vorhandenen Cloud Run-Dienst oder -Job angehängt. Ergebnisse werden standardmäßig als Hoch eingestuft. |
Rechteausweitung: Standarddienstkonto für Compute Engine „SetIAMPolicy“ | CLOUD_RUN_SERVICES_SET_IAM_POLICY |
Cloud-Audit-Logs: Administratoraktivitätslogs |
Das Compute Engine-Standarddienstkonto wurde verwendet, um die IAM-Richtlinie für einen Cloud Run-Dienst festzulegen. Dies ist eine mögliche Aktion nach einem Exploit, wenn ein Compute Engine-Token von einem serverlosen Dienst kompromittiert wurde. Die Ergebnisse werden standardmäßig als Gering eingestuft. |