Le migliori opzioni di mitigazione OWASP 10 2021 su Google Cloud

Last reviewed 2021-12-12 UTC

Questo documento ti aiuta a identificare i prodotti Google Cloud e le strategie di mitigazione che possono aiutarti a difenderti dagli attacchi più comuni a livello di applicazione descritti in OWASP Top 10. 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 deve essere a conoscenza. Sebbene nessun prodotto di sicurezza possa garantire una protezione completa da questi rischi, applicare questi prodotti e servizi quando sono pertinenti nella tua architettura può contribuire a creare una solida soluzione di sicurezza multilivello.

L'infrastruttura 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. Puoi ereditare questi vantaggi eseguendo il deployment delle tue applicazioni in 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 per rischio per la sicurezza delle applicazioni e per 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 10 principali rischi OWASP, 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 di 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 seguente tabella possono aiutarti a difendere dai 10 principali rischi per la sicurezza:

Prodotto Riepilogo A01 A02 A03 A04 A05 A06 A07 A08 A09 A10
Access Transparency Estendi visibilità e controllo sul cloud provider con i log di accesso amministrativo e i controlli di approvazione
Artifact Registry Archivia gli artefatti a livello centrale e crea dipendenze
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
Chronicle Individua 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 Virtual 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 proxy SSL o il bilanciatore del carico HTTPS
Cloud Logging Gestione e analisi dei log in tempo reale su larga scala
Cloud Monitoring Raccogli e analizza 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 ai container Monitora costantemente lo stato delle immagini container, valuta tutte le modifiche e monitora i tentativi di accesso remoto per rilevare attacchi runtime quasi in tempo reale
Rilevamento delle minacce agli eventi Monitora il flusso di Cloud Logging della tua organizzazione e rileva le minacce quasi in tempo reale
Inventario Forseti Raccogli e archivia gli snapshot della tua architettura
Scanner Forseti Analizza i dati dell'inventario in base a criteri personalizzati e avvisi in caso di deviazioni inaspettate
Google Cloud Armor Un web application firewall (WAF) distribuito sul perimetro della rete Google per difenderti dai vettori d'attacco più comuni
Bollettini sulla sicurezza 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 Enterprise 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 far emergere le vulnerabilità nelle applicazioni
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 Isolare le risorse dei servizi Google Cloud multi-tenant per mitigare i rischi di esfiltrazione di dati
VirusTotal Analizza i file e gli URL sospetti per rilevare i tipi di malware; condividili automaticamente con la community
Web Security Scanner Generare tipi di risultati di vulnerabilità disponibili in Security Command Center

A01: Problemi di controllo dell'accesso dell'accesso

Il controllo dell'accesso inaccessibile si riferisce a controlli dell'accesso che vengono applicati solo parzialmente sul lato client o implementati in modo debole. La mitigazione di questi controlli spesso richiede una riscrittura sul lato applicazione per far sì 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 in modo da impedire ai malintenzionati di apportare modifiche non autorizzate o di accedere al sistema.

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

Configura portali per gli sviluppatori per mostrare prodotti API specifici in base al ruolo utente. Configura il portale per mostrare o nascondere contenuti in base al ruolo utente.

Cloud Asset Inventory

Caso d'uso:

  • Monitorare l'IT non autorizzato (detto anche "shadow IT")
  • Istanze di calcolo obsolete

Uno dei vettori più comuni per l'esposizione dei dati è l'infrastruttura IT orfana o non autorizzata. Configura notifiche in tempo reale per ricevere un avviso in caso di risorse in esecuzione impreviste, che potrebbero essere protette in modo errato 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 vulnerabili assegnando un gruppo predefinito o un elenco personalizzato di crittografie utilizzabili da Cloud Load Balancing.

Scanner Forseti

Caso d'uso:

  • Monitoraggio della configurazione del controllo dell'accesso

Monitora sistematicamente le risorse Google Cloud con l'obiettivo di assicurarti che i controlli dell'accesso siano impostati come previsto. Crea criteri basati su regole per codificare la tua posizione di sicurezza. Se la configurazione cambia inaspettatamente, Forseti Scanner ti avvisa in modo che tu possa ripristinare automaticamente uno stato noto.

Google Cloud Armor

