Google Cloud fornisce un insieme completo e modulare di funzionalità e strumenti nei prodotti Google Cloud che i tuoi team di sviluppo, DevOps e sicurezza possono utilizzare per migliorare la security posture della tua catena di fornitura del software.
Catene di fornitura del software
Una catena di fornitura del software è costituita da tutto il codice, le persone, i sistemi e i processi che contribuiscono allo sviluppo e alla distribuzione del software, sia all'interno che all'esterno dell'organizzazione. Comprende:
- Il codice che crei, le relative dipendenze e il software interno ed esterno che utilizzi per sviluppare, compilare, creare pacchetti, installare ed eseguire il tuo software.
- Procedure e norme per l'accesso, il test, la revisione, il monitoraggio e il feedback del sistema, la comunicazione e l'approvazione.
- Sistemi attendibili per sviluppare, creare, archiviare ed eseguire il software e le relative dipendenze.
Data l'ampia portata e la complessità delle supply chain del software, esistono numerosi modi per introdurre modifiche non autorizzate al software che fornisci ai tuoi utenti. Questi vettori di attacco coprono l'intero ciclo di vita del software. Mentre alcuni attacchi sono mirati, come quello al sistema di compilazione di SolarWinds, altre minacce sono indirette o entrano nella catena di fornitura attraverso debolezze nel processo o negligenza.
Ad esempio, una valutazione della
vulnerabilità di Apache Log4j nel dicembre 2021 da parte del
team di Google Open Source Insights ha rilevato che in Maven Central erano presenti oltre 17.000 pacchetti interessati. La maggior parte di questi pacchetti non dipendeva direttamente dal pacchetto log4j-core
vulnerabile, ma aveva dipendenze che richiedevano il pacchetto.
Anche le pratiche e i processi di sviluppo influiscono sulle catene di fornitura del software. Lacune nel processo, come la mancanza di revisione del codice o di criteri di sicurezza per l'implementazione in produzione, possono consentire l'inserimento involontario di codice dannoso nella supply chain. Allo stesso modo, la mancanza di gestione delle dipendenze aumenta il rischio di vulnerabilità da pacchetti software o sorgenti esterne che utilizzi per lo sviluppo, le build o il deployment.
Proteggere le catene di fornitura del software su Google Cloud
Google Cloud fornisce:
- Prodotti e funzionalità che incorporano le best practice di sicurezza per lo sviluppo, la creazione, il test, il deployment e l'applicazione delle norme.
- Dashboard nella console Google Cloud che forniscono informazioni sulla sicurezza di origine, build, artefatti, deployment e runtime. Queste informazioni includono vulnerabilità negli artefatti di build, provenienza della build ed elenchi di dipendenze Software Bill of Materials (SBOM).
- Informazioni che identificano il livello di maturità della sicurezza della catena di fornitura del software utilizzando il framework Supply chain Levels for Software Artifacts (SLSA).
Il seguente diagramma mostra i servizi Google Cloud che collaborano per proteggere la catena di fornitura del software. Puoi integrare alcuni o tutti questi componenti nella tua catena di fornitura del software per migliorare il tuo livello di sicurezza.
Proteggere l'ambiente di sviluppo
Cloud Workstations fornisce ambienti di sviluppo completamente gestiti su Google Cloud. Gli amministratori IT e della sicurezza possono eseguire il provisioning, scalare, gestire e proteggere i propri ambienti di sviluppo. Gli sviluppatori possono accedere ad ambienti di sviluppo con configurazioni coerenti e strumenti personalizzabili.
Cloud Workstations sposta la sicurezza nelle fasi iniziali del processo di sviluppo migliorando la postura di sicurezza degli ambienti di sviluppo delle applicazioni. Le funzionalità di sicurezza includono Controlli di servizio VPC, traffico in entrata o in uscita privato, aggiornamento forzato delle immagini e criteri di accesso Identity and Access Management. Cloud Workstations offre funzionalità aggiuntive di prevenzione della perdita di dati se combinato con Chrome Enterprise Premium.
Proteggere la fornitura di software
Proteggere la fornitura di software, ovvero gli artefatti di build e le dipendenze delle applicazioni, è un passaggio fondamentale per migliorare la sicurezza della catena di fornitura del software. L'uso diffuso di software open source rende questo problema particolarmente difficile.
Assured Open Source Software fornisce pacchetti open source che Google ha verificato e testato. Questi pacchetti vengono creati utilizzando le pipeline sicure di Google e vengono regolarmente sottoposti a scansione, analizzati e testati per rilevare eventuali vulnerabilità.
Artifact Registry è un gestore di pacchetti universale per tutti gli artefatti e le dipendenze delle build. Centralizzando tutti gli artefatti e le dipendenze, hai maggiore visibilità e controllo sul codice nella tua supply chain del software.
- I repository remoti memorizzano artefatti da fonti esterne preimpostate come Docker Hub, Maven Central, Python Package Index (PyPI), Debian o CentOS, nonché fonti definite dall'utente per i formati supportati. La memorizzazione nella cache degli artefatti nei repository remoti riduce i tempi di download, migliora la disponibilità dei pacchetti e include analisi delle vulnerabilità, se abilitata.
- I repository virtuali consolidano i repository dello stesso formato dietro un unico endpoint e ti consentono di controllare l'ordine di ricerca nei repository upstream. Puoi dare la priorità ai tuoi pacchetti privati, il che riduce il rischio di attacchi di confusione delle dipendenze
- Puoi anche proteggere gli artefatti configurando funzionalità di sicurezza come controllo dell'accesso dell'accesso, i perimetri di servizio dei Controlli di servizio VPC, i criteri dell'organizzazione e altre funzionalità di sicurezza. Per maggiori dettagli, consulta la documentazione di Artifact Registry.
Artifact Analysis rileva in modo proattivo le vulnerabilità degli artefatti in Artifact Registry.
- Scansione on demand o automatica integrata per immagini container di base e pacchetti di linguaggio nei container.
- La possibilità di generare una distinta materiali software (SBOM) e caricare istruzioni Vulnerability Exploitability eXchange (VEX) per le immagini in Artifact Registry.
Proteggere la pipeline CI/CD
I malintenzionati possono attaccare le catene di fornitura del software compromettendo le pipeline CI/CD. I seguenti prodotti ti aiutano a proteggere la tua pipeline CI/CD:
Cloud Build esegue le build sull'infrastruttura Google Cloud. Le funzionalità di sicurezza includono autorizzazioni IAM granulari, Controlli di servizio VPC e ambienti di build isolati e temporanei. Le funzionalità specifiche per la sicurezza della catena di fornitura del software includono:
- Supporto per le build SLSA di livello 3 per le immagini container.
- Possibilità di generare provenienza della build autenticata e non falsificabile per applicazioni containerizzate.
Approfondimenti sulla sicurezza per le applicazioni integrate. È incluso quanto segue:
- Il livello di build SLSA, che identifica il livello di maturità del processo di compilazione del software in conformità con la specifica SLSA.
- Vulnerabilità negli artefatti della build.
- Provenienza della build, ovvero una raccolta di metadati verificabili su una build. Include dettagli come i digest delle immagini create, le posizioni delle origini di input, la toolchain di build, i passaggi di build e la durata della build.
Per istruzioni su come visualizzare gli insight sulla sicurezza per le applicazioni create, vedi Creare un'applicazione e visualizzare insight sulla sicurezza.
Cloud Deploy automatizza la distribuzione delle tue applicazioni in una serie di ambienti di destinazione in una sequenza definita. Supporta la distribuzione continua direttamente in Google Kubernetes Engine, GKE Enterprise e Cloud Run, con approvazioni e rollback con un clic, sicurezza e controllo aziendali, nonché metriche di distribuzione integrate. Inoltre, mostra gli insight sulla sicurezza per le applicazioni di cui è stato eseguito il deployment.
Proteggere le applicazioni in produzione
Google Kubernetes Engine (GKE) e Cloud Run contribuiscono a proteggere la postura di sicurezza degli ambienti di runtime. Entrambi sono dotati di funzionalità di sicurezza per proteggere le tue applicazioni in fase di runtime.
GKE può valutare la tua postura di sicurezza dei container e fornire indicazioni attive in merito a impostazioni del cluster, configurazione dei workload e vulnerabilità. GKE include una dashboard sulla postura di sicurezza che fornisce suggerimenti attendibili e strategici per migliorare la tua postura di sicurezza. Per istruzioni su come visualizzare gli approfondimenti sulla sicurezza nella dashboard della postura di sicurezza di GKE, consulta Esegui il deployment su GKE e visualizza insight sulla sicurezza.
Cloud Run include un pannello di sicurezza che mostra gli insight sulla sicurezza della supply chain del software, come le informazioni sulla conformità al livello di build SLSA, la provenienza della build e le vulnerabilità rilevate nei servizi in esecuzione. Per istruzioni sulla visualizzazione degli insight sulla sicurezza nel riquadro degli insight sulla sicurezza di Cloud Run, consulta Esegui il deployment su Cloud Run e visualizza gli insight sulla sicurezza.
Creare una catena di attendibilità tramite policy
Autorizzazione binaria consente di stabilire, mantenere e verificare una catena di attendibilità lungo la catena di fornitura del software raccogliendo attestazioni, ovvero documenti digitali che certificano le immagini.
Un'attestazione indica che l'immagine associata è stata creata eseguendo correttamente un processo specifico e obbligatorio. In base a queste attestazioni raccolte, Autorizzazione binaria consente di definire, verificare e applicare criteri basati sull'attendibilità. In questo modo, il deployment dell'immagine viene eseguito solo quando le attestazioni soddisfano i criteri dell'organizzazione. Puoi configurare Autorizzazione binaria in modo che ti invii una notifica se rileva violazioni dei criteri.
Ad esempio, le attestazioni possono indicare che un'immagine:
- Creato da Cloud Build.
- Non contiene vulnerabilità superiori a una gravità specificata. Se ci sono vulnerabilità specifiche che non si applicano alle tue applicazioni, puoi aggiungerle a una lista consentita.
Puoi utilizzare l'autorizzazione binaria con GKE e Cloud Run.
Prezzi
Ogni Google Cloud servizio ha il proprio prezzo. Per maggiori dettagli, consulta la documentazione sui prezzi dei servizi che ti interessano.
- Cloud Workstations
- Cloud Code: disponibile per tutti i clienti Google Cloud senza costi.
- Assured OSS: contatta il team di vendita per informazioni sui prezzi.
- Artifact Registry
- Artifact Analysis
- Cloud Build
- Cloud Deploy
- Cloud Run
- GKE
- Autorizzazione binaria
Passaggi successivi
- Scopri di più sulle minacce alle catene di fornitura del software.
- Valuta la tua strategia di sicurezza esistente per identificare i modi per rafforzarla.
- Scopri le best practice per proteggere la catena di fornitura del software e come i prodotti Google Cloud supportano queste pratiche.