OWASP: le 10 migliori opzioni di mitigazione del 2021 su Google Cloud

Last reviewed 2024-07-31 UTC

Questo documento ti aiuta a identificare i prodotti Google Cloud e la relativa mitigazione strategie in grado di aiutarti a difenderti dagli attacchi più comuni a livello di applicazione descritti in OWASP Top 10. OWASP Top 10 è un elenco di Open Web Application Security (OWASP) Foundation dei primi 10 rischi per la sicurezza di cui ogni proprietario di applicazioni dovrebbe essere a conoscenza. Sebbene nessun prodotto di sicurezza possa garantire una protezione completa contro questi rischi, l'applicazione di questi prodotti e servizi quando sono utili nella tua architettura può contribuire a una solida soluzione di sicurezza a più livelli.

L'infrastruttura di Google è progettata per aiutarti a creare, implementare e gestire i servizi in modo sicuro. La sicurezza fisica e operativa, la crittografia dei dati at-rest e in transito e molte altre sfaccettature importanti di un'infrastruttura sicura sono gestite da Google. Questi vantaggi vengono ereditati dal deployment delle applicazioni su Google Cloud, ma potresti dover adottare misure aggiuntive per proteggere la tua applicazione da attacchi specifici.

Le strategie di mitigazione elencate in questo documento sono ordinate per applicazione rischio per la sicurezza e il prodotto Google Cloud. Molti prodotti svolgono un ruolo creando una strategia di difesa in profondità contro i rischi per la sicurezza sul web. Questo documento fornisce informazioni su come altri prodotti possono mitigare i rischi della Top 10 di OWASP, ma fornisce ulteriori dettagli su come Google Cloud Armor e Apigee possono mitigare una vasta gamma di questi rischi. Google Cloud Armor, che agisce come WAF (Web Application Firewall), e Apigee, che agisce come gateway API, possono essere particolarmente utili per bloccare diversi tipi di attacchi. Questi prodotti sono in da internet e possono bloccare il traffico esterno prima che avvenga raggiunge le tue applicazioni in Google Cloud.

Panoramiche dei prodotti

I prodotti Google Cloud elencati nella seguente tabella possono aiutarti a proteggere rispetto ai 10 principali rischi per la sicurezza:

Prodotto Riepilogo A01 A02 A03 A04 A05 A06 A07 A08 A09 A10
Access Transparency Estendi la visibilità e il controllo sul tuo cloud provider tramite i log degli accessi amministratore e i controlli di approvazione
Apigee Progettare, proteggere e scalare le interfacce di programmazione delle applicazioni
Artifact Registry Archivia a livello centrale artefatti e dipendenze della build
Autorizzazione binaria Assicurati che il deployment in Google Kubernetes Engine avvenga solo per le immagini container attendibili
Cloud Asset Inventory Visualizza, monitora e analizza tutti i tuoi asset Google Cloud e Google Distributed Cloud o multi-cloud in tutti i progetti e servizi
Cloud Build Crea, testa ed esegui il deployment in Google Cloud
Cloud Key Management Service Gestire le chiavi di crittografia su Google Cloud
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 Raccogli e analizza metriche, eventi e metadati da servizi Google Cloud e da una vasta 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
Google Cloud Armor Un web application firewall (WAF) di cui è stato eseguito il deployment sul perimetro della rete Google per contribuire a difenderti vettori d'attacco comuni
Bollettini sulla sicurezza di Google Cloud Gli ultimi bollettini sulla sicurezza relativi ai prodotti Google Cloud
Google Security Operations Trova automaticamente le minacce in tempo reale e su larga scala utilizzando l'infrastruttura, le tecniche di rilevamento e gli indicatori di Google
Identity Platform Aggiungi funzionalità di gestione di identità e accessi alle applicazioni, proteggi gli account utente e scala la gestione delle identità
Identity-Aware Proxy (IAP) Protezione dell'accesso alle applicazioni e alle VM basata su identità e contesto
reCAPTCHA Proteggi il tuo sito web da attività fraudolente, spam e comportamenti illeciti
Secret Manager Archivia chiavi API, password, certificati e altri dati sensibili
Security Command Center Visibilità centralizzata per l'analisi della sicurezza e l'intelligence sulle minacce per aiutarti a identificare le vulnerabilità nelle tue applicazioni
Sensitive Data Protection Scopri, classifica e proteggi i tuoi dati più sensibili
Token di sicurezza Titan Aiutano a proteggere gli utenti di alto livello con dispositivi di autenticazione a due fattori resistenti al phishing che integrano un chip hardware (con firmware progettato da Google) per verificare l'integrità della chiave
Firewall Virtual Private Cloud Consentire o negare le connessioni da o verso le tue istanze di macchine virtuali (VM)
VirusTotal analizzare file e URL sospetti per rilevare i tipi di malware; le condivide automaticamente con comunità della sicurezza
Controlli di servizio VPC Isola le risorse dei servizi Google Cloud multi-tenant per ridurre i rischi di esfiltrazione dei dati

A01: Controllo dell'accesso non funzionante

Controllo dell'accesso non funzionante si riferisce ai controlli dell'accesso applicati solo parzialmente sul lato client, o poco implementato. Per attenuare questi controlli, spesso è necessaria una riscrittura lato applicazione per applicare correttamente l'accesso alle risorse solo da parte degli 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 ai soggetti malintenzionati di apportare modifiche non autorizzate o di accedere al sistema.

Configura il controllo dell'accesso basato sui ruoli (RBAC) per consentire agli utenti di accedere solo alle risorse e alla configurazione di cui hanno bisogno. Crea mappe chiave-valore criptate per memorizzare coppie chiave-valore sensibili, che vengono visualizzate mascherate nell'interfaccia utente di Edge e nelle chiamate dell'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:

  • Monitorare l'eventuale presenza di utenti IT non autorizzati (noto anche come shadow IT)
  • Istanze di calcolo obsolete

Uno dei vettori più comuni per l'esposizione dei dati è l'infrastruttura IT non autorizzata o orfana. Configurare le notifiche in tempo reale per avvisarti di risorse in esecuzione impreviste, che potrebbero essere protette in modo improprio o l'utilizzo di software obsoleto.

