Applicazione delle patch di sicurezza


Questo documento descrive in che modo Google gestisce le vulnerabilità e le patch di sicurezza per Google Kubernetes Engine (GKE) e GKE Enterprise. Salvo diversa indicazione, GKE Enterprise include sia le piattaforme GKE sia quelle GKE Enterprise.

Questa pagina è dedicata agli esperti di sicurezza che supportano la risoluzione di problemi o vulnerabilità di sicurezza che richiedono assistenza strategica, ad esempio incidenti e problemi riassegnati dall'assistenza. Per scoprire di più sui ruoli comuni e su esempi di attività a cui facciamo riferimento nei Google Cloud contenuti, consulta Ruoli e attività comuni degli utenti di GKE Enterprise.

Responsabilità condivisa per i patch

L'applicazione di patch è una responsabilità condivisa tra Google e il cliente. Le piattaforme diverse hanno responsabilità condivise diverse. Per ulteriori dettagli, consulta i seguenti argomenti su ogni piattaforma:

Come rileviamo le vulnerabilità

Google ha fatto grandi investimenti nella progettazione e nel rafforzamento della sicurezza proattivi, ma anche i sistemi software progettati meglio possono avere vulnerabilità. Per trovare queste vulnerabilità e correggerle prima che possano essere sfruttate, Google ha effettuato investimenti significativi su più fronti.

Ai fini dell'applicazione dei patch, GKE Enterprise è un livello del sistema operativo (OS) con i container in esecuzione al di sopra. I sistemi operativi, Container-Optimized OS o Ubuntu, sono con protezione avanzata e contengono la quantità minima di software necessaria per eseguire i container. Le funzionalità di GKE Enterprise vengono eseguite come container sopra le immagini di base.

Google identifica e corregge le vulnerabilità e le patch mancanti nei seguenti modi:

  • Container-Optimized OS: Google esegue la scansione delle immagini per identificare potenziali vulnerabilità e patch mancanti. Il team di Container-Optimized OS esamina e risolve i problemi.

  • Ubuntu: Canonical fornisce a Google build del sistema operativo a cui sono state applicate tutte le patch di sicurezza disponibili.

Google esegue la scansione dei container utilizzando Container Registry Artifact Analysis per rilevare vulnerabilità e patch mancanti in Kubernetes e nei container gestiti da Google. Se sono disponibili correzioni, lo scanner avvia automaticamente il processo di applicazione dei patch e di rilascio.

Oltre alla scansione automatica, Google rileva e corregge le vulnerabilità sconosciute agli scanner nei seguenti modi.

Google esegue i propri controlli, test di penetrazione e rilevamento delle vulnerabilità su tutte le piattaforme GKE Enterprise. Team specializzati all'interno di Google e fornitori di soluzioni di sicurezza di terze parti di fiducia conducono la propria ricerca sugli attacchi. Google ha anche collaborato con il CNCF per fornire gran parte dell'organizzazione e delle competenze di consulenza tecnica per il controllo di sicurezza di Kubernetes.

Google collabora attivamente con la community di ricerca sulla sicurezza tramite diversi programmi di premi per le vulnerabilità. Un Google Cloud programma fedeltà per le vulnerabilità dedicato offre premi significativi, tra cui 133.337 $per la migliore vulnerabilità cloud trovata ogni anno. Per GKE esiste un programma che premia i ricercatori sulla sicurezza se riescono a violare i nostri controlli di sicurezza. Il programma copre tutte le dipendenze software di GKE.

Google collabora con altri partner del settore e del software open source che condividono vulnerabilità, ricerche sulla sicurezza e patch prima del rilascio pubblico della vulnerabilità. Lo scopo di questa collaborazione è applicare patch a grandi parti dell'infrastruttura internet prima che la vulnerabilità venga annunciata al pubblico. In alcuni casi, Google contribuisce con le vulnerabilità rilevate a questa community. Ad esempio, Project Zero di Google ha scoperto e reso pubbliche le vulnerabilità Spectre e Meltdown. Il Google Cloud team di sicurezza trova e corregge regolarmente anche le vulnerabilità nella macchina virtuale basata su kernel (KVM).