Caso d'uso:

  • Filtra richieste multiorigine
  • Filtra gli attacchi di inclusione di file locali o remoti
  • Filtra attacchi relativi all'inquinamento da parametri HTTP

Molti casi di controllo dell'accesso inaccessibili non possono essere limitati 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. Varie sfide di Juice Shop relative a controlli degli accessi inaccessibili. Ad esempio, la pubblicazione di feedback nel nome di un altro utente implica il fatto che alcune richieste non sono autenticate lato server. Come vedi nella soluzione della verifica, l'exploit per questa vulnerabilità è completamente lato client e pertanto non può essere mitigato utilizzando Google Cloud Armor.

Alcune sfide possono essere parzialmente attenuate lato server se non è possibile applicare subito la patch all'applicazione.

Ad esempio, se sono possibili attacchi di falsificazione di richieste tra siti (CSRF) perché il tuo server web implementa male la condivisione delle risorse tra origini (CORS), come dimostrato nella challenge di CSRF Juice Shop, puoi mitigare il problema bloccando del tutto le richieste provenienti da origini impreviste con una regola personalizzata. La seguente regola associa 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 questa regola viene negato, la soluzione per la verifica CSRF smette di funzionare.

La sfida di manipolazione del carrello utilizza l'inquinamento dei parametri HTTP (HPP) per scoprire come attaccare il negozio seguendo la soluzione della sfida. HPP viene rilevato come parte della serie di regole di attacco di protocollo. Per bloccare questo tipo di attacco, utilizza la regola seguente: 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 muro sicuro di autenticazione e autorizzazione attorno alla tua applicazione. Previeni le interruzioni delle autorizzazioni o controllo dell'accesso alle tue applicazioni rivolte 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 Google Cloud e applicazioni Google Workspace in base all'identità dell'utente e al contesto della richiesta, senza la necessità di una VPN tradizionale. Usa un'unica piattaforma per il cloud e per le applicazioni e le risorse dell'infrastruttura on-premise.

Security Health Analytics

Caso d'uso:

  • Applicazione di MFA o 2FA
  • Protezione della chiave API
  • Monitoraggio dei criteri SSL

Previeni controllo 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 intestazione richiesta non sicura

Web Security Scanner esegue la scansione delle tue applicazioni web per rilevare vulnerabilità come repository di codice visibili pubblicamente e convalide configurate in modo errato delle intestazioni delle richieste.

A02: Errori crittografici

Gli errori di crittografia possono verificarsi a causa di una mancanza di crittografia o di una crittografia debole in transito oppure a causa di dati sensibili esposti accidentalmente. Gli attacchi contro queste vulnerabilità sono generalmente specifici dell'applicazione e, pertanto, necessitano di un approccio di difesa in profondità per mitigare.

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 criterio ai messaggi 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 degli accessi

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 in con regole di condivisione generica mediante l'analisi dei dati delle serie temporali degli asset cloud.

Configura notifiche in tempo reale per ricevere avvisi sul 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 eventuali 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 tuoi servizi cloud esattamente come 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 della crittografia SSL e TLS

I criteri SSL possono contribuire a prevenire l'esposizione di dati sensibili offrendoti il controllo sulle funzionalità e sulle crittografie SSL e TLS consentite in un bilanciatore del carico. Blocca le crittografie non approvate o non sicure in base alle esigenze.

Google Cloud Armor

Caso d'uso:

  • Filtra gli URL degli attacchi noti
  • Limita l'accesso agli endpoint sensibili

In generale, l'esposizione dei dati sensibili dovrebbe essere interrotta all'origine, ma poiché ogni attacco è specifico per l'applicazione, i web application firewall possono essere utilizzati solo in modo limitato per interrompere l'esposizione ai dati su larga scala. Tuttavia, se non è possibile applicare subito le patch alla tua applicazione, puoi limitare l'accesso a endpoint vulnerabili o a pattern di richieste 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 attraversamento directory non sicuri e attacchi di iniezione 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 la verifica delle metriche esposte accedendo alla sottodirectory /metrics utilizzata da Prometheus. Se un tuo endpoint sensibile è esposto e non puoi rimuovere immediatamente l'accesso, puoi limitarne l'accesso, tranne che per 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 dovrebbe avere accesso all'interfaccia delle metriche.

