Un gruppo di ricercatori di sicurezza informatica hanno scoperto una falla che colpisce Google Kubernetes Engine (GKE) e che potrebbe essere potenzialmente sfruttata da vari criminali informatici con un account Google per prendere il controllo di un cluster Kubernetes.
Se non sapessi cos’è Google Kubernetes Engine, ti basterà controllare la documentazione sul sito ufficiale di Google stessa, ma facendola molto, ma molto breve, non è che il “cuore” dal quale partono tutti i servizi Cloud del colosso tecnologico, ma che al contempo serve a facilitare alcune tipologie di attività online dell’utente finale.
In cosa consiste la vulnerabilità di Google Kubernetes Engine (GKE)
La grave vulnerabilità è stata denominata Sys:All dalla società di sicurezza cloud Orca e si stima che fino a 250.000 cluster GKE attivi siano suscettibili a questo vettore di attacco.
In un rapporto scritto dai dalla società di sicurezza informatica Orca, il ricercatore di sicurezza Ofir Yakobi ha dichiarato che “deriva da una presunta concezione diffusa che il gruppo system:authenticated in Google Kubernetes Engine includa solo identità verificate e deterministiche, mentre in realtà include qualsiasi account Google autenticato (anche al di fuori dell’organizzazione)“.
Il gruppo system:authenticated è un gruppo speciale che include tutte le entità autenticate, compresi gli utenti umani e gli account di servizio; di conseguenza, ciò potrebbe avere gravi conseguenze quando gli amministratori lo configurano erroneamente con ruoli eccessivamente permissivi (uno su tutti: il classico ruolo di amministratore).
In particolare, un criminale informatico, quindi un utente esterno in possesso di un account Google potrebbe sfruttare questa errata configurazione utilizzando il proprio token di portatore Google OAuth 2.0 per prendere il controllo del cluster, consentendo successivamente l’esecuzione di sfruttamenti come movimenti laterali, cryptomining, attacchi di denial-of-service e furto di dati sensibili.
Ma ad aggravare la situazione, questo approccio non lascia tracce che possono essere ricollegate all’account Gmail o Google Workspace effettivo che ha ottenuto il token OAuth di portatore.
Sys:All è stato riscontrato essere presente all’interno di numerose organizzazioni, portando all’esposizione di vari dati sensibili, come token JWT, chiavi API GCP, chiavi AWS, credenziali Google OAuth, chiavi private e credenziali per registri di container, quest’ultime potrebbero poi essere utilizzate per trojanizzare immagini di container.
A seguito di una segnalazione responsabile a Google, l’azienda ha preso misure per bloccare l’associazione del gruppo system:authenticated al ruolo cluster-admin nelle versioni di GKE (Google Kubernetes Engine) dalla 1.28 in poi.
“Per contribuire a proteggere i vostri cluster da attacchi malware di massa che sfruttano configurazioni errate di accesso cluster-admin, i cluster GKE che eseguono la versione 1.28 e successive non consentiranno di associare il ClusterRole cluster-admin all’utente system:anonymous o ai gruppi system:unauthenticated o system:authenticated“, si legge adesso proprio nella documentazione di Google.
Google consiglia anche agli utenti di non associare il gruppo system:authenticated a ruoli RBAC e di valutare se i cluster sono stati associati al gruppo utilizzando sia ClusterRoleBindings che RoleBindings, rimuovendo le associazioni non sicure.
Orca ha anche avvertito che, anche se non ci sono pubblicamente noti attacchi su larga scala che utilizzano questo metodo a Google Kubernetes Engine, potrebbe essere solo una questione di tempo, rendendo necessario che gli utenti adottino misure adeguate per proteggere i controlli di accesso al loro cluster.
“Anche se questa è un’ottimizzazione, è importante notare che rimangono molti altri ruoli e autorizzazioni che possono essere assegnati al gruppo“, ha dichiarato l’azienda.