Cloud Load Balancing

Caso d'uso:

  • Controllo granulare degli algoritmi di crittografia SSL e TLS

Impedisci l'uso di crittografi SSL o TLS deboli assegnando un gruppo predefinito o un elenco personalizzato di crittografi 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 gli attacchi di inquinamento dei parametri HTTP

Molti casi di controllo dell'accesso non funzionante non possono essere mitigati utilizzando un firewall per applicazioni web, perché le applicazioni non richiedono o non controllano correttamente i token di accesso per ogni richiesta e i dati possono essere manipolati lato client. Più di uno Sfide di Juice Shop correlate a controlli degli accessi non funzionanti. Per un esempio, la pubblicazione di feedback nel nome di un altro utente usa il fatto che alcune richieste non sono autenticate lato server. Come puoi vedi nel soluzione delle sfide, l'exploit per questa vulnerabilità è completamente lato client e può quindi non essere mitigati utilizzando Google Cloud Armor.

Alcune sfide possono essere parzialmente mitigate sul lato server se l'applicazione non può essere applicata immediatamente.

Ad esempio, se gli attacchi di CSRF (Cross-Site Request Forgery) sono possibili perché il tuo server web implementa male la condivisione delle risorse cross-origin (CORS), come dimostrato nella sfida del negozio di succhi CSRF, puoi mitigare il problema bloccando del tutto le richieste provenienti da origini impreviste con una regola personalizzata. La seguente regola corrisponde a tutte le richieste con origini diverse da example.com e google.com:

has(request.headers['origin']) &&
!((request.headers['origin'] == 'https://example.com')||
(request.headers['origin'] == 'https://google.com') )

Quando il traffico che corrisponde a una regola di questo tipo viene rifiutato, la soluzione per la verifica CSRF smette di funzionare.

La sfida sulla manipolazione del carrello utilizza Inquinamento parametro HTTP (HPP) in modo che tu possa vedere come attaccare il negozio seguendo le soluzione delle sfide. L'HPP viene rilevato come parte del set 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 usare identità e contesto formare una parete di autenticazione e autorizzazione sicura attorno all'applicazione. Impedisci l'interruzione dell'autorizzazione o del controllo dell'accesso alla tua applicazione visibile al pubblico con un sistema di autenticazione e autorizzazione gestito centralmente basate 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 convenzionale. Utilizza un'unica piattaforma sia per le applicazioni cloud sia per le risorse di infrastruttura on-premise.

Security Command Center

Security Command Center include due servizi che ti aiutano a risolvere i problemi di accesso controlli: Security Health Analytics e Web Security Scanner.

Security Health Analytics supporta i seguenti casi d'uso:

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

Security Health Analytics aiuta a prevenire l'interruzione controllo dell'accesso monitorando autenticazione a più fattori la conformità, i criteri SSL e l'integrità delle chiavi API.

Web Security Scanner supporta i seguenti casi d'uso:

  • Repository esposti al pubblico
  • Convalida delle intestazioni delle richieste non sicure

Web Security Scanner scansiona il tuo sito web per individuare le vulnerabilità, come i repository di codice pubblicamente visibili e convalida della richiesta con configurazione errata intestazioni.

A02: errori di crittografia

Gli errori crittografici possono verificarsi a causa della mancanza di crittografia o di crittografia debole durante il transito o della advertente esposizione di dati sensibili. Gli attacchi contro queste vulnerabilità vengono di solito specifiche per l'applicazione e pertanto necessitano di una difesa approfondita per mitigare l'impatto dei cambiamenti.

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 Criterio Assegna messaggio e Criterio JavaScript per rimuovere i dati sensibili prima che vengano restituiti al client.

Utilizza le tecniche standard di OAuth e valuta la possibilità di aggiungere HMAC, hash, stato, nonce, PKCE o altre tecniche per migliorare il livello di autenticazione per ogni richiesta.

Nascondi i dati sensibili nello strumento di monitoraggio Edge.

Crittografa 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 non autorizzata o orfana. Puoi identificare i server non gestiti da nessuno e i bucket con regole di condivisione troppo ampie analizzando i dati delle serie temporali delle risorse cloud.

Configura le notifiche in tempo reale per ricevere avvisi sul provisioning imprevisto di risorse che potrebbero essere protette o non autorizzate in modo improprio.

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 di dati potenzialmente sensibili archiviati in bucket o database per evitare la fuga di informazioni. 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 servizio di gestione delle chiavi in hosting nel cloud per gestire le chiavi di crittografia simmetriche e asimmetriche per i tuoi servizi cloud nello stesso modo in cui faresti on-premise. Puoi generare, utilizzare, ruotare ed eliminare Chiavi di crittografia AES256, RSA 2048, RSA 3072, RSA 4096, EC P256 ed EC P384.

Cloud Load Balancing

Caso d'uso:

  • Controllo granulare degli algoritmi di crittografia SSL e TLS

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

Google Cloud Armor

Caso d'uso:

  • Filtrare gli URL di attacchi noti
  • Limita accesso sensibile agli endpoint

In generale, l'esposizione dei dati sensibili deve essere interrotta alla fonte, ma poiché ogni attacco è specifico per l'applicazione, i firewall delle applicazioni web possono essere utilizzati solo in modo limitato per interrompere l'esposizione dei dati in generale. Tuttavia, se la tua applicazione non può essere immediatamente sottoposta a patch, puoi limitare l'accesso agli endpoint o ai pattern di richiesta vulnerabili utilizzando le regole personalizzate di Google Cloud Armor.

Ad esempio, diversi Sfide di Juice Shop sull'esposizione dei dati sensibili possono essere sfruttati a causa di un trasferimento di directory non sicuro attacchi di tipo null injection. Puoi ridurre al minimo queste iniezioni controllando le stringhe nell'URL con la seguente espressione personalizzata:

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