La collaborazione per la sicurezza di Google avviene su molti livelli. A volte avviene in modo formale tramite programmi in cui le organizzazioni si registrano per ricevere notifiche pre-release sulle vulnerabilità del software per prodotti come Kubernetes e Envoy. La collaborazione avviene anche in modo informale grazie al nostro coinvolgimento con molti progetti open source come il kernel di Linux, i runtime dei container, la tecnologia di virtualizzazione e altri.

Per Kubernetes, Google è un membro attivo e fondatore del Security Response Committee (SRC) e ha scritto gran parte della procedura di rilascio per la sicurezza. Google fa parte dell'elenco dei distributori di Kubernetes che riceve una notifica preventiva delle vulnerabilità ed è stato coinvolto nella selezione, nella correzione, nello sviluppo di mitigazioni e nella comunicazione di quasi ogni vulnerabilità di sicurezza grave di Kubernetes. Google ha anche scoperto autonomamente diverse vulnerabilità di Kubernetes.

Sebbene le vulnerabilità meno gravi vengano scoperte e corrette al di fuori di queste procedure, la maggior parte delle vulnerabilità di sicurezza critiche viene segnalata privatamente tramite uno dei canali elencati in precedenza. La segnalazione in anteprima consente a Google di avere tempo, prima che la vulnerabilità diventi di dominio pubblico, per effettuare ricerche su come influisce su GKE Enterprise, sviluppare patch o mitigazioni e preparare consigli e comunicazioni per i clienti. Se possibile, Google applica patch a tutti i cluster prima del rilascio pubblico della vulnerabilità.

Classificazione delle vulnerabilità

GKE fa grandi investimenti per il rafforzamento della sicurezza dell'intero stack, tra cui i livelli di sistema operativo, container, Kubernetes e di rete, oltre a impostare valori predefiniti validi, configurazioni con rafforzamento della sicurezza e componenti gestiti. Insieme, questi sforzi contribuiscono a ridurre l'impatto e la probabilità di vulnerabilità.

Il team di sicurezza di GKE Enterprise classifica le vulnerabilità in base al sistema di valutazione delle vulnerabilità Kubernetes. Le classificazioni prendono in considerazione molti fattori, tra cui la configurazione e il rafforzamento della sicurezza di GKE e GKE Enterprise. A causa di questi fattori e degli investimenti di GKE in sicurezza, le classificazioni delle vulnerabilità di GKE e GKE Enterprise potrebbero essere diverse da quelle di altre origini di classificazione.

La tabella seguente descrive le categorie di gravità delle vulnerabilità:

Gravità Descrizione
Critico Una vulnerabilità facilmente sfruttabile in tutti i cluster da un utente malintenzionato remoto non autenticato che comporta la compromissione completa del sistema.
Alta Una vulnerabilità facilmente sfruttabile per molti cluster che porta alla perdita di riservatezza, integrità o disponibilità.
Medio Una vulnerabilità sfruttabile per alcuni cluster in cui la perdita di riservatezza, integrità o disponibilità è limitata da configurazioni comuni, dalla difficoltà dell'exploit stesso, dall'accesso richiesto o dall'interazione dell'utente.
Bassa Tutte le altre vulnerabilità. Lo sfruttamento è improbabile o le conseguenze dello sfruttamento sono limitate.

Consulta i bollettini sulla sicurezza per esempi di vulnerabilità, correzioni e mitigazioni e le relative valutazioni.

Come vengono corrette le vulnerabilità

L'applicazione di una patch a una vulnerabilità comporta l'upgrade a un nuovo numero di versione di GKE o GKE Enterprise. Le versioni GKE e GKE Enterprise includono componenti con versione per il sistema operativo, componenti Kubernetes e altri container che costituiscono la piattaforma GKE Enterprise. La correzione di alcune vulnerabilità richiede solo un upgrade del piano di controllo, eseguito automaticamente da Google su GKE, mentre altre richiedono upgrade sia del piano di controllo sia dei nodi.