I file di log esposti accidentalmente vengono utilizzati 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:

  • Accesso sicuro da remoto ai servizi sensibili
  • Controllo degli accessi centralizzato
  • Accesso sensibile al contesto

Utilizza identità e contesto per creare un perimetro sicuro di autenticazione e autorizzazione 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 alle persone autorizzate in qualsiasi luogo su internet.

Con l'accesso sensibile al contesto, puoi applicare controlli dell'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 cloud e on-premise.

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 centralizzata di questi secret ti consente di utilizzare i 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 basarsi su Identity Platform per GIAC, Cloud Identity per i membri dell'organizzazione o software di tokenizzazione dedicato.

Security Health Analytics

Caso d'uso:

  • Applicazione MFA/2FA
  • Protezione della chiave API
  • Applicazione rotazione della chiave API
  • Privacy delle immagini Compute
  • Applicazione della regola per la chiave SSH
  • Monitoraggio dell'avvio protetto
  • Sicurezza dell'accesso alle API
  • Monitoraggio dei criteri SSL
  • Logging disabilitato
  • Avvisi ACL dei bucket pubblici

Previeni l'esposizione dei dati sensibili monitorando la conformità dell'autenticazione a più fattori e l'integrità delle tue chiavi API. Ricevi avvisi per configurazioni non sicure in 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 rilevare contenuti dannosi prima di presentarli ai tuoi utenti o dipendenti, a prescindere dal fatto che siano stati trovati negli input degli utenti, nelle email, nella chat, nei log o in altre posizioni.

Controlli di servizio VPC

Caso d'uso:

  • Firewall per 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 le regole per il perimetro in uscita su servizi come Cloud Functions. Impedisci le richieste provenienti da località e utenti non autorizzati a datastore e database gestiti. Crea perimetri sicuri intorno ad API potenti o potenzialmente costose.

Web Application Scanner

Caso d'uso:

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

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

Web Security Scanner

Caso d'uso:

  • Password non criptate trasmesse tramite la rete

Web Security Scanner scansiona le applicazioni web e segnala i risultati di errori e vulnerabilità. Se l'applicazione trasmette le password in testo non crittografato, Web Security Scanner genera un risultato CLEAR_TEXT_PASSWORD.

A03: Iniezione

I difetti di inserimento, ad esempio SQL, NoSQL, il sistema operativo e l'inserimento di LDAP, si verificano quando dati non attendibili vengono inviati a un interprete come parte di un comando o di una query. I dati ostili di un utente malintenzionato possono indurre con l'inganno l'interprete a eseguire comandi involontari o ad accedere ai dati senza la corretta autorizzazione. È consigliabile che i dati utente vengano sottoposti a sanitizzazione o filtri dall'applicazione prima di essere inviati a un interprete.

Le seguenti sezioni descrivono i prodotti Google Cloud che possono contribuire a mitigare questo rischio.

Apigee

Caso d'uso:

  • Blocco dell'SQL injection
  • Blocco dell'iniezione NoSQL
  • Blocco dell'inserimento LDAP
  • Blocco dell'iniezione 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, agendo 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 in modo da rimuovere le sequenze di caratteri rischiose 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 invertito della shell
  • Rilevamento dell'installazione di malware

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

Google Cloud Armor

Caso d'uso:

  • Filtro SQL injection
  • Filtro iniezione PHP

Google Cloud Armor è in grado di bloccare gli attacchi di iniezione più comuni prima che raggiungano la tua applicazione. Per SQL injection (SQLi), Google Cloud Armor dispone di un set di regole predefinito basato sul set di regole di base OWASP Modsecurity. Puoi creare criteri di sicurezza che bloccano gli attacchi SQLi comuni definiti nel set di regole principali 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'iniezione PHP, esiste un altro set di regole preconfigurato. Puoi utilizzare la regola evaluatePreconfiguredExpr('php-stable') per bloccare gli attacchi PHP più comuni.

