Questi contenuti sono stati aggiornati a giugno 2024 e rappresentano lo status quo al momento della loro redazione. I criteri e i sistemi di sicurezza di Google potranno variare in futuro, in virtù del costante miglioramento della protezione per i nostri clienti.
Introduzione
Questo documento offre una panoramica su come la sicurezza è integrata nella progettazione dell'infrastruttura tecnica di Google. È destinata a dirigenti della sicurezza, progettisti della sicurezza e revisori.
Questo documento descrive quanto segue:
- L'infrastruttura tecnica globale di Google, progettata per fornire sicurezza durante tutto il ciclo di vita del trattamento delle informazioni di Google.
Questa infrastruttura contribuisce a fornire quanto segue:
- Deployment sicuro dei servizi
- Archiviazione sicura dei dati con salvaguardie della privacy degli utenti finali
- Comunicazione sicura tra i servizi
- Comunicazione sicura e privata con i clienti tramite internet
- Funzionamento sicuro da parte degli ingegneri di Google
- Come utilizziamo questa infrastruttura per creare servizi internet, inclusi servizi consumer come Ricerca Google, Gmail e Google Foto e servizi aziendali come Google Workspace e Google Cloud.
- I prodotti e i servizi di sicurezza sono il risultato di innovazioni implementate internamente per soddisfare le nostre esigenze di sicurezza. Ad esempio, BeyondCorp è il risultato diretto della nostra implementazione interna del modello di sicurezza zero trust.
Come la sicurezza dell'infrastruttura è progettata in livelli progressivi. Questi livelli includono:
Le sezioni rimanenti di questo documento descrivono i livelli di sicurezza.
Infrastruttura di basso livello sicura
Questa sezione descrive in che modo proteggiamo le strutture fisiche dei nostri data center, l'hardware al loro interno e lo stack software in esecuzione sull'hardware.
Sicurezza dei locali fisici
Progettiamo e costruiamo i nostri data center, che includono diversi livelli di sicurezza fisica. L'accesso a questi data center è strettamente controllato. Utilizziamo più livelli di sicurezza fisica per proteggere i piani dei nostri data center. Utilizziamo l'identificazione biometrica, il rilevamento dei metalli, le telecamere, le barriere per i veicoli e i sistemi di rilevamento delle intrusioni basati su laser. Per ulteriori informazioni, consulta Sicurezza dei data center.
All'interno del data center, implementiamo controlli aggiuntivi per garantire che l'accesso fisico ai server sia protetto e monitorato. Per ulteriori informazioni, vedi In che modo Google protegge lo spazio fisico-logico in un data center.
Ospitamo inoltre alcuni server in data center di terze parti. In questi data center, seguiamo gli stessi standard normativi che applichiamo ai nostri data center. Garantiamo che vengano adottate misure di sicurezza fisica e connettività controllate da Google in aggiunta ai livelli di sicurezza forniti dall'operatore del data center. Ad esempio, gestiamo sistemi di identificazione biometrica, telecamere e metal detector indipendenti dai livelli di sicurezza forniti dall'operatore del data center.
Se non diversamente specificato, i controlli di sicurezza in questo documento si applicano sia ai data center di proprietà di Google sia a quelli di terze parti.
Origine e progettazione hardware
I data center di Google sono costituiti da migliaia di server connessi a una rete locale. Progettiamo le schede server e le apparecchiature di networking. Controlliamo i fornitori di componenti con cui collaboriamo e scegliamo i componenti con cura. Collaboriamo con i fornitori per controllare e convalidare le proprietà di sicurezza fornite dai componenti. Progettiamo anche chip personalizzati, tra cui un chip di sicurezza hardware (chiamato Titan), che implementiamo su server, dispositivi e periferiche. Questi chip ci consentono di identificare e autenticare i dispositivi Google legittimi a livello hardware e fungono da root of trust hardware.
Stack di avvio protetto e identità della macchina
I server Google utilizzano varie tecnologie per garantire l'avvio dello stack software previsto. In ogni fase della procedura di avvio, Google implementa controlli di primo livello per contribuire a garantire lo stato di avvio previsto e a proteggere i dati dei clienti.
Ci impegniamo a migliorare continuamente i nostri server con ogni generazione di hardware successiva e a trasferire questi miglioramenti al resto del settore attraverso la partecipazione ai processi di standardizzazione con Trusted Computing Group e DMTF.
Ogni server nel data center ha la propria identità univoca. Questa identità può essere collegata alle radici di attendibilità hardware e al software con cui viene avviata la macchina. Questa identità viene utilizzata per autenticare le chiamate API verso e da servizi di gestione di basso livello sulla macchina. Questa identità viene utilizzata anche per l'autenticazione mutuale del server e la crittografia di trasporto. Abbiamo sviluppato il sistema Application Layer Transport Security (ALTS) per proteggere le comunicazioni RPC (chiamata di procedura remota) all'interno della nostra infrastruttura. Queste identità macchina possono essere revocate centralmente per rispondere a un incidente di sicurezza. Inoltre, i certificati e le chiavi vengono ruotati regolarmente e quelli vecchi vengono revocati.
Abbiamo sviluppato sistemi automatici per:
- Assicurati che i server eseguano versioni aggiornate degli stack software (incluse le patch di sicurezza).
- Rileva e diagnostica i problemi hardware e software.
- Garantire l'integrità delle macchine e delle periferiche con l'Avvio verificato e l'attestazione.
- Assicurati che solo le macchine su cui è in esecuzione il software e il firmware previsti possano accedere alle credenziali che consentono loro di comunicare sulla rete di produzione.
- Rimuovi o ripara le macchine se non superano il controllo di integrità o se non sono più necessarie.
Per ulteriori informazioni su come proteggiamo l'integrità del boot stack e delle macchine, consulta In che modo Google applica l'integrità del boot alle macchine di produzione e Attestazione remota delle macchine disaggregate.
Deployment sicuro dei servizi
I servizi Google sono i file binari delle applicazioni che i nostri sviluppatori scrivono ed eseguono sulla nostra infrastruttura. Alcuni esempi di servizi Google sono i server Gmail, i database Spanner, i server Cloud Storage, i transcoder video di YouTube e le VM Compute Engine che eseguono le applicazioni dei clienti. Per gestire la scala richiesta del carico di lavoro, potrebbero essere in esecuzione migliaia di macchine con i binari dello stesso servizio. Un servizio di orchestrazione del cluster, chiamato Borg, controlla i servizi in esecuzione direttamente sull'infrastruttura.
L'infrastruttura non presuppone alcuna relazione di attendibilità tra i servizi in esecuzione. Questo modello di attendibilità è chiamato modello di sicurezza zero-trust. Un modello di sicurezza Zero Trust prevede che nessun utente o dispositivo sia considerato attendibile per impostazione predefinita, che si trovi all'interno o all'esterno della rete.
Poiché l'infrastruttura è progettata per essere multi-tenant, i dati dei nostri clienti (consumatori, aziende e persino i nostri) vengono distribuiti nell'infrastruttura condivisa. Questa infrastruttura è composta da decine di migliaia di macchine omogenee. L'infrastruttura non separa i dati dei clienti su una singola macchina o un insieme di macchine, tranne in circostanze specifiche, ad esempio quando utilizzi Google Cloud per eseguire il provisioning di VM su nodi sole-tenant per Compute Engine.
Google Cloud e Google Workspace supportano i requisiti normativi relativi alla residenza dei dati. Per ulteriori informazioni sulla residenza dei dati e su Google Cloud, consulta Implementare i requisiti di residenza dei dati e sovranità. Per saperne di più sulla residenza dei dati e su Google Workspace, consulta Regioni di dati: scegliere una posizione geografica per i propri dati.
Identità, integrità e isolamento dei servizi
Per abilitare la comunicazione tra i servizi, le applicazioni utilizzano l'autenticazione e l'autorizzazione cryptographic. L'autenticazione e l'autorizzazione forniscono un controllo dell'accesso efficace a un livello di astrazione e granularità comprensibile per gli amministratori e i servizi.
I servizi non si basano sulla segmentazione della rete interna o sul firewall come meccanismo di sicurezza primario. Il filtraggio in entrata e in uscita in vari punti della nostra rete aiuta a prevenire lo spoofing IP. Questo approccio ci aiuta inoltre a massimizzare le prestazioni e la disponibilità della nostra rete. Per Google Cloud, puoi aggiungere meccanismi di sicurezza aggiuntivi come Controlli di servizio VPC e Cloud Interconnect.
A ogni servizio eseguito nell'infrastruttura è associata un'identità dell'account di servizio. A un servizio vengono fornite credenziali crittografiche che può utilizzare per dimostrare la propria identità ad altri servizi quando effettua o riceve RPC. Queste identità vengono utilizzate nei criteri di sicurezza. I criteri di sicurezza garantiscono che i client comunichino con il server previsto e che i server limitino i metodi e i dati a cui possono accedere determinati client.
Utilizziamo varie tecniche di isolamento e sandboxing per proteggere un servizio da altri servizi in esecuzione sulla stessa macchina. Queste tecniche includono la separazione degli utenti Linux, le sandbox basate su linguaggio (come l'API con sandbox) e sul kernel, il kernel dell'applicazione per i container (come gVisor) e la virtualizzazione basata sull'hardware. In generale, utilizziamo più livelli di isolamento per i carichi di lavoro più rischiosi. I carichi di lavoro più rischiosi includono quelli che elaborano input non sottoposti a sanificazione provenienti da internet. Ad esempio, i carichi di lavoro più rischiosi includono l'esecuzione di convertitori di file complessi su input non attendibili o l'esecuzione di codice arbitrario come servizio per prodotti come Compute Engine.
Per una maggiore sicurezza, i servizi sensibili, come il servizio di orchestrazione del cluster e alcuni servizi di gestione delle chiavi, vengono eseguiti esclusivamente su macchine dedicate.
In Google Cloud, per fornire un isolamento crittografico più efficace per i tuoi carichi di lavoro e per proteggere i dati in uso, supportiamo i servizi di Confidential Computing per le istanze delle macchine virtuali (VM) Compute Engine e per i nodi Google Kubernetes Engine (GKE).
Gestione dell'accesso tra servizi
Il proprietario di un servizio può gestire l'accesso creando un elenco di altri servizi che possono comunicare con il servizio. Questa funzionalità di gestione dell'accesso è fornita dall'infrastruttura di Google. Ad esempio, un servizio può limitare le RPC in arrivo solo a un elenco consentito di altri servizi. Il proprietario può anche configurare il servizio con un elenco consentito di identità di servizio, che l'infrastruttura applica automaticamente. L'applicazione delle norme include la registrazione degli audit, le giustificazioni e la limitazione unilaterale dell'accesso (ad esempio per le richieste degli ingegneri).
Anche agli ingegneri di Google che devono accedere ai servizi vengono assegnate singole identità. I servizi possono essere configurati per consentire o negare l'accesso in base alle loro identità. Tutte queste identità (macchina, servizio e dipendente) si trovano in uno spazio dei nomi globale gestito dall'infrastruttura.
Per gestire queste identità, l'infrastruttura fornisce un sistema di flusso di lavoro che include catene di approvazione, registrazione e notifiche. Ad esempio, il criterio di sicurezza può applicare l'autorizzazione da più parti. Questo sistema utilizza la regola di due persone per garantire che un ingegnere che agisce da solo non possa eseguire operazioni sensibili senza prima ottenere l'approvazione di un altro ingegnere autorizzato. Questo sistema consente di scalare le procedure di gestione dell'accesso sicuro a migliaia di servizi in esecuzione sull'infrastruttura.
L'infrastruttura fornisce inoltre ai servizi il servizio canonico per la gestione di utenti, gruppi e adesioni in modo che possano implementare un controllo granulare dell'accesso personalizzato, se necessario.
Le identità degli utenti finali vengono gestite separatamente, come descritto in Gestione dell'accesso ai dati degli utenti finali in Google Workspace.
Crittografia delle comunicazioni tra i carichi di lavoro
L'infrastruttura garantisce la riservatezza e l'integrità dei dati RPC sulla rete. Tutto il traffico della rete virtuale di Google Cloud è criptato. La comunicazione tra i carichi di lavoro dell'infrastruttura Google Cloud è criptata, con esenzioni concesse solo per i carichi di lavoro ad alte prestazioni in cui il traffico non attraversa i vari livelli di sicurezza fisica all'edge di un data center Google. La comunicazione tra i servizi dell'infrastruttura Google Cloud è protetta dall'integrità cryptographica.
L'infrastruttura fornisce automaticamente ed efficacemente (con l'aiuto dell'offload hardware) la crittografia end-to-end per il traffico RPC dell'infrastruttura che passa sulla rete tra i data center.
Gestione dell'accesso ai dati degli utenti finali in Google Workspace
Un tipico servizio Google Workspace è scritto per fare qualcosa per un utente finale. Ad esempio, un utente finale può archiviare le sue email su Gmail. L'interazione dell'utente finale con un'applicazione come Gmail potrebbe coinvolgere altri servizi all'interno dell'infrastruttura. Ad esempio, Gmail potrebbe chiamare un'API People per accedere alla rubrica dell'utente finale.
La sezione Crittografia delle comunicazioni tra i servizi descrive in che modo un servizio (ad esempio Contatti Google) è progettato per proteggere le richieste RPC da un altro servizio (ad esempio Gmail). Tuttavia, questo livello di controllo dell'accesso è comunque un insieme ampio di autorizzazioni perché Gmail è in grado di richiedere i contatti di qualsiasi utente in qualsiasi momento.
Quando Gmail invia una richiesta RPC a Google Contatti per conto di un utente finale, l'infrastruttura consente a Gmail di presentare un ticket di autorizzazione dell'utente finale nella richiesta RPC. Questo ticket dimostra che Gmail sta inviando la richiesta RPC per conto di quel determinato utente finale. Il ticket consente a Contatti Google di implementare un sistema di protezione in modo da restituire solo i dati dell'utente finale indicato nel ticket.
L'infrastruttura fornisce un servizio di identità utente centrale che emette questi ticket contesto utente finale. Il servizio di identità verifica l'accesso dell'utente finale e invia una credenziale, come un cookie o un token OAuth, al suo dispositivo. Ogni successiva richiesta dal dispositivo alla nostra infrastruttura deve presentare quella credenziale utente finale.
Quando un servizio riceve una credenziale utente finale, la passa al servizio di identità per la verifica. Se la credenziale utente finale viene verificata, il servizio di identità restituisce un ticket di contesto utente finale di breve durata che può essere utilizzato per le RPC relative alla richiesta dell'utente. Nel nostro esempio, il servizio che riceve il ticket di contesto utente finale è Gmail, che lo passa a Contatti Google. A questo punto, in caso di chiamate a cascata, il servizio chiamante può inviare il ticket di contesto utente finale al servizio chiamato nell'ambito della RPC.
Il seguente diagramma mostra come comunicano il servizio A e il servizio B. L'infrastruttura fornisce l'identità del servizio, l'autenticazione reciproca automatica, la comunicazione inter-servizio criptata e l'applicazione dei criteri di accesso definiti dal proprietario del servizio. Ogni servizio ha una configurazione del servizio creata dal proprietario. Per le comunicazioni inter-servizio criptate, l'autenticazione reciproca automatica utilizza le identità di chi chiama e di chi riceve la chiamata. La comunicazione è possibile solo se una configurazione della regola di accesso lo consente.
Per informazioni sulla gestione dell'accesso in Google Cloud, consulta la panoramica di IAM.
Gestione dell'accesso ai dati degli utenti finali in Google Cloud
In modo simile alla gestione dell'accesso ai dati degli utenti finali in Google Workspace, l'infrastruttura fornisce un servizio di identità utente centrale che autentica gli account di servizio e emette ticket di contesto utente finale dopo l'autenticazione di un account di servizio. La gestione dell'accesso tra i servizi Google Cloud viene solitamente eseguita con gli agenti di servizio anziché con i ticket di contesto utente finale.
Google Cloud utilizza Identity and Access Management (IAM) e prodotti sensibili al contesto come Identity-Aware Proxy per consentirti di gestire l'accesso alle risorse della tua organizzazione Google Cloud. Le richieste ai servizi Google Cloud passano per IAM per verificare le autorizzazioni.
La procedura di gestione degli accessi è la seguente:
- Una richiesta viene inviata tramite il servizio Google Front End o il servizio Cloud Front End per le VM dei clienti.
- La richiesta viene indirizzata al servizio di identità utente centrale che completa il controllo di autenticazione ed emette i ticket di contesto utente finale.
- La richiesta viene inoltre inoltrata per verificare la presenza di elementi come i seguenti:
- Autorizzazioni di accesso IAM, inclusi criteri e appartenenza al gruppo
- Access Transparency utilizzando Access Transparency
- Audit log di Cloud
- Quote
- Fatturazione
- Calcolatore degli attributi
- Perimetri di sicurezza dei Controlli di servizio VPC
- Dopo che tutti questi controlli sono stati superati, vengono chiamati i servizi di backend di Google Cloud.
Per informazioni sulla gestione dell'accesso in Google Cloud, consulta la panoramica di IAM.
Archiviazione sicura dei dati
Questa sezione descrive come implementiamo la sicurezza per i dati archiviati nell'infrastruttura.
Crittografia dei dati inattivi
L'infrastruttura di Google fornisce vari servizi di archiviazione e file system distribuiti (ad esempio Spanner e Colossus) e un Key Management Service centrale. Le applicazioni di Google accedono allo spazio di archiviazione fisico utilizzando l'infrastruttura di archiviazione. Utilizziamo diversi livelli di crittografia per proteggere i dati inattivi. Per impostazione predefinita, l'infrastruttura di archiviazione cripta i dati utente prima che vengano scritti nella memoria fisica.
L'infrastruttura esegue la crittografia a livello di applicazione o di infrastruttura di archiviazione. Le chiavi per questa crittografia sono gestite e di proprietà di Google. La crittografia consente all'infrastruttura di isolarsi da potenziali minacce ai livelli inferiori dello spazio di archiviazione, ad esempio il firmware del disco dannoso. Ove possibile, attiviamo anche il supporto della crittografia hardware nei nostri dischi rigidi e SSD e monitoriamo meticolosamente ogni unità durante il suo ciclo di vita. Prima che un dispositivo di archiviazione criptato dismesso possa uscire fisicamente dalla nostra custodia, viene pulito utilizzando una procedura in più passaggi che include due verifiche indipendenti. I dispositivi che non superano questa procedura di pulizia vengono distrutti fisicamente (ovvero triturati) on-premise.
Oltre alla crittografia eseguita dall'infrastruttura con chiavi di proprietà di Google e gestite da Google, Google Cloud e Google Workspace forniscono servizi di gestione delle chiavi per le chiavi che puoi possedere e gestire. Per Google Cloud, Cloud KMS è un servizio cloud che consente di creare le tue chiavi di crittografia, incluse le chiavi certificate FIPS 140-3 L3 basate su hardware. Queste chiavi sono specifiche per te, non per il servizio Google Cloud, e puoi gestirle in base alle tue norme e procedure. Per Google Workspace, puoi utilizzare la crittografia lato client. Per saperne di più, consulta Crittografia lato client e collaborazione rafforzata in Google Workspace.
Eliminazione dei dati
L'eliminazione di materiale o dati crittografici in genere inizia con la marcatura di chiavi o dati specifici come pianificati per l'eliminazione. La procedura per contrassegnare i dati per l'eliminazione prende in considerazione i criteri specifici del servizio e i criteri specifici del cliente.
Se pianifichiamo in anticipo l'eliminazione dei dati o disattiviamo prima le chiavi, possiamo recuperare i dati dalle eliminazioni involontarie, che siano avviate dal cliente, dovute a un bug o al risultato di un errore di processo interno.
Quando un utente finale elimina il proprio account, l'infrastruttura comunica ai servizi che gestiscono i dati dell'utente finale che l'account è stato eliminato. I servizi possono quindi pianificare l'eliminazione dei dati associati all'account utente finale eliminato. Questa funzionalità consente a un utente finale di controllare i propri dati.
Per ulteriori informazioni, consulta Eliminazione dei dati su Google Cloud. Per informazioni su come utilizzare Cloud Key Management Service per disattivare le tue chiavi, consulta Distruggere e ripristinare le versioni delle chiavi.
Comunicazione internet sicura
Questa sezione descrive come proteggiamo la comunicazione tra internet e i servizi in esecuzione sull'infrastruttura di Google.
Come discusso in Design e provenienza dell'hardware, l'infrastruttura è composta da molte macchine fisiche interconnesse tramite LAN e WAN. La sicurezza della comunicazione tra i servizi non dipende dalla sicurezza della rete. Tuttavia, isolamo la nostra infrastruttura da internet in uno spazio di indirizzi IP privato. Esponiamo solo un sottoinsieme di macchine direttamente al traffico internet esterno per poter implementare protezioni aggiuntive, come le difese contro gli attacchi denial of service (DoS).
Servizio Google Front End (GFE)
Quando un servizio deve rendersi disponibile su internet, può registrarsi in un servizio di infrastruttura chiamato Google Front End (GFE). GFE garantisce che tutte le connessioni TLS vengano terminate con i certificati corretti e seguendo le best practice, ad esempio il supporto della crittografia Perfect Forward Secrecy. GFE applica inoltre protezioni contro gli attacchi DoS. Il GFE inoltra quindi le richieste per il servizio utilizzando il protocollo di sicurezza RPC descritto in Gestione dell'accesso ai dati degli utenti finali in Google Workspace.
In effetti, qualsiasi servizio interno che deve pubblicarsi esternamente utilizza il GFE come frontend di proxy inverso intelligente. GFE fornisce l'hosting degli indirizzi IP pubblici per il nome DNS pubblico, la protezione DoS e la terminazione TLS. I GFE vengono eseguiti sull'infrastruttura come qualsiasi altro servizio e possono essere scalati in base ai volumi di richieste in entrata.
Quando le VM dei clienti nelle reti VPC di Google Cloud accedono alle API e ai servizi Google ospitati direttamente su Borg, comunicano con GFE specifici chiamati Cloud Front End. Per ridurre al minimo la latenza, gli endpoint Cloud si trovano nella stessa regione cloud della VM del cliente. Il routing di rete tra le VM del cliente e i front-end cloud non richiede che le VM del cliente abbiano indirizzi IP esterni. Quando è attivato l'accesso privato Google, le VM dei clienti con solo indirizzi IP interni possono comunicare con gli indirizzi IP esterni per le API e i servizi Google utilizzando Cloud Front End. Tutto il routing della rete tra le VM, le API e i servizi Google del cliente dipende dagli hop successivi all'interno della rete di produzione di Google, anche per le VM del cliente che hanno indirizzi IP esterni.
Protezione DoS
La scalabilità della nostra infrastruttura le consente di assorbire molti attacchi DoS. Per ridurre ulteriormente il rischio di impatto DoS sui servizi, disponiamo di protezioni DoS a più livelli.
Quando la nostra dorsale in fibra ottica fornisce una connessione esterna a uno dei nostri data center, la connessione passa attraverso diversi livelli di bilanciatori di carico hardware e software. Questi bilanciatori del carico segnalano informazioni sul traffico in entrata a un servizio DoS centrale in esecuzione sull'infrastruttura. Quando il servizio DoS centralizzato rileva un attacco DoS, può configurare i bilanciatori del carico in modo da eliminare o limitare il traffico associato all'attacco.
Le istanze GFE segnalano anche le informazioni sulle richieste che ricevono al servizio DoS centrale, incluse le informazioni a livello di applicazione a cui i bilanciatori del carico non hanno accesso. Il servizio DoS centrale può quindi configurare le istanze GFE per bloccare o limitare il traffico di attacco.
Autenticazione degli utenti
Dopo la protezione DoS, il successivo livello di difesa per le comunicazioni sicure proviene dal servizio di identità centrale. Gli utenti finali interagiscono con questo servizio tramite la pagina di accesso a Google. Il servizio richiede un nome utente e una password e può anche richiedere agli utenti informazioni aggiuntive in base ai fattori di rischio. Alcuni esempi di fattori di rischio includono se gli utenti hanno eseguito l'accesso dallo stesso dispositivo o da una località simile in passato. Dopo aver autenticato l'utente, il servizio di identità emette credenziali come cookie e token OAuth che possono essere utilizzati per le chiamate successive.
Quando gli utenti accedono, possono utilizzare fattori secondari come le OTP o i token di sicurezza resistenti al phishing, come il token di sicurezza Titan. Il token di sicurezza Titan è un token fisico che supporta il protocollo FIDO U2F (Universal 2nd Factor). Abbiamo contribuito a sviluppare lo standard aperto U2F con la FIDO Alliance. La maggior parte delle piattaforme web e dei browser ha adottato questo standard di autenticazione aperto.
Sicurezza operativa
Questa sezione descrive in che modo sviluppiamo software di infrastruttura, proteggiamo le macchine e le credenziali dei nostri dipendenti e ci difendiamo dalle minacce all'infrastruttura da parte di utenti malintenzionati interni ed esterni.
Sviluppo di software sicuro
Oltre alle protezioni del controllo del codice sorgente e alla procedura di revisione tra due parti descritte in precedenza, utilizziamo librerie che impediscono agli sviluppatori di introdurre determinate classi di bug di sicurezza. Ad esempio, abbiamo librerie e framework che aiutano a eliminare le vulnerabilità XSS nelle app web. Utilizziamo anche strumenti automatici come fuzzer, strumenti di analisi statica e scanner per la sicurezza web per rilevare automaticamente i bug di sicurezza.
Come controllo finale, utilizziamo revisioni di sicurezza manuali che vanno da valutazioni rapide per le funzionalità meno rischiose a revisioni approfondite di progettazione e implementazione per le funzionalità più rischiose. Il team che esegue queste revisioni include esperti di sicurezza web, crittografia e sicurezza del sistema operativo. Le revisioni possono portare allo sviluppo di nuove funzionalità delle librerie di sicurezza e di nuovi fuzzer che potremo utilizzare per i prodotti futuri.
Inoltre, gestiamo un Vulnerability Rewards Program che premia chiunque scopra e ci segnali i bug presenti nell'infrastruttura o nelle applicazioni. Per ulteriori informazioni su questo programma, inclusi i premi che abbiamo assegnato, consulta le statistiche chiave dei cacciatori di bug.
Investiamo anche nella ricerca di exploit zero-day e di altri problemi di sicurezza nel software open source che utilizziamo. Gestiamo Project Zero, un team di ricercatori di Google dedicato alla ricerca di vulnerabilità zero-day, tra cui Spectre e Meltdown. Inoltre, siamo il più grande mittente di CVE e correzioni di bug di sicurezza per l'hypervisor KVM di Linux.
Protezioni del codice sorgente
Il nostro codice sorgente è archiviato in repository con integrità e governance del codice sorgente integrate, in cui è possibile eseguire il controllo sia delle versioni attuali che di quelle precedenti del servizio. L'infrastruttura richiede che i programmi binari di un servizio vengano compilati da codice sorgente specifico, dopo essere stati esaminati, archiviati e testati. L'Autorizzazione binaria per Borg (BAB) è un controllo dell'applicazione forzata interno che viene eseguito quando viene eseguito il deployment di un servizio. BAB esegue quanto segue:
- Garantisce che il software di produzione e la configurazione di cui è stato eseguito il deployment in Google vengano esaminati e autorizzati, in particolare se questo codice è in grado di accedere ai dati utente.
- Garantisce che i deployment di codice e configurazione rispettino determinati standard minimi.
- Limita la capacità di un insider o di un avversario di apportare modifiche dannose al codice sorgente e fornisce anche una traccia forense da un servizio alla sua origine.
Mantenere al sicuro i dispositivi e le credenziali dei dipendenti
Adottiamo misure di salvaguardia per proteggere i dispositivi e le credenziali dei nostri dipendenti da eventuali compromissioni. Per proteggere i nostri dipendenti da sofisticati tentativi di phishing, abbiamo sostituito l'autenticazione a due fattori con OTP con l'uso obbligatorio di token di sicurezza compatibili con U2F.
Monitoriamo i dispositivi client utilizzati dai nostri dipendenti per gestire la nostra infrastruttura. Ci assicuriamo che le immagini del sistema operativo di questi dispositivi siano aggiornate con le patch di sicurezza e controlliamo le applicazioni che i dipendenti possono installare sui loro dispositivi. Abbiamo anche sistemi che analizzano le applicazioni, i download, le estensioni del browser e i contenuti dei browser web installati dagli utenti per determinare se sono adatti ai dispositivi aziendali.
La connessione alla LAN aziendale non è il nostro meccanismo principale per concedere i privilegi di accesso. Utilizziamo invece la sicurezza zero trust per proteggere l'accesso dei dipendenti alle nostre risorse. I controlli di gestione dell'accesso a livello di applicazione espongono le applicazioni interne ai dipendenti solo quando questi utilizzano un dispositivo gestito e si connettono da reti e posizioni geografiche previste. Un dispositivo client è attendibile in base a un certificato emesso per la singola macchina e in base ad affermazioni sulla sua configurazione (ad esempio software aggiornato). Per ulteriori informazioni, consulta BeyondCorp.
Riduzione dei rischi provenienti da personale interno
Il rischio di compromissione da parte di addetti ai lavori è la possibilità che un dipendente attuale o precedente, un fornitore o un altro partner commerciale che ha o ha avuto accesso autorizzato alla nostra rete, al nostro sistema o ai nostri dati possa utilizzare impropriamente questo accesso per minare la riservatezza, l'integrità o la disponibilità delle nostre informazioni o dei nostri sistemi informativi.
Per contribuire a ridurre il rischio legato agli addetti ai lavori, limitiamo e monitoriamo attivamente le attività dei dipendenti a cui è stato concesso l'accesso amministrativo all'infrastruttura. Ci impegniamo costantemente per eliminare la necessità di un accesso privilegiato per determinate attività utilizzando l'automazione che può svolgere le stesse attività in modo sicuro e controllato. Expose API limitate che consentono il debug senza esporre dati sensibili e richiediamo approvazioni di terze parti per determinate azioni sensibili svolte da operatori umani.
L'accesso dei dipendenti di Google alle informazioni degli utenti finali può essere registrato tramite hook di infrastruttura di basso livello. Il nostro team di sicurezza monitora i pattern di accesso e esamina gli eventi insoliti. Per ulteriori informazioni, consulta la pagina Gestione degli accessi con privilegi in Google Cloud (PDF).
Utilizziamo l'autorizzazione binaria per Borg per contribuire a proteggere la nostra catena di approvvigionamento dai rischi legati agli addetti ai lavori. Inoltre, il nostro investimento in BeyondProd contribuisce a proteggere i dati utente nell'infrastruttura di Google e a instaurare la fiducia nei nostri servizi.
In Google Cloud, puoi monitorare l'accesso ai tuoi dati utilizzando Access Transparency. I log di Access Transparency ti consentono di verificare che il personale di Google acceda ai tuoi contenuti solo per motivi aziendali validi, ad esempio per risolvere un'interruzione o per rispondere alle tue richieste di assistenza. Access Approval assicura che il team di assistenza clienti e i tecnici di Cloud richiedano la tua approvazione esplicita quando devono accedere ai tuoi dati. L'approvazione viene verificata tramite crittografia per garantire l'integrità dell'approvazione dell'accesso.
Per ulteriori informazioni sulle protezioni dei servizi di produzione, consulta In che modo Google protegge i suoi servizi di produzione.
Monitoraggio delle minacce
Il Threat Analysis Group di Google monitora i soggetti malintenzionati e l'evoluzione delle loro tattiche e tecniche. Gli obiettivi di questo gruppo sono contribuire a migliorare la sicurezza e la protezione dei prodotti Google e condividere queste informazioni a vantaggio della comunità online.
Per Google Cloud, puoi utilizzare Google Cloud Threat Intelligence per Google Security Operations e VirusTotal per monitorare e rispondere a molti tipi di malware. L'intelligence per le minacce di Google Cloud per Google Security Operations è un team di ricercatori che si occupano di intelligence per le minacce e sviluppano questo tipo di informazioni da utilizzare con Google Security Operations. VirusTotal è una soluzione di visualizzazione e database di malware che puoi utilizzare per comprendere meglio il funzionamento dei malware all'interno della tua azienda.
Per ulteriori informazioni sulle nostre attività di monitoraggio delle minacce, consulta il report Orizzonti delle minacce.
Rilevamento delle intrusioni
Utilizziamo sofisticate pipeline di elaborazione dati per integrare indicatori basati su host su singoli dispositivi, indicatori basati sulla rete provenienti da vari punti di monitoraggio dell'infrastruttura e indicatori dei servizi infrastrutturali. Le regole e l'intelligenza artificiale basate su queste pipeline inviano avvisi sui possibili incidenti agli ingegneri della sicurezza operativa. I nostri team di indagine e risposta agli incidenti selezionano ed esaminano i potenziali incidenti, rispondendo 24 ore su 24, 365 giorni all'anno. Conduciamo esercizi di Red Team per misurare e migliorare l'efficacia dei nostri meccanismi di rilevamento e risposta.
Passaggi successivi
- Per scoprire di più su come proteggiamo la nostra infrastruttura, consulta Building secure and reliable systems (libro O'Reilly).
- Scopri di più sulla sicurezza dei data center.
Scopri di più su come ci proteggiamo dagli attacchi DDoS.
Scopri la nostra soluzione zero trust, BeyondCorp.