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
I log di controllo vengono esaminati per rilevare l'aggiunta di associazioni di ruoli IAM che potrebbero essere considerate sospette.
Di seguito sono riportati alcuni esempi di concessioni anomale:
- Invitare un utente esterno, ad esempio un utente di gmail.com, come proprietario del progetto dalla Google Cloud console
- Un account di servizio che concede autorizzazioni sensibili
- Un ruolo personalizzato che concede autorizzazioni sensibili
- Un account di servizio aggiunto dall'esterno dell'organizzazione o del progetto
Il risultato IAM Anomalous Grant è unico in quanto include regole secondarie che forniscono informazioni più specifiche su ogni istanza di questo risultato. La classificazione della gravità di questo risultato dipende dalla regola secondaria. Ogni regola secondaria potrebbe richiedere una risposta diversa.
Il seguente elenco mostra tutte le possibili regole secondarie e le relative gravità:
external_service_account_added_to_policy:HIGH, se è stato concesso un ruolo altamente sensibile o se è stato concesso un ruolo di sensibilità media a livello di organizzazione. Per ulteriori informazioni, consulta la sezione Ruoli altamente sensibili.MEDIUM, se è stato concesso un ruolo di sensibilità media. Per ulteriori informazioni, consulta la sezione Ruoli di sensibilità media.
external_member_invited_to_policy:HIGHexternal_member_added_to_policy:HIGH, se è stato concesso un ruolo altamente sensibile o se è stato concesso un ruolo di sensibilità media a livello di organizzazione. Per ulteriori informazioni, consulta la sezione Ruoli altamente sensibili.MEDIUM, se è stato concesso un ruolo di sensibilità media. Per ulteriori informazioni, consulta la sezione Ruoli di sensibilità media.
custom_role_given_sensitive_permissions:MEDIUMservice_account_granted_sensitive_role_to_member:HIGHpolicy_modified_by_default_compute_service_account:HIGH
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
Persistence: IAM Anomalous Grantcome indicato in Esaminare i risultati. Si apre il riquadro dei dettagli del risultato nella scheda Riepilogo.Nella scheda Riepilogo, esamina le informazioni nelle seguenti sezioni:
- Che cosa è stato rilevato, in particolare i seguenti campi:
- Indirizzo email dell'entità: indirizzo email dell'utente o del account di servizio che ha assegnato il ruolo.
Risorsa interessata
Link correlati, in particolare i seguenti campi:
- URI Cloud Logging: link alle voci di logging.
- Metodo MITRE ATT&CK: link alla documentazione MITRE ATT&CK.
- Risultati correlati: link a eventuali risultati correlati.
- Indicatore VirusTotal: link alla pagina di analisi di VirusTotal.
- Che cosa è stato rilevato, in particolare i seguenti campi:
Fai clic sulla scheda JSON. Viene visualizzato il JSON completo del risultato.
Nel JSON del risultato, prendi nota dei seguenti campi:
detectionCategory:subRuleName: informazioni più specifiche sul tipo di concessione anomala che si è verificata. La regola secondaria determina la classificazione della gravità di questo risultato.
evidence:sourceLogId:projectId: l'ID del progetto che contiene il risultato.
properties:sensitiveRoleGrant:bindingDeltas:Action: l'azione intrapresa dall'utente.Role: il ruolo assegnato all'utente.member: l'indirizzo email dell'utente che ha ricevuto il ruolo.
Passaggio 2: controlla i log
- Nella scheda Riepilogo del riquadro dei dettagli del risultato, fai clic sul link URI Cloud Logging per aprire Esplora log.
- Nella pagina che si apre, cerca risorse IAM nuove o aggiornate utilizzando i seguenti filtri:
protoPayload.methodName="SetIamPolicy"protoPayload.methodName="google.iam.admin.v1.UpdateRole"protoPayload.methodName="google.iam.admin.v1.CreateRole"
Passaggio 3: ricerca i metodi di attacco e risposta
- Esamina le voci del framework MITRE ATT&CK per questo tipo di risultato: Valid Accounts: Cloud Accounts.
- Esamina i risultati correlati facendo clic sul link nella riga Risultati correlati nella scheda Riepilogo dei dettagli del risultato. I risultati correlati sono dello stesso tipo di risultato e della stessa istanza e rete.
- Per sviluppare un piano di risposta, 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.
- Contatta il proprietario del progetto con l'account compromesso.
- Elimina il service account compromesso e ruota ed elimina tutte le chiavi di accesso del account di servizio per il progetto compromesso. Dopo l'eliminazione, le risorse che utilizzano il account di servizio per l'autenticazione perdono l'accesso.
- Elimina le risorse del progetto create da account non autorizzati, come istanze Compute Engine, snapshot, service account e utenti IAM sconosciuti.
- Per limitare l'aggiunta di utenti di gmail.com, utilizza il criterio dell'organizzazione.
- Per identificare e correggere i ruoli eccessivamente permissivi, utilizza IAM Recommender.
Esempio di JSON del risultato
Di seguito è riportato un esempio di JSON del risultato.
{ "findings": { "access": { "principalEmail": "PRINCIPAL_EMAIL", "callerIp": "IP_ADDRESS", "callerIpGeo": { "regionCode": "REGION_CODE" }, "serviceName": "SERVICE_NAME", "methodName": "METHOD_NAME", "principalSubject": "PRINCIPAL_SUBJECT", "serviceAccountKeyName": "SERVICE_ACCOUNT_KEY_NAME" }, "assetDisplayName": "ASSET_DISPLAY_NAME", "assetId": "organizations/ORGANIZATION_ID/assets/ASSET_ID", "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/findings/FINDING_ID", "category": "Persistence: IAM Anomalous Grant", "cloudDlpInspection": {}, "contacts": { "security": { "contacts": [ { "email": "EMAIL_ADDRESS_1" }, { "email": "EMAIL_ADDRESS_2" } ] }, "technical": { "contacts": [ { "email": "EMAIL_ADDRESS_3" }, { "email": "EMAIL_ADDRESS_4" } ] } }, "createTime": "CREATE_TIMESTAMP", "database": {}, "eventTime": "EVENT_TIMESTAMP", "exfiltration": {}, "findingClass": "THREAT", "findingProviderId": "organizations/ORGANIZATION_ID/firstPartyFindingProviders/etd", "iamBindings": [ { "action": "ADD", "role": "IAM_ROLE", "member": "serviceAccount:ACCOUNT_NAME" } ], "indicator": {}, "kernelRootkit": {}, "kubernetes": {}, "mitreAttack": { "primaryTactic": "INITIAL_ACCESS", "primaryTechniques": [ "VALID_ACCOUNTS", "CLOUD_ACCOUNTS" ] }, "mute": "UNDEFINED", "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID", "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID", "parentDisplayName": "Event Threat Detection", "resourceName": "RESOURCE_FULL_NAME", "severity": "SEVERITY_CLASSIFICATION", "state": "ACTIVE", "vulnerability": {}, "workflowState": "NEW" }, "resource": { "name": "RESOURCE_FULL_NAME", "display_name": "RESOURCE_DISPLAY_NAME", "project_name": "//RESOURCE/projects/PROJECT_NUMBER", "project_display_name": "PROJECT_ID", "parent_name": "RESOURCE_PARENT_NAME", "parent_display_name": "PARENT_DISPLAY_NAME", "type": "RESOURCE_TYPE", "folders": [ { "resourceFolderDisplayName": "RESOURCE_FOLDER_DISPLAY_NAME", "resourceFolder": "RESOURCE_FOLDER_ID" } ] }, "sourceProperties": { "sourceId": { "projectNumber": "PROJECT_NUMBER", "customerOrganizationNumber": "ORGANIZATION_ID" }, "detectionCategory": { "technique": "persistence", "indicator": "audit_log", "ruleName": "iam_anomalous_grant", "subRuleName": "TYPE_OF_ANOMALOUS_GRANT" }, "detectionPriority": "HIGH", "affectedResources": [ { "gcpResourceName": "GOOGLE_CLOUD_RESOURCE_NAME" } ], "evidence": [ { "sourceLogId": { "projectId": "PROJECT_ID", "resourceContainer": "projects/PROJECT_ID", "timestamp": { "seconds": "1678897327", "nanos": 26483000 }, "insertId": "INSERT_ID" } } ], "properties": { "sensitiveRoleGrant": { "principalEmail": "PRINCIPAL_EMAIL", "bindingDeltas": [ { "action": "ADD", "role": "roles/GRANTED_ROLE", "member": "serviceAccount:SERVICE_ACCOUNT_NAME", } ], "members": [ "serviceAccount:SERVICE_ACCOUNT_NAME" ] } }, "findingId": "FINDING_ID", "contextUris": { "mitreUri": { "displayName": "MITRE Link", "url": "https://attack.mitre.org/techniques/T1078/004/" }, "cloudLoggingQueryUri": [ { "displayName": "Cloud Logging Query Link", "url": "LINK_TO_LOG_QUERY" } ], "relatedFindingUri": { "displayName": "Related Anomalous Grant Findings", "url": "LINK_TO_RELATED_FINDING" } } } }
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 i servizi che generano risultati di minaccia.