Informazioni sul rilevamento delle minacce di GKE


Questa pagina descrive GKE Threat Detection, che ti consente di eseguire la scansione dei tuoi cluster GKE idonei per rilevare le minacce attive nella dashboard della security posture di GKE. La dashboard della security posture di GKE consente di attivare varie funzionalità di scansione e controllo nei cluster GKE idonei e mostra suggerimenti strategici per aiutarti a risolvere i problemi di sicurezza.

Come funziona

GKE Threat Detection è una funzionalità avanzata della dashboard della security posture di GKE disponibile per gli utenti di GKE Enterprise. Quando i cluster GKE sono registrati in un parco risorse, il rilevamento delle minacce GKE valuta i log di controllo GKE in Cloud Logging in base a un insieme di regole predefinite per le minacce ai cluster e ai carichi di lavoro. Se viene rilevata una minaccia, nella dashboard della security posture di GKE viene visualizzato un rilevamento con una descrizione della minaccia, il potenziale impatto e le azioni consigliate per mitigarla.

Tutti i cluster GKE registrati nel tuo parco risorse vengono sottoposti continuamente a scansione per rilevare le minacce attive. Classifichiamo le minacce rilevate utilizzando le tattiche MITRE ATT&CK®.

Il rilevamento delle minacce di GKE si basa sul servizio Event Threat Detection di Security Command Center. Nella dashboard della security posture di GKE viene valutato solo il sottoinsieme di regole che si applicano a GKE.

Funzionalità della strategia di sicurezza di GKE incluse

Il rilevamento delle minacce di GKE è incluso nel livello avanzato della scansione della security posture di Kubernetes. Quando attivi il rilevamento delle minacce GKE in un cluster, attivi anche le seguenti funzionalità di scansione:

Utilizzo nell'ambito di una strategia di sicurezza più ampia

Il rilevamento delle minacce di GKE è uno dei vari prodotti di osservabilità della sicurezza che dovresti utilizzare nel tuo ambiente. Ti consigliamo vivamente di utilizzare altre funzionalità della dashboard della posizione di sicurezza di GKE, come analisi delle vulnerabilità, per assicurarti di monitorare i tuoi cluster per una serie di problemi di sicurezza. Per saperne di più, consulta Informazioni sulla dashboard della postura di sicurezza nella documentazione di GKE.

Ti consigliamo inoltre di implementare il maggior numero possibile di misure di sicurezza descritte in Migliora la sicurezza del cluster nei tuoi cluster e carichi di lavoro.

Prezzi

Il rilevamento delle minacce di GKE è offerto senza costi aggiuntivi tramite GKE Enterprise.

Regole predefinite di GKE Threat Detection

La seguente tabella descrive le regole di valutazione in base alle quali GKE Threat Detection valuta i log di controllo GKE:

Nome visualizzato Nome API Tipi di origini log Descrizione
Evasione della difesa: deployment di emergenza del workload creato (anteprima) BINARY_AUTHORIZATION_BREAKGLASS_WORKLOAD_CREATE Cloud Audit Logs:
Log attività di amministrazione
Rileva il deployment di workload usando il flag di deployment di emergenza per eseguire l'override dei controlli di Autorizzazione binaria.
Evasione della difesa: deployment di emergenza del workload aggiornato (anteprima) BINARY_AUTHORIZATION_BREAKGLASS_WORKLOAD_UPDATE Cloud Audit Logs:
Log attività di amministrazione
Rileva l'aggiornamento di workload usando il flag di deployment di emergenza per eseguire l'override dei controlli di Autorizzazione binaria.
Scoperta: può ottenere il controllo di oggetti Kubernetes sensibili GKE_CONTROL_PLANE_CAN_GET_SENSITIVE_OBJECT Audit log di Cloud:
Log di accesso ai dati GKE

Un utente potenzialmente malintenzionato ha tentato di determinare su quali oggetti sensibili in GKE può eseguire query utilizzando il comando kubectl auth can-i get. In particolare, la regola rileva se l'utente ha verificato l'accesso all'API per i seguenti oggetti:

Escalation dei privilegi: modifiche agli oggetti RBAC Kubernetes sensibili GKE_CONTROL_PLANE_EDIT_SENSITIVE_RBAC_OBJECT Audit log di Cloud:
Log delle attività di amministrazione di GKE
Per eseguire l'escalation del privilegio, un utente potenzialmente malintenzionato ha tentato di modificare un oggetto con controllo dell'accesso basato su ruoli (RBAC) ClusterRole, RoleBinding o ClusterRoleBinding del ruolo sensibile cluster-admin utilizzando una richiesta PUT o PATCH.
Escalation dei privilegi: crea una richiesta CSR Kubernetes per il certificato principale GKE_CONTROL_PLANE_CSR_FOR_MASTER_CERT Audit log di Cloud:
Log delle attività di amministrazione di GKE
Un utente potenzialmente malintenzionato ha creato una richiesta di firma del certificato (CSR) master di Kubernetes, che gli consente di accedere con il ruolo cluster-admin.
Escalation dei privilegi: creazione di associazioni Kubernetes sensibili GKE_CONTROL_PLANE_CREATE_SENSITIVE_BINDING Audit log di Cloud:
Audit log delle attività di amministrazione IAM
Per eseguire l'escalation del privilegio, un utente potenzialmente malintenzionato ha tentato di creare un nuovo oggetto RoleBinding o ClusterRoleBinding per il ruolo cluster-admin.
Escalation dei privilegi: recupera informazioni su CSR Kubernetes con credenziali bootstrap compromesse GKE_CONTROL_PLANE_GET_CSR_WITH_COMPROMISED_BOOTSTRAP_CREDENTIALS Audit log di Cloud:
Log di accesso ai dati GKE
Un utente potenzialmente malintenzionato ha eseguito una query per ottenere una richiesta di firma del certificato (CSR) con il comando kubectl utilizzando credenziali di bootstrap compromesse.
Escalation dei privilegi: avvia un container Kubernetes con privilegi GKE_CONTROL_PLANE_LAUNCH_PRIVILEGED_CONTAINER Audit log di Cloud:
Log delle attività di amministrazione di GKE

Un utente potenzialmente malintenzionato ha creato un pod contenente container con privilegi o con funzionalità di escalation dei privilegi.

Il campo privileged di un container con privilegi è impostato su true. Il campo allowPrivilegeEscalation di un container con funzionalità di escalation dei privilegi è impostato su true. Per ulteriori informazioni, consulta il riferimento dell'API principale SecurityContext v1 nella documentazione Kubernetes.

Accesso con credenziali: secret a cui è stato eseguito l'accesso nello spazio dei nomi Kubernetes SECRETS_ACCESSED_IN_KUBERNETES_NAMESPACE Audit log di Cloud:
Log di accesso ai dati GKE
Rileva quando i token di secret o account di servizio vengono acceduti da un account di servizio nello spazio dei nomi Kubernetes corrente.
Accesso iniziale: risorsa GKE anonima creata da internet (anteprima) GKE_RESOURCE_CREATED_ANONYMOUSLY_FROM_INTERNET Audit log di Cloud:
Log delle attività di amministrazione di GKE
Rileva gli eventi di creazione delle risorse da utenti di internet effettivamente anonimi.
Accesso iniziale: risorsa GKE modificata in modo anonimo da internet (anteprima) GKE_RESOURCE_MODIFIED_ANONYMOUSLY_FROM_INTERNET Audit log di Cloud:
Log delle attività di amministrazione di GKE
Rileva eventi di manipolazione delle risorse da parte di utenti di internet effettivamente anonimi.
Riassegnazione dei privilegi: accesso al cluster GKE concesso a utenti anonimi (anteprima) GKE_ANONYMOUS_USERS_GRANTED_ACCESS Audit log di Cloud:
Log delle attività di amministrazione di GKE

Qualcuno ha creato un'associazione RBAC che fa riferimento a uno dei seguenti utenti o gruppi:

  • system:anonymous
  • system:unauthenticated
  • system:authenticated

Questi utenti e gruppi sono effettivamente anonimi e devono essere evitati quando crei associazioni di ruoli o associazioni di ruoli del cluster a qualsiasi ruolo RBAC. Controlla il vincolo per assicurarti che sia necessario. Se la associazione non è necessaria, rimuovila.