A seconda dell'applicazione, l'attivazione delle espressioni preconfigurate potrebbe generare falsi positivi poiché alcune regole del set di regole sono piuttosto sensibili. Per ulteriori informazioni, consulta la pagina relativa alla risoluzione dei problemi di falsi positivi e a come ottimizzare la regola impostata su 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 parole chiave o pattern di escape specifici vengono utilizzati nel percorso di richiesta o nella query. Assicurati che questi pattern non vengano visualizzati nelle richieste valide. Puoi anche limitare queste regole in modo che vengano utilizzate solo per endpoint o percorsi specifici che potrebbero interpretare i dati trasmessi.

Inoltre, alcuni attacchi di iniezione possono essere limitati utilizzando le regole preconfigurate per l'esecuzione di codice remoto e l'inserimento di file in remoto.

Web Security Scanner

Caso d'uso:

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

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

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, eseguita nelle prime fasi di progettazione e perfezionamento, e continuata durante le fasi di sviluppo e test, aiuta le organizzazioni ad analizzare ipotesi e difetti di errore. Per una progettazione sicura, la cultura incolpevole di imparare dagli errori è fondamentale.

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 arrivo alla tua applicazione utilizzando il criterio di OASValidation. Inoltre, per proteggere l'accesso, puoi configurare il Single Sign-On (SSO), il controllo controllo dell'accesso basato sui ruoli (RBAC), limitare l'accesso alle API (ad esempio Auth0) e limitare gli indirizzi IP che possono accedere al tuo ambiente. Utilizzando le regole di gestione dei guasti, puoi personalizzare il modo in cui il proxy API reagisce agli errori.

Per proteggerti da password non sicure per gli utenti globali di Apigee, Apigee offre funzionalità di scadenza, blocco e ripristino delle 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ò visualizzare i dati. Per maggiori informazioni, consulta Automazione della 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:

  • Proteggi 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. Offre inoltre accesso programmatico ai secret in modo che i processi automatizzati possano accedere ai valori dei secret. Se abilitato, ogni interazione con Secret Manager fornisce un audit trail. Usa gli audit trail per soddisfare le esigenze in materia di analisi e conformità.

Web Security Scanner

Caso d'uso:

  • Identifica le vulnerabilità della sicurezza nelle tue applicazioni.

Web Security Scanner analizza le applicazioni web alla ricerca di vulnerabilità. Segue link e tentativi di esercitare il maggior numero possibile di input utente e gestori di eventi. Il rilevatore 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 per le password.

A05: Configurazione errata della sicurezza

Il termine configurazione errata della sicurezza fa riferimento a difetti delle applicazioni senza patch, account predefiniti aperti e directory e file non protetti che in genere è possibile impedire con la protezione delle applicazioni. La configurazione errata della sicurezza può verificarsi in molti modi, ad esempio utilizzando l'attendibilità delle configurazioni predefinite, creando configurazioni parziali che potrebbero non essere sicure, lasciando che i messaggi di errore contengano 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
  • Monitorare 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 unico posto, 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 di FlowCallout oppure puoi inserire i flussi condivisi in hook di flusso per eseguire automaticamente la logica di flusso condiviso 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é la configurazione errata della sicurezza può verificarsi a livello di applicazione, OWASP Foundation consiglia di proteggere e applicare le patch direttamente all'applicazione e di rimuovere tutte le funzionalità non necessarie.

Anche se un web application firewall (WAF), come Google Cloud Armor, non può aiutarti a correggere gli errori di configurazione sottostanti, puoi bloccare l'accesso a parti dell'applicazione in modo completo o per tutti tranne che per indirizzi o paesi specifici. La limitazione dell'accesso può ridurre il rischio che vengano sfruttate queste configurazioni errate.

Ad esempio, se la tua applicazione espone un'interfaccia di amministrazione che utilizza 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 dovrebbe avere accesso all'interfaccia di amministrazione.

Alcuni errori di configurazione possono essere parzialmente mitigati utilizzando i set di regole di inclusione di file locali predefiniti (LFI) o di inclusione di file remota (RFI). Ad esempio, lo sfruttamento della sfida di immagini cross-site non ha successo 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 ottimizza le regole in base alle esigenze. Puoi verificare che la soluzione del problema non abbia più esito positivo.

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

Security Health Analytics

Caso d'uso:

  • Monitoraggio e avvisi per i controlli di sicurezza

