Panoramica sulla progettazione della sicurezza dell'infrastruttura Google

Questi contenuti sono stati aggiornati l'ultima volta a giugno 2024 e rappresentano lo status quo come delle volte in cui è stato scritto. 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 fornisce una panoramica di come la sicurezza è integrata in Google dell'infrastruttura tecnica. È destinato a responsabili 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 consente di fornire quanto segue:
    • Deployment sicuro dei servizi
    • Archiviazione sicura dei dati con misure di salvaguardia della privacy dell'utente finale
    • 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 restanti sezioni 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 è controllato severamente. Usiamo più livelli di sicurezza fisica per proteggere i pavimenti dei nostri data center. Usiamo identificazione biometrica, rilevamento dei metalli, videocamere, barriere per veicoli e sistemi di rilevamento delle intrusioni basati su laser. Per ulteriori informazioni, vedi Sicurezza dei data center.

All'interno del data center, implementiamo ulteriori controlli per garantire l'accesso ai server è protetto e monitorato. Per ulteriori informazioni, vedi Come Google protegge lo spazio fisico-logico nei dati .

Ospitiamo anche alcuni server in data center di terze parti. In questi data center, seguiamo gli stessi standard normativi che applichiamo ai nostri data center. Me garantire l'implementazione di misure di sicurezza fisica controllate da Google Connettività controllata da Google in aggiunta ai livelli di sicurezza forniti dall'operatore del data center. Ad esempio, eseguiamo l'identificazione biometrica sistemi, videocamere e metal detector indipendenti dal livello 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 un in ogni rete. Progettiamo le schede server e le apparecchiature di networking. Esaminiamo le i fornitori di componenti con cui collaboriamo e scelgono i componenti con attenzione. Lavoriamo con i fornitori per controllare e convalidare le proprietà di sicurezza fornite tra i componenti. Progettiamo chip personalizzati, incluso un chip di sicurezza hardware (chiamato Titan), di cui eseguiamo il deployment 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 di Google utilizzano varie tecnologie per garantire l'avvio e lo stack software. 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 una propria identità univoca. Questa identità può essere legato alle radici di attendibilità hardware e al software stivali. 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 (Remote Procedure Call) all'interno della nostra infrastruttura. Queste identità macchina possono essere revocate centralmente a causa di un incidente di sicurezza. Inoltre, i relativi certificati e chiavi vengono regolarmente ruotato e quelli precedenti 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 che eseguono il software e il firmware previsti possano e credenziali di accesso che le permettono 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 saperne di più 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. A la scalabilità richiesta del carico di lavoro, migliaia di macchine potrebbero che eseguono file binari dello stesso servizio. Un servizio di orchestrazione di cluster, chiamato Borg controlla i servizi in esecuzione direttamente sull'infrastruttura.

L'infrastruttura non presuppone alcuna attendibilità tra i servizi in esecuzione sull'infrastruttura. 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 provenienti dalla nostra i clienti (consumatori, aziende e persino i nostri stessi dati) sono distribuiti un'infrastruttura condivisa. Questa infrastruttura è composta da decine di migliaia di macchine omogenee. L'infrastruttura non separa i dati dei clienti una singola macchina o un insieme di macchine, tranne in circostanze specifiche come quando utilizzi Google Cloud per eseguire il provisioning delle VM nodi single-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 per Google Cloud, consulta Implementa i requisiti di residenza e sovranità dei dati. Per saperne di più sulla residenza dei dati e su Google Workspace, consulta Regioni di dati: scegli una posizione geografica per i tuoi dati.

Identità, integrità e isolamento dei servizi

Per abilitare la comunicazione tra i servizi, le applicazioni utilizzano l'autenticazione e l'autorizzazione cryptographic. Autenticazione e autorizzazione forniscono un forte controllo dell'accesso a livello di astrazione e granularità che che amministratori e servizi possano comprendere.

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 ulteriori meccanismi di sicurezza, come Controlli di servizio VPC e Cloud Interconnect.

