OWASP Top 10 delle opzioni di mitigazione del 2021 su Google Cloud

Last reviewed 2021-12-12 UTC

Questo documento ti aiuta a identificare i prodotti e le strategie di mitigazione di Google Cloud che possono aiutarti a difenderti dai comuni attacchi a livello di applicazione descritti in OWASP Top 10. OWASP Top 10 è un elenco creato dalla Open Web Application Security (OWASP) Foundation dei 10 principali rischi per la sicurezza di cui ogni proprietario di applicazioni deve essere a conoscenza. Sebbene nessun prodotto per la sicurezza possa garantire una protezione completa contro 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 di Google è progettata per aiutarti a creare, eseguire il deployment 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. Questi vantaggi vengono ereditati eseguendo il deployment delle applicazioni in Google Cloud, ma potresti dover adottare misure aggiuntive per proteggere l'applicazione da attacchi specifici.

Le strategie di mitigazione elencate in questo documento sono ordinate per rischio per la sicurezza delle applicazioni e 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 web application firewall (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 prodotti Google Cloud elencati nella tabella seguente possono contribuire alla difesa dai dieci 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 con i log degli accessi amministrativi e i controlli di approvazione
Artifact Registry Archivia a livello centrale artefatti e dipendenze della build
Apigee Progetta, proteggi e scala le interfacce di programmazione delle applicazioni
Autorizzazione binaria Assicurati che il deployment in Google Kubernetes Engine avvenga solo per le immagini container attendibili
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
Cloud Asset Inventory Visualizza, monitora e analizza tutti i tuoi asset Google Cloud e Google Distributed Cloud o multi-cloud in progetti e servizi
Cloud Build Crea, testa ed esegui il deployment in Google Cloud
Sensitive Data Protection Scopri, classifica e proteggi i tuoi dati più sensibili
Cloud Load Balancing Controlla quali crittografie negozia il tuo proxy SSL o il bilanciatore del carico HTTPS
Cloud Logging Gestione e analisi dei log in tempo reale su larga scala
Cloud Monitoring Raccogliere e analizzare metriche, eventi e metadati dai servizi Google Cloud e da un'ampia gamma di applicazioni e servizi di terze parti.
Cloud Source Repositories Archivia, gestisci e monitora il codice in un unico posto per il tuo team
Rilevamento delle minacce di container Monitora costantemente lo stato delle immagini container, valuta tutte le modifiche e monitora i tentativi di accesso remoto per rilevare attacchi di runtime quasi in tempo reale
Rilevamento delle minacce di eventi Monitora il flusso di Cloud Logging della tua organizzazione e rileva le minacce in tempo quasi reale
Google Cloud Armor un web application firewall (WAF) distribuito sul perimetro della rete Google per contribuire alla difesa dai comuni vettori di attacco
Bollettini sulla sicurezza di Google Cloud Gli ultimi bollettini sulla sicurezza relativi ai prodotti Google Cloud
Identity-Aware Proxy (IAP) Protezione dell'accesso alle applicazioni e alle VM basata su identità e contesto
Identity Platform Aggiungi funzionalità di gestione di identità e accessi alle applicazioni, proteggi gli account utente
Cloud Key Management Service Gestire le chiavi di crittografia su Google Cloud
reCAPTCHA Proteggi il tuo sito web da attività fraudolente, spam e comportamenti illeciti
Secret Manager Archiviazione di chiavi API, password, certificati e altri dati sensibili
Security Command Center Visibilità centralizzata per analisi di sicurezza e intelligence sulle minacce per identificare le vulnerabilità
SHA (Security Health Analytics) Genera risultati di vulnerabilità disponibili in Security Command Center
Token di sicurezza Titan Contribuisci a proteggere gli utenti di alto valore con dispositivi 2FA resistenti al phishing, realizzati con un chip hardware (con firmware progettato da Google) per verificare l'integrità della chiave
Firewall Virtual Private Cloud Consenti o nega le connessioni da o verso le tue istanze di macchine virtuali (VM)
Controlli di servizio VPC Isola le risorse dei servizi Google Cloud multi-tenant per mitigare i rischi di esfiltrazione di dati
VirusTotal Analizzare file e URL sospetti per rilevare i tipi di malware e condividerli automaticamente con la community della sicurezza
Web Security Scanner Generare tipi di risultati di vulnerabilità disponibili in Security Command Center

A01: Controllo dell'accesso non funzionante

Il controllo dell'accesso non funzionante si riferisce a controlli dell'accesso applicati solo parzialmente sul lato client o implementati in modo debole. La mitigazione di questi controlli spesso richiede una riscrittura sul lato delle applicazioni per garantire in modo appropriato che le risorse siano accessibili solo da utenti autorizzati.

Apigee

Caso d'uso:

  • Applicazione del controllo dell'accesso
  • Limita la manipolazione dei dati

Apigee supporta un approccio a più livelli per implementare i controlli dell'accesso per impedire ai malintenzionati di apportare modifiche non autorizzate o accedere al sistema.

Configura controllo dell'accesso basato su ruoli (RBAC) per consentire agli utenti di accedere solo alle funzionalità e alla configurazione di cui hanno bisogno. Crea mappe chiave-valore criptate per archiviare coppie chiave-valore sensibili, che vengono mascherate nella UI Edge e nelle chiamate API di gestione. Configura il Single Sign-On con il provider di identità della tua azienda.

Configura i portali per gli sviluppatori per 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:

  • Monitoraggio di IT non autorizzati (noti 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. Imposta notifiche in tempo reale per avvisarti di risorse in esecuzione impreviste, che potrebbero essere protette in modo incorretto o utilizzare software obsoleto.

Cloud Load Balancing

Caso d'uso:

  • Controllo granulare della crittografia SSL e TLS

Impedisci l'utilizzo di crittografie SSL o TLS deboli assegnando un gruppo predefinito o un elenco personalizzato di crittografie che Cloud Load Balancing può utilizzare.

Google Cloud Armor

Caso d'uso:

  • Filtra richieste multiorigine
  • Filtra gli attacchi di inclusione di file locali o remoti
  • Filtra attacchi con inquinamento parametro HTTP

Molti casi di controllo dell'accesso dell'accesso interrotto non possono essere mitigati utilizzando un web application firewall, perché le applicazioni non richiedono o non controllano correttamente i token di accesso per ogni richiesta e i dati possono essere manipolati sul lato client. Diverse sfide di Juice Shop correlate a controlli degli accessi non funzionanti. Ad esempio, la pubblicazione di feedback nel nome di un altro utente implica il fatto che alcune richieste non sono autenticate lato server. Come puoi vedere nella soluzione della challenge, l'exploit per questa vulnerabilità è completamente lato client e non può quindi essere mitigato utilizzando Google Cloud Armor.

Alcune sfide possono essere parzialmente mitigate sul lato server se all'applicazione non è possibile applicare immediatamente la patch.

Ad esempio, se sono possibili attacchi di falsificazione di richieste cross-site (CSRF) perché il server web implementa la condivisione delle risorse tra origini (CORS) in modo non corretto, come dimostrato nella challenge CSRF Juice Shop Challenge, puoi mitigare il problema bloccando le richieste 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 della manipolazione del carrello utilizza l'HPP (HTTP parameter pollution) per consentirti di capire come attaccare il negozio seguendo la soluzione della sfida. L'HPP viene rilevato come parte della serie di regole di attacco del 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
  • Compatibile con cloud e on-premise
  • Protezione delle connessioni HTTP e TCP
  • Accesso sensibile al contesto

IAP consente di utilizzare identità e contesto per formare un firewall di autenticazione e autorizzazione sicura attorno alla tua applicazione. Previeni le interruzioni delle autorizzazioni 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 di accesso granulari ad applicazioni web, VM, API Google Cloud e applicazioni Google Workspace in base all'identità dell'utente e al contesto della richiesta, senza la necessità di una VPN tradizionale. Utilizza un'unica piattaforma per applicazioni e risorse dell'infrastruttura on-premise e cloud.

Security Health Analytics

Caso d'uso:

  • Applicazione MFA o 2FA
  • Protezione delle chiavi API
  • Monitoraggio dei criteri SSL

Previeni controllo dell'accesso dell'accesso inaccessibile monitorando la conformità dell'autenticazione a più fattori, i criteri SSL e l'integrità delle tue chiavi API.

Web Security Scanner

Caso d'uso:

  • Repository esposti al pubblico
  • Convalida dell'intestazione della richiesta non sicura

Web Security Scanner scansiona le tue applicazioni web per rilevare vulnerabilità come repository di codice visibili pubblicamente e convalida errata delle intestazioni delle richieste.

A02: Errori di crittografia

Gli errori crittografici possono verificarsi a causa di una mancanza della crittografia, di una crittografia debole in transito o di dati sensibili esposti involontariamente. Gli attacchi contro queste vulnerabilità sono in genere specifici dell'applicazione e, di conseguenza, per mitigarli è necessario un approccio di difesa in profondità.

Apigee

Caso d'uso:

  • Proteggi i dati sensibili

Utilizza TLS unidirezionale o bidirezionale per proteggere le informazioni sensibili a livello di protocollo.

Utilizza criteri come Assegna criterio 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
  • Accedi allo strumento di analisi

Uno dei vettori più comuni per l'esposizione dei dati è l'infrastruttura IT orfana o non autorizzata. Per identificare i server che nessuno gestisce e i bucket con regole di condivisione troppo ampie, puoi analizzare i dati delle serie temporali degli asset cloud.

Imposta notifiche in tempo reale per avvisarti del 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:

  • Rilevamento e classificazione dei dati sensibili
  • Mascheramento automatico dei dati

L'API Cloud Data Loss Prevention (API DLP) consente di analizzare i dati potenzialmente sensibili archiviati in bucket o database per impedire fughe di informazioni indesiderate. Se vengono identificati dati non consentiti, possono essere segnalati o oscurati automaticamente.

Cloud Key Management Service

Caso d'uso:

  • Gestione sicura delle chiavi di crittografia

(Cloud KMS) aiuta a prevenire la potenziale esposizione delle chiavi di crittografia. Utilizza questo Key Management Service ospitato nel cloud per gestire le chiavi di crittografia simmetriche e asimmetriche per i servizi cloud esattamente come faresti on-premise. Puoi generare, utilizzare, ruotare ed eliminare le chiavi di crittografia AES256, RSA 2048, RSA 3072, RSA 4096, EC P256 ed EC P384.

Cloud Load Balancing

Caso d'uso:

  • Controllo granulare della crittografia SSL e TLS

I criteri SSL possono aiutare a prevenire l'esposizione di dati sensibili fornendoti il controllo sulle funzionalità e sulle crittografie SSL e TLS consentite in un bilanciatore del carico. Blocca le crittografie non approvate o non sicure, come necessario.

Google Cloud Armor

Caso d'uso:

  • Filtra gli URL di attacco noti
  • Limita accesso sensibile agli endpoint

In generale, l'esposizione dei dati sensibili dovrebbe essere bloccata all'origine, ma poiché ogni attacco è specifico per l'applicazione, i web application firewall possono essere utilizzati solo in modo limitato per bloccare l'esposizione dei dati su larga scala. Tuttavia, se alla tua applicazione non è possibile applicare immediatamente la patch, puoi limitare l'accesso a endpoint vulnerabili o pattern di richiesta utilizzando le regole personalizzate di Google Cloud Armor.

Ad esempio, diverse sfide di Juice Shop relative all'esposizione di dati sensibili possono essere sfruttate a causa di attacchi di directory traversal non sicuri e attacchi di inserimento di byte null. Puoi mitigare queste iniezioni controllando le stringhe nell'URL con la seguente espressione personalizzata:

request.path.contains("%00") || request.path.contains("%2500")

Puoi risolvere il problema relativo alle metriche esposte accedendo alla sottodirectory /metrics utilizzata da Prometheus. Se hai un endpoint sensibile che è esposto e non puoi rimuovere immediatamente l'accesso, puoi limitarne l'accesso, ad 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 usati per risolvere una delle sfide di Juice Shop. Per evitare di esporre i 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:

  • Proteggere l'accesso remoto ai servizi sensibili
  • Controllo degli accessi centralizzato
  • Accesso sensibile al contesto

Utilizza identità e contesto per formare un perimetro di autenticazione e autorizzazione sicura 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 luogo su internet.

Con l'accesso sensibile al contesto, puoi applicare controlli di accesso granulari ad applicazioni web, macchine virtuali (VM), API Google Cloud e applicazioni Google Workspace in base all'identità dell'utente e al contesto della richiesta senza una VPN tradizionale. Basato sul modello di sicurezza Zero Trust e sull'implementazione di BeyondCorp di Google, l'accesso sensibile al contesto consente di fornire l'accesso agli utenti, applicare controlli granulari e utilizzare un'unica piattaforma per le applicazioni e le risorse dell'infrastruttura on-premise e cloud.

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 degli account di servizio e asset crittografici. L'archiviazione centrale di questi secret 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 di singoli utenti. Queste applicazioni devono fare affidamento su Identity Platform per GIAC, Cloud Identity per i membri della tua organizzazione o software di tokenizzazione dedicato.

Security Health Analytics

Caso d'uso:

  • Applicazione MFA/2FA
  • Protezione delle chiavi API
  • Applicazione rotazione della chiave API
  • Privacy delle immagini Compute
  • Applicazione delle regole della chiave SSH
  • Avvio protetto del monitoraggio
  • Sicurezza dell'accesso alle API
  • Monitoraggio dei criteri SSL
  • Logging disabilitato
  • Avvisi ACL dei bucket pubblici

Previeni l'esposizione di dati sensibili monitorando la conformità dell'autenticazione a più fattori e lo stato delle chiavi API. Ricevi avvisi per le configurazioni non sicure per spazio di archiviazione di immagini container, Cloud Storage, criteri SSL, criteri chiavi SSH, logging, accesso API e altro ancora.

VirusTotal

Caso d'uso:

  • Prevenzione del phishing

VirusTotal consente di eseguire la scansione degli URL per individuare contenuti dannosi prima di presentarli agli utenti o ai dipendenti, indipendentemente dal fatto che si trovino nell'input utente, nelle email, nella chat, nei log o in altre posizioni.

Controlli di servizio VPC

Caso d'uso:

  • Firewall per i servizi gestiti

Aggrega i servizi gestiti in modo critico in un firewall per controllare chi può chiamare il servizio e a chi può rispondere. Blocca il traffico in uscita non autorizzato e l'esfiltrazione di dati con regole perimetrali in uscita su servizi come Cloud Functions. Impedisci le richieste da parte di utenti e località non autorizzati a database e database gestiti. Crea perimetri sicuri attorno ad API potenti o potenzialmente costose.

Scanner di applicazioni web

Caso d'uso:

  • Scanner dei rischi per la sicurezza delle applicazioni web
  • Scanner della disponibilità del repository di codice sorgente

Per evitare che la tua applicazione web espone dati sensibili, assicurati che le password non vengano inviate in testo in chiaro. Evita fughe di codice sorgente non elaborato potenzialmente devastante controllando la presenza di repository di codice sorgente git e Apache Subversion esposti. Queste analisi sono progettate per coprire specifiche OWASP Top 10 controlli.

Web Security Scanner

Caso d'uso:

  • Password non criptate trasmesse sulla rete

Web Security Scanner scansiona le tue applicazioni web e segnala i risultati di errori e vulnerabilità. Se la tua applicazione trasmette le password in testo in chiaro, Web Security Scanner genera un risultato CLEAR_TEXT_PASSWORD.

A03: Iniezione

I difetti di injection, ad esempio SQL, NoSQL, sistema operativo e LDAP injection, si verificano quando dati non attendibili vengono inviati a un interprete nell'ambito di un comando o di una query. I dati ostili dell'utente malintenzionato possono indurre l'interprete a eseguire comandi indesiderati o ad accedere ai dati senza un'adeguata autorizzazione. Consigliamo di eliminare o filtrare i dati utente dall'applicazione prima di essere inviati a un interprete.

Le sezioni seguenti trattano dei prodotti Google Cloud che possono contribuire a mitigare questo rischio.

Apigee

Caso d'uso:

  • Blocco di SQL injection
  • Blocco dell'iniezione NoSQL
  • Blocco dell'inserimento di LDAP
  • Blocco dell'iniezione di JavaScript

Apigee offre diversi criteri di convalida degli input per verificare che i valori forniti da un client corrispondano alle aspettative configurate prima di consentire l'ulteriore elaborazione dei criteri o delle regole. Apigee, fungendo da gateway per le richieste API in arrivo, 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 rischiosi e quindi sostituirle con valori sicuri.

Esistono diversi approcci per convalidare l'input con la piattaforma Apigee:

Container Threat Detection

Caso d'uso:

  • Rilevamento di script dannosi
  • Rilevamento inverso della shell
  • Rilevamento dell'installazione di malware

Il rilevatore di Malicious Script Executed di Container Threat Detection analizza ogni script shell eseguito sul sistema e segnala quelli che sembrano dannosi. Questo fornisce un veicolo per rilevare gli attacchi di shell command injection. Dopo un'inserimento del comando shell riuscito, un utente malintenzionato può generare una shell inversa, che attiva il rilevatore Reverse Shell. In alternativa, possono installare malware, attivando i rilevatori di Added Binary Executed e Added Library Loaded.

Google Cloud Armor

Caso d'uso:

  • Filtro di SQL injection
  • Filtro di iniezione PHP

Google Cloud Armor è in grado di bloccare gli attacchi comuni di injection prima che raggiungano la tua applicazione. Per SQL injection (SQLi), Google Cloud Armor ha un set di regole predefinito basato sul set di regole di base OWASP Modsecurity. Puoi creare criteri di sicurezza che bloccano 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 dell'URL.

Per l'inserimento di file PHP, esiste un altro set di regole preconfigurato. Puoi usare la regola evaluatePreconfiguredExpr('php-stable') per bloccare gli attacchi più comuni con PHP injection.

A seconda dell'applicazione, l'attivazione di espressioni preconfigurate potrebbe generare alcuni falsi positivi, perché alcune regole nella serie di regole sono piuttosto sensibili. Per ulteriori informazioni, consulta Risoluzione dei problemi relativi ai falsi positivi e come ottimizzare la serie di regole per diversi livelli di sensibilità.

Per gli attacchi injection diversi da quelli che hanno come target SQL o PHP, puoi creare regole personalizzate per bloccare le richieste quando nel percorso della richiesta o nella query vengono utilizzati pattern di escape o parole chiave specifici di questi protocolli. Assicurati che questi pattern non vengano visualizzati in richieste valide. Puoi anche limitare l'utilizzo di queste regole solo per endpoint o percorsi specifici che potrebbero interpretare i dati trasmessi a queste regole.

Inoltre, alcuni attacchi di injection possono essere mitigati utilizzando le regole preconfigurate per l'esecuzione remota del codice e l'inserimento remoto dei file.

Web Security Scanner

Caso d'uso:

  • Monitoraggio del cross-site scripting
  • Monitoraggio per SQL injection

Web Security Scanner scansiona le tue applicazioni web alla ricerca di vulnerabilità e fornisce rilevatori che monitorano gli attacchi di cross-site scripting e SQL injection.

A04: Design non sicuro

La progettazione non sicura si verifica quando le organizzazioni non implementano i mezzi per valutare e risolvere le minacce durante il ciclo di vita dello sviluppo. La modellazione delle minacce, se eseguita nelle fasi iniziali della progettazione e del perfezionamento, ed è proseguita durante le fasi di sviluppo e test, aiuta le organizzazioni ad analizzare le ipotesi e i difetti di errore. Una cultura basata sull'assenza di colpe nell'apprendimento dagli errori è la chiave per una progettazione sicura.

Apigee

Casi d'uso:

  • Convalida degli input
  • Controlli di accesso
  • Gestione dei guasti
  • Norme sulla protezione dei contenuti
  • Gestione delle password

Apigee consente di convalidare le richieste e le risposte in entrata per la 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 dei guasti, puoi personalizzare il modo in cui il proxy API reagisce agli errori.

Per proteggere da password non sicure per gli utenti globali di Apigee, Apigee fornisce funzionalità di scadenza, blocco e reimpostazione delle password. Inoltre, puoi abilitare l'autenticazione a due fattori (2FA).

API Cloud Data Loss Prevention (parte di Sensitive Data Protection)

Caso d'uso:

  • Identifica e oscura 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 controlli dell'accesso per limitare chi può visualizzare i dati. 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 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. Usa questi audit trail per rispondere alle esigenze forensi e di conformità.

Web Security Scanner

Caso d'uso:

  • Identifica le vulnerabilità della sicurezza nelle tue applicazioni.

Web Security Scanner scansiona le tue applicazioni web alla ricerca di vulnerabilità. Segue i link e tenta di esercitare il maggior numero possibile di input utente e gestori di eventi. Il rilevatore CACHEABLE_PASSWORD_INPUT genera una verifica se le password inserite nell'applicazione web possono essere memorizzate nella cache in una normale cache del browser anziché in un archivio sicuro delle password.

A05: Configurazione errata della sicurezza

La configurazione errata della sicurezza si riferisce a difetti delle applicazioni senza patch, account predefiniti aperti e directory e file non protetti che in genere possono essere evitati con il rafforzamento dell'applicazione. Gli errori di configurazione della sicurezza possono verificarsi in molti modi, ad esempio facendo affidamento sulle configurazioni predefinite, creando configurazioni parziali che potrebbero non essere sicure, consentendo ai messaggi di errore di contenere dettagli sensibili, memorizzando i dati nel cloud senza adeguati controlli di sicurezza o configurando in modo errato le intestazioni HTTP.

Apigee

Caso d'uso:

  • Gestisci le configurazioni di sicurezza
  • Monitora le configurazioni di sicurezza

Un flusso condiviso consente agli sviluppatori di API di combinare criteri e risorse in un gruppo riutilizzabile. Acquisendo funzionalità riutilizzabili in un'unica posizione, un flusso condiviso ti aiuta a garantire coerenza, ridurre i tempi di sviluppo e gestire più facilmente il codice. Puoi includere un flusso condiviso all'interno di singoli proxy API utilizzando un criterio FlowCallout oppure inserire flussi condivisi in hook di flusso per eseguire automaticamente la logica di flusso condivisa per ogni proxy API di cui è stato eseguito il deployment nello stesso ambiente.

Cloud Asset Inventory

Caso d'uso:

  • Servizio di notifica in tempo reale

Le notifiche in tempo reale possono avvisarti del provisioning imprevisto di risorse che potrebbero essere protette in modo improprio o non autorizzate.

Cloud Load Balancing

Caso d'uso:

  • Controllo granulare della crittografia SSL e TLS

Impedisci l'utilizzo di crittografie SSL o TLS a vulnerabilità note assegnando un gruppo predefinito o un elenco personalizzato di crittografie utilizzabili da un bilanciatore del carico.

Google Cloud Armor

Caso d'uso:

  • Filtra endpoint non sicuri
  • Filtra gli attacchi di inclusione di file locali o remoti
  • Filtra attacchi al protocollo

Poiché le configurazioni errate della sicurezza possono verificarsi a livello dell'applicazione, OWASP Foundation consiglia di applicare direttamente la protezione e l'applicazione di patch alla tua applicazione e di rimuovere tutte le funzionalità non necessarie.

Sebbene un web application firewall (WAF), come Google Cloud Armor, non possa aiutarti a correggere l'errore di configurazione sottostante, puoi bloccare l'accesso a parti dell'applicazione completamente o per tutti, tranne per indirizzi IP o paesi specifici. La limitazione dell'accesso può ridurre il rischio di sfruttamento di queste configurazioni errate.

Ad esempio, se la tua applicazione espone un'interfaccia di amministrazione 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 di amministrazione.

Alcuni errori di configurazione possono essere parzialmente mitigati utilizzando i set di regole predefiniti di inclusione dei file locali (LFI) o di inclusione remota dei file (RFI). Ad esempio, sfruttare la sfida di immagini cross-site di Juice Shop non ha esito positivo quando viene applicato il set di regole LFI. Utilizza la regola evaluatePreconfiguredExpr('lfi-stable') || evaluatePreconfiguredExpr('rfi-stable') per bloccare le richieste utilizzando le serie di regole LFI e RFI e ottimizzare le regole in base alle esigenze. Puoi verificare che la soluzione della sfida non funzioni più.

Alcuni attacchi HTTP possono anche essere mitigati utilizzando set di regole preconfigurati:

Security Health Analytics

Caso d'uso:

  • Monitoraggio e avvisi nel controllo della sicurezza

Monitora decine di indicatori tramite un'unica interfaccia per assicurarti che la tua applicazione mantenga le best practice per la sicurezza.

Web Security Scanner

Caso d'uso:

  • Scanner di applicazioni web su misura per OWASP Top 10
  • Errori di configurazione del server HTTP
  • Contenuti HTTP/HTTPS misti
  • Entità esterna XML (XXE)

Web Security Scanner monitora gli errori di sicurezza più comuni, come errori di corrispondenza dei tipi di contenuto, intestazioni di sicurezza non valide e pubblicazione di contenuti misti. Web Security Scanner monitora inoltre la ricerca di vulnerabilità, come XXE. Queste analisi sono progettate per coprire i 10 controlli principali OWASP. I seguenti rilevatori analizzano le configurazioni della sicurezza:

  • INVALID_CONTENT_TYPE
  • INVALID_HEADER
  • MISMATCHING_SECURITY_HEADER_VALUES
  • MISSPELLED_SECURITY_HEADER_NAME
  • MIXED_CONTENT
  • XXE_REFLECTED_FILE_LEAKAGE

Per ulteriori informazioni su questi e altri rilevatori, consulta la Panoramica di Web Security Scanner.

R06: Componenti vulnerabili e obsoleti

Componenti con vulnerabilità note è una categoria di vettori di attacco generici. Queste vulnerabilità possono essere mitigate al meglio monitorando e eseguendo rapidamente l'upgrade di tutti i componenti delle applicazioni.

Autorizzazione binaria

Caso d'uso:

  • Limita i cluster GKE a container attendibili

Autorizzazione binaria è un controllo di sicurezza applicato in fase di deployment per garantire che venga eseguito il deployment su Google Kubernetes Engine (GKE) solo delle immagini container attendibili. Con Autorizzazione binaria, puoi richiedere che le immagini siano firmate da autorità attendibili durante il processo di sviluppo e quindi applicare la convalida della firma durante il deployment. Se applichi la convalida, hai la certezza che il processo di build e rilascio utilizza solo immagini verificate.

Cloud Load Balancing

Caso d'uso:

  • Controllo granulare della crittografia SSL e TLS

Impedisci l'uso di crittografie SSL o TLS vulnerabili assegnando un gruppo predefinito o un elenco personalizzato di crittografie che Cloud Load Balancing può utilizzare.

Container Threat Detection

Caso d'uso:

  • Rilevamento di script dannosi
  • Rilevamento inverso della shell
  • Rilevamento dell'installazione di malware

Se un utente malintenzionato sfrutta un componente vulnerabile ed esegue uno script dannoso, il rilevatore di Malicious Script Executed di Container Threat Detection genera un risultato. Se un utente malintenzionato genera una shell inversa, il rilevatore Reverse Shell genera un risultato. Se un utente malintenzionato installa malware, i rilevatori Added Binary Executed e Added Library Loaded generano risultati.

Event Threat Detection

Caso d'uso:

  • Rilevamento del cryptomining
  • Rilevamento dei malware
  • Esfiltrazione di dati
  • DoS in uscita

Event Threat Detection monitora il flusso di Cloud Logging e applica logica di rilevamento e 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 le richieste DNS basate su malware o la connessione a indirizzi non validi noti.
  • esfiltrazione in una 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 di attacchi denial of service.

Google Cloud Armor

Caso d'uso:

  • Blocca l'accesso agli endpoint dell'applicazione inutilizzati
  • Blocca i vettori d'attacco comuni

Non utilizzare un web application firewall (WAF) come Google Cloud Armor come strategia di mitigazione unica per bloccare gli attacchi contro questa categoria, perché gli attacchi sono spesso specifici delle librerie e non possono essere bloccati da serie di regole preconfigurate o non possono essere soggetti a patch sul lato server. Il monitoraggio e l'upgrade regolari di tutti i componenti dell'applicazione è l'unica opzione per mitigare questo tipo di vulnerabilità.

Tuttavia, Google Cloud Armor può contribuire a mitigare alcuni attacchi comuni contro le applicazioni vulnerabili tramite le sue regole preconfigurate per l'esecuzione remota di codice, l'inclusione locale dei file o l'inclusione remota dei file.

Se sei a conoscenza dei componenti vulnerabili della tua applicazione, ma non puoi applicare subito le patch all'applicazione, 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 negano l'accesso. Se richiedi l'accesso a questi componenti da località o utenti 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à note
  • 1.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 alcune 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, mitigando proattivamente il rischio se questi componenti diventano vulnerabili in futuro.

Bollettini sulla sicurezza di Google Cloud

Caso d'uso:

  • Monitoraggio del bollettino sulla sicurezza
  • CVE per i prodotti Google Cloud

I bollettini sulla sicurezza di Google Cloud sono una fonte autorevole per i bollettini sulla sicurezza che hanno un impatto su Google Cloud. I post includono informazioni di base, link CVE e consigli per ulteriori azioni.

Web Security Scanner

Caso d'uso:

  • Librerie obsolete
  • Dashboard dei risultati e delle vulnerabilità

Monitora le librerie obsolete incluse nella tua applicazione web. Monitora questi risultati nella dashboard di Security Command Center.

A07: Errori di identificazione e autenticazione

Gli errori di identificazione e autenticazione rappresentano rischi comuni perché l'autenticazione dell'applicazione e la gestione delle sessioni sono spesso implementate in modo errato. Gli utenti malintenzionati possono sfruttare i difetti di implementazione, ad esempio password, chiavi e token di sessione compromessi, per assumere temporaneamente o definitivamente l'identità di altri utenti.

Access Transparency

Caso d'uso:

  • Monitoraggio del fornitore di servizi
  • Motivazioni dell'accesso

In genere, per ricevere assistenza pratica da fornitori esterni, era necessario concedere e condividere credenziali temporanee, il che creava potenziali credenziali orfane o divulgate. Access Approval è un servizio integrato che ti consente di approvare o rifiutare le richieste di accesso da parte dei dipendenti Google che lavorano per supportare il tuo account. Ogni richiesta di accesso include una giustificazione dell'accesso, così puoi visualizzare il motivo di ciascun accesso, inclusi i riferimenti ai ticket di supporto.

Apigee

Caso d'uso:

  • Convalida delle chiavi
  • Convalida dei token
  • Criteri OAuth

Apigee fornisce criteri VerifyApiKey, OAuth e JSON Web Token (JWT) che contribuiscono a proteggerti da questo rischio.

La convalida delle chiavi API è la forma di sicurezza basata su app più semplice che può essere configurata per un'API. Un'applicazione client presenta una chiave API con la sua richiesta. Apigee Edge, tramite un criterio collegato a un proxy API, verifica che la chiave API sia in 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 risorsa tramite l'orchestrazione di un'interazione di approvazione tra il proprietario della risorsa e il servizio HTTP o per proprio conto, consentendo all'applicazione di terze parti di ottenere l'accesso.

I token web JSON, o JWT, vengono comunemente utilizzati per condividere rivendicazioni o asserzioni tra applicazioni collegate. Apigee fornisce il supporto JWT utilizzando tre criteri.

Event Threat Detection

Caso d'uso:

  • Rilevamento di forza bruta
  • Rilevamento di abusi IAM

Event Threat Detection monitora il flusso di Cloud Logging e applica la logica di rilevamento e l'intelligence sulle minacce di proprietà a un livello granulare. Quando Event Threat Detection rileva una minaccia, scrive un risultato in Security Command Center e Cloud Logging nel progetto che preferisci. I seguenti tipi di evento sono utili per identificare l'autenticazione non funzionante:

  • Forza bruta SSH. Rileva la forza bruta di SSH su un host.
  • Concessione anomala. Rileva i privilegi concessi agli utenti IAM (gestione di identità e accessi) al di fuori dell'organizzazione Google Cloud.

Google Cloud Armor

Caso d'uso:

  • Limita l'accesso agli endpoint di autenticazione
  • Limita l'uso non autorizzato dei token

Gli attacchi contro le vulnerabilità classificate sotto il rischio di autenticazione non funzionante vengono mitigati meglio a livello di applicazione o da altri controlli. Tuttavia, Google 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 utenti limitata e tali utenti provengono da un insieme noto di indirizzi IP o paesi, puoi creare un criterio di sicurezza che limiti l'accesso alla tua applicazione agli utenti di quei blocchi o paesi di indirizzi IP. Questo criterio consente di mitigare l'analisi automatizzata degli 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 contenenti quei parametri in una stringa di query utilizzando una regola personalizzata. Puoi aggiornare le regole definite in precedenza utilizzando il metodo securityPolicy.patchRule. Potresti riuscire a identificare i potenziali token rubati utilizzando meccanismi di rilevamento di anomalie nei log di bilanciamento del carico HTTP. Puoi anche rilevare potenziali utenti malintenzionati analizzando le password comuni in questi log.

Puoi bloccare gli attacchi comuni di correzione delle sessioni utilizzando il set di regole ModSecurity preconfigurato per la correzione della sessione. Per utilizzare la serie di regole, aggiungi la regola evaluatePreconfiguredExpr('sessionfixation-stable') predefinita al criterio di sicurezza.

Se la tua applicazione include modifiche delle password nella stringa di query, puoi anche bloccare l'utilizzo di password comuni utilizzando una regola personalizzata che corrisponde all'attributo request.query. Tuttavia, questi controlli sono implementati in modo molto migliore sul lato applicazione, se possibile.

Identity-Aware Proxy (IAP)

Caso d'uso:

  • Controllo degli accessi centralizzato
  • Compatibile con cloud e on-premise
  • Protezione delle connessioni HTTP e TCP
  • Accesso sensibile al contesto

IAP si integra con il bilanciamento del carico HTTP(S) per consentirti di utilizzare identità e contesto per formare un firewall di autenticazione e autorizzazione sicura attorno all'applicazione. Previeni l'autenticazione interrotta nella tua applicazione visibile al pubblico eseguendo il provisioning degli utenti esterni in Identity Platform (per ulteriori informazioni, consulta la sezione seguente).

Puoi anche impedire l'interruzione dell'autenticazione 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 accesso allo strumento genera un tentativo di autenticazione registrato seguito da un controllo dell'autorizzazione per garantire 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
  • Intelligence sulla protezione dell'Account Google

Identity Platform è la piattaforma di gestione di identità e accessi (GIAC) per i clienti di Google Cloud. Identity Platform offre l'autenticazione sicura come servizio con il supporto multiprotocollo tramite SDK e API. Offre l'autenticazione a più fattori, l'integrazione con servizi di autenticazione di terze parti e il monitoraggio delle attività verificabili.

reCAPTCHA

Caso d'uso:

  • Tentativi di accesso automatici
  • Appropriazione di contenuti
  • Credential stuffing
  • Transazioni fraudolente
  • Manomissione dell'account
  • Account falsi
  • Riciclaggio di denaro

reCAPTCHA offre filtri estremamente efficaci contro bot e altre forme di automazione e traffico collettivo assegnando un punteggio al livello di rischio dei tentativi di accesso. Puoi ottimizzare il modello specifico del tuo sito con un feedback automatico. reCAPTCHA adatta i punteggi futuri in base al tuo sito.

Security Health Analytics

Caso d'uso:

  • Applicazione MFA/2FA
  • Protezione delle chiavi API
  • Applicazione rotazione della chiave API

Security Command Center aiuta a prevenire le interruzioni dell'autenticazione monitorando la conformità dell'autenticazione a più fattori e l'integrità delle tue chiavi API. Puoi identificare le richieste sospette e bloccarle o contrassegnarle per una gestione speciale.

Token di sicurezza Titan

Caso d'uso:

  • Autenticazione a due fattori (2FA) anti-phishing
  • Autenticazione tramite PC e dispositivi mobili

I token di sicurezza Titan utilizzano la crittografia a chiave pubblica per verificare l'identità dell'utente e l'URL della pagina di accesso al fine di garantire che i malintenzionati non possano accedere all'account anche se ti hanno indotto a fornire nome utente e password con l'inganno.

Web Security Scanner

Caso d'uso:

  • Perdita di identificatori di sessione

Web Security Scanner scansiona le tue applicazioni web alla ricerca di vulnerabilità, come fuga di ID di sessione, che consentono ad altre parti di impersonare o identificare in modo univoco un utente.

A08: Errori relativi all'integrità dei dati e del software

Gli errori relativi all'integrità dei dati e del software possono verificarsi quando i controlli di integrità non vengono effettuati durante gli aggiornamenti del software, l'elaborazione di dati riservati o qualsiasi altro processo nella pipeline CI/CD.

Artifact Registry

Caso d'uso:

  • Centralizza gli artefatti in un unico luogo attendibile
  • Utilizza la gestione delle versioni, l'analisi delle vulnerabilità e i flussi di lavoro 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 fornire l'analisi delle vulnerabilità dei container utilizzando Artifact Analysis.

Autorizzazione binaria

Caso d'uso:

  • Assicurati che venga eseguito il deployment solo di container attendibili

Autorizzazione binaria verifica l'integrità dei container in modo da eseguire 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 criteri a livello di cluster, quindi puoi configurare criteri diversi per ambienti diversi. Questa distinzione consente requisiti di attestazione progressiva man mano che gli ambienti si avvicinano alla produzione.

Cloud Asset Inventory

Caso d'uso:

  • Servizio di ricerca

  • Accedi allo strumento di analisi

Uno dei vettori più comuni per l'esposizione dei dati è l'infrastruttura IT orfana o non autorizzata. Per identificare i server che nessuno gestisce e i bucket con regole di condivisione eccessiva, analizza i dati delle serie temporali degli asset cloud.

Imposta notifiche in tempo reale per avvisarti del 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

  • Standardizza i deployment delle build

Cloud Build consente di creare una configurazione di compilazione per fornire istruzioni sul deployment della build, tra cui l'esecuzione di analisi statiche, test di integrazione e così via.

Google Cloud Armor

Caso d'uso:

  • Blocca l'esecuzione di codice remoto

Poiché la maggior parte degli attacchi contro software e integrità dei dati sono specifici delle applicazioni, esistono solo pochi modi per mitigare questi attacchi, ad esempio utilizzando un web application firewall (WAF) come Google Cloud Armor. OWASP consiglia di non accettare oggetti serializzati provenienti 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 gli oggetti serializzati
  • 1.2.3.4/32: l'intervallo di indirizzi IP che deve mantenere l'accesso all'interfaccia.

Per mitigare gli attacchi tipici contro l'integrità dei dati e del software che utilizzano l'esecuzione di codice remota (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 i shell di UNIX e Windows.

Gli attacchi RCE descritti in Sfide di Juice Shop per le deserializzazioni non sicure eseguono funzioni ed espressioni regolari in Node.js sul server. Questi tipi di attacchi non sono bloccati dal set di regole RCE predefinito e dalla regola di sicurezza OWASP corrispondente e devono essere mitigati utilizzando patch sul lato server o regole personalizzate.

VirusTotal

Caso d'uso:

  • Scansione dei dati non attendibile

L'API VirusTotal 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.

Web Security Scanner

Caso d'uso:

  • deserializzazione non sicura

Web Security Scanner scansiona le tue applicazioni web alla ricerca di vulnerabilità. Ad esempio, se utilizzi una versione di Apache Struts che rende la tua applicazione vulnerabile ad attacchi di tipo command injection remoto, Web Security Scanner genera un STRUTS_INSECURE_DESERIALIZATION risultato.

A09: Errori di logging e monitoraggio di sicurezza

Se non registri, monitori o gestisci in modo adeguato gli incidenti nei tuoi sistemi, i malintenzionati possono eseguire attacchi più profondi e più prolungati su dati e software.

Access Transparency

Caso d'uso:

  • Monitoraggio e controllo degli accessi del fornitore di servizi
  • Motivazioni dell'accesso
  • Identificazione di metodi e risorse

L'incapacità di controllare l'accesso del cloud provider può rappresentare un ostacolo alla migrazione da on-premise al cloud. Access Transparency consente la verifica dell'accesso del provider cloud, portando i controlli di audit a meno delle condizioni on-premise. Puoi registrare il motivo di ciascun accesso, inclusi i riferimenti ai ticket di assistenza pertinenti. I nomi di identificazione di risorse e metodi Access Approval ti consente di approvare o respingere le richieste di accesso da parte dei dipendenti Google che lavorano per fornire assistenza al tuo servizio.

Apigee

Caso d'uso:

  • Esporta i log Apigee in SIEM
  • Usa la UI di monitoraggio di Apigee
  • Segui le best practice di monitoraggio

Apigee offre diversi modi per eseguire logging, monitoraggio, gestione degli errori e audit logging:

  • Logging
    • I messaggi di log possono essere inviati a Splunk o ad altri endpoint syslog utilizzando il criterio MessageLogging.
    • I dati di analisi delle API possono essere estratti tramite l'API di analisi e importati o esportati in altri sistemi.
    • In Edge per il cloud privato, puoi usare il criterio MessageLogging per scrivere nei file di log locali. Sono disponibili anche i file di log di ciascun componente 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'interfaccia utente o l'API di monitoraggio API per monitorare regolarmente API e backend e attivare avvisi.
    • Usa il monitoraggio dello stato di integrità per monitorare regolarmente i backend dei server di destinazione.
    • Apigee fornisce suggerimenti per il monitoraggio di Edge per il cloud privato.
    • Apigee fornisce anche best practice che il tuo team può sfruttare per monitorare il programma API.
  • Gestione degli errori
    • Apigee offre un meccanismo di gestione dei guasti potente e versatile per i proxy API. In modo simile al modo in cui un programma Java rileva le eccezioni, i proxy API possono rilevare gli errori e determinare come restituire le risposte appropriate ai client.
    • La gestione personalizzata degli errori di Apigee consente di aggiungere funzionalità come il logging dei messaggi ogni volta che si verifica un errore.
  • Audit log
    • La piattaforma Apigee mantiene un audit log che tiene traccia delle modifiche ai proxy API, ai prodotti e alla cronologia dell'organizzazione.
    • Questo log è disponibile tramite l'interfaccia utente o tramite l'API di gestione.

Google Security Operations

Caso d'uso:

  • Rilevamento delle minacce
  • Preavviso

I team di sicurezza possono inviare i propri dati di telemetria sulla sicurezza a Google Security Operations per consentirti di applicare potenti regole di rilevamento a un set di dati unificato.

Protezione dei dati sensibili

Caso d'uso:

  • Mascheramento automatico dei dati sensibili

Identifica le informazioni sensibili alla conformità nei flussi di log e maschera o trasformale in modo appropriato prima di archiviarle nei log. Ad esempio, un messaggio di errore o un core dump potrebbero 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:

  • Logging degli eventi di richiesta della chiave di crittografia
  • Motivazioni dell'accesso

Key Access Justifications ti offre visibilità storica di ogni richiesta di una 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 consente di archiviare, cercare, analizzare, monitorare e creare avvisi su dati ed eventi di logging da 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 di eventi

Cloud Monitoring offre visibilità su prestazioni, uptime e integrità complessiva delle applicazioni cloud. Fornisce una dashboard di monitoraggio, monitor di eventi e avvisi su più canali.

Cloud Source Repositories

Caso d'uso:

  • Attribuzione della modifica del codice
  • Accedi a log di controllo

Ottieni insight su quali azioni sono state eseguite nel repository, incluso dove e quando, con Cloud Audit Logs generati da Cloud Source Repositories.

Error Reporting

Caso d'uso:

  • Acquisisci errori interni dell'applicazione in Cloud Logging
  • Raccogli report sugli arresti anomali al di fuori dell'istanza di calcolo che ha subito un arresto anomalo

Gli errori interni delle applicazioni possono essere indicatori di un problema di sicurezza, di una funzionalità non funzionante 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.

Event Threat Detection

Caso 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 sulle minacce di proprietà a un livello granulare. Event Threat Detection identifica le voci di rilievo nei log e le alza per la revisione. Quando Event Threat Detection rileva una minaccia, scrive un risultato in Security Command Center e in un progetto Cloud Logging.

Google Cloud Armor

Caso d'uso:

  • Logging dei criteri di sicurezza
  • Dashboard di Monitoring
  • Avvisi sulle anomalie di traffico

I log delle richieste di Google Cloud Armor fanno parte di Cloud Logging per i bilanciatori del carico delle applicazioni esterni Per avere accesso alle informazioni di logging, ad esempio la regola del criterio di sicurezza corrispondente al traffico, abilita il logging su tutti i servizi di backend a cui sono collegati criteri di sicurezza. Utilizza le regole in modalità di anteprima per testarle e registrare i risultati senza applicare gli effetti.

Google Cloud Armor offre anche dashboard di monitoraggio per i criteri di sicurezza che consentono di ottenere una panoramica della quantità di traffico superata o rifiutata da uno dei criteri di sicurezza. Google Cloud Armor pubblica risultati sulle anomalie del traffico, come picchi nel traffico consentito o aumento del traffico negato, in Security Command Center.

Google Cloud Armor scrive automaticamente gli audit log dell'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 basate sugli utenti che creano, modificano o leggono i dati delle risorse forniti dall'utente.

Identity Platform

Caso d'uso:

  • Registri di controllo dell'attività di amministrazione
  • Registri di controllo degli accessi ai dati
  • Audit log degli eventi di sistema
  • Audit log dei criteri negati
  • Log delle attività di autenticazione

Identity Platform è la piattaforma di gestione di identità e accessi rivolta agli utenti di Google Cloud che registra l'attività di autenticazione per impostazione predefinita.

Abilita diversi audit log avanzati, tra cui attività di amministrazione, accesso ai dati, eventi di sistema e tentativi di autenticazione negati.

Security Command Center

Caso d'uso:

  • Monitoraggio degli avvisi
  • Gestione delle minacce
  • Reporting sull'analisi delle vulnerabilità
  • Monitoraggio della conformità
  • Monitoraggio degli asset
  • Risultati della scansione della sicurezza

Visualizza il numero totale di risultati nell'organizzazione in base al livello di gravità nel riquadro della panoramica. Usa la dashboard delle minacce per rivedere gli eventi potenziali dannosi nelle risorse Google Cloud della tua organizzazione. Visualizza i risultati e i suggerimenti di Security Health Analytics nella scheda Vulnerabilità.

La dashboard per la conformità ti consente di monitorare continuamente la conformità con i controlli di PCI DSS, CIS Google Cloud Computing Foundations Benchmark e altro ancora. La visualizzazione Asset mostra in modo dettagliato tutte le risorse Google Cloud, chiamate asset, nella tua organizzazione. La scheda Asset ti consente di visualizzare gli asset dell'intera organizzazione oppure di filtrarli all'interno di un progetto specifico, per tipo o tipo di modifica. Infine, la scheda Risultati mostra un inventario dettagliato dei risultati per tutti gli asset dell'organizzazione, in modo da visualizzare potenziali rischi per la sicurezza.

A10: Falsificazione delle richieste lato server (SSRF)

Un attacco SSRF si verifica quando un utente malintenzionato costringe un server vulnerabile ad attivare richieste dannose e indesiderate verso server di terze parti o risorse interne. Gli errori SSRF possono verificarsi quando un'applicazione web recupera una risorsa remota senza convalidare l'URL fornito dall'utente.

Apigee

Caso d'uso:

  • Blocca gli attacchi SSRF utilizzando LFI o RFI

Apigee dispone di parser XML e JSON integrati che utilizzano XPath o JSONPath per estrarre i dati. Ha un criterio XMLThreatProtection per proteggere da payload XML dannosi e un criterio JSONThreatProtection per proteggere da payload JSON dannosi.

Il criterio ExtractVariables di Apigee consente di estrarre il contenuto da una richiesta o risposta e assegnarlo a una variabile. Puoi estrarre qualsiasi parte del messaggio, tra cui intestazioni, percorsi URI, payload JSON e XML, parametri del modulo e parametri di ricerca. Il criterio funziona applicando un pattern di testo ai contenuti del messaggio e, quando trova una corrispondenza, imposta una variabile con il contenuto del messaggio specificato.

Google Cloud Armor

Caso d'uso:

  • Filtra gli attacchi SSRF utilizzando LFI o RFI

Poiché gli attacchi SSRF possono essere complessi e avere forme diverse, le possibilità di mitigazione dei web application firewall sono limitate. Gli attacchi possono essere mitigati meglio applicando patch ai parser XML o JSON, impedendo 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, Google Cloud Armor può comunque contribuire a difendersi dall'esfiltrazione di dati e da altri impatti.

Sebbene non ci siano regole nel set di regole principali di OWASP ModeSecurity per difendersi in maniera specifica dagli attacchi SSRF, le regole di inclusione locale di file (LFI) e RFI (remote file analytics) possono essere utili contro alcuni di questi attacchi. Per impedire a un utente malintenzionato di recuperare file locali sul server, utilizza la regola evaluatePreconfiguredExpr('lfi-stable') in un criterio di sicurezza di Google Cloud Armor.

La sfida SSRF Juice Shop utilizza le serie di regole preconfigurate di inclusione di file remoto (RFI) o LFI per contribuire a mitigare alcuni di questi attacchi, perché bloccano l'inclusione di URL o l'attraversamento del percorso. Ad esempio, la seguente regola abilita entrambe le serie di regole:

evaluatePreconfiguredExpr('lfi-stable') ||
evaluatePreconfiguredExpr('rfi-stable')

Quando viene implementata una regola di questo tipo, anche la soluzione per la verifica SSRF smette di funzionare.

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 dell'organizzazione. Questi perimetri offrono protezione contro l'esfiltrazione di dati. Quando vengono eseguite in modalità di applicazione forzata, le richieste API ai servizi limitati non attraversano il confine del perimetro, a meno che non vengano soddisfatte le condizioni delle regole in entrata e in uscita necessarie del perimetro.

Firewall Virtual Private Cloud (VPC)

Caso d'uso:

  • Applicare 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 progetti e la rete VPC. Puoi creare regole firewall che bloccano tutto il traffico tranne quello che vuoi consentire. Per ulteriori informazioni, consulta la panoramica delle regole firewall VPC.

Web Security Scanner

Caso d'uso:

  • Monitoraggio di applicazioni web

Web Security Scanner scansiona le 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