Questo documento descrive un tipo di risultato di minaccia in Security Command Center. I risultati di minaccia vengono generati dai rilevatori di minacce quando rilevano una potenziale minaccia nelle risorse cloud. Per un elenco completo dei risultati di minaccia disponibili, consulta l'indice dei risultati di minaccia.
Panoramica
L'account super user del database Cloud SQL (postgres per PostgreSQL e root per MySQL) ha scritto nelle tabelle utente. In genere, il super user (un ruolo con accesso molto esteso) non deve essere utilizzato per scrivere nelle tabelle utente. Per le normali attività quotidiane è necessario utilizzare un account utente con accesso più limitato. Quando un super user scrive in una tabella utente, potrebbe indicare che un utente malintenzionato ha eseguito l'escalation dei privilegi o ha compromesso l'utente del database predefinito e sta modificando i dati. Potrebbe anche indicare pratiche normali ma non sicure.
Event Threat Detection è l'origine di questo risultato.
Come rispondere
Per rispondere a questo risultato:
Passaggio 1: esamina i dettagli del risultato
- Apri un risultato
Initial Access: Database Superuser Writes to User Tables, come indicato in Esaminare i risultati. Nella scheda Riepilogo del riquadro dei dettagli del risultato, esamina le informazioni nelle seguenti sezioni:
- Che cosa è stato rilevato, in particolare i seguenti campi:
- Nome visualizzato database: il nome del database nell' istanza Cloud SQL PostgreSQL o MySQL interessata.
- Nome utente database: il super user.
- Query database: la query SQL eseguita durante la scrittura nelle tabelle utente.
- Risorsa interessata, in particolare i seguenti campi:
- Nome completo risorsa: il nome della risorsa dell'istanza Cloud SQL interessata.
- Nome completo risorsa padre: il nome della risorsa dell'istanza Cloud SQL.
- Nome completo progetto: il Google Cloud progetto che contiene l'istanza Cloud SQL.
- Link correlati, in particolare i seguenti campi:
- URI Cloud Logging: link alle voci di log.
- Metodo MITRE ATT&CK: link alla documentazione MITRE ATT&CK.
- Risultati correlati: link a eventuali risultati correlati.
- Che cosa è stato rilevato, in particolare i seguenti campi:
Per visualizzare il JSON completo del risultato, fai clic sulla scheda JSON.
Passaggio 2: controlla i log
- Nella Google Cloud console, vai a Esplora log facendo clic
sul link in
cloudLoggingQueryURI(dal passaggio 1). La pagina Esplora log include tutti i log relativi all'istanza Cloud SQL pertinente. - Controlla i log per i log pgaudit di PostgreSQL o i log di controllo di Cloud SQL per MySQL, che contengono le query eseguite dal super user, utilizzando i seguenti filtri:
protoPayload.request.user="SUPERUSER"
Passaggio 3: ricerca i metodi di attacco e risposta
- Esamina la voce del framework MITRE ATT&CK per questo tipo di risultato: Exfiltration Over Web Service.
- Per determinare se sono necessari ulteriori passaggi di correzione, combina i risultati dell'indagine con la ricerca MITRE.
Passaggio 4: implementa la risposta
Il seguente piano di risposta potrebbe essere appropriato per questo risultato, ma potrebbe anche influire sulle operazioni. Valuta attentamente le informazioni raccolte durante l'indagine per determinare il modo migliore per risolvere i risultati.
Esamina gli utenti autorizzati a connettersi al database.
- Per PostgreSQL, vedi Creare e gestire gli utenti
- Per MySQL, vedi Gestire gli utenti con l'autenticazione integrata
Valuta la possibilità di modificare la password del super user.
- Per PostgreSQL, vedi Impostare la password per l'utente predefinito
- Per MySQL, vedi Impostare la password per l'utente predefinito
Valuta la possibilità di creare un nuovo utente con accesso limitato per i diversi tipi di query utilizzati nell'istanza.
Concedi al nuovo utente solo le autorizzazioni necessarie per eseguire le query.
- Per PostgreSQL, vedi Grant (comando)
- Per MySQL, vedi Controllo dell'accesso e gestione degli account
Aggiorna le credenziali per i client che si connettono all'istanza Cloud SQL
Esempio di JSON del risultato
Di seguito è riportato un esempio di JSON del risultato.
{ "finding": { "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID", "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID", "resource_name": "//cloudsql.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_NAME", "state": "ACTIVE", "category": "Initial Access: Database Superuser Writes to User Tables", "sourceProperties": { "sourceId": { "projectNumber": "PROJECT_NUMBER", "customerOrganizationNumber": "ORGANIZATION_ID" }, "detectionCategory": { "ruleName": "cloudsql_superuser_writes_to_user_tables", }, "detectionPriority": "LOW", "affectedResources": [ { "gcpResourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER" }, { "gcpResourceName": "//cloudsql.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_NAME" } ], "evidence": [{ "sourceLogId": { "projectId": "PROJECT_ID", "resourceContainer": "projects/PROJECT_ID", "timestamp": { "seconds": "0", "nanos": 0.0 }, "insertId": "INSERT_ID" } }], "findingId": "FINDING_ID", "contextUris": { "mitreUri": { "displayName": "MITRE Link", "url": "https://attack.mitre.org/techniques/T1567/002/" }, "cloudLoggingQueryUri": [{ "displayName": "Cloud Logging Query Link", "url": "LOGGING_LINK" }], "relatedFindingUri": { "displayName": "Related CloudSQL Exfiltration findings", "url": "RELATED_FINDINGS_LINK" } } }, "eventTime": "2022-01-19T21:36:07.901Z", "createTime": "2022-01-19T21:36:08.695Z", "severity": "LOW", "workflowState": "NEW", "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/findings/FINDING_ID" "mute": "UNDEFINED", "findingClass": "THREAT", "mitreAttack": { "primaryTactic": "INITIAL_ACCESS", "primaryTechniques": ["DEFAULT_ACCOUNTS"] }, "database": { "displayName": "DATABASE_NAME", "userName": "USER_NAME", "query": "QUERY", }, "access": { "serviceName": "cloudsql.googleapis.com", "methodName": "cloudsql.instances.query" } }, "resource": { "name": "//cloudsql.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_NAME", "projectName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER", "projectDisplayName": "PROJECT_ID", "parentName": "//cloudsql.googleapis.com/projects/PROJECT_NUMBER", "parentDisplayName": "PROJECT_ID", "type": "google.cloud.sql.Instance", "folders": [{ "resourceFolder": "//cloudresourcemanager.googleapis.com/folders/FOLDER_NUMBER", "resourceFolderDisplayName": "FOLDER_ID" }], "displayName": "INSTANCE_NAME" } }
Passaggi successivi
- Scopri come utilizzare i risultati di minaccia in Security Command Center.
- Consulta l'indice dei risultati di minaccia.
- Scopri come esaminare un risultato tramite la Google Cloud console.
- Scopri di più sui servizi che generano risultati di minaccia.