Puoi risolvere la sfida delle metriche esposte accedendo alla sottodirectory /metrics utilizzata da Prometheus. Se hai un endpoint sensibile esposto e non puoi rimuovere immediatamente l'accesso, puoi limitarne l'accesso, ad eccezione di determinati intervalli di indirizzi IP. Utilizza le funzionalità di 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'indirizzo 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 non consente del tutto 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 l'identità e il contesto per formare un'autenticazione e un'autorizzazione sicure attorno alla tua applicazione. Esegui il deployment di strumenti come segnalazioni di bug interne, knowledge base aziendale o email dietro IAP per consentire l'accesso sensibile al contesto solo a persone autorizzate da qualsiasi punto di internet.

L'accesso sensibile al contesto ti consente di Applicare controlli di accesso granulari alle applicazioni web, macchine virtuali (VM), API Google Cloud e Google Workspace basate sulle applicazioni sull'identità dell'utente e sul contesto della richiesta senza una VPN convenzionale. Basato sul modello di sicurezza Zero Trust e sull'implementazione di BeyondCorp di Google, l'accesso sensibile al contesto ti consente di fornire l'accesso agli utenti, applicare controlli granulari e utilizzare un'unica piattaforma sia per le applicazioni cloud che on-premise sia per le risorse di infrastruttura.

Secret Manager

Caso d'uso:

  • Chiavi di crittografia
  • Chiavi API
  • Altre credenziali di sistema

Secret Manager è un servizio di archiviazione sicuro per i tuoi dati più importanti, come chiavi API, password degli account di servizio e asset di crittografia. 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 è valido.

Secret Manager non è progettato per operazioni su larga scala come la tokenizzazione delle carte di credito o la memorizzazione delle password dei singoli utenti. Queste applicazioni devono basarsi su Identity Platform per la gestione di identità e accessi cliente (GIAC), Cloud Identity per i membri della tua organizzazione o su software di tokenizzazione dedicato.

Security Command Center

Security Command Center include due servizi che ti aiutano a risolvere i problemi di crittografia: Security Health Analytics e Web Security Scanner.

Security Health Analytics supporta i seguenti casi d'uso:

  • Applicazione dell'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

Security Health Analytics aiuta a prevenire l'esposizione di dati sensibili monitorando la conformità all'autenticazione a più fattori e lo stato delle chiavi API. Ricevi alert per le configurazioni non sicure nell'archiviazione delle immagini dei container, in Cloud Storage, nei criteri SSL, nei criteri per le chiavi SSH, nel logging, nell'accesso alle API e altro ancora.

Web Security Scanner supporta il seguente caso d'uso:

  • Password non criptate trasmesse sulla rete

Web Security Scanner esegue la scansione delle tue applicazioni web e segnala gli errori e le vulnerabilità rilevati. Se le tue l'applicazione trasmette le password in modo chiaro testo, Web Security Scanner genera un risultato CLEAR_TEXT_PASSWORD.

VirusTotal

Caso d'uso:

  • Prevenzione del phishing

VirusTotal consente di eseguire la scansione degli URL per rilevare contenuti dannosi prima di presentarle agli utenti o ai dipendenti, input, email, chat, log o in altre posizioni.

Controlli di servizio VPC

Caso d'uso:

  • Firewall per i servizi gestiti

Aggregare servizi gestiti in modo critico in un firewall per stabilire chi può chiamare il servizio e a chi può rispondere. Blocca l'esfiltrazione di dati e il traffico in uscita non autorizzato con regole di perimetro in uscita su servizi come le funzioni Cloud Run. Impedisci le richieste di utenti e località non autorizzati a datastore e database gestiti. Crea perimetri sicuri attorno ad API potenti o potenzialmente costose.

Scanner di applicazioni web

Caso d'uso:

  • Scanner 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 vengono inviate in chiaro. Evita la perdita di codice sorgente non elaborato potenzialmente devastante verifica la presenza di repository di codice sorgente git e Apache Subversion esposti. Queste analisi sono pensate per coprire controlli specifici della Top 10 di OWASP.

A03: Iniezione

Difetti di iniezione come SQL, NoSQL, OS e LDAP injection, si verificano quando dati non attendibili vengono inviati un interprete come parte di un comando o di una query. I dati ostili dell'aggressore possono spingere l'interprete a eseguire comandi indesiderati o ad accedere ai dati senza autorizzazione. Consigliamo di sanificare o filtrare i dati utente in base a l'applicazione prima che venga inviata a un interprete.

Le sezioni seguenti illustrano i 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 fornisce diversi criteri di convalida degli input per verificare che i valori forniti da un client soddisfino le aspettative configurate prima di consentire l'ulteriore elaborazione dei criteri o delle regole. Apigee, fungendo da gateway per richieste API in entrata, esegue un controllo dei limiti per garantire che la struttura del payload rientra in un intervallo accettabile. Puoi configurare un proxy API in modo che la routine di convalida dell'input trasformi l'input per rimuovere sequenze di caratteri rischiose e poi sostituiscile con valori sicuri.

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

Google Cloud Armor

Caso d'uso:

  • Filtro di SQL injection
  • Filtro di iniezione PHP

Google Cloud Armor può bloccare gli attacchi di attacco di iniezione comuni prima che raggiungano la tua applicazione. Per SQL injection (SQLi), Google Cloud Armor ha un insieme di regole predefinito che si basa su Set di regole di base OWASP Modsecurity. Puoi creare criteri di sicurezza che bloccare attacchi SQLi comuni definita nella serie di regole principali utilizzando evaluatePreconfiguredExpr('sqli-stable') da solo o in in combinazione con altre regole personalizzate. Ad esempio, puoi limitare il blocco degli attacchi SQLi a applicazioni specifiche utilizzando un filtro del percorso dell'URL.

Per l'iniezione di PHP, esiste un altro insieme di regole preconfigurate. Puoi utilizzare la regola evaluatePreconfiguredExpr('php-stable') per bloccare gli attacchi di attacco di tipo PHP injection più comuni.

A seconda dell'applicazione, l'attivazione delle espressioni preconfigurate può generare alcuni falsi positivi perché alcune delle regole della serie sono piuttosto sensibili. Per ulteriori informazioni, consulta la sezione sulla risoluzione dei problemi relativi ai falsi positivi e su come ottimizzare il set di regole per diversi livelli di sensibilità.