A ogni servizio eseguito nell'infrastruttura è associata un'identità dell'account di servizio. Un servizio viene fornito con credenziali crittografiche che può utilizzare per dimostrare la sua identità ad altri servizi durante l'elaborazione o la ricezione di RPC. Questi 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 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ù solido per i tuoi carichi di lavoro e per proteggere i dati in uso, supportiamo Servizi di Confidential Computing per le istanze di macchine virtuali (VM) Compute Engine dei nodi di Google Kubernetes Engine (GKE).

Gestione degli accessi tra i servizi

Il proprietario di un servizio può gestire l'accesso creando un elenco di altri servizi in grado di comunicare con il servizio. Questa funzionalità di gestione degli accessi forniti dall'infrastruttura di Google. Ad esempio, un servizio può limitare la gestione RPC esclusivamente a un elenco consentito di altri servizi. Il proprietario può anche configurare al servizio con un elenco di identità di servizio consentite, che l'infrastruttura viene applicata automaticamente. L'applicazione 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 in modo da consentire o negare l'accesso in base a le 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 flussi di lavoro include catene di approvazione, logging e notifiche. Ad esempio, il livello può applicare l'autorizzazione di più parti. Questo sistema utilizza la funzionalità regola per garantire che un ingegnere che agisce da solo non possa eseguire operazioni sensibili senza prima ottenere l'approvazione di un altro tecnico autorizzato. Questo sistema consente a processi di gestione degli accessi sicuri di scalare fino a migliaia di servizi in esecuzione sull'infrastruttura.

L'infrastruttura fornisce anche servizi con il servizio canonico per gli utenti, dei gruppi e delle iscrizioni in modo da poter implementare e un controllo granulare degli accessi, ove 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 carichi di lavoro

L'infrastruttura fornisce riservatezza e integrità per i dati RPC sul in ogni rete. Tutto il traffico delle reti virtuali di Google Cloud è criptato. Comunicazione tra i carichi di lavoro dell'infrastruttura Google Cloud criptato, con esenzioni concesse solo per i carichi di lavoro ad alte prestazioni in cui il traffico non supera i vari livelli di sicurezza fisica a livello perimetrale di un data center Google. Comunicazione tra i servizi dell'infrastruttura Google Cloud ha integrità crittografica protezione dei dati.

L'infrastruttura in modo automatico ed efficiente (con l'aiuto dell'offload hardware) fornisce la crittografia end-to-end per il traffico RPC dell'infrastruttura che supera della 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 proprie email Gmail. L'interazione dell'utente finale con un'applicazione, ad esempio Gmail potrebbe abbracciare altri servizi all'interno dell'infrastruttura. Per esempio, Gmail potrebbe chiamare un'API People per accedere rubrica di un utente.

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 rappresenta ancora un ampio insieme di autorizzazioni. perché Gmail può richiedere i contatti di qualsiasi utente in qualunque nel tempo.

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 effettuando la richiesta RPC per conto di quel particolare scopo. utente. 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 quindi invia una credenziale utente, come un cookie o un token OAuth, alla dal dispositivo dell'utente. Ogni richiesta successiva dal dispositivo alla nostra infrastruttura Deve presentare la credenziale dell'utente finale.

Quando un servizio riceve una credenziale utente finale, la passa al servizio di identità per la verifica. Se la credenziale dell'utente finale viene verificato, il servizio di identità restituisce un contesto di breve durata dell'utente ticket che può essere utilizzato per le RPC relative alla richiesta dell'utente. Nel nostro esempio, il servizio che riceve il ticket contestuale dell'utente finale è Gmail, che passa il ticket ai Contatti Google. Da quel momento in poi, per qualsiasi a cascata, il servizio di chiamata può inviare il ticket contestuale dell'utente finale del chiamante come parte 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, creato dal proprietario del servizio. Per le comunicazioni inter-servizio criptate, l'autenticazione reciproca automatica utilizza le identità di chi chiama e di chi riceve la chiamata. Comunicazione è possibile solo se la configurazione di una regola di accesso lo consente.

Diagramma che mostra come Service A e Service B comunicano.

Per informazioni sulla gestione degli accessi in Google Cloud, consulta Panoramica IAM.