Esecuzione: esecuzione o collegamento sospetti a un pod di sistema (anteprima) GKE_SUSPICIOUS_EXEC_ATTACH Audit log di Cloud:
Log delle attività di amministrazione di GKE
Qualcuno ha utilizzato i comandi exec o attach per ottenere una shell o eseguire un comando su un contenitore in esecuzione nello spazio dei nomi kube-system. A volte questi metodi vengono utilizzati per scopi di debug legittimi. Tuttavia, lo spazio dei nomi kube-system è destinato agli oggetti di sistema creati da Kubernetes e l'esecuzione di comandi o la creazione di shell inaspettate deve essere esaminata.
Escalation dei privilegi: workload creato con un montaggio del percorso host sensibile (anteprima) GKE_SENSITIVE_HOSTPATH Audit log di Cloud:
Log delle attività di amministrazione di GKE
Qualcuno ha creato un workload che contiene un montaggio del volume hostPath in un percorso sensibile sul file system del nodo host. L'accesso a questi percorsi sul file system dell'host può essere utilizzato per accedere a informazioni privilegiate o sensibili sul nodo e per le uscite dal contenitore. Se possibile, non consentire volumi hostPath nel tuo cluster.
Escalation dei privilegi: workload con shareProcessNamespace abilitato (anteprima) GKE_SHAREPROCESSNAMESPACE_POD Audit log di Cloud:
Log delle attività di amministrazione di GKE
Qualcuno ha eseguito il deployment di un carico di lavoro con l'opzione shareProcessNamespace impostata su true, consentendo a tutti i container di condividere lo stesso spazio dei nomi dei processi Linux. Ciò potrebbe consentire a un contenitore non attendibile o compromesso di eseguire la riassegnazione dei privilegi accedendo e controllando le variabili di ambiente, la memoria e altri dati sensibili dei processi in esecuzione in altri contenitori.
Escalation dei privilegi: ClusterRole con verbi con privilegi (anteprima) GKE_CLUSTERROLE_PRIVILEGED_VERBS Audit log di Cloud:
Log delle attività di amministrazione di GKE
Qualcuno ha creato un ClusterRole RBAC contenente i verbi bind, escalate o impersonate. Un soggetto associato a un ruolo con questi verbi può rubare l'identità di altri utenti con privilegi più elevati, associarsi a Roles o ClusterRoles aggiuntivi che contengono autorizzazioni aggiuntive o modificare le proprie autorizzazioni ClusterRole. Ciò potrebbe portare a questi soggetti a ottenere privilegi di amministratore del cluster.
Escalation dei privilegi: ClusterRoleBinding a ruolo con privilegi (anteprima) GKE_CRB_CLUSTERROLE_AGGREGATION_CONTROLLER Audit log di Cloud:
Log delle attività di amministrazione di GKE
Qualcuno ha creato un ClusterRoleBinding RBAC che fa riferimento al valore predefinito system:controller:clusterrole-aggregation-controller ClusterRole. Questo ClusterRole predefinito ha il verbo escalate, che consente ai soggetti di modificare i privilegi dei propri ruoli, consentendo la escalation dei privilegi.
Evasione della difesa: richiesta di firma del certificato (CSR) eliminata manualmente (anteprima) GKE_MANUALLY_DELETED_CSR Audit log di Cloud:
Log delle attività di amministrazione di GKE
Qualcuno ha eliminato manualmente una richiesta di firma del certificato (CSR). Le CSR vengono rimosse automaticamente da un controller di garbage collection, ma gli utenti malintenzionati potrebbero eliminarle manualmente per eludere il rilevamento. Se la CSR eliminata era per un certificato approvato ed emesso, l'attore potenzialmente malintenzionato ora dispone di un metodo di autenticazione aggiuntivo per accedere al cluster. Le autorizzazioni associate al certificato variano a seconda dell'oggetto incluso, ma possono essere molto privilegiate. Kubernetes non supporta la revoca dei certificati.
Accesso con credenziali: tentativo di approvazione della richiesta di firma del certificato (CSR) di Kubernetes non riuscito (anteprima) GKE_APPROVE_CSR_FORBIDDEN Audit log di Cloud:
Log delle attività di amministrazione di GKE
Qualcuno ha tentato di approvare manualmente una richiesta di firma del certificato (CSR), ma l'azione non è andata a buon fine. La creazione di un certificato per l'autenticazione del cluster è un metodo comune utilizzato dai malintenzionati per creare un accesso permanente a un cluster compromesso. Le autorizzazioni associate al certificato variano a seconda dell'oggetto incluso, ma possono essere di alto livello.
Accesso con credenziali: richiesta di firma del certificato (CSR) Kubernetes approvata manualmente (anteprima) GKE_CSR_APPROVED Audit log di Cloud:
Log delle attività di amministrazione di GKE
Qualcuno ha approvato manualmente una richiesta di firma del certificato (CSR). La creazione di un certificato per l'autenticazione del cluster è un metodo comune utilizzato dagli attaccanti per creare un accesso permanente a un cluster compromesso. Le autorizzazioni associate al certificato variano a seconda dell'oggetto incluso, ma possono essere molto privilegiate.
Esecuzione: pod Kubernetes creato con potenziali argomenti reverse shell (anteprima) GKE_REVERSE_SHELL_POD Audit log di Cloud:
Log delle attività di amministrazione di GKE
Qualcuno ha creato un pod contenente comandi o argomenti comunemente associati a una shell inversa. Gli aggressori utilizzano le shell reverse per espandere o mantenere il loro accesso iniziale a un cluster ed eseguire comandi arbitrari.
Evasione di difesa: potenziale mascheramento di pod Kubernetes (anteprima) GKE_POD_MASQUERADING Audit log di Cloud:
Log delle attività di amministrazione di GKE
Qualcuno ha eseguito il deployment di un pod con una convenzione di denominazione simile ai carichi di lavoro predefiniti creati da GKE per il normale funzionamento del cluster. Questa tecnica è chiamata mascheramento.
Escalation dei privilegi: nomi dei container Kubernetes sospetti - Exploit ed escape (anteprima) GKE_SUSPICIOUS_EXPLOIT_POD Audit log di Cloud:
Log delle attività di amministrazione di GKE
Qualcuno ha eseguito il deployment di un pod con una convenzione di denominazione simile a quella degli strumenti comuni utilizzati per le uscite dai container o per eseguire altri attacchi sul cluster.
Impatto: nomi dei container Kubernetes sospetti - Coin mining (anteprima) GKE_SUSPICIOUS_CRYPTOMINING_POD Audit log di Cloud:
Log delle attività di amministrazione di GKE
Qualcuno ha disegnato un pod con una convenzione di denominazione simile a quella dei comuni miner di criptovaluta. Potrebbe trattarsi di un tentativo da parte di un malintenzionato che ha ottenuto l'accesso iniziale al cluster di utilizzare le risorse del cluster per il mining di criptovaluta.

Come abilitare il rilevamento delle minacce di GKE

Per attivare il rilevamento delle minacce per GKE, registra un cluster idoneo nel livello avanzato dell'analisi della security posture di Kubernetes. Vengono attivate anche tutte le funzionalità incluse nel livello di base della scansione della strategia di sicurezza di Kubernetes, come i controlli della configurazione del carico di lavoro e la visualizzazione dei bollettino sulla sicurezza.

Per scoprire di più, consulta la pagina Trovare minacce nei cluster utilizzando il rilevamento delle minacce di GKE.

Limitazioni

Le seguenti limitazioni si applicano a GKE Threat Detection:

  • Disponibile solo in GKE Enterprise
  • Disponibile solo per i progetti delle organizzazioni
  • Non supporta le opzioni di Security Command Center come la configurazione della residenza dei dati
  • Mostra solo i risultati per i cluster registrati in un parco risorse
  • GKE conserva i risultati relativi alle minacce che non hanno più risorse associate interessate per un massimo di 180 giorni
  • Mostra solo i risultati per i cluster esistenti. Se elimini un cluster, il rilevamento delle minacce GKE non mostra più il rilevamento nella dashboard della security posture di GKE.

Passaggi successivi