Per mantenere i cluster aggiornati e protetti dalle vulnerabilità di tutte le gravità, consigliamo di utilizzare l'upgrade automatico dei nodi su GKE (attivato per impostazione predefinita). Per i cluster registrati nei canali di rilascio, le release delle patch vengono promosse man mano che soddisfano i requisiti di idoneità di ciascun canale. Se hai bisogno di una release di patch GKE prima che raggiunga il canale del tuo cluster, puoi eseguire manualmente l'upgrade alla versione della patch se la release della patch è della stessa versione secondaria di quella disponibile nel canale di rilascio del tuo cluster.

Su altre piattaforme GKE Enterprise, Google consiglia di eseguire l'upgrade dei componenti GKE Enterprise almeno una volta al mese.

Alcuni scanner di sicurezza o controlli manuali delle versioni potrebbero presumere erroneamente che in un componente come runc o containerd manchi una patch di sicurezza upstream specifica. GKE applica regolarmente patch ai componenti ed esegue gli upgrade delle versioni dei pacchetti solo se necessario. Ciò significa che i componenti GKE sono funzionalmente simili alle loro controparti a monte anche se il numero di versione del componente GKE non corrisponde al numero di versione a monte. Per informazioni dettagliate su una CVE specifica, consulta i bollettini sulla sicurezza di GKE.

Tempistiche di applicazione dei patch

L'obiettivo di Google è mitigare le vulnerabilità rilevate entro un periodo di tempo appropriato per i rischi che rappresentano. GKE è incluso nell'ATO provvisorio FedRAMP di Google Cloud, che richiede la correzione delle vulnerabilità note entro periodi di tempo specifici in base al loro livello di gravità, come specificato nel controllo RA-5(d) della tabella "Riepilogo delle attività e dei risultati del monitoraggio continuo" nella Guida alla strategia di monitoraggio continuo FedRAMP. L'ATO provvisoria FedRAMP diGoogle Cloudnon include Google Distributed Cloud e GKE su AWS, ma puntiamo agli stessi periodi di tempo per la correzione su questi prodotti.

Come vengono comunicate le vulnerabilità e le patch

La fonte migliore per informazioni aggiornate su vulnerabilità e patch di sicurezza si trova nel feed dei bollettini sulla sicurezza per i seguenti prodotti:

  • GKE
  • Google Distributed Cloud
  • GKE su AWS
  • GKE su Azure
  • Google Distributed Cloud

Questi bollettini seguono uno schema di numerazione Google Cloud delle vulnerabilità comune e sono collegati dalla pagina Google Cloud principale dei bollettini e dalle note di rilascio di GKE. Ogni pagina dei bollettini sulla sicurezza ha un feed RSS a cui gli utenti possono iscriversi per ricevere gli aggiornamenti.

A volte le vulnerabilità vengono mantenute private sotto embargo per un periodo di tempo limitato. Gli embarghi contribuiscono a impedire la pubblicazione anticipata di vulnerabilità che potrebbero portare a tentativi di sfruttamento diffusi prima che sia possibile intervenire per risolverli. In situazioni di embargo, le note di rilascio fanno riferimento agli "aggiornamenti della sicurezza" fino a quando l'embargo non viene revocato. Una volta rimosso l'embargo, Google aggiorna le note di rilascio per includere le vulnerabilità specifiche.

Il team di sicurezza di GKE Enterprise pubblica bollettini sulla sicurezza per le vulnerabilità con gravità elevata e critica. Quando è richiesta un'azione da parte del cliente per risolvere queste vulnerabilità di gravità elevata e critica, Google contatta i clienti via email. Inoltre, Google potrebbe anche contattare i clienti con contratti di assistenza tramite i canali di assistenza.