Cloud Run Threat Detection – Übersicht

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:

  1. 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.
  2. 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:

  • Anhand von Threat Intelligence als schädlich identifiziert
  • Nicht Teil des ursprünglichen Container-Image

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:

  • Anhand von Threat Intelligence als schädlich identifiziert
  • Nicht Teil des ursprünglichen Container-Image

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:

  • Anhand von Threat Intelligence als schädlich identifiziert
  • Im ursprünglichen Container-Image enthalten

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:

  • Anhand von Threat Intelligence als schädlich identifiziert
  • Im ursprünglichen Container-Image enthalten
  • Während der Laufzeit aus dem ursprünglichen Container-Image geändert

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:

  • Anhand von Threat Intelligence als schädlich identifiziert
  • Im ursprünglichen Container-Image enthalten
  • Während der Laufzeit aus dem ursprünglichen Container-Image geändert

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 stdin, gebunden an einen Remote-Socket.

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.
Informationen zu eingestellten und deaktivierten Regeln finden Sie unter Einstellung.

Nächste Schritte