In diesem Dokument wird ein bestimmter Typ von Bedrohungsergebnissen in Security Command Center beschrieben. Bedrohungsergebnisse werden von Bedrohungsdetektoren generiert, wenn sie eine potenzielle Bedrohung in Ihren Cloud-Ressourcen erkennen. Eine vollständige Liste der verfügbaren Bedrohungsergebnisse finden Sie im Index der Bedrohungsergebnisse.
Übersicht
Ein gehackter Dienstkontoschlüssel wurde zur Authentifizierung einer Aktion verwendet. In diesem Zusammenhang ist ein gehackter Dienstkontoschlüssel ein Schlüssel, der im öffentlichen Internet veröffentlicht wurde. Dienstkontoschlüssel werden beispielsweise häufig fälschlicherweise in öffentlichen GitHub-Repositories veröffentlicht.
Die Quelle dieses Ergebnisses ist Event Threat Detection.
Maßnahmen
So reagieren Sie auf dieses Ergebnis:
Schritt 1: Ergebnisdetails prüfen
- Öffnen Sie das
Initial Access: Leaked Service Account Key Used-Ergebnis, wie unter Ergebnisse prüfen beschrieben. Notieren Sie sich in den Ergebnisdetails auf dem Tab Zusammenfassung die Werte der folgenden Felder.
Unter Was wurde erkannt?:
- Hauptkonto-E-Mail-Adresse: Das in dieser Aktion verwendete Dienstkonto
- Dienstname: Der API-Name des Google Cloud-Dienstes, auf den über das Dienstkonto zugegriffen wurde.
- Methodenname: Der Methodenname der Aktion.
- Name des Dienstkontoschlüssels: Der gehackte Dienstkontoschlüssel, der zur Authentifizierung dieser Aktion verwendet wurde.
- Beschreibung: Die Beschreibung des erkannten Problems, einschließlich des Speicherorts im öffentlichen Internet, an dem der Dienstkontoschlüssel gefunden werden kann.
Unter Betroffene Ressource:
- Anzeigename der Ressource: Die Ressource, die an der Aktion beteiligt ist.
Schritt 2: Protokolle prüfen
- Rufen Sie in der Google Cloud Console den Log-Explorer auf. Klicken Sie dazu auf den Link im Cloud Logging-URI.
- Wählen Sie in der Symbolleiste der Google Cloud Console Ihr Projekt oder Ihre Organisation aus.
Suchen Sie auf der Seite, die geladen wird, mit dem folgenden Filter nach zugehörigen Logs:
protoPayload.authenticationInfo.principalEmail="PRINCIPAL_EMAIL"protoPayload.authenticationInfo.serviceAccountKeyName="SERVICE_ACCOUNT_KEY_NAME"
Ersetzen Sie PRINCIPAL_EMAIL durch den Wert, den Sie in den Details des Ergebnisses im Feld E-Mail-Adresse des Hauptkontos notiert haben. Ersetzen Sie SERVICE_ACCOUNT_KEY_NAME durch den Wert, den Sie in den Funddetails im Feld Name des Dienstkontoschlüssels notiert haben.
Schritt 3: Reaktion implementieren
Der folgende Reaktionplan ist möglicherweise für dieses Ergebnis geeignet, kann sich jedoch auch auf Abläufe auswirken. Prüfen Sie die Informationen, die Sie im Rahmen Ihrer Untersuchung erfasst haben, sorgfältig, um die beste Lösung für die Behebung der Ergebnisse zu finden.
- Widerrufen Sie den Dienstkontoschlüssel sofort auf der Seite „Dienstkonten“.
- Entfernen Sie die Webseite oder das GitHub-Repository, auf der bzw. in dem der Dienstkontoschlüssel veröffentlicht wurde.
- Erwägen Sie, das manipulierte Dienstkonto zu löschen.
- Rotieren und löschen Sie alle Zugriffsschlüssel des Dienstkontos für das potenziell manipulierte Projekt. Nach dem Löschen verlieren Anwendungen, die das Dienstkonto für die Authentifizierung verwenden, den Zugriff. Bevor Sie fortfahren, sollte Ihr Sicherheitsteam alle betroffenen Anwendungen identifizieren und mit den Anwendungsbesitzern zusammenarbeiten, um die Geschäftskontinuität zu gewährleisten.
- Ermitteln Sie gemeinsam mit Ihrem Sicherheitsteam unbekannte Ressourcen, einschließlich Compute Engine-Instanzen, Snapshots, Dienstkonten und IAM-Nutzer. Ressourcen löschen, die nicht mit autorisierten Konten erstellt wurden.
- Auf Benachrichtigungen von Cloud Customer Care reagieren
Beispiel für JSON-Ergebnis
Das folgende Beispiel zeigt das JSON für ein Ergebnis.
{ "findings": { "access": { "principalEmail": "SERVICE_ACCOUNT", "callerIp": "IP_ADDRESS", "callerIpGeo": { "regionCode": "US" }, "serviceName": "SERVICE_NAME", "methodName": "METHOD_NAME", "serviceAccountKeyName": "LEAKED_SERVICE_ACCOUNT_KEY" }, "assetDisplayName": "ASSET_DISPLAY_NAME", "assetId": "organizations/ORGANIZATION_NUMBER/assets/ASSET_ID", "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/findings/FINDING_ID", "category": "Initial Access: Leaked Service Account Key Used", "contacts": { "security": { "contacts": [ { "email": "EMAIL_ADDRESS" } ] }, "technical": { "contacts": [ { "email": "EMAIL_ADDRESS" } ] } }, "createTime": "2023-07-18T10:35:47.381Z", "database": {}, "eventTime": "2023-07-18T10:35:47.270Z", "exfiltration": {}, "findingClass": "THREAT", "findingProviderId": "organizations/ORGANIZATION_NUMBER/firstPartyFindingProviders/etd", "indicator": {}, "kernelRootkit": {}, "kubernetes": {}, "mitreAttack": { "primaryTactic": "INITIAL_ACCESS", "primaryTechniques": [ "VALID_ACCOUNTS", "CLOUD_ACCOUNTS" ] }, "mute": "UNDEFINED", "name": "organizations/ORGANIZATION_NUMBER/sources/SOURCE_ID/findings/FINDING_ID", "parent": "organizations/ORGANIZATION_NUMBER/sources/SOURCE_ID", "parentDisplayName": "Event Threat Detection", "resourceName": "AFFECTED_RESOURCE", "severity": "HIGH", "sourceDisplayName": "Event Threat Detection", "state": "ACTIVE", "vulnerability": {}, "workflowState": "NEW" }, "resource": { "name": "RESOURCE_NAME", "display_name": "RESOURCE_DISPLAY_NAME", "project_name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER", "project_display_name": "PROJECT_ID", }, "sourceProperties": { "sourceId": { "projectNumber": "PROJECT_NUMBER", "customerOrganizationNumber": "ORGANIZATION_NUMBER" }, "detectionCategory": { "ruleName": "leaked_sa_key_used" }, "detectionPriority": "HIGH", "affectedResources": [ { "gcpResourceName": "GOOGLE_RESOURCE" } ], "evidence": [ { "sourceLogId": { "projectId": "PROJECT_ID", "resourceContainer": "projects/PROJECT_ID", "timestamp": { "seconds": "1673519681", "nanos": 728289000 }, "insertId": "INSERT_ID" } } ], "properties": {}, "findingId": "FINDING_ID", "contextUris": { "mitreUri": { "displayName": "MITRE Link", "url": "https://attack.mitre.org/techniques/T1078/004/" } } }, "description": "A leaked service account key is used, the key is leaked at LEAKED_SOURCE_URL" }
Nächste Schritte
- Informationen zum Arbeiten mit Bedrohungsergebnissen in Security Command Center
- Weitere Informationen finden Sie im Index der Bedrohungsergebnisse.
- Informationen zum Überprüfen von Ergebnissen über die Google Cloud Console
- Dienste, die Bedrohungsergebnisse generieren