Per gli attacchi injection diversi da quelli mirati a SQL o PHP, puoi creare regole personalizzate per bloccare le richieste quando parole chiave specifiche o pattern di escape in tali protocolli nel percorso di richiesta o nella query. Assicurati che questi pattern non appaiono in richieste valide. Puoi anche limitare l'utilizzo di queste regole endpoint o percorsi specifici che potrebbero interpretare i dati trasmessi a questi ultimi.

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

Security Command Center

Security Command Center include due servizi utili per risolvere i problemi di inserimento: Container Threat Detection e Web Security Scanner.

Container Threat Detection supporta i seguenti casi d'uso:

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

La Malicious Script Executed rilevatore di Container Threat Detection analizza ogni script shell eseguito sul sistema e segnala quelli che sembrano dannoso. Questo rilevatore consente di rilevare gli attacchi di inserimento di comandi shell. Dopo un'iniezione di comandi shell riuscita, un malintenzionato può generare un'interprete di comandi in modalità inversa, che attiva il rilevatore Reverse Shell. In alternativa, possono installare malware, che attiva i rilevatori Added Binary Executed e Added Library Loaded.

Web Security Scanner supporta i seguenti casi d'uso:

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

Web Security Scanner scansiona il tuo sito web le applicazioni per individuare le vulnerabilità e fornisce rilevatori che monitorano su più siti di scripting e SQL iniezione attacchi informatici.

A04: Design non sicuro

Design non sicuro si verifica quando le organizzazioni non implementano i mezzi per valutare e risolvere più minacce durante il ciclo di vita dello sviluppo. La modellazione delle minacce, se eseguita nelle prime fasi di progettazione e perfezionamento e continuata durante le fasi di sviluppo e test, aiuta le organizzazioni ad analizzare ipotesi e errori di sistema. Una cultura di apprendimento dagli errori senza sensi di colpa è fondamentale per un design sicuro.

Apigee

Casi d'uso:

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

Apigee ti consente di convalidare le richieste e le risposte in arrivo utilizzando OASValidation . Inoltre, per proteggere l'accesso, puoi configurare l'accesso mediante un unico nome utente (SSO), il controllo dell'accesso basato sui ruoli (RBAC), limitare l'accesso alle API (utilizzando Auth0 ad esempio) e limitare gli indirizzi IP che hanno accesso al tuo ambiente. Utilizzando le regole di gestione degli errori, puoi personalizzare il modo in cui il proxy API reagisce agli errori.

Per proteggersi da password non sicure per gli utenti globali di Apigee, Apigee fornisce opzioni di scadenza, blocco e reimpostazione della password. Inoltre, puoi attivare l'autenticazione a due fattori (2FA).

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

Caso d'uso:

  • Identifica e oscura i dati riservati

Con 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 tokenizzati e archiviati, puoi configurare i controlli dell'accesso per limitare chi può visualizzare i dati. Per ulteriori informazioni, vedi 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 alle applicazioni e alle pipeline di accedere ai valori dei secret con nome in base alle autorizzazioni concesse con IAM. Fornisce inoltre accesso programmatico ai secret in modo che le procedure automatiche possano accedere ai valori dei secret. Se è abilitata, ogni interazione con Secret Manager fornisce un audit trail. Utilizza queste tracce di controllo per supportare le esigenze di analisi forense e conformità.

Security Command Center

Il servizio Web Security Scanner che fa parte di Security Command Center supporta il seguente caso d'uso:

  • Identifica le vulnerabilità di sicurezza nelle tue applicazioni.

Web Security Scanner analizza le tue applicazioni web per rilevare eventuali vulnerabilità. Segue i link e i tentativi di esercitare il maggior numero possibile di input dell'utente e gestori di eventi. Il suo rilevatore CACHEABLE_PASSWORD_INPUT genera un risultato se le password inserite nell'applicazione web possono essere memorizzate nella cache di un normale browser anziché in uno spazio di archiviazione sicuro delle password.

A05: Configurazione errata della sicurezza

Per configurazione errata della sicurezza si intendono i difetti dell'applicazione non corretti, gli account predefiniti aperti e i file e le directory non protetti che in genere possono essere evitati con il rafforzamento dell'applicazione. La configurazione errata della sicurezza può verificarsi in molti modi, ad esempio fidandosi delle configurazioni predefinite, creando configurazioni parziali che potrebbero non essere sicure, lasciando che i messaggi di errore contengano dettagli sensibili, archiviando i dati nel cloud senza controlli di sicurezza adeguati o configurando erroneamente le intestazioni HTTP.

Apigee

Caso d'uso:

  • Gestire le configurazioni di sicurezza
  • Monitorare le configurazioni di sicurezza

Un flusso condiviso consente agli sviluppatori di API di combinare criteri e risorse in un gruppo riutilizzabile. Di di risorse e criteri riutilizzabili in un unico posto, un flusso condiviso ti aiuta garantire coerenza, ridurre i tempi di sviluppo e gestire il codice. Puoi includere un flusso condiviso all'interno di singoli proxy API utilizzando un criterio FlowCallout o puoi inserire i flussi condivisi negli hook di flusso per eseguire automaticamente la logica del flusso condiviso per ogni proxy API di cui è stato eseguito il deployment nello stesso ambiente.

Cloud Asset Inventory

Caso d'uso:

  • Servizio di notifiche in tempo reale

Le notifiche in tempo reale possono avvisarti del provisioning imprevisto di risorse che potrebbero non essere adeguatamente messe al sicuro o non essere autorizzate.

Cloud Load Balancing

Caso d'uso:

  • Controllo granulare della crittografia SSL e TLS

Impedire l'utilizzo di crittografi SSL o TLS noti come vulnerabili assegnando un gruppo predefinito o un elenco personalizzato di crittografi utilizzabili da un bilanciatore del carico.

Google Cloud Armor

Caso d'uso:

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

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

Anche se un firewall per applicazioni web (WAF), come Google Cloud Armor, non può aiutarti a correggere la configurazione errata sottostante, puoi bloccare l'accesso a parti dell'applicazione completamente o per tutti, ad eccezione di indirizzi IP o paesi specifici. Limitare l'accesso può ridurre il rischio che queste configurazioni errate vengano sfruttate.