Monitora decine di indicatori attraverso un'unica interfaccia per assicurarti che l'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 rileva errori di sicurezza comuni, come mancata corrispondenza del tipo di contenuto, intestazioni di sicurezza non valide e pubblicazione di contenuti misti. Web Security Scanner monitora anche le vulnerabilità come le vulnerabilità XXE. Queste analisi sono progettate per coprire i 10 controlli principali di OWASP. I seguenti rilevatori eseguono la scansione di configurazioni errate di 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.

A06: Componenti vulnerabili e obsoleti

Componenti con vulnerabilità note sono una categoria per vettori di attacco generici e queste vulnerabilità vengono 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 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 siano firmate da autorità attendibili durante il processo di sviluppo e quindi applicare la convalida della firma durante il deployment. Se applichi la convalida, puoi assicurarti 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'utilizzo di crittografie SSL o TLS a vulnerabilità note assegnando un gruppo predefinito o un elenco personalizzato di crittografie utilizzabili da Cloud Load Balancing.

Container Threat Detection

Caso d'uso:

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

Se un utente malintenzionato sfrutta un componente vulnerabile ed esegue uno script dannoso, il rilevatore 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 di 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 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 errati noti.
  • esfiltrazione in una tabella esterna. Rileva le risorse salvate all'esterno dell'organizzazione, comprese le operazioni di copia o trasferimento.
  • DoS in uscita Rileva le vulnerabilità sfruttate che tentano attacchi denial of service.

Google Cloud Armor

Caso d'uso:

  • Blocca l'accesso agli endpoint delle applicazioni inutilizzati
  • Bloccare i vettori di attacco comuni

Un web application firewall (WAF) come Google Cloud Armor non deve essere utilizzato come singola strategia di mitigazione per bloccare gli attacchi contro questa categoria, poiché gli attacchi sono spesso specifici della libreria e non possono essere bloccati da set di regole preconfigurate o non possono essere applicati con 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 grazie alle sue regole preconfigurate per l'esecuzione di codice remoto, l'inclusione di file locali o l'inclusione di file remoto.

Se sei a conoscenza dei componenti vulnerabili della tua applicazione, ma non puoi applicare subito la patch all'applicazione, puoi bloccare l'accesso a queste parti per ridurre temporaneamente il rischio di un 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 determinati tipi di file che non hanno mai bisogno di essere accessibili dagli utenti finali, 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.

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 riguardano Google Cloud. I post includono informazioni di base, link CVE e consigli per ulteriori azioni.

Web Security Scanner

Caso d'uso:

  • Librerie obsolete
  • Dashboard delle vulnerabilità e dei risultati

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 sono rischi comuni perché l'autenticazione delle applicazioni e la gestione delle sessioni sono spesso implementate in modo errato. Gli aggressori 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, se volevi ricevere assistenza pratica da fornitori esterni, dovevi concedere e condividere credenziali temporanee, il che crea il potenziale rischio di credenziali orfane o divulgate. Access Approval è un servizio integrato che ti consente di approvare o respingere le richieste di accesso da parte dei dipendenti di Google addetti all'assistenza al tuo account. Ogni richiesta di accesso include una giustificazione dell'accesso, che ti consente di visualizzare il motivo di ciascun accesso, inclusi i riferimenti ai ticket di assistenza.

Apigee

Caso d'uso:

  • Convalida delle chiavi
  • Convalida dei token
  • Criteri OAuth

Apigee offre criteri VerificationApiKey, OAuth e token web JSON (JWT), che consentono di proteggere da questo rischio.

La convalida delle chiavi 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 sua richiesta. Apigee Edge, tramite un criterio associato a un proxy API, controlla 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 l'accesso limitato a un servizio HTTP, per conto di un proprietario della risorsa, orchestrando un'interazione di approvazione tra il proprietario della risorsa e il servizio HTTP oppure per suo conto consentendo all'applicazione di terze parti di ottenere l'accesso.

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

Event Threat Detection

Caso d'uso:

  • Rilevamento della 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 sulle minacce proprietarie a livello granulare. Quando Event Threat Detection rileva una minaccia, scrive un risultato in Security Command Center e in Cloud Logging nel progetto di tua scelta. I seguenti tipi di eventi sono utili per identificare un'autenticazione non funzionante:

  • Forza bruta SSH. Rilevamento della forza bruta di SSH riuscito su un host.
  • Concessione anomala. Rileva i privilegi concessi agli utenti IAM (Identity and Access Management) esterni all'organizzazione Google Cloud.

