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:
- Controllo della configurazione dei workload
- Visualizzazione dei bollettini sulla sicurezza (anteprima)
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 ulteriori informazioni, 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
|
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 |
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:
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 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
- Scopri di più sulla dashboard della postura di sicurezza di GKE
- Trovare le minacce nei cluster utilizzando il rilevamento delle minacce di GKE