Ad esempio, se la tua applicazione espone un'interfaccia di amministrazione utilizzando un URL comune come /admin, puoi limitare l'accesso a questa interfaccia anche se viene autenticato. Puoi farlo con una regola di rifiuto, ad esempio:

request.path.contains("/admin") && !(inIpRange(origin.ip,
'1.2.3.4/32')

Sostituisci 1.2.3.4/32 con l'intervallo di indirizzi IP che deve avere accesso all'interfaccia amministratore.

Alcune configurazioni errate possono essere mitigate parzialmente utilizzando i set di regole di inclusione di file locali (LFI) o di inclusione di file remoti (RFI) predefiniti. Ad esempio: sfruttare la Juice Shop imaging cross-site la verifica 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 tramite LFI e RFI, ottimizzare le regole in base alle necessità. Puoi verificare che la soluzione della sfida non riesca più.

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

Security Command Center

Security Command Center include due servizi che ti aiutano a gestire la sicurezza configurazioni errate: Security Health Analytics e Web Security Scanner.

Security Health Analytics supporta il seguente caso d'uso:

  • Monitoraggio e avvisi nel controllo di sicurezza

Security Health Analytics monitora molti indicatori attraverso un'unica interfaccia per far sì che la tua applicazione mantenga la sicurezza best practice.

Web Security Scanner supporta i seguenti casi d'uso:

  • Scanner per applicazioni web personalizzato per le 10 principali vulnerabilità OWASP
  • Errori di configurazione del server HTTP
  • Contenuti misti HTTP/HTTPS
  • Entità esterna XML (XXE)

Web Security Scanner monitora gli errori di sicurezza più comuni, ad esempio incoerenze nei tipi di contenuto, intestazioni di sicurezza non valide e contenuti misti. in fase di pubblicazione. Web Security Scanner monitora anche le vulnerabilità, come quelle XXE. Queste scansioni sono progettate per coprire le prime 10 risorse OWASP Google Cloud. I seguenti rilevatori cercano errori di configurazione della sicurezza:

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

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

A06: Componenti vulnerabili e obsoleti

Componenti con vulnerabilità note è una categoria per vettori di attacco generici e queste vulnerabilità sono meglio attenuate monitorando e aggiornando rapidamente tutti i componenti dell'applicazione.

Autorizzazione binaria

Caso d'uso:

  • Limitare i cluster GKE ai container attendibili

Autorizzazione binaria è un controllo di sicurezza in fase di deployment che aiuta a garantire viene eseguito il deployment in Google Kubernetes Engine (GKE) solo delle immagini container attendibili. Con Autorizzazione binaria, puoi richiedere che le immagini vengano firmate da autorità attendibili durante il processo di sviluppo e quindi applicare la convalida della firma durante il deployment. Se applichi la convalida, puoi avere la certezza che il tuo 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 crittografi SSL o TLS noti come vulnerabili assegnando un gruppo predefinito o un elenco personalizzato di crittografi che Cloud Load Balancing può utilizzare.

Google Cloud Armor

Caso d'uso:

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

Un firewall per applicazioni web (WAF) come Google Cloud Armor non deve essere utilizzato come singola strategia di mitigazione per bloccare gli attacchi contro questa categoria, perché spesso gli attacchi sono specifici della libreria e non possono essere bloccati da set di regole preconfigurati o non possono essere sottoposti a patch lato server. Il monitoraggio e l'upgrade regolari di tutti i componenti dell'applicazione sono l'unica opzione per mitigare questo tipo di vulnerabilità.

Tuttavia, Google Cloud Armor può contribuire a mitigare alcuni attacchi comuni contro le applicazioni vulnerabili tramite le sue regole predefinite per l'esecuzione di codice remoto, l'inclusione di file locali o l'inclusione di file remoti.

Se sei a conoscenza di componenti vulnerabili nella tua applicazione, ma non puoi applicare immediatamente le patch, puoi bloccare l'accesso a queste parti dell'applicazione per ridurre temporaneamente il rischio di un exploit di questi componenti. Crea un modello personalizzato che corrisponde al percorso dell'URL o alle query che accedono a queste componenti e negare l'accesso. Se hai bisogno di accedere a questi componenti per località o utenti specifici, puoi comunque consentire per 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 directory o file ai quali gli utenti finali non devono mai accedere. Puoi anche bloccare o limitare l'accesso a queste risorse con una regola personalizzata, mitigare in modo proattivo il rischio se questi componenti diventano vulnerabili nel per il 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 di bollettini sulla sicurezza che interessano Google Cloud. I post includono informazioni di base, link CVE e per ulteriori azioni.

Security Command Center

Security Command Center include tre servizi che ti aiutano ad affrontare componenti obsoleti: Container Threat Detection, Event Threat Detection ed Web Security Scanner.

Container Threat Detection supporta i seguenti casi d'uso:

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

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

Event Threat Detection supporta i seguenti casi d'uso:

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

Event Threat Detection monitora il flusso di Cloud Logging e applica la logica di rilevamento e 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. La le seguenti regole di rilevamento sono utili rilevamento degli effetti dell'utilizzo di componenti con vulnerabilità note:

  • Cryptomining. Rileva il cryptomining in base alle richieste DNS o alla connessione ad indirizzi di mining noti.
  • Malware. Rileva le richieste DNS basate su malware o la connessione a malware noti indirizzi IP esterni.
  • 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 attacchi di denial of service.

Web Security Scanner supporta i seguenti casi d'uso:

  • Librerie obsolete
  • Dashboard di vulnerabilità e risultati

Web Security Scanner monitora gli dati obsoleti biblioteche incluso nella tua applicazione web. Puoi monitorare 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 dell'applicazione e la gestione della sessione vengono spesso implementate in modo errato. Gli utenti malintenzionati possono sfruttare i difetti di implementazione, come password, chiavi e token di sessione compromessi, per assumere temporaneamente o definitivamente le identità di altri utenti.

Access Transparency

Caso d'uso:

  • Monitoraggio del fornitore di servizi
  • Motivazioni dell'accesso

Di solito, per ricevere assistenza personalizzata da fornitori esterni, dovevi concedere e condividere credenziali temporanee, il che crea il potenziale per credenziali trapelate. Access Approval è un servizio integrato che consente di approvare o rifiutare le richieste di accesso da parte dei dipendenti Google per fornire assistenza per il tuo account. Ogni richiesta di accesso include una giustificazione dell'accesso, in modo da poter visualizzare il motivo di ciascun accesso, inclusi i riferimenti ai ticket di assistenza.

Apigee

Caso d'uso:

  • Convalida delle chiavi
  • Convalida del token
  • Criteri OAuth

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

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 relativa richiesta. Apigee Edge, tramite un criterio associato a un proxy API, verifica che la chiave API sia in uno stato approvato per la risorsa richiesta.

OAuth 2.0 di autorizzazione consente a un'applicazione di terze parti di ottenere a un servizio HTTP, per conto di un proprietario di risorse mediante l'orchestrazione un'interazione di approvazione tra il proprietario della risorsa e il servizio HTTP oppure consentendo all'applicazione di terze parti di ottenere l'accesso.

I token web JSON o JWT vengono comunemente utilizzati per condividere attestazioni o affermazioni tra le applicazioni collegate. Apigee fornisce il supporto JWT utilizzando tre criteri.

Google Cloud Armor

Caso d'uso:

  • Limitare l'accesso all'endpoint di autenticazione
  • Limitare l'utilizzo di token non autorizzati

Gli attacchi alle vulnerabilità classificate come rischio di autenticazione compromessa sono meglio mitigati a livello di applicazione o tramite altri controlli. Tuttavia, Google Cloud Armor può contribuire a limitare la superficie di attacco 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 paesi o indirizzi IP, puoi creare un criterio di sicurezza che limiti l'accesso alla tua applicazione agli utenti di questi paesi o blocchi di indirizzi IP. Questo criterio può contribuire a ridurre la scansione automatica da endpoint al di fuori di queste aree.

Se altri meccanismi di sicurezza rilevano che password, chiavi o token di sessione sono state compromesse, puoi bloccare l'accesso per le richieste che le contengono in una stringa di query utilizzando regola personalizzata. Puoi aggiornare le regole che hai definito in precedenza utilizzando securityPolicy.patchRule . Potresti riuscire a identificare i potenziali token rubati utilizzando un'anomalia i meccanismi di rilevamento Log del bilanciamento del carico HTTP. Puoi anche rilevare potenziali utenti malintenzionati scansionando le password più comuni nel i log.

Puoi bloccare gli attacchi comuni di fissazione delle sessioni utilizzando il metodo set di regole ModSecurity preconfigurate per la correzione della sessione. Puoi utilizzare il set di regole aggiungendo la regola evaluatePreconfiguredExpr('sessionfixation-stable') predefinita al criterio di sicurezza.

Se la tua applicazione include modifiche della password nella stringa di query, puoi anche bloccare l'uso di password comuni utilizzando una regola personalizzata che corrisponda all'attributo request.query. Tuttavia, questi controlli sono molto migliori implementate 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 una barriera di autenticazione e autorizzazione sicura intorno alla tua applicazione. Impedisci l'interruzione dell'autenticazione sul tuo pubblico eseguendo il provisioning degli utenti esterni Identity Platform (per ulteriori informazioni, consulta la sezione seguente).

È inoltre possibile impedire l'interruzione dell'autenticazione alle interfacce amministrative per proteggerli con Identity-Aware Proxy e con l'autenticazione degli utenti di cui è stato eseguito il provisioning con Identity and Access Management o Cloud Identity. Qualsiasi tentativo di accedere allo strumento genera un tentativo di autenticazione registrato seguito da un controllo di autorizzazione per verificare che l'utente autenticato sia autorizzato ad accedere alla risorsa richiesta.

Identity Platform

Caso d'uso:

  • Autenticazione come servizio
  • Autenticazione a più fattori
  • SLA Enterprise
  • Ampio supporto per protocollo
  • Informazioni sulla protezione dell'Account Google

Identity Platform è la piattaforma GIAC per i clienti di Google Cloud. Identity Platform consente di fornire l'autenticazione sicura come servizio con il supporto multiprotocollo tramite SDK e API. Offre un approccio multi-fattore l'autenticazione, l'integrazione con servizi di autenticazione di terze parti e il monitoraggio delle attività verificabili.

reCAPTCHA

Caso d'uso:

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

reCAPTCHA fornisce un filtro altamente efficace contro bot e altre forme di automazione e il traffico in blocco assegnando un punteggio al livello di rischio dei tentativi di accesso. Puoi ottimizzare il modello specifico per il tuo sito con un feedback automatico. reCAPTCHA adatta i punteggi futuri in base al sito.

Security Command Center

Security Command Center include tre servizi che ti aiutano a gestire l'identificazione e errori di autenticazione: Event Threat Detection, Security Health Analytics e Web Security Scanner.

Event Threat Detection supporta i seguenti casi d'uso:

  • Rilevamento di attacchi di forza bruta
  • Rilevamento di comportamenti illeciti IAM

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

  • Forza bruta SSH. Rilevare un attacco di forza bruta SSH riuscito su un host.
  • Concessione anomala. Rileva i privilegi concessi agli utenti IAM (Identity and Access Management) al di fuori della tua organizzazione Google Cloud.

Security Health Analytics supporta i seguenti casi d'uso:

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

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

Web Security Scanner supporta il seguente caso d'uso:

  • Fughe di identificatori di sessione

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

Token di sicurezza Titan

Caso d'uso:

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

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 assicurarti che i malintenzionati non possano accedere al tuo anche se ti è stato indotto con l'inganno fornendo il tuo nome utente e la tua password.

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

Gli errori di integrità del software e dei dati possono verificarsi quando i controlli di integrità non vengono eseguiti durante gli aggiornamenti del software, l'elaborazione di dati riservati o qualsiasi 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 per il tuo per gestire le immagini container e i pacchetti di linguaggio (come Maven e npm). Può essere integrato con gli strumenti di sviluppo esistenti e fornisce la scansione 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 da eseguire il deployment solo di immagini container attendibili. Puoi creare criteri per consentire o negare di deployment in base alla presenza o all'assenza di attestazioni. L'autorizzazione binaria applica i criteri a livello di cluster, quindi puoi configurare criteri diversi per ambienti diversi. Questa distinzione consente di avere requisiti di attestazione progressivi man mano che gli ambienti si avvicinano alla produzione.

Cloud Asset Inventory

Caso d'uso:

  • Servizio di ricerca

  • Accedi allo strumento di analisi

Uno dei vettori più comuni per l'esposizione dei dati è l'IT orfani o non autorizzato dell'infrastruttura. Puoi identificare i server che nessuno gestisce e i bucket con regole di condivisione eccessiva analizzando i dati delle serie temporali degli asset cloud.

Configura notifiche in tempo reale per ricevere avvisi sul provisioning imprevisto di risorse che potrebbero non essere protette o autorizzate correttamente.

Cloud Build

Caso d'uso:

  • Rivedi le modifiche al codice

  • Esegui test

  • Standardizzare i deployment delle build

Cloud Build ti consente di creare una configurazione di compilazione per fornire istruzioni sul deployment della build, inclusa l'esecuzione di analisi statica e test di integrazione.

Google Cloud Armor

Caso d'uso:

  • Blocca l'esecuzione di codice remoto

Poiché la maggior parte degli attacchi all'integrità del software e dei dati è specifica per l'applicazione, esistono solo alcuni modi per contribuire a mitigare questi attacchi, ad esempio utilizzando un WAF (web application firewall) come Google Cloud Armor. OWASP consiglia non si accettano oggetti serializzati da fonti non attendibili. Se possibile, puoi limita gli endpoint che accettano questi oggetti a un insieme di indirizzi IP attendibili 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 serializzati
  • 1.2.3.4/32: l'intervallo di indirizzi IP che deve mantenere e l'accesso all'interfaccia.

Per mitigare gli attacchi tipici contro l'integrità del software e dei dati che utilizzano l'esecuzione di codice remoto (RCE), utilizza l'insieme di regole predefinite contro gli attacchi RCE. Puoi utilizzare la regola evaluatePreconfiguredExpr('rce-stable') per bloccare gli attacchi RCE comuni contro le shell UNIX e Windows.

Gli attacchi RCE descritti Sfide di Juice Shop per le deserializzazioni non sicure eseguire funzioni ed espressioni regolari in Node.js sul server. Questi tipi di attacchi non vengono bloccati dall'insieme di regole RCE predefinite e dalla corrispondente regola OWASP Modsecurity e devono essere mitigati utilizzando patch lato server o regole personalizzate.

VirusTotal

Caso d'uso:

  • Scansione dei dati non attendibile

L'API VirusTotal ti consente di caricare e analizzare i file alla ricerca di malware. Puoi eseguire la scansione di immagini, documenti, file binari e altri dati non attendibili prima che vengano elaborati per eliminare determinate categorie di input dannosi.

Security Command Center

Il servizio Web Security Scanner in Security Command Center supporta: caso d'uso:

  • deserializzazione non sicura

Web Security Scanner analizza le tue applicazioni web per rilevare eventuali vulnerabilità. Per Ad esempio, se utilizzi un server Apache Struts che rende l'applicazione vulnerabile agli attacchi di tipo Remote Command injection, Web Security Scanner genera STRUTS_INSECURE_DESERIALIZATION risultato.

A09: Errori di logging e monitoraggio di sicurezza

Se non registrare, monitorare o gestire gli incidenti in modo adeguato sistemi, i malintenzionati possono eseguire attacchi più profondi e prolungati ai dati e il software.

Access Transparency

Caso d'uso:

  • Monitoraggio e controllo dell'accesso dei fornitori di servizi
  • Motivazioni dell'accesso
  • Identificazione di metodi e risorse

L'impossibilità di controllare l'accesso del cloud provider può rappresentare un ostacolo alla migrazione da on-premise al cloud. Access Transparency consente la verifica del cloud provider l'accesso diretto, avvicinando i controlli di audit alle condizioni on-premise. Puoi registrare il motivo di ciascun accesso, inclusi i riferimenti all'assistenza pertinente ticket di assistenza. Nomi di identificazione di risorse e metodi a cui si accede e i metodi eseguiti da ciascun amministratore. Access Approval ti consente di approvare o respingere le richieste di accesso da parte dei dipendenti di Google che forniscono assistenza al tuo servizio.

Apigee

Caso d'uso:

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

Apigee offre diversi modi per eseguire il logging, il monitoraggio, la gestione degli errori e Log di controllo:

  • Logging
    • I messaggi di log possono essere inviati a Splunk o ad altri endpoint syslog utilizzando il criterio di registrazione dei messaggi.
    • I dati di analisi dell'API possono essere estratti tramite l'API di analisi e importati o esportati in altri sistemi.
    • In Edge per il cloud privato, puoi utilizzare il criterio MessageLogging scrivere nei file di log locali. Sono disponibili anche i file di log di ciascun componente in esecuzione.
    • La Criterio JavaScript può essere utilizzato per inviare messaggi di log a un endpoint di logging REST in modo sincrono o asincrono.
  • Monitoraggio
    • Utilizza la Monitoraggio delle API UI o API per monitorare regolarmente API e backend e attivare avvisi.
    • Utilizza il monitoraggio dell'integrità per monitorare regolarmente i backend del server di destinazione.
    • Apigee offre consigli per il monitoraggio di Edge per il cloud privato.
    • Apigee offre inoltre best practice che il team può utilizzare per monitorare il programma API.
  • Gestione degli errori
    • Apigee offre una piattaforma potente e versatile meccanismo di gestione dei guasti per i proxy API. In modo simile a come un programma Java rileva le eccezioni, I proxy API possono rilevare errori e determinare come restituire gli errori risposte personalizzate ai clienti.
    • La gestione personalizzata degli errori di Apigee ti consente di aggiungere funzionalità come come logging dei messaggi ogni volta che si verifica un errore.
  • Log di controllo
    • La piattaforma Apigee mantiene un audit log che tiene traccia delle modifiche Proxy API, prodotti e 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 dati di telemetria sulla sicurezza a Google Security Operations per consentirti applica regole di rilevamento efficaci in 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 mascherare o trasformare in modo appropriato prima di archiviarli nei log. Ad esempio, un messaggio di errore o il core dump potrebbe contenere informazioni sensibili, quali 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

Motivazioni per l'accesso alle chiavi ti offrono visibilità storica di ogni richiesta di una chiave di crittografia registrando la giustificazione dichiarata e una documentazione di approvazione o rifiuto richiesta.

Cloud Logging

Caso d'uso:

  • Aggregazione dei log
  • Archiviazione dei log
  • Ricerca nei log
  • Analisi dei log

Cloud Logging ti consente di archiviare, cercare, analizzare, monitorare e creare avvisi su dati di log ed eventi di Google Cloud e Amazon Web Services. Include l'accesso ai Servizio BindPlane, che puoi utilizzare per raccogliere dati di logging da oltre 150 componenti delle applicazioni comuni, sistemi on-premise e sistemi cloud ibrido.

Cloud Monitoring

Caso d'uso:

  • Monitoraggio dei log
  • Avvisi sugli eventi

Cloud Monitoring offre maggiore visibilità su prestazioni, uptime e stato complessivo delle applicazioni basate su cloud. Offre un monitoraggio dashboard, monitor di eventi e avvisi su più canali.

Cloud Source Repositories

Caso d'uso:

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

Scopri quali azioni sono state eseguite nel tuo repository, incluso dove e quando, con gli audit log di Cloud 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 si è arrestata in modo anomalo

Gli errori interni dell'applicazione possono essere indicativi di un problema di sicurezza, guasto funzionalità o tentativi di aggirare 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.

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 che ha fornito una corrispondenza al traffico, attiva il logging su tutti i servizi di backend a cui sono associati i criteri di sicurezza. Utilizza le regole in modalità anteprima per testarli e registrare i risultati senza applicarne gli effetti.

Google Cloud Armor offre anche delle dashboard per il monitoraggio per i criteri di sicurezza che ti consentono di ottenere una panoramica della quantità di traffico è stata approvata o rifiutata da uno dei tuoi criteri di sicurezza. Google Cloud Armor pubblica risultati relativi ad anomalie del traffico, come picchi di traffico consentito o aumento del traffico rifiutato, in Security Command Center.

Google Cloud Armor scrive automaticamente Audit log delle attività di amministrazione che registrano le operazioni che modificano la configurazione o i metadati di una risorsa. Questo servizio può essere configurato anche per scrivere audit log di accesso ai dati che contengono chiamate API che leggono la configurazione o i metadati delle risorse, nonché chiamate API effettuate dagli utenti che creano, modificano o leggono i dati delle risorse forniti dall'utente.

Identity Platform

Caso d'uso:

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

Identity Platform è la piattaforma GIAC per Google Cloud che registra delle attività di autenticazione per impostazione predefinita.

Abilita diversi audit log efficaci tra cui le attività degli amministratori, l'accesso ai dati, gli eventi di sistema e l'autenticazione negata tentativi.

Security Command Center

Casi d'uso:

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

Con la dashboard per la conformità, puoi monitorare continuamente conformità ai controlli da PCI-DSS, CIS Google Cloud Computing Foundations Benchmark e altri ancora. La sezione Asset pagina fornisce una visualizzazione dettagliata di tutte le risorse Google Cloud, asset della tua organizzazione. La pagina ti consente di visualizzare gli asset per l'intera organizzazione oppure di filtrare gli asset all'interno di un progetto specifico in base al tipo di asset o al tipo di modifica. Infine, puoi esaminare un inventario dettagliato dei risultati per tutti gli asset della tua organizzazione, in modo da visualizzare i potenziali rischi per la sicurezza.

Inoltre, il servizio Event Threat Detection di Security Command Center supporta i seguenti casi d'uso:

  • Forza bruta
  • Cryptomining
  • Illeciti IAM
  • Malware
  • Phishing

Event Threat Detection monitora lo stream di Cloud Logging e applica la logica di rilevamento e le informazioni sulle minacce proprietarie a livello granulare. Event Threat Detection identifica le voci importanti nei log e le inoltra per la revisione. Quando Event Threat Detection rileva una minaccia, scrive un risultato in Security Command Center e in Cloud Logging progetto.

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.

Apigee Criterio ETL (ExtractVariables) ti consente di estrarre i contenuti da una richiesta o di una risposta e assegnarli in una variabile. Puoi estrarre qualsiasi parte del messaggio, incluse intestazioni, percorsi URI, payload JSON e XML, parametri di modulo e parametri di query. Le norme applica un pattern di testo ai contenuti del messaggio e quando trova , 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 assumere forme diverse, le possibilità di mitigazione offerte dai firewall delle applicazioni web sono limitate. Gli attacchi possono essere meglio attenuati 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 all'applicazione e al tipo di attacco, Google Cloud Armor può ancora contro l'esfiltrazione di dati e altri impatti.

Anche se non esistono regole Set di regole di base OWASP ModeSecurity per difenderti specificamente dagli attacchi SSRF, regole di inclusione locale di file (LFI) e di inclusione remota di file (RFI) possono aiutare contro alcuni di questi attacchi. Per impedire a un malintenzionato di recuperare i 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 la tecnologia di inclusione file remota preconfigurata (RFI) o l'inclusione locale dei file (LFI) per contribuire a mitigare alcuni di questi attacchi perché bloccano inclusione di URL o di path traversal. Ad esempio, la seguente regola attiva entrambi i set di regole:

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

Quando viene implementata una regola di questo tipo, anche la soluzione per la verifica SSRF non funziona più.

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 forniscono 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 "nega per impostazione predefinita" i criteri firewall o le 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, ad eccezione di quello che vuoi consentire. Per ulteriori informazioni, consulta la panoramica delle regole firewall VPC.

Security Command Center

Il servizio Web Security Scanner in Security Command Center supporta: caso d'uso:

  • Monitoraggio delle applicazioni web

Web Security Scanner analizza le tue applicazioni web per rilevare eventuali vulnerabilità. Ad esempio, se la tua applicazione è vulnerabile alla falsificazione delle richieste lato server, Web Security Scanner genera un SERVER_SIDE_REQUEST_FORGERYrilevamento.

Passaggi successivi