Google Cloud Armor

Caso d'uso:

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

Gli attacchi contro le vulnerabilità classificate sotto il rischio di autenticazione inaccessibile sono mitigati al meglio a livello di applicazione o da altri controlli. Tuttavia, Google Cloud Armor può contribuire a limitare la superficie di attacco o a bloccare i vettori di attacco noti.

Ad esempio, se la tua applicazione ha una base 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 di quei paesi o blocchi di indirizzi IP. Questo criterio può contribuire a mitigare la scansione automatica degli endpoint al di fuori di queste aree.

Se altri meccanismi di sicurezza rilevano che le password, le chiavi o i token di sessione sono stati compromessi, puoi bloccare l'accesso per le richieste che contengono 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 i potenziali avversari analizzando le password comuni nei log.

Puoi bloccare gli attacchi comuni di fissazione delle sessioni utilizzando il set di regole preconfigurato ModSecurity per la fissazione delle sessioni. Puoi utilizzare la serie di regole aggiungendo la regola evaluatePreconfiguredExpr('sessionfixation-stable') predefinita al tuo criterio di sicurezza.

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

Identity-Aware Proxy (IAP)

Caso d'uso:

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

IAP si integra con il bilanciamento del carico HTTP(S) in modo che tu possa utilizzare identità e contesto per formare un wall sicuro di autenticazione e autorizzazione intorno alla tua applicazione. Impedisci l'autenticazione inaccessibile alla tua applicazione rivolta al pubblico eseguendo il provisioning degli utenti esterni in Identity Platform (maggiori informazioni nella sezione seguente).

Puoi anche impedire l'interruzione dell'autenticazione alle interfacce di amministrazione 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 determina 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 (accordo sul livello del servizio) aziendale
  • Ampio supporto per protocollo
  • Informazioni sulla protezione dell'Account Google

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

reCAPTCHA Enterprise

Caso d'uso:

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

reCAPTCHA Enterprise fornisce filtri molto 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 il feedback automatico. reCAPTCHA adatta i punteggi futuri al tuo sito.

Security Health Analytics

Caso d'uso:

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

Security Command Center aiuta a prevenire le interruzioni dell'autenticazione mediante il monitoraggio della conformità dell'autenticazione a più fattori e dell'integrità delle chiavi API. Puoi identificare le richieste sospette e bloccarle o segnalarle per una gestione speciale.

Token di sicurezza Titan

Caso d'uso:

  • Autenticazione a due fattori (2FA) anti-phishing
  • Autenticazione mobile 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 garantire che utenti malintenzionati non possano accedere al tuo account anche se ti inducono a fornire il tuo nome utente e la tua password.

Web Security Scanner

Caso d'uso:

  • Perdita di identificatori di sessione

Web Security Scanner analizza le applicazioni web alla ricerca di vulnerabilità, come fuga di ID di sessione, che consentono ad altre parti di rubare l'identità di un utente o identificarlo in modo univoco.

A08: Errori di integrità del software e dei dati

Errori di integrità del software e dei dati possono verificarsi quando non vengono effettuati controlli di integrità durante gli aggiornamenti del software, l'elaborazione di dati riservati o qualsiasi processo della pipeline CI/CD.

Artifact Registry

Caso d'uso:

  • Centralizza gli artefatti in un unico luogo attendibile
  • Usare la gestione delle versioni, l'analisi delle vulnerabilità e i flussi di lavoro di approvazione

Artifact Registry consente alla tua organizzazione di gestire da un'unica posizione le immagini container e i pacchetti di linguaggio, come Maven e npm. Si integra con gli strumenti di sviluppo esistenti e consente l'analisi delle vulnerabilità per i 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 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 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

  • Analizzatore degli accessi

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 in con regole di condivisione generica mediante l'analisi dei dati della serie temporale degli asset cloud.

Configura notifiche in tempo reale per ricevere avvisi relativi al 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 build per fornire istruzioni sul deployment della build, tra cui eseguire 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 il software e l'integrità dei dati sono specifici per l'applicazione, 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 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 in serie
  • 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 remoto (RCE), utilizza la serie di regole predefinita contro gli attacchi RCE. Puoi utilizzare la regola evaluatePreconfiguredExpr('rce-stable') per bloccare gli attacchi RCE comuni contro UNIX e Windows Shell.