Accesso alla gestione dei 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 degli accessi tra i servizi Google Cloud che di solito viene fatto agenti di servizio anziché usare i ticket di contesto dell'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:

  1. Una richiesta viene inviata tramite il servizio Google Front End o il servizio Cloud Front End per le VM del cliente.
  2. La richiesta viene indirizzata al servizio di identità utente centrale che completa il controllo di autenticazione ed emette i ticket di contesto utente finale.
  3. La richiesta viene anche indirizzata alla verifica di elementi come i seguenti:
  4. Dopo che tutti questi controlli sono stati superati, vengono chiamati i servizi di backend di Google Cloud.

Per informazioni sulla gestione degli accessi in Google Cloud, consulta Panoramica IAM.

Archiviazione sicura dei dati

Questa sezione descrive come implementiamo la sicurezza dei dati memorizzati sul dell'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 servizio di gestione delle chiavi centralizzato. Applicazioni di Google accedono allo spazio di archiviazione fisico tramite l'infrastruttura di archiviazione. Usiamo diversi livelli di crittografia per proteggere i dati inattivi. Per impostazione predefinita, crittografa i dati utente prima che vengano scritti su carta archiviazione.

L'infrastruttura esegue la crittografia a livello di applicazione a livello di infrastruttura. 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 di archiviazione, ad esempio un firmware del disco dannoso. Dove applicabile, abilitiamo inoltre il supporto della crittografia hardware nei nostri dischi rigidi e SSD e monitoriamo meticolosamente ciascuna unità durante il suo ciclo di vita. Prima di un dispositivo di archiviazione criptato dismesso può lasciare fisicamente in custodia, dispositivo viene ripulito utilizzando un processo in più fasi che include due verifiche. I dispositivi che non superano questa procedura di pulizia vengono distrutti fisicamente (ovvero triturati) on-premise.

Oltre alla crittografia eseguita dall'infrastruttura con Chiavi gestite da Google, Google Cloud Google Workspace offre servizi di gestione delle chiavi che puoi proprietario e gestore. Per Google Cloud, Cloud KMS è un servizio cloud che consente di creare chiavi di crittografia personalizzate, incluse 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 invia una notifica ai servizi che gestiscono i dati dell'utente finale che l'account è stato eliminato. La possono quindi pianificare i dati associati all'utente finale eliminato per l'eliminazione. Questa funzione consente all'utente finale di controllare e i dati di Google Cloud.

Per ulteriori informazioni, consulta la sezione Eliminazione dei dati Google Cloud. Per informazioni su come utilizzare Cloud Key Management Service per disabilitare le tue chiavi, consulta Eliminare e ripristinare le tue chiavi le versioni della chiave.

Comunicazione sicura su internet

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 delle comunicazioni tra i servizi dipende dalla sicurezza della rete. Tuttavia, isoliamo la nostra infrastruttura da internet a uno spazio di indirizzi IP privato. Esponiamo solo un sottoinsieme le macchine direttamente al traffico internet esterno, in modo che possiamo protezioni aggiuntive quali difese contro gli attacchi DoS (Denial of Service) attacchi informatici.

Servizio Google Front End (GFE)

Quando un servizio deve rendersi disponibile su internet, può registrarsi con 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 e applica 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 dell'infrastruttura come qualsiasi altro servizio e può scalare per adeguarsi alle richieste in entrata come i bilanciatori del carico e i volumi di archiviazione.

Quando le VM dei clienti nelle reti VPC di Google Cloud accedono alle API e ai servizi Google ospitate direttamente su Borg, le VM dei clienti comunicano GFE denominati Cloud Front End. Per ridurre al minimo la latenza, Cloud Front End si trovano all'interno della 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. Tutta la rete il routing tra le VM del cliente, le API di Google e i servizi dipende dagli hop successivi nella rete di produzione di Google, anche per le VM dei clienti che dispongono di e gli indirizzi IP esterni.

Protezione DoS

