Questo documento ti aiuta a identificare i prodotti e le strategie di mitigazione che possono aiutarti a difenderti dagli attacchi comuni a livello di applicazione descritti nelle prime 10 minacce OWASP. Google Cloud OWASP Top 10 è un elenco della Open Web Application Security (OWASP) Foundation dei 10 principali rischi per la sicurezza di cui ogni proprietario di applicazioni dovrebbe essere a conoscenza. Sebbene nessun prodotto di sicurezza possa garantire una protezione completa da questi rischi, l'applicazione di questi prodotti e servizi quando hanno senso nella tua architettura può contribuire a una solida soluzione di sicurezza multilivello.
L'infrastruttura Google è progettata per aiutarti a creare, implementare e gestire i servizi in modo sicuro. La sicurezza fisica e operativa, la crittografia dei dati at-rest e in transito e molti altri aspetti importanti di un'infrastruttura sicura sono gestiti da Google. Erediti questi vantaggi eseguendo il deployment delle tue applicazioni su Google Cloud, ma potresti dover adottare misure aggiuntive per proteggere la tua applicazione da attacchi specifici.
Le strategie di mitigazione elencate in questo documento sono ordinate in base al rischio per la sicurezza dell'applicazione e al prodotto Google Cloud . Molti prodotti svolgono un ruolo nella creazione di una strategia di difesa in profondità contro i rischi per la sicurezza web. Questo documento fornisce informazioni su come altri prodotti possono mitigare i rischi OWASP Top 10, ma fornisce ulteriori dettagli su come Google Cloud Armor e Apigee possono mitigare un'ampia gamma di questi rischi. Google Cloud Armor, che funge da firewall per applicazioni web (WAF), e Apigee, che funge da gateway API, possono essere particolarmente utili per bloccare diversi tipi di attacchi. Questi prodotti si trovano nel percorso del traffico da internet e possono bloccare il traffico esterno prima che raggiunga le tue applicazioni in Google Cloud.
Panoramiche dei prodotti
I Google Cloud prodotti elencati nella tabella seguente possono contribuire a difendersi dai 10 principali rischi per la sicurezza:
Prodotto | Riepilogo | A01 | A02 | A03 | A04 | A05 | A06 | A07 | A08 | A09 | A10 |
---|---|---|---|---|---|---|---|---|---|---|---|
Access Transparency | Estendi la visibilità e il controllo sul tuo cloud provider tramite i log degli accessi amministratore e i controlli di approvazione. | ✓ | ✓ | ||||||||
Apigee | Progettare, proteggere e scalare le interfacce di programmazione delle applicazioni | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
Artifact Registry | Archivia centralmente gli artefatti e le dipendenze della build | ✓ | |||||||||
Autorizzazione binaria | Assicurati che il deployment in Google Kubernetes Engine avvenga solo per le immagini container attendibili | ✓ | ✓ | ||||||||
Cloud Armor | Un web application firewall (WAF) di cui è stato eseguito il deployment al perimetro della rete di Google per contribuire a difendersi dai vettori di attacco comuni | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
Cloud Asset Inventory | Visualizza, monitora e analizza tutti i tuoi asset Google Cloud e Google Distributed Cloud o multi-cloud in tutti i progetti e servizi | ✓ | ✓ | ✓ | ✓ | ||||||
Cloud Build | Crea, testa ed esegui il deployment in Google Cloud | ✓ | |||||||||
Cloud Key Management Service | Gestisci le chiavi di crittografia su Google Cloud | ✓ | ✓ | ||||||||
Cloud Load Balancing | Controlla le crittografie negoziate dal proxy SSL o dal bilanciatore del carico HTTPS | ✓ | ✓ | ✓ | ✓ | ||||||
Cloud Logging | Gestione e analisi dei log in tempo reale su vasta scala | ✓ | |||||||||
Cloud Monitoring | Raccoglie e analizza metriche, eventi e metadati da servizi e un'ampia gamma di applicazioni e servizi di terze parti Google Cloud | ✓ | |||||||||
Cloud Source Repositories | Archivia, gestisci e monitora il codice in un unico posto per il tuo team | ✓ | |||||||||
Google Security Operations | Trova automaticamente le minacce in tempo reale e su larga scala utilizzando l'infrastruttura, le tecniche di rilevamento e gli indicatori di Google. | ✓ | |||||||||
Identity Platform | Aggiungi funzionalità di gestione di identità e accessi alle applicazioni, proteggi gli account utente e scala la gestione delle identità | ✓ | ✓ | ||||||||
Identity-Aware Proxy (IAP) | Protezione dell'accesso alle applicazioni e alle VM basata su identità e contesto | ✓ | ✓ | ✓ | |||||||
reCAPTCHA | Proteggi il tuo sito web da attività fraudolente, spam e comportamenti illeciti | ✓ | |||||||||
Secret Manager | Archivia chiavi API, password, certificati e altri dati sensibili | ✓ | ✓ | ||||||||
Security Command Center | Visibilità centralizzata per l'analisi della sicurezza e l'intelligence sulle minacce per identificare le vulnerabilità nelle tue applicazioni | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Sensitive Data Protection | Scopri, classifica e proteggi i tuoi dati più sensibili | ✓ | ✓ | ✓ | |||||||
Token di sicurezza Titan | Aiuta a proteggere gli utenti di alto livello con dispositivi 2FA resistenti al phishing che integrano un chip hardware (con firmware progettato da Google) per verificare l'integrità della chiave | ✓ | |||||||||
Firewall Virtual Private Cloud | Consentire o negare le connessioni da o verso le tue istanze di macchine virtuali (VM) | ✓ | |||||||||
VirusTotal | Analizza file e URL sospetti per rilevare i tipi di malware; condividili automaticamente con la community per la sicurezza informatica | ✓ | ✓ | ||||||||
Controlli di servizio VPC | Isola le risorse dei servizi multi-tenant per ridurre i rischi di esfiltrazione di dati dati Google Cloud | ✓ | ✓ | ||||||||
Google Cloud bollettini sulla sicurezza | I bollettini sulla sicurezza più recenti relativi ai prodotti Google Cloud | ✓ |
A01: Controllo dell'accesso interrotto
Controllo dell'accesso interrotto si riferisce ai controlli dell'accesso applicati solo parzialmente sul lato client o implementati in modo debole. La mitigazione di questi controlli spesso richiede una riscrittura lato applicazione per garantire che le risorse siano accessibili solo agli utenti autorizzati.
Apigee
Caso d'uso:
- Applicazione del controllo dell'accesso
- Limitare la manipolazione dei dati
Apigee supporta un approccio a più livelli per implementare i controlli dell'accesso per impedire agli autori di attacchi di apportare modifiche non autorizzate o accedere al sistema.
Configura controllo dell'accesso basato sui ruoli (RBAC) per consentire agli utenti di accedere solo alle risorse e alla configurazione di cui hanno bisogno. Crea mappe chiave-valore criptate per archiviare coppie chiave-valore sensibili, che vengono visualizzate mascherate nell'interfaccia utente Edge e nelle chiamate API di gestione. Configura Single Sign-On con il provider di identità della tua azienda.
Configura i portali per sviluppatori in modo da mostrare prodotti API specifici in base al ruolo utente. Configura il portale per mostrare o nascondere i contenuti in base al ruolo utente.
Cloud Asset Inventory
Caso d'uso:
- Monitorare l'IT non autorizzato (noto anche come shadow IT)
- Istanze di calcolo obsolete
Uno dei vettori più comuni per l'esposizione dei dati è l'infrastruttura IT orfana o non autorizzata. Configura le notifiche in tempo reale per ricevere avvisi in caso di risorse di esecuzione impreviste, che potrebbero non essere protette correttamente o utilizzare software obsoleti.
Cloud Load Balancing
Caso d'uso:
- Controllo granulare delle suite di crittografia SSL e TLS
Impedisci l'utilizzo di cifrari SSL o TLS deboli assegnando un gruppo predefinito o un elenco personalizzato di cifrari che Cloud Load Balancing può utilizzare.
Cloud Armor
Caso d'uso:
- Filtrare le richieste multiorigine
- Filtrare gli attacchi di inclusione di file locali o remoti
- Filtrare gli attacchi di iniezione di parametri HTTP
Molti casi di controllo dell'accesso dell'accesso interrotto non possono essere mitigati utilizzando un firewall per applicazioni web, perché le applicazioni non richiedono o non controllano correttamente i token di accesso per ogni richiesta e i dati possono essere manipolati lato client. Più sfide di Juice Shop relative al controllo dell'accesso interrotto. Ad esempio, la pubblicazione di feedback a nome di un altro utente sfrutta il fatto che alcune richieste non vengono autenticate lato server. Come puoi vedere nella soluzione della sfida, l'exploit per questa vulnerabilità è completamente lato client e pertanto non può essere mitigato utilizzando Cloud Armor.
Alcune sfide possono essere parzialmente mitigate lato server se l'applicazione non può essere patchata immediatamente.
Ad esempio, se gli attacchi di falsificazione delle richieste cross-site (CSRF) sono possibili perché il tuo web server implementa la condivisione delle risorse tra origini (CORS) in modo errato, come dimostrato nella sfida CSRF Juice Shop, puoi mitigare questo problema bloccando completamente le richieste provenienti da origini impreviste con una regola personalizzata. La seguente regola corrisponde a tutte le richieste con origini diverse da example.com e google.com:
has(request.headers['origin']) &&
!((request.headers['origin'] == 'https://example.com')||
(request.headers['origin'] == 'https://google.com') )
Quando il traffico che corrisponde a una regola di questo tipo viene negato, la soluzione per la verifica CSRF smette di funzionare.
La
sfida di manipolazione del carrello
utilizza
l'alterazione dei parametri HTTP (HPP)
in modo che tu possa vedere come attaccare il negozio seguendo la
soluzione della sfida.
HPP viene rilevato come parte del set di regole di attacco al protocollo. Per bloccare questo tipo di attacco, utilizza la seguente regola:
evaluatePreconfiguredExpr('protocolattack-stable')
.
Identity-Aware Proxy e accesso sensibile al contesto
Caso d'uso:
- Controllo degli accessi centralizzato
- Per cloud e on-premise
- Protegge le connessioni HTTP e TCP
- Accesso sensibile al contesto
IAP ti consente di utilizzare l'identità e il contesto per formare un muro di autenticazione e autorizzazione sicuro intorno alla tua applicazione. Impedisci l'interruzione dell'autorizzazione o controllo dell'accesso alla tua applicazione rivolta al pubblico con un sistema di autenticazione e autorizzazione gestito centralmente basato su Cloud Identity e IAM.
Applica controlli dell'accesso granulari ad applicazioni web, VM,API e applicazioni Google Workspace in base all'identità dell'utente e al contesto della richiesta, senza la necessità di utilizzare una VPN convenzionale. Google Cloud Utilizza un'unica piattaforma sia per le applicazioni cloud e on-premise sia per le risorse infrastrutturali.
Security Command Center
Security Command Center include due servizi che ti aiutano a risolvere i problemi di controllo dell'accesso interrotto: Security Health Analytics e Web Security Scanner.
Security Health Analytics supporta i seguenti casi d'uso:
- Applicazione dell'autenticazione a più fattori (MFA) o dell'autenticazione a due fattori (2FA)
- Protezione delle chiavi API
- Monitoraggio delle policy SSL
Security Health Analytics contribuisce a prevenire il controllo dell'accesso dell'accesso interrotto monitorando la conformità dell'autenticazione a più fattori, la policy SSL e l'integrità delle chiavi API.
Web Security Scanner supporta i seguenti casi d'uso:
- Repository esposti al pubblico
- Convalida dell'intestazione della richiesta non sicura
Web Security Scanner esegue la scansione delle tue applicazioni web per rilevare vulnerabilità, ad esempio repository di codice visibili pubblicamente e convalida configurata in modo errato delle intestazioni delle richieste.
A02: Errori crittografici
Errori di crittografia possono verificarsi a causa di una mancanza di crittografia o di una crittografia debole in transito oppure di dati sensibili esposti accidentalmente. Gli attacchi contro queste vulnerabilità sono in genere specifici per l'applicazione e pertanto richiedono un approccio di difesa in profondità per essere mitigati.
Apigee
Caso d'uso:
- Proteggi i dati sensibili
Utilizza TLS unidirezionale e bidirezionale per proteggere le informazioni sensibili a livello di protocollo.
Utilizza criteri come Assegna messaggio e Criterio JavaScript per rimuovere i dati sensibili prima che vengano restituiti al client.
Utilizza tecniche OAuth standard e valuta la possibilità di aggiungere HMAC, hash, stato, nonce, PKCE o altre tecniche per migliorare il livello di autenticazione per ogni richiesta.
Maschera i dati sensibili nello strumento Edge Trace.
Cripta i dati sensibili at-rest nelle mappe chiave/valore.
Cloud Asset Inventory
Caso d'uso:
- Servizio di ricerca
- Analizzatore dell'accesso
Uno dei vettori più comuni per l'esposizione dei dati è l'infrastruttura IT orfana o non autorizzata. Puoi identificare i server che nessuno gestisce e i bucket con regole di condivisione troppo ampie analizzando i dati delle serie temporali degli asset cloud.
Configura le notifiche in tempo reale per ricevere avvisi in caso di provisioning imprevisto di risorse che potrebbero essere protette in modo improprio o non autorizzate.
API Cloud Data Loss Prevention (parte di Sensitive Data Protection)
Caso d'uso:
- Individuazione e classificazione dei dati sensibili
- Mascheramento automatico dei dati
L'API Cloud Data Loss Prevention (API DLP) consente di eseguire la scansione di eventuali dati potenzialmente sensibili archiviati in bucket o database per impedire la divulgazione involontaria di informazioni. Se vengono identificati dati non consentiti, questi possono essere contrassegnati o oscurati automaticamente.
Cloud Key Management Service
Caso d'uso:
- Gestione sicura delle chiavi di crittografia
(Cloud KMS) contribuisce a prevenire la potenziale esposizione delle tue chiavi di crittografia. Utilizza questo Key Management Service ospitato nel cloud per gestire le chiavi di crittografia simmetriche e asimmetriche per i tuoi servizi cloud nello stesso modo in cui faresti on-premise. Puoi generare, utilizzare, ruotare ed eliminare chiavi di crittografia AES256, RSA 2048, RSA 3072, RSA 4096, EC P256 ed EC P384.
Cloud Load Balancing
Caso d'uso:
- Controllo granulare delle suite di crittografia SSL e TLS
I criteri SSL possono contribuire a prevenire l'esposizione di dati sensibili consentendoti di controllare le funzionalità e le crittografie SSL e TLS consentite in un bilanciatore del carico. Blocca le suite di crittografia non approvate o non sicure in base alle esigenze.
Cloud Armor
Caso d'uso:
- Filtrare gli URL di attacco noti
- Limitare l'accesso agli endpoint sensibili
In generale, l'esposizione di dati sensibili deve essere interrotta alla fonte, ma poiché ogni attacco è specifico per l'applicazione, i firewall per applicazioni web possono essere utilizzati solo in modo limitato per interrompere l'esposizione dei dati in generale. Tuttavia, se non è possibile applicare immediatamente patch all'applicazione, puoi limitare l'accesso a pattern di richieste o endpoint vulnerabili utilizzando le regole personalizzate di Cloud Armor.
Ad esempio, diverse sfide di Juice Shop relative all'esposizione di dati sensibili possono essere sfruttate a causa di directory traversal non sicure e attacchi di iniezione di byte nulli. Puoi mitigare queste iniezioni controllando le stringhe nell'URL con la seguente espressione personalizzata:
request.path.contains("%00") || request.path.contains("%2500")
Puoi
risolvere
la
sfida delle metriche esposte
accedendo alla sottodirectory /metrics
utilizzata da Prometheus.
Se hai un endpoint sensibile esposto e non puoi rimuovere immediatamente
l'accesso, puoi limitarlo a eccezione di determinati intervalli di indirizzi IP. Utilizza
una regola simile alla seguente espressione personalizzata:
request.path.contains("/metrics") && !(inIpRange(origin.ip, '1.2.3.4/32')
Sostituisci 1.2.3.4/32
con l'intervallo di indirizzi IP
che deve avere accesso all'interfaccia delle metriche.
I file di log esposti accidentalmente
vengono utilizzati per risolvere una delle sfide di Juice Shop. Per evitare l'esposizione dei log, imposta
una regola che impedisca completamente l'accesso ai file di log:
request.path.endsWith(".log")
.
Identity-Aware Proxy e accesso sensibile al contesto
Caso d'uso:
- Accesso remoto sicuro ai servizi sensibili
- Controllo degli accessi centralizzato
- Accesso sensibile al contesto
Utilizza l'identità e il contesto per formare un perimetro di autenticazione e autorizzazione sicuro intorno alla tua applicazione. Esegui il deployment di strumenti come la segnalazione di bug interni, la knowledge base aziendale o l'email dietro IAP per consentire l'accesso sensibile al contesto solo a persone autorizzate da qualsiasi punto di internet.
Con l'accesso sensibile al contesto, puoi applicare controlli di accesso granulari ad applicazioni web, macchine virtuali (VM), Google Cloud API e applicazioni Google Workspace in base all'identità dell'utente e al contesto della richiesta senza una VPN convenzionale. Basato sul modello di sicurezza Zero Trust e sull'implementazione di BeyondCorp di Google, l'accesso sensibile al contesto ti consente di fornire l'accesso ai tuoi utenti, applicare controlli granulari e utilizzare un'unica piattaforma per le tue applicazioni cloud e on-premise e le risorse dell'infrastruttura.
Secret Manager
Caso d'uso:
- Chiavi di crittografia
- Chiavi API
- Altre credenziali di sistema
Secret Manager è un servizio di archiviazione sicuro per i tuoi dati più preziosi, come chiavi API, password del account di servizio e asset crittografici. L'archiviazione centralizzata di questi secret ti consente di fare affidamento sui sistemi di autenticazione e autorizzazione di Google Cloud, incluso IAM, per determinare se una determinata richiesta di accesso è valida.
Secret Manager non è progettato per operazioni su larga scala come la tokenizzazione delle carte di credito o l'archiviazione delle password dei singoli utenti. Queste applicazioni devono basarsi su Identity Platform per la gestione di identità e accessi cliente (GIAC), su Cloud Identity per i membri della tua organizzazione o su un software di tokenizzazione dedicato.
Security Command Center
Security Command Center include due servizi che ti aiutano a risolvere gli errori di crittografia: Security Health Analytics e Web Security Scanner.
Security Health Analytics supporta i seguenti casi d'uso:
- Applicazione di MFA/2FA
- Protezione delle chiavi API
- Applicazione rotazione della chiave API
- Privacy delle immagini Compute
- Applicazione delle regole per le chiavi SSH
- Monitoraggio dell'avvio protetto
- Sicurezza dell'accesso API
- Monitoraggio delle policy SSL
- Logging disabilitato
- Avvisi ACL bucket pubblico
Security Health Analytics contribuisce a prevenire l'esposizione di dati sensibili monitorando la conformità dell'autenticazione a più fattori e lo stato delle tue chiavi API. Ricevi avvisi per configurazioni non sicure nell'archiviazione di immagini container, Cloud Storage, criteri SSL, criteri per le chiavi SSH, logging, accesso API e altro ancora.
Web Security Scanner supporta il seguente caso d'uso:
- Password non criptate trasmesse sulla rete
Web Security Scanner esegue la scansione delle tue applicazioni web e segnala i risultati di errori e vulnerabilità. Se la tua
applicazione trasmette password in chiaro,
Web Security Scanner genera un risultato CLEAR_TEXT_PASSWORD
.
VirusTotal
Caso d'uso:
- Prevenzione del phishing
VirusTotal ti consente di analizzare gli URL alla ricerca di contenuti dannosi prima di presentarli ai tuoi utenti o dipendenti, indipendentemente dal fatto che si trovino in input utente, email, chat, log o altre posizioni.
Controlli di servizio VPC
Caso d'uso:
- Firewall per servizi gestiti
Inserisci i servizi gestiti in modo critico in un firewall per controllare chi può chiamare il servizio e a chi può rispondere. Blocca l'uscita non autorizzata e l'esfiltrazione di dati con le regole perimetrali in uscita su servizi come Cloud Run Functions. Impedisci le richieste da utenti e posizioni non autorizzati a datastore e database gestiti. Crea perimetri sicuri attorno ad API potenti o potenzialmente costose.
Scanner di applicazioni web
Caso d'uso:
- Scanner di rischi per la sicurezza delle applicazioni web
- Scanner della disponibilità del repository di codice sorgente
Per impedire alla tua applicazione web di esporre dati sensibili, assicurati che le password non vengano inviate in testo non crittografato. Evita la divulgazione di codice sorgente non elaborato potenzialmente devastante controllando i repository di codice sorgente git e Apache Subversion esposti. Queste scansioni sono progettate per coprire controlli specifici della OWASP Top 10.
A03: Iniezione
I difetti di iniezione, come l'iniezione SQL, NoSQL, OS e LDAP, si verificano quando dati non attendibili vengono inviati a un interprete come parte di un comando o di una query. I dati ostili dell'aggressore possono indurre l'interprete a eseguire comandi non intenzionali o ad accedere ai dati senza un'autorizzazione adeguata. Ti consigliamo di sanificare o filtrare i dati utente dall'applicazione prima di inviarli a un interprete.
Le sezioni seguenti descrivono i prodotti Google Cloud che possono contribuire a ridurre questo rischio.
Apigee
Caso d'uso:
- Blocco dell'SQL injection
- Blocco dell'iniezione NoSQL
- Blocco dell'injection LDAP
- Blocco dell'iniezione di JavaScript
Apigee fornisce diverse norme di convalida dell'input per verificare che i valori forniti da un client corrispondano alle tue aspettative configurate prima di consentire l'ulteriore elaborazione delle norme o delle regole. Apigee, che funge da gateway per le richieste API in entrata, esegue un controllo dei limiti per garantire che la struttura del payload rientri in un intervallo accettabile. Puoi configurare un proxy API in modo che la routine di convalida dell'input trasformi l'input per rimuovere sequenze di caratteri rischiose e sostituirle con valori sicuri.
Esistono diversi approcci per convalidare l'input con la piattaforma Apigee:
- JSONThreatProtection controlla il payload JSON per rilevare minacce.
- XMLThreatProtection controlla la presenza di minacce nel payload XML.
- JavaScript convalida parametri e intestazioni.
- Il criterio RegularExpressionProtection gestisce le iniezioni di codice SQL.
- La
policy
OASValidation
convalida un messaggio di richiesta o risposta in entrata rispetto a una specifica OpenAPI (JSON o YAML). - La
norma
SOAPMessageValidation
convalida qualsiasi messaggio XML in base ai relativi schemi XSD e può anche convalidare i messaggi SOAP in base a una definizione WSDL.
Cloud Armor
Caso d'uso:
- Filtro SQL injection
- Filtro di iniezione PHP
Cloud Armor può bloccare gli attacchi di iniezione comuni prima che raggiungano la tua
applicazione. Per l'SQL injection (SQLi), Cloud Armor dispone di un
insieme di regole predefinito che
si basa sull'insieme di regole di base OWASP Modsecurity. Puoi
creare criteri di sicurezza
che
bloccano gli attacchi SQLi comuni
definiti nel set di regole di base utilizzando la
regola evaluatePreconfiguredExpr('sqli-stable')
da sola o in
combinazione con altre regole personalizzate. Ad esempio, puoi limitare il blocco SQLi ad applicazioni specifiche utilizzando un filtro del percorso URL.
Per l'iniezione PHP, esiste un altro
insieme di regole preconfigurato. Puoi utilizzare la regola evaluatePreconfiguredExpr('php-stable')
per bloccare gli attacchi di iniezione PHP comuni.
A seconda dell'applicazione, l'attivazione delle espressioni preconfigurate potrebbe portare a falsi positivi perché alcune regole nel set di regole sono piuttosto sensibili. Per ulteriori informazioni, consulta la sezione Risoluzione dei problemi relativi ai falsi positivi e Come ottimizzare il set di regole per diversi livelli di sensibilità.
Per gli attacchi di iniezione diversi da quelli che hanno come target SQL o PHP, puoi creare regole personalizzate per bloccare le richieste quando nel percorso o nella query della richiesta vengono utilizzate parole chiave specifiche o sequenze di escape in questi protocolli. Assicurati che questi pattern non vengano visualizzati nelle richieste valide. Puoi anche limitare l'utilizzo di queste regole solo per endpoint o percorsi specifici che potrebbero interpretare i dati che vengono loro trasmessi.
Inoltre, alcuni attacchi di iniezione possono essere mitigati utilizzando le regole preconfigurate per l'esecuzione di codice da remoto e l'iniezione di file da remoto.
Security Command Center
Security Command Center include due servizi che ti aiutano a risolvere i difetti di iniezione: Container Threat Detection e Web Security Scanner.
Container Threat Detection supporta i seguenti casi d'uso:
- Rilevamento di script dannosi
- Rilevamento della shell inversa
- Rilevamento dell'installazione di malware
Il rilevatore Malicious Script
Executed
di
Container Threat Detection
analizza ogni script shell eseguito sul sistema e segnala quelli che sembrano
dannosi. Questo rilevatore ti consente di scoprire attacchi di iniezione di comandi shell.
Dopo un'iniezione di comandi shell riuscita, un malintenzionato può generare una shell
inversa, che attiva il rilevatore Reverse
Shell
. In alternativa, possono installare malware, che attiva i rilevatori Added
Binary
Executed
e Added Library
Loaded
.
Web Security Scanner supporta i seguenti casi d'uso:
- Monitoraggio per cross-site scripting
- Monitoraggio per SQL injection
Web Security Scanner esegue la scansione delle tue applicazioni web per rilevare vulnerabilità e fornisce rilevatori che monitorano gli attacchi di tipo cross-site scripting e SQL injection.
A04: Progettazione non sicura
Progettazione non sicura si verifica quando le organizzazioni non implementano i mezzi per valutare e affrontare le minacce durante il ciclo di vita dello sviluppo. La modellazione delle minacce, se eseguita nelle fasi iniziali di progettazione e perfezionamento e continuata durante le fasi di sviluppo e test, aiuta le organizzazioni ad analizzare le ipotesi e i difetti di errore. Una cultura dell'apprendimento dagli errori senza attribuire colpe è fondamentale per una progettazione sicura.
Apigee
Casi d'uso:
- Convalida dell'input
- Controlli di accesso
- Gestione dei guasti
- Norme per la protezione dei contenuti
- Gestione delle password
Apigee ti consente di convalidare le richieste e le risposte in entrata alla tua applicazione utilizzando il criterio OASValidation. Inoltre, per proteggere l'accesso, puoi configurare Single Sign-On (SSO), Controllo controllo dell'accesso basato sui ruoli (RBAC), limitare l'accesso alle API (utilizzando Auth0 ad esempio) e limitare gli indirizzi IP che hanno accesso al tuo ambiente. Utilizzando le regole di gestione degli errori, puoi personalizzare il modo in cui il proxy API reagisce agli errori.
Per proteggere gli utenti globali di Apigee da password non sicure, Apigee fornisce opzioni di scadenza, blocco e reimpostazione della password. Inoltre, puoi attivare l'autenticazione a due fattori (2FA).
API Cloud Data Loss Prevention (parte di Sensitive Data Protection)
Caso d'uso:
- Identificare e oscurare i dati riservati
Utilizzando l'API Cloud Data Loss Prevention, puoi identificare i dati riservati e tokenizzarli. L'API DLP può aiutarti a limitare l'esposizione dei dati riservati perché, dopo che i dati sono stati tokenizzati e archiviati, puoi configurare i controlli dell'accesso per limitare chi può visualizzarli. Per saperne di più, consulta Automatizzare la classificazione dei dati caricati su Cloud Storage e Anonimizzazione e reidentificazione delle PII in set di dati su larga scala utilizzando Sensitive Data Protection.
Secret Manager
Caso d'uso:
- Proteggere l'archiviazione delle credenziali
Secret Manager consente ad applicazioni e pipeline di accedere ai valori dei secret denominati in base alle autorizzazioni concesse con IAM. Fornisce inoltre l'accesso programmatico ai secret in modo che i processi automatizzati possano accedere ai valori dei secret. Se abilitata, ogni interazione con Secret Manager fornisce un audit trail. Utilizza questi audit trail per facilitare le indagini forensi e soddisfare le esigenze di conformità.
Security Command Center
Il servizio Web Security Scanner che fa parte di Security Command Center supporta il seguente caso d'uso:
- Identifica le vulnerabilità di sicurezza nelle tue applicazioni.
Web Security Scanner
esegue la scansione delle tue applicazioni web alla ricerca di vulnerabilità. Segue i link e tenta
di attivare il maggior numero possibile di input utente e gestori di eventi. Il suo
rilevatore di CACHEABLE_PASSWORD_INPUT
genera un
risultato se le password inserite nell'applicazione web possono essere memorizzate nella cache in una normale
cache del browser anziché in uno spazio di archiviazione sicuro delle password.
A05: Errata configurazione della sicurezza
La configurazione errata della sicurezza si riferisce a difetti delle applicazioni non patchati, account predefiniti aperti e file e directory non protetti che in genere possono essere evitati con l'hardening delle applicazioni. La configurazione errata della sicurezza può verificarsi in molti modi, ad esempio affidandosi a configurazioni predefinite, effettuando configurazioni parziali che potrebbero essere non sicure, consentendo ai messaggi di errore di contenere dettagli sensibili, memorizzando i dati nel cloud senza controlli di sicurezza adeguati o configurando in modo errato le intestazioni HTTP.
Apigee
Caso d'uso:
- Gestire le configurazioni di sicurezza
- Monitorare le configurazioni di sicurezza
Un flusso condiviso consente agli sviluppatori di API di combinare criteri e risorse in un gruppo riutilizzabile. Un flusso condiviso ti consente di garantire la coerenza, ridurre i tempi di sviluppo e gestire il codice acquisendo in un unico posto risorse e criteri riutilizzabili. Puoi includere un flusso condiviso all'interno di singoli proxy API utilizzando un criterio FlowCallout oppure puoi inserire i flussi condivisi negli hook di flusso per eseguire automaticamente la logica del flusso condiviso per ogni proxy API di cui è stato eseguito il deployment nello stesso ambiente.
Cloud Asset Inventory
Caso d'uso:
- Servizio di notifiche in tempo reale
Le notifiche in tempo reale possono avvisarti dell'approvvigionamento imprevisto di risorse che potrebbero essere protette o autorizzate in modo improprio.
Cloud Load Balancing
Caso d'uso:
- Controllo granulare delle suite di crittografia SSL e TLS
Impedisci l'utilizzo di cifrari SSL o TLS noti per essere vulnerabili assegnando un gruppo predefinito o un elenco personalizzato di cifrari utilizzabili da un bilanciatore del carico.
Cloud Armor
Caso d'uso:
- Filtrare gli endpoint non sicuri
- Filtrare gli attacchi di inclusione di file locali o remoti
- Filtra attacchi al protocollo
Poiché la configurazione errata della sicurezza può verificarsi a livello di applicazione, la OWASP Foundation consiglia di proteggere e applicare patch direttamente all'applicazione e di rimuovere tutte le funzionalità non necessarie.
Anche se un web application firewall (WAF), come Cloud Armor, non può aiutarti a correggere la configurazione errata sottostante, puoi bloccare l'accesso a parti dell'applicazione completamente o per tutti, ad eccezione di indirizzi IP o paesi specifici. Limitare l'accesso può ridurre il rischio che queste configurazioni errate vengano sfruttate.
Ad esempio, se la tua applicazione espone un'interfaccia amministrativa utilizzando un
URL comune come /admin
, puoi limitare l'accesso a questa interfaccia anche se
è autenticata. Puoi farlo con una regola di negazione, ad esempio:
request.path.contains("/admin") && !(inIpRange(origin.ip, '1.2.3.4/32')
Sostituisci 1.2.3.4/32
con l'intervallo di indirizzi IP
che deve avere accesso all'interfaccia amministratore.
Alcune configurazioni errate possono essere parzialmente mitigate utilizzando i set di regole predefiniti per l'inclusione di file locali (LFI) o remoti (RFI). Ad esempio, l'exploit della sfida cross-site imaging di Juice Shop non riesce quando viene applicato il set di regole LFI. Utilizza la regola
evaluatePreconfiguredExpr('lfi-stable') ||
evaluatePreconfiguredExpr('rfi-stable')
per bloccare le richieste che utilizzano i set di regole LFI
e RFI e
ottimizza le regole
in base alle necessità. Puoi verificare che la
soluzione della sfida
non vada più a buon fine.
Alcuni attacchi HTTP possono essere mitigati anche utilizzando set di regole preconfigurati:
- Per evitare la
manomissione del verbo HTTP,
utilizza il set di regole di applicazione del metodo. Utilizza la regola
evaluatePreconfiguredExpr('methodenforcement-stable')
per non consentire metodi di richiesta HTTP diversi daGET
,HEAD
,POST
eOPTIONS
- Per bloccare attacchi comuni contro l'analisi HTTP e i proxy, come
HTTP request smuggling,
HTTP response splitting,
e
HTTP header injection,
utilizza il set di regole di attacco al protocollo utilizzando la regola
evaluatePreconfiguredExpr('protocolattack-stable')
.
Security Command Center
Security Command Center include due servizi che ti aiutano a risolvere i problemi di configurazione errata della sicurezza: Security Health Analytics e Web Security Scanner.
Security Health Analytics supporta il seguente caso d'uso:
- Monitoraggio e avvisi relativi al controllo della sicurezza
Security Health Analytics monitora molti indicatori tramite un'unica interfaccia per garantire che la tua applicazione mantenga le best practice di sicurezza.
Web Security Scanner supporta i seguenti casi d'uso:
- Scanner di applicazioni web personalizzato per OWASP Top 10
- Errori di configurazione del server HTTP
- Contenuto HTTP/HTTPS misto
- Entità esterna XML (XXE)
Web Security Scanner monitora gli errori di sicurezza comuni, come mancata corrispondenza del tipo di contenuti, intestazioni di sicurezza non valide e pubblicazione di contenuti misti. Web Security Scanner monitora anche le vulnerabilità, come quelle XXE. Queste scansioni sono progettate per coprire i controlli OWASP Top 10. I seguenti rilevatori eseguono la scansione per rilevare errori di configurazione della sicurezza:
INVALID_CONTENT_TYPE
INVALID_HEADER
MISMATCHING_SECURITY_HEADER_VALUES
MISSPELLED_SECURITY_HEADER_NAME
MIXED_CONTENT
XXE_REFLECTED_FILE_LEAKAGE
Per saperne di più su questi e altri rilevatori, vedi Panoramica di Web Security Scanner.
A06: Componenti vulnerabili e obsoleti
Componenti con vulnerabilità note è una categoria per i vettori di attacco generici e queste vulnerabilità vengono attenuate al meglio monitorando e aggiornando rapidamente tutti i componenti dell'applicazione.
Autorizzazione binaria
Caso d'uso:
- Limita i cluster GKE ai container attendibili
Autorizzazione binaria è un controllo di sicurezza della fase di deployment che contribuisce a garantire che venga eseguito il deployment su Google Kubernetes Engine (GKE) solo delle immagini container attendibili. Con Autorizzazione binaria, puoi richiedere che le immagini vengano firmate da autorità attendibili durante il processo di sviluppo e quindi applicare la convalida della firma durante il deployment. Se applichi la convalida, puoi avere la certezza che il processo di build e rilascio utilizzi solo immagini verificate.
Cloud Load Balancing
Caso d'uso:
- Controllo granulare delle suite di crittografia SSL e TLS
Impedisci l'utilizzo di cifrari SSL o TLS noti per essere vulnerabili assegnando un gruppo predefinito o un elenco personalizzato di cifrari che Cloud Load Balancing può utilizzare.
Cloud Armor
Caso d'uso:
- Bloccare l'accesso agli endpoint delle applicazioni inutilizzati
- Bloccare i vettori di attacco comuni
Un web application firewall (WAF) come Cloud Armor non deve essere utilizzato come unica strategia di mitigazione per bloccare gli attacchi a questa categoria, perché gli attacchi sono spesso specifici della libreria e non possono essere bloccati da set di regole preconfigurati o non possono essere patchati lato server. Il monitoraggio e l'upgrade regolari di tutti i componenti dell'applicazione sono l'unica opzione per mitigare questo tipo di vulnerabilità.
Tuttavia, Cloud Armor può contribuire a mitigare alcuni attacchi comuni contro applicazioni vulnerabili tramite le sue regole preconfigurate per l'esecuzione di codice remoto, l'inclusione di file locali o l'inclusione di file remoti.
Se conosci componenti vulnerabili nella tua applicazione, ma non puoi applicare patch immediatamente, puoi bloccare l'accesso a queste parti dell'applicazione per ridurre temporaneamente il rischio di exploit di questi componenti. Crea una regola personalizzata che corrisponda al percorso dell'URL o alle query che accedono a questi componenti vulnerabili e nega l'accesso. Se richiedi l'accesso a questi componenti da utenti o posizioni specifici, puoi comunque consentire a determinati indirizzi IP di origine attendibili di accedere a questi componenti. Una regola che utilizza il percorso dell'URL è simile alla seguente:
`request.path.contains("/component") && !(inIpRange(origin.ip, '1.2.3.4/32')
Sostituisci quanto segue:
/component
: il percorso del componente con vulnerabilità note1.2.3.4/32
: l'intervallo di indirizzi IP che deve mantenere l'accesso all'interfaccia.
Se ci sono parti della tua applicazione, ad esempio determinate directory o tipi di file a cui gli utenti finali non devono mai accedere, puoi anche bloccare o limitare l'accesso a queste risorse con una regola personalizzata, riducendo in modo proattivo il rischio se questi componenti diventano vulnerabili in futuro.
Google Cloud Bollettini sulla sicurezza
Caso d'uso:
- Monitoraggio dei bollettini sulla sicurezza
- CVE per i prodotti Google Cloud
I Google Cloud bollettini sulla sicurezza sono una fonte autorevole per i bollettini sulla sicurezza che interessanoGoogle Cloud. I post includono informazioni di base, link CVE e consigli per ulteriori azioni.
Security Command Center
Security Command Center include tre servizi che ti aiutano a risolvere i problemi relativi a componenti vulnerabili e obsoleti: Container Threat Detection, Event Threat Detection e Web Security Scanner.
Container Threat Detection supporta i seguenti casi d'uso:
- Rilevamento di script dannosi
- Rilevamento della shell inversa
- Rilevamento dell'installazione di malware
Se un malintenzionato sfrutta un componente vulnerabile ed esegue uno script dannoso, il
Malicious Script
Executed
detector di
Container Threat Detection
genera un risultato. Se un malintenzionato genera una shell inversa, il rilevatore Reverse
Shell
genera un risultato. Se un malintenzionato installa malware, i rilevatori Added
Binary
Executed
e Added Library
Loaded
generano risultati.
Event Threat Detection supporta i seguenti casi d'uso:
- Rilevamento del cryptomining
- Rilevamento di malware
- Esfiltrazione di dati
- DoS in uscita
Event Threat Detection monitora il flusso di Cloud Logging e applica la logica di rilevamento e l'intelligence sulle minacce a un livello granulare. Quando Event Threat Detection rileva una minaccia, scrive un risultato in Security Command Center e in un progetto Cloud Logging. Le seguenti regole di rilevamento sono utili per rilevare gli effetti dell'utilizzo di componenti con vulnerabilità note:
- Cryptomining. Rileva il cryptomining in base alle richieste DNS o alla connessione a indirizzi di mining noti.
- Malware. Rileva richieste DNS basate su malware o connessioni a indirizzi dannosi noti.
- Esfiltrazione nella tabella esterna. Rileva le risorse salvate al di fuori dell'organizzazione, incluse le operazioni di copia o trasferimento.
- DoS in uscita. Rileva le vulnerabilità sfruttate che tentano attacchi di negazione del servizio.
Web Security Scanner supporta i seguenti casi d'uso:
- Librerie obsolete
- Dashboard delle vulnerabilità e dei risultati
Web Security Scanner monitora la presenza di librerie obsolete incluse nella tua applicazione web. Puoi monitorare questi risultati nella dashboard di Security Command Center.
A07: Errori di identificazione e autenticazione
Errori di identificazione e autenticazione sono rischi comuni perché l'autenticazione delle applicazioni e la gestione delle sessioni vengono spesso implementate in modo errato. Gli autori degli attacchi possono sfruttare i difetti di implementazione, come password, chiavi e token di sessione compromessi, per assumere temporaneamente o definitivamente l'identità di altri utenti.
Access Transparency
Caso d'uso:
- Monitoraggio del service provider
- Motivazioni dell'accesso
In genere, se volevi un supporto personalizzato da fornitori esterni, dovevi concedere e condividere credenziali temporanee, il che crea il potenziale di credenziali orfane o compromesse. Access Approval è un servizio integrato che ti consente di approvare o respingere le richieste di accesso da parte dei dipendenti di Google che forniscono assistenza al tuo account. Ogni richiesta di accesso include una giustificazione dell'accesso, in modo che tu possa visualizzare la motivazione di ciascun accesso, inclusi i riferimenti ai ticket di assistenza.
Apigee
Caso d'uso:
- Convalida delle chiavi
- Convalida del token
- Norme OAuth
Apigee fornisce criteri VerifyApiKey, OAuth e JWT (JSON Web Token), che contribuiscono a proteggere da questo rischio.
La convalida della chiave API è la forma più semplice di sicurezza basata su app che può essere configurata per un'API. Un'applicazione client presenta una chiave API con la richiesta. Apigee Edge, tramite una policy collegata a un proxy API, verifica che la chiave API sia in uno stato approvato per la risorsa richiesta.
Il framework di autorizzazione OAuth 2.0 consente a un'applicazione di terze parti di ottenere un accesso limitato a un servizio HTTP, per conto di un proprietario di risorse orchestrando un'interazione di approvazione tra il proprietario di risorse e il servizio HTTP oppure per proprio conto consentendo all'applicazione di terze parti di ottenere l'accesso.
I JSON Web Token o JWT vengono comunemente utilizzati per condividere attestazioni tra applicazioni connesse. Apigee fornisce il supporto JWT utilizzando tre criteri.
Cloud Armor
Caso d'uso:
- Limitare l'accesso all'endpoint di autenticazione
- Limita l'utilizzo non autorizzato dei token
Gli attacchi contro le vulnerabilità classificate in base al rischio di autenticazione compromessa vengono mitigati al meglio a livello di applicazione o mediante altri controlli. Tuttavia, Cloud Armor può contribuire a limitare la superficie di attacco o bloccare i vettori di attacco noti.
Ad esempio, se la tua applicazione ha una base di utenti limitata e questi utenti provengono da un insieme noto di indirizzi IP o paesi, puoi creare una norma di sicurezza che limiti l'accesso alla tua applicazione agli utenti provenienti da questi blocchi di indirizzi IP o paesi. Questa norma può contribuire a mitigare la scansione automatizzata da endpoint al di fuori di queste aree.
Se altri meccanismi di sicurezza rilevano che password, chiavi o token di sessione
sono stati compromessi, puoi bloccare l'accesso per le richieste che contengono questi
parametri in una stringa di query utilizzando una
regola personalizzata.
Puoi aggiornare le regole che hai definito in precedenza utilizzando il metodo
securityPolicy.patchRule
. Potresti essere in grado di identificare potenziali token rubati utilizzando meccanismi di rilevamento delle anomalie nei log del bilanciamento del carico HTTP.
Puoi anche rilevare potenziali avversari eseguendo la scansione delle password comuni in
questi log.
Puoi bloccare gli attacchi di sessione più comuni utilizzando il
set di regole ModSecurity preconfigurato per la sessione.
Puoi utilizzare il set di regole aggiungendo la regola evaluatePreconfiguredExpr('sessionfixation-stable')
predefinita al tuo criterio di sicurezza.
Se la tua applicazione include modifiche della password nella stringa di query, puoi anche
bloccare l'utilizzo di password comuni utilizzando una
regola personalizzata
che corrisponda all'attributo request.query
. Tuttavia, questi controlli sono molto meglio
implementati sul lato dell'applicazione, se possibile.
Identity-Aware Proxy (IAP)
Caso d'uso:
- Controllo degli accessi centralizzato
- Per cloud e on-premise
- Proteggere le connessioni HTTP e TCP
- Accesso sensibile al contesto
IAP si integra con il bilanciamento del carico HTTP(S) per consentirti di utilizzare l'identità e il contesto per formare un firewall di autenticazione e autorizzazione sicuro intorno alla tua applicazione. Evita l'autenticazione non riuscita alla tua applicazione pubblica eseguendo il provisioning degli utenti esterni in Identity Platform (maggiori informazioni nella sezione seguente).
Puoi anche impedire l'autenticazione non riuscita alle interfacce amministrative proteggendole con Identity-Aware Proxy e autenticando gli utenti di cui è stato eseguito il provisioning con Identity and Access Management o Cloud Identity. Qualsiasi tentativo di accedere allo strumento comporta un tentativo di autenticazione registrato seguito da un controllo di autorizzazione per verificare che l'utente autenticato sia autorizzato ad accedere alla risorsa richiesta.
Identity Platform
Caso d'uso:
- Autenticazione come servizio
- Autenticazione a più fattori
- SLA Enterprise
- Ampio supporto per protocollo
- Protezione intelligente dell'Account Google
Identity Platform è la piattaforma GIAC per i Google Cloud clienti. Identity Platform contribuisce a fornire un'autenticazione sicura come servizio con supporto multiprotocollo utilizzando SDK e API. Offre l'autenticazione a più fattori, l'integrazione con servizi di autenticazione di terze parti e il monitoraggio delle attività controllabile.
reCAPTCHA
Caso d'uso:
- Tentativi di accesso automatici
- Scraping dei contenuti
- Credential stuffing
- Transazioni fraudolente
- Violazioni degli account
- Account falsi
- Riciclaggio di denaro
reCAPTCHA fornisce un filtro altamente efficace contro bot e altre forme di automazione e traffico collettivo valutando il livello di rischio dei tentativi di accesso. Puoi ottimizzare il modello specifico per il tuo sito con feedback automatico. reCAPTCHA adatta i punteggi futuri alle esigenze del tuo sito.
Security Command Center
Security Command Center include tre servizi che ti aiutano a risolvere i problemi di identificazione e autenticazione: Event Threat Detection, Security Health Analytics e Web Security Scanner.
Event Threat Detection supporta i seguenti casi d'uso:
- Rilevamento di attacchi di forza bruta
- Rilevamento di comportamenti illeciti IAM
Event Threat Detection monitora il flusso di Cloud Logging e applica la logica di rilevamento e l'intelligence proprietaria sulle minacce a un livello granulare. Quando Event Threat Detection rileva una minaccia, scrive un risultato in Security Command Center e in Cloud Logging nel progetto che preferisci. I seguenti tipi di eventi sono utili per identificare l'autenticazione compromessa:
- Forza bruta SSH. Rileva l'attacco di forza bruta SSH riuscito su un host.
- Concessione anomala. Rileva i privilegi concessi agli utenti IAM (Identity and Access Management) esterni alla tua organizzazione Google Cloud .
Security Health Analytics supporta i seguenti casi d'uso:
- Applicazione di MFA/2FA
- Protezione delle chiavi API
- Applicazione rotazione della chiave API
Security Command Center aiuta a prevenire l'autenticazione non funzionante monitorando la conformità dell'autenticazione a più fattori e lo stato delle chiavi API. Puoi identificare richieste sospette e bloccarle o contrassegnarle per una gestione speciale.
Web Security Scanner supporta il seguente caso d'uso:
- Perdite dell'identificatore di sessione
Web Security Scanner esegue la scansione delle tue applicazioni web alla ricerca di vulnerabilità come perdite di ID sessione, che consentono ad altre parti di impersonare o identificare in modo univoco un utente.
Token di sicurezza Titan
Caso d'uso:
- Autenticazione a due fattori (2FA) anti-phishing
- Autenticazione su dispositivi mobili e PC
I token di sicurezza Titan utilizzano la crittografia a chiave pubblica per verificare l'identità di un utente e l'URL della pagina di accesso per contribuire a garantire che gli utenti malintenzionati non possano accedere al tuo account anche se ti hanno indotto a fornire nome utente e password.
A08: Errori di integrità di software e dati
Errori di integrità di software e dati possono verificarsi quando i controlli di integrità non vengono eseguiti durante gli aggiornamenti software, l'elaborazione di dati riservati o qualsiasi processo nella pipeline CI/CD.
Artifact Registry
Caso d'uso:
- Centralizzare gli artefatti in un'unica posizione attendibile
- Utilizzare la gestione delle versioni, l'analisi delle vulnerabilità e i workflow di approvazione
Artifact Registry offre una singola posizione da cui la tua organizzazione può gestire le immagini container e i pacchetti di linguaggio, come Maven e npm. Può integrarsi con gli strumenti di sviluppo esistenti e fornisce analisi delle vulnerabilitàà per i container utilizzando Artifact Analysis.
Autorizzazione binaria
Caso d'uso:
- Assicurati che vengano implementati solo container attendibili
Autorizzazione binaria verifica l'integrità dei container in modo che venga eseguito il deployment solo delle immagini container attendibili. Puoi creare criteri per consentire o negare il deployment in base alla presenza o all'assenza di attestazioni. Autorizzazione binaria applica i criteri a livello di cluster, quindi puoi configurare criteri diversi per ambienti diversi. Questa distinzione consente di avere requisiti di attestazione progressivi man mano che gli ambienti si avvicinano alla produzione.
Cloud Asset Inventory
Caso d'uso:
Servizio di ricerca
Analizzatore dell'accesso
Uno dei vettori più comuni per l'esposizione dei dati è l'infrastruttura IT orfana o non autorizzata. Puoi identificare i server che nessuno gestisce e i bucket con regole di condivisione troppo ampie analizzando i dati delle serie temporali degli asset cloud.
Configura le notifiche in tempo reale per ricevere avvisi in caso di provisioning imprevisto di risorse che potrebbero essere protette in modo improprio o non autorizzate.
Cloud Build
Caso d'uso:
Rivedi le modifiche al codice
Esegui test
Standardizzare i deployment delle build
Cloud Build ti consente di creare una configurazione di build per fornire istruzioni sul deployment della build, inclusa l'esecuzione di test di analisi statica e integrazione.
Cloud Armor
Caso d'uso:
- Blocca l'esecuzione di codice da remoto
Poiché la maggior parte degli attacchi all'integrità di software e dati è specifica per l'applicazione, esistono solo alcuni modi per contribuire a mitigare questi attacchi, ad esempio utilizzando un Web Application Firewall (WAF) come Cloud Armor. OWASP consiglia di non accettare oggetti serializzati da fonti non attendibili. Se possibile, puoi limitare gli endpoint che accettano questi oggetti a un insieme di indirizzi IP attendibili con una regola di negazione simile alla seguente:
request.path.contains("/endpoint") && !(inIpRange(origin.ip, '1.2.3.4/32')
Sostituisci quanto segue:
/endpoint
: il percorso dell'endpoint che accetta oggetti serializzati1.2.3.4/32
: l'intervallo di indirizzi IP che deve mantenere l'accesso all'interfaccia.
Per mitigare gli attacchi tipici contro l'integrità di software e dati che utilizzano l'esecuzione di codice remoto (RCE), utilizza il set di regole predefinito contro gli attacchi RCE. Puoi
utilizzare la regola evaluatePreconfiguredExpr('rce-stable')
per bloccare gli attacchi RCE
comuni contro le shell UNIX e Windows.
Gli attacchi RCE descritti nelle sfide di Juice Shop per la deserializzazione non sicura eseguono funzioni ed espressioni regolari in Node.js sul server. Questi tipi di attacchi non vengono bloccati dal set di regole RCE predefinito e dalla regola OWASP Modsecurity corrispondente e devono essere mitigati utilizzando patch sul lato server o regole personalizzate.
VirusTotal
Caso d'uso:
- Scansione dei dati non attendibili
L'API VirusTotal ti consente di caricare e analizzare i file alla ricerca di malware. Puoi eseguire la scansione di immagini, documenti, file binari e altri dati non attendibili prima che vengano elaborati per eliminare determinate categorie di input dannosi.
Security Command Center
Il servizio Web Security Scanner in Security Command Center supporta il seguente caso d'uso:
- Deserializzazione non sicura
Web Security Scanner
esegue la scansione delle tue applicazioni web alla ricerca di vulnerabilità. Ad esempio, se utilizzi una versione di Apache Struts che rende la tua applicazione vulnerabile agli attacchi di inserimento di comandi remoti, Web Security Scanner genera un risultato STRUTS_INSECURE_DESERIALIZATION
.
A09: Errori di logging e monitoraggio della sicurezza
Se non registri, monitori o gestisci adeguatamente gli incidenti nei tuoi sistemi, gli autori degli attacchi possono eseguire attacchi più profondi e prolungati a dati e software.
Access Transparency
Caso d'uso:
- Monitoraggio e controllo dell'accesso del fornitore di servizi
- Motivazioni dell'accesso
- Identificazione di metodi e risorse
L'impossibilità di controllare gli accessi del cloud provider può rappresentare un ostacolo alla migrazione da on-premise al cloud. Access Transparency consente la verifica degli accessi del cloud provider, portando i controlli di audit a un livello paragonabile alle condizioni on-premise. Puoi registrare la motivazione di ciascun accesso, inclusi i riferimenti a ticket di assistenza pertinenti. I nomi di identificazione di risorse e metodi indicano a quali risorse è stato eseguito l'accesso e quali metodi sono stati eseguiti da quale amministratore. Access Approval ti consente di approvare o respingere le richieste di accesso da parte dei dipendenti di Google che forniscono assistenza al tuo servizio.
Apigee
Caso d'uso:
- Esportare i log di Apigee in SIEM
- Utilizzare l'interfaccia utente di monitoraggio di Apigee
- Segui le best practice per il monitoraggio
Apigee offre diversi modi per eseguire logging, monitoraggio, gestione degli errori e audit log:
- Logging
- I messaggi di log possono essere inviati a Splunk o ad altri endpoint syslog utilizzando i criteri MessageLogging.
- I dati di analisi delle API possono essere estratti tramite l'API Analytics e importati o esportati in altri sistemi.
- In Edge for Private Cloud, puoi utilizzare il criterio MessageLogging per scrivere nei file di log locali. Sono disponibili anche i file di log di ciascuno dei componenti in esecuzione.
- Il criterio JavaScript può essere utilizzato per inviare messaggi di log a un endpoint di logging REST in modo sincrono o asincrono.
- Monitoraggio
- Utilizza l'UI o l'API di API Monitoring per monitorare regolarmente le API e i backend e attivare avvisi.
- Utilizza il monitoraggio dell'integrità per monitorare regolarmente i backend dei server di destinazione.
- Apigee fornisce consigli per il monitoraggio di Edge for Private Cloud.
- Apigee fornisce anche best practice che il tuo team può utilizzare per monitorare il programma API.
- Gestione degli errori
- Apigee offre un meccanismo di gestione degli errori potente e versatile per i proxy API. Analogamente a come un programma Java rileva le eccezioni, i proxy API possono rilevare gli errori e determinare come restituire risposte appropriate ai client.
- La gestione personalizzata degli errori di Apigee ti consente di aggiungere funzionalità come la registrazione dei messaggi ogni volta che si verifica un errore.
- Audit log
- La piattaforma Apigee conserva un audit log che tiene traccia delle modifiche apportate a proxy API, prodotti e cronologia dell'organizzazione.
- Questo log è disponibile tramite l'interfaccia utente o tramite l'API Management.
Google Security Operations
Caso d'uso:
- Rilevamento delle minacce
- Preavviso
I team di sicurezza possono inviare i dati di telemetria di sicurezza a Google Security Operations per consentirti di applicare potenti regole di rilevamento a un insieme unificato di dati.
Sensitive Data Protection
Caso d'uso:
- Mascheramento automatico dei dati sensibili
Identifica le informazioni sensibili ai fini della conformità nei flussi di log e mascherale o trasformale in modo appropriato prima di archiviarle nei log. Ad esempio, un messaggio di errore o un dump del core potrebbe contenere informazioni sensibili come numeri di carte di credito o informazioni che consentono l'identificazione personale che devono essere mascherate.
Cloud Key Management Service
Caso d'uso:
- Registrazione degli eventi di richiesta di chiavi di crittografia
- Motivazioni dell'accesso
Key Access Justifications ti offre visibilità storica su ogni richiesta di chiave di crittografia registrando la giustificazione dichiarata e un record di approvazione o rifiuto della richiesta.
Cloud Logging
Caso d'uso:
- Aggregazione dei log
- Archiviazione dei log
- Ricerca nei log
- Analisi dei log
Cloud Logging ti consente di archiviare, cercare, analizzare, monitorare e creare avvisi su dati di logging ed eventi di Google Cloud e Amazon Web Services. Include l'accesso al servizio BindPlane, che puoi utilizzare per raccogliere dati di logging da oltre 150 componenti di applicazioni comuni, sistemi on-premise e sistemi cloud ibrido.
Cloud Monitoring
Caso d'uso:
- Monitoraggio dei log
- Avvisi relativi agli eventi
Cloud Monitoring offre maggiore visibilità su prestazioni, uptime e integrità complessiva delle applicazioni basate su cloud. Fornisce una dashboard di monitoraggio, monitor di eventi e avvisi tramite più canali.
Cloud Source Repositories
Caso d'uso:
- Attribuzione delle modifiche al codice
- Accedere all'audit logging
Ricevi dati approfonditi per scoprire quali operazioni sono state eseguite nel tuo repository, incluso dove e quando, con Cloud Audit Logs generati da Cloud Source Repositories.
Error Reporting
Caso d'uso:
- Acquisire gli errori interni dell'applicazione in Cloud Logging
- Raccogliere i report sugli arresti anomali al di fuori dell'istanza di computing in arresto anomalo
Gli errori interni dell'applicazione possono essere un indicatore di un problema di sicurezza, di funzionalità non funzionanti o di tentativi di aggirare la sicurezza. Error Reporting conta, analizza e aggrega gli arresti anomali dei servizi cloud in esecuzione. Un'interfaccia centralizzata di gestione degli errori visualizza i risultati con funzionalità di ordinamento e filtro. Una vista dedicata mostra i dettagli dell'errore, ad esempio grafico temporale, occorrenze, numero di utenti interessati, data della prima e dell'ultima occorrenza e analisi pulita dello stack di eccezioni. Attiva la ricezione di avvisi via email e su dispositivi mobili in caso di nuovi errori.
Cloud Armor
Caso d'uso:
- Logging dei criteri di sicurezza
- Dashboard di Monitoring
- Avvisi sulle anomalie del traffico
I log delle richieste di Cloud Armor fanno parte di Cloud Logging per i bilanciatori del carico delle applicazioni esterni. Per accedere alle informazioni di logging, ad esempio la regola dei criteri di sicurezza che corrisponde al traffico, attiva la registrazione su tutti i servizi di backend a cui sono collegati i criteri di sicurezza. Utilizza le regole in modalità di anteprima per testarle e registrare i risultati senza applicare gli effetti.
Cloud Armor offre anche dashboard di monitoraggio per i criteri di sicurezza che consentono di ottenere una panoramica della quantità di traffico che è stato superato o rifiutato da uno qualsiasi dei tuoi criteri di sicurezza. Cloud Armor pubblica risultati sulle anomalie del traffico, come picchi di traffico consentito o aumento del traffico negato, in Security Command Center.
Cloud Armor scrive automaticamente gli audit log per l'attività di amministrazione, che registrano le operazioni che modificano la configurazione o i metadati di una risorsa. Questo servizio può anche essere configurato per scrivere audit log di accesso ai dati che contengono chiamate API che leggono la configurazione o i metadati delle risorse, nonché chiamate API effettuate dagli utenti che creano, modificano o leggono i dati delle risorse forniti dall'utente.
Identity Platform
Caso d'uso:
- Audit log delle attività di amministrazione
- Registri di controllo degli accessi ai dati
- Audit log degli eventi di sistema
- Audit log negati da criteri
- Log delle attività di autenticazione
Identity Platform è la piattaforma GIAC per Google Cloud che registra l'attività di autenticazione per impostazione predefinita.
Attiva diversi audit log efficaci, tra cui attività di amministrazione, accesso ai dati, eventi di sistema e tentativi di autenticazione negati.
Security Command Center
Casi d'uso:
- Monitoraggio degli avvisi
- Gestione delle minacce
- Report sull'analisi delle vulnerabilità
- Monitoraggio della conformità
- Monitoraggio degli asset
- Risultati dell'analisi della sicurezza
Con la dashboard di conformità, puoi monitorare continuamente la conformità ai controlli di PCI-DSS, CIS Google Cloud Computing Foundations Benchmark e altro ancora. La pagina Asset fornisce una visualizzazione dettagliata di tutte le risorseGoogle Cloud , chiamate asset, nella tua organizzazione. La pagina ti consente di visualizzare gli asset per l'intera organizzazione oppure puoi filtrare gli asset all'interno di un progetto specifico, in base al tipo di asset o al tipo di modifica. Infine, puoi esaminare un inventario dettagliato dei risultati per tutte le risorse della tua organizzazione, in modo da visualizzare i potenziali rischi per la sicurezza.
Inoltre, il servizio Event Threat Detection di Security Command Center supporta i seguenti casi d'uso:
- Forza bruta
- Cryptomining
- Illeciti IAM
- Malware
- Phishing
Event Threat Detection monitora il flusso di Cloud Logging e applica la logica di rilevamento e l'intelligence proprietaria sulle minacce a un livello granulare. Event Threat Detection identifica le voci più importanti nei log e le mette in evidenza per la revisione. Quando Event Threat Detection rileva una minaccia, scrive un risultato in Security Command Center e in un progetto Cloud Logging.
A10: Falsificazione richiesta lato server (SSRF)
Un attacco SSRF si verifica quando un malintenzionato costringe un server vulnerabile a attivare richieste dannose indesiderate a server di terze parti o risorse interne. I difetti SSRF possono verificarsi quando un'applicazione web recupera una risorsa remota senza convalidare l'URL fornito dall'utente.
Apigee
Caso d'uso:
- Bloccare gli attacchi SSRF utilizzando LFI o RFI
Apigee dispone di parser XML e JSON integrati che utilizzano XPath o JSONPath per estrarre i dati. Dispone di un criterio XMLThreatProtection per proteggere dai payload XML dannosi e di un criterio JSONThreatProtection per proteggere dai payload JSON dannosi.
Il criterio Apigee ExtractVariables consente di estrarre i contenuti da una richiesta o una risposta e assegnarli a una variabile. Puoi estrarre qualsiasi parte del messaggio, inclusi intestazioni, percorsi URI, payload JSON e XML, parametri del modulo e parametri di ricerca. La norma funziona applicando un pattern di testo ai contenuti del messaggio e, quando trova una corrispondenza, imposta una variabile con i contenuti del messaggio specificati.
Cloud Armor
Caso d'uso:
- Filtra gli attacchi SSRF utilizzando LFI o RFI
Poiché gli attacchi SSRF possono essere complessi e presentarsi in diverse forme, le possibilità di mitigazione dei firewall per applicazioni web sono limitate. Gli attacchi vengono mitigati meglio applicando patch ai parser XML o JSON, vietando le entità esterne e limitando al minimo i trasferimenti di dati XML o JSON sui server web pubblici. Tuttavia, a seconda dell'applicazione e del tipo di attacco, Cloud Armor può comunque contribuire a difendere da esfiltrazione di dati e altri impatti.
Sebbene nessuna regola nel
ModSecurity Core Rule Set di OWASP
difenda specificamente dagli attacchi SSRF, le
regole di inclusione di file locali (LFI) e inclusione di file remoti (RFI)
possono aiutare a contrastare alcuni di questi attacchi. Per impedire a un malintenzionato di recuperare file locali sul server, utilizza la regola evaluatePreconfiguredExpr('lfi-stable')
in un criterio di sicurezza Cloud Armor.
La sfida SSRF Juice Shop utilizza i set di regole di inclusione di file remoti (RFI) o di inclusione di file locali (LFI) preconfigurati per contribuire a mitigare alcuni di questi attacchi perché bloccano l'inclusione di URL o il percorso trasversale. Ad esempio, la seguente regola attiva entrambi i set di regole:
evaluatePreconfiguredExpr('lfi-stable') ||
evaluatePreconfiguredExpr('rfi-stable')
Quando viene implementata una regola di questo tipo, smette di funzionare anche la soluzione per la sfida SSRF.
Controlli di servizio VPC
Caso d'uso:
- Perimetri di rete per segmentare i server
Per ridurre l'impatto degli attacchi SSRF, puoi utilizzare Controlli di servizio VPC per creare perimetri che segmentano i server da altre risorse della tua organizzazione. Questi perimetri forniscono protezione contro l'esfiltrazione di dati. Se eseguite in modalità di applicazione forzata, le richieste API ai servizi con limitazioni non attraversano il confine del perimetro, a meno che non siano soddisfatte le condizioni delle regole di ingresso e uscita necessarie del perimetro.
Firewall Virtual Private Cloud (VPC)
Caso d'uso:
- Applica criteri firewall "nega per impostazione predefinita" o regole di controllo dell'accesso alla rete per bloccare tutto il traffico intranet, tranne quello essenziale.
I firewall VPC si applicano al traffico in entrata e in uscita per i tuoi progetti e la tua rete VPC. Puoi creare regole firewall che bloccano tutto il traffico, tranne quello che vuoi consentire. Per saperne di più, consulta la panoramica delle regole firewall VPC.
Security Command Center
Il servizio Web Security Scanner in Security Command Center supporta il seguente caso d'uso:
- Monitoraggio delle applicazioni web
Web Security Scanner
esegue la scansione delle tue applicazioni web alla ricerca di vulnerabilità. Ad esempio, se la tua applicazione è vulnerabile alla falsificazione di richieste lato server, Web Security Scanner genera un risultato SERVER_SIDE_REQUEST_FORGERY
.
Passaggi successivi
- Protezione delle applicazioni web e delle API su Google Cloud
- OWASP Top 10
- Google Cloud bollettini sulla sicurezza
- Centro best practice per la sicurezza diGoogle Cloud
- Offerte di conformità
- Benchmark CIS per Google Cloud
- Security Command Center
- Apigee
- Cloud Armor
- Tutti i Google Cloud prodotti per la sicurezza
- Esplora architetture, diagrammi e best practice di riferimento su Google Cloud. Consulta il nostro Cloud Architecture Center.