Gli attacchi RCE descritti nella sezione Le 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 Modsecurity OWASP corrispondente e devono essere limitati utilizzando patch sul lato server o regole personalizzate.

VirusTotal

Caso d'uso:

  • Scansione di dati non attendibili

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 analizza le applicazioni web alla ricerca di vulnerabilità. Ad esempio, se utilizzi una versione di Apache Struts che rende la tua applicazione vulnerabile agli attacchi di iniezione di comandi remoti, Web Security Scanner genera un risultato STRUTS_INSECURE_DESERIALIZATION.

A09: Errori di monitoraggio e logging di sicurezza

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

Access Transparency

Caso d'uso:

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

L'impossibilità di controllare l'accesso del provider di servizi cloud può rappresentare un ostacolo alla migrazione da un ambiente on-premise al cloud. Access Transparency consente la verifica dell'accesso del cloud provider, avvicinando i controlli di audit alle condizioni on-premise. Puoi registrare il motivo di ciascun accesso, inclusi i riferimenti ai ticket di assistenza pertinenti. Nomi di identificazione di risorse e metodi a cui si accede 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 lavorano per fornire assistenza al tuo servizio.

Apigee

Caso d'uso:

  • Esporta i log di Apigee in SIEM
  • Usa l'interfaccia utente 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 altri endpoint syslog utilizzando il criterio MessageLogging.
    • I dati di analisi delle API possono essere estratti tramite l'API Analytics e importati o esportati in altri sistemi.
    • In Edge per cloud privato, puoi utilizzare il criterio MessageLogging per scrivere nei file di log locali. Sono disponibili anche i file di log da ogni 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 la UI o l'API di monitoraggio delle API per monitorare regolarmente le API e i backend e attivare gli avvisi.
    • Utilizza il monitoraggio dello stato di integrità per monitorare regolarmente i backend dei server di destinazione.
    • Apigee fornisce consigli per il monitoraggio di Edge per il cloud privato.
    • Apigee fornisce inoltre 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. Analogamente a come 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 tiene un audit log che tiene traccia delle modifiche a proxy API, prodotti e cronologia dell'organizzazione.
    • Questo log è disponibile tramite la UI o tramite l'API di gestione.

Chronicle

Caso d'uso:

  • Rilevamento delle minacce
  • Preavviso

I team di sicurezza possono inviare i propri dati telemetrici sulla sicurezza a Chronicle per consentirti di applicare potenti regole di rilevamento a un set di dati unificato.

Sensitive Data Protection

Caso d'uso:

  • Mascheramento automatico dei dati sensibili

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

  • Logging degli eventi di richiesta 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 delle approvazioni o rifiuti della richiesta.

Cloud Logging

Caso d'uso:

  • Aggregazione dei log
  • Archiviazione 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 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 basate su cloud. Offre una dashboard di monitoraggio, il monitoraggio degli eventi e la generazione di avvisi su più canali.

Cloud Source Repositories

Caso d'uso:

  • Attribuzione della modifica del codice
  • Log di controllo degli accessi

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

Error Reporting

Caso d'uso:

  • Acquisisci gli errori interni dell'applicazione in Cloud Logging
  • Raccogli report sugli arresti anomali al di fuori dell'istanza di computing con arresto anomalo

Gli errori interni dell'applicazione possono essere un indicatore di problemi di sicurezza, funzionalità interrotte o tentativi di eludere la sicurezza. Error Reporting conteggia, 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 proprietarie a livello granulare. Event Threat Detection identifica voci rilevanti nei log e le sottopone a revisione. Quando Event Threat Detection rileva una minaccia, scrive un risultato in Security Command Center e in un progetto Cloud Logging.

Inventario Forseti

Caso d'uso:

  • Monitoraggio e avvisi relativi alle modifiche dell'inventario