La portata 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 del 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 DoS centrale rileva un attacco DoS, il servizio può configurare i bilanciatori del carico limitare 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 di Google. Il servizio richiede un nome utente e una password e può richiede inoltre agli utenti informazioni aggiuntive in base ai fattori di rischio. Esempio i fattori di rischio includono se gli utenti hanno eseguito l'accesso dallo stesso dispositivo o da una località simile in passato. Dopo l'autenticazione dell'utente, l'identità emette credenziali come cookie e token OAuth che possono essere utilizzati per: chiamate successive.

Quando gli utenti accedono, possono usare secondi fattori, come OTP o i token di sicurezza resistenti al phishing, come 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 il modo in cui sviluppiamo il software dell'infrastruttura, proteggiamo le nostre dei dipendenti macchine e credenziali e difenderti dalle minacce al dell'infrastruttura da parte di utenti malintenzionati interni ed esterni.

Sviluppo sicuro di software

Inoltre Le protezioni del controllo del codice sorgente e la procedura di revisione tra due parti. descritte in precedenza, utilizziamo librerie che impediscono agli sviluppatori di introdurre alcune classi di bug di sicurezza. Ad esempio, abbiamo librerie e framework che aiutano a eliminare le vulnerabilità XSS nelle app web. Usiamo anche strumenti automatizzati come fuzzer, strumenti di analisi statici e scanner di sicurezza web per rilevare automaticamente i bug di sicurezza.

Come controllo finale, utilizziamo controlli di sicurezza manuali che variano da una valutazione rapida per le funzionalità meno rischiose alle revisioni approfondite della progettazione e dell'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 dato, vedi Statistiche chiave per cacciare 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 principale autore di CVE e correzioni di bug di sicurezza per Hypervisor KVM Linux.

Protezioni del codice sorgente

Il nostro codice sorgente è archiviato in repository con integrità del codice sorgente integrata e la governance, in cui è possibile controllare sia la versione attuale che quella precedente del servizio. L'infrastruttura richiede che i file binari di un servizio vengano creati da codice sorgente, dopo essere stato esaminato, archiviato e testato. Autorizzazione binaria per Borg (BAB) è un controllo interno di applicazione delle norme che si verifica quando viene eseguito il deployment di un servizio. BAB svolge le seguenti operazioni:

  • 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.

Proteggere le credenziali e i dispositivi dei dipendenti

Adottiamo misure di salvaguardia per proteggere i nostri dipendenti dispositivi e credenziali dalle 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 applicazioni, download, estensioni del browser e contenuti del browser web per 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 interno è il potenziale di un dipendente attuale o ex dipendente, di un lavoratore a contratto o altro partner commerciale che ha o aveva autorizzato l'accesso alla nostra rete, al nostro o dati di fare un uso improprio di tale accesso e comprometterne la riservatezza, l'integrità o 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 Google alle informazioni degli utenti finali può essere registrato attraverso gli hook dell'infrastruttura. Il nostro team di sicurezza monitora i pattern di accesso e esamina gli eventi insoliti. Per ulteriori informazioni, vedi 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 Google acceda ai tuoi contenuti solo per motivi aziendali validi, ad esempio per risolvere un'interruzione o partecipare alle tue richieste di assistenza. Access Approval garantisce che l'assistenza clienti e i tecnici Google Cloud richiedano la tua approvazione esplicita quando devono accedere ai tuoi dati. L'approvazione è basata su crittografia verificati per garantire l'integrità dell'approvazione di accesso.

Per ulteriori informazioni sulle protezioni dei servizi di produzione, consulta In che modo Google protegge i propri servizi di produzione.

Monitoraggio delle minacce

Il Threat Analysis Group di Google monitora gli autori di minacce 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 le operazioni di sicurezza di Google e VirusTotal per monitorare e rispondere a molti tipi di malware. Minaccia Google Cloud Intelligence for Google Security Operations è un team di ricercatori che sviluppano minacce le informazioni sulle minacce da usare 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 Report Orizzonti di minaccia.

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 provenienti dai 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 investigativi e di risposta agli incidenti valutare, analizzare e rispondere a questi potenziali incidenti 24 ore al giorno, 365 giorni all'anno. Conduciamo Squadra rossa esercizi per misurare e migliorare l'efficacia dei nostri sistemi di rilevamento e risposta i meccanismi della ricerca di informazioni.

Passaggi successivi