Forseti Inventory salva uno snapshot di inventario delle tue risorse Google Cloud in un database, in modo da avere un record cronologico delle risorse. Con queste informazioni puoi comprendere tutte le risorse disponibili in Google Cloud e intervenire per conservare le risorse, ridurre i costi e ridurre al minimo i rischi per la sicurezza. L'inventario può essere configurato per essere eseguito tutte le volte che vuoi e puoi inviare notifiche via email quando aggiorna l'istantanea delle risorse.

Google Cloud Armor

Caso d'uso:

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

I log delle richieste di Google Cloud Armor fanno parte di Cloud Logging per bilanciatori del carico delle applicazioni esterni. Per avere accesso alle informazioni di logging, ad esempio quale regola del criterio di sicurezza corrisponde al traffico, abilita il logging su tutti i servizi di backend a cui sono associati 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 offrono una panoramica della quantità di traffico passata o rifiutata da uno dei criteri di sicurezza. Google Cloud Armor pubblica in Security Command Center risconti sulle anomalie del traffico, ad esempio picchi nel traffico consentito o aumento del traffico negato.

Google Cloud Armor scrive automaticamente gli audit log delle 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 gestite dall'utente 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 negati per i criteri
  • Log delle attività di autenticazione

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

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

Security Command Center

Caso d'uso:

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

Visualizza il numero totale di risultati nella tua organizzazione in base al livello di gravità nel riquadro Panoramica. Usa la dashboard Minacce per esaminare gli eventi potenzialmente dannosi nelle risorse Google Cloud della tua organizzazione. Visualizza i risultati e i suggerimenti di Security Health Analytics nella scheda delle vulnerabilità.

Con la dashboard per la conformità, puoi monitorare costantemente la conformità ai controlli di PCI DSS, CIS Google Cloud Computing Foundations Benchmark e altro ancora. La visualizzazione Asset fornisce una visualizzazione dettagliata di tutte le risorse Google Cloud, chiamate asset, nella tua organizzazione. La scheda Asset consente di visualizzare gli asset per l'intera organizzazione oppure di filtrare gli asset all'interno di un progetto specifico, per tipo di asset o per tipo di modifica. Infine, la scheda Risultati mostra un inventario dettagliato dei risultati per tutti gli asset dell'organizzazione, in modo da poter visualizzare i 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 a attivare richieste dannose indesiderate verso server di terze parti o risorse interne. Possono verificarsi problemi SSRF 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 proteggerti da payload XML dannosi e un criterio JSONThreatProtection per contribuire alla protezione da payload JSON dannosi.

Il criterio ExtractVariables di Apigee ti consente di estrarre i contenuti da una richiesta o di una risposta e di assegnarli 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 i contenuti del messaggio specificati.

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 da parte dei web application firewall sono limitate. Gli attacchi vengono mitigati meglio applicando patch ai parser XML o JSON, non consentendo 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 aiutare a difendersi dall'esfiltrazione di dati e da altri impatti.

Sebbene nessuna regola nel Set di regole di base OWASP ModeSecurity difenda specificamente dagli attacchi SSRF, le regole di inclusione di file locali (LFI) e di inclusione di file remoto (RFI) possono essere d'aiuto contro alcuni di questi attacchi. Per impedire a un utente malintenzionato di recuperare i file locali sul server, usa 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 di inclusione di file locali (LFI) per contribuire a mitigare alcuni di questi attacchi perché bloccano l'inclusione di URL o di attraversamento del percorso. Ad esempio, la seguente regola abilita entrambe le serie di regole:

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

Quando una regola di questo tipo viene implementata, anche la soluzione per la sfida 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 dalle altre risorse della tua organizzazione. Questi perimetri forniscono protezione contro l'esfiltrazione di dati. Quando vengono eseguite in modalità di applicazione forzata, le richieste API ai servizi limitati non superano 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:

  • Forza l'applicazione di criteri firewall "nega per impostazione predefinita" o delle regole di controllo dell'accesso alla rete per bloccare tutto il traffico dell'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 saperne di più, consulta la panoramica delle regole firewall VPC.

Web Security Scanner

Caso d'uso:

  • Monitoraggio delle applicazioni web

Web Security Scanner analizza le applicazioni web alla ricerca di vulnerabilità. Ad esempio, se la tua applicazione è vulnerabile alla falsificazione delle richieste lato server, Web Security Scanner genera un risultato SERVER_SIDE_REQUEST_FORGERY.

Passaggi successivi