Best practice per la protezione dagli attacchi di mining di criptovalute

Last reviewed 2023-10-20 UTC

Il mining di criptovalute (noto anche come mining di bitcoin) è il processo utilizzato per creare nuove criptomonete e verificare le transazioni. Gli attacchi di mining di criptovalute si verificano quando gli aggressori che ottengono l'accesso al tuo ambiente potrebbero anche sfruttare le tue risorse per eseguire le proprie operazioni di mining a tue spese.

Secondo il report di novembre 2021 sugli orizzonti delle minacce, gli attacchi di mining di criptovalute sono il modo più comune in cui gli autori degli attacchi sfruttano le tue risorse di computing dopo aver compromesso il tuo ambiente Google Cloud. Il report indica anche che gli autori degli attacchi in genere scaricano software di mining di criptovalute nelle tue risorse entro 22 secondi dalla compromissione del sistema. Il mining di criptovalute può aumentare rapidamente i costi e un attacco di mining di criptovalute può causare una fattura molto più elevata del previsto. Poiché i costi possono aumentare rapidamente, devi mettere in atto misure protettive, di rilevamento e di mitigazione per proteggere la tua organizzazione.

Questo documento è rivolto ad architetti e amministratori della sicurezza. Descrive le best practice che puoi adottare per proteggere le tue risorseGoogle Cloud dagli attacchi di mining di criptovalute e per contribuire a mitigare l'impatto in caso di attacco.

Per informazioni su come rispondere agli avvisi relativi alle criptovalute, consulta Rispondere alle notifiche e agli avvisi relativi a comportamenti illeciti.

Identificare i vettori di minaccia

Per determinare l'esposizione della tua organizzazione agli attacchi di mining di criptovalute, devi identificare i vettori di minaccia che si applicano alla tua organizzazione.

Il report di novembre 2021 sugli orizzonti delle minacce indica che la maggior parte degli autori degli attacchi sfrutta vulnerabilità come le seguenti:

  • Password inefficace o assente per gli account utente
  • Autenticazione debole o assente per le Google Cloud API
  • Vulnerabilità nel software di terze parti
  • Errori di configurazione nel tuo ambiente Google Cloud o in applicazioni di terze parti in esecuzione su Google Cloud
  • Credenziali divulgate, ad esempio chiavi del account di servizio pubblicate in repository GitHub pubblici

Inoltre, puoi abbonarti e consultare i seguenti documenti per un elenco di vettori di minaccia:

Dopo aver identificato i vettori di minaccia che ti riguardano, puoi utilizzare le best practice rimanenti in questo documento per aiutarti ad affrontarli.

Proteggere gli account e le credenziali dell'account

Gli autori degli attacchi possono sfruttare account non protetti o gestiti in modo errato per accedere alle tue risorse Compute Engine. Google Cloud include diverse opzioni che puoi configurare per gestire account e gruppi.

Limitare l'accesso al tuo ambiente cloud

La seguente tabella descrive i criteri dell'organizzazione che puoi utilizzare per definire chi può accedere al tuo ambiente cloud.

Vincolo delle policy dell'organizzazione Descrizione
Condivisione limitata dei domini Specifica quali ID cliente per Cloud Identity o Google Workspace sono validi.
Account AWS consentiti che possono essere configurati per la federazione delle identità per i workload in Cloud IAM In un ambiente cloud ibrido, definisci quali account AWS possono utilizzare la federazione delle identità per i workload.
Provider di identità esterni consentiti per i workload In un ambiente cloud ibrido, definisci i provider di identità che i tuoi carichi di lavoro possono utilizzare.

Configurare l'autenticazione a MFA o a due fattori

Cloud Identity supporta l'autenticazione a più fattori (MFA) utilizzando vari metodi. Configura l'autenticazione a più fattori, in particolare per i tuoi account con privilegi. Per maggiori informazioni, vedi Applicare in modo uniforme l'MFA alle risorse di proprietà della società.

Per prevenire attacchi di phishing che possono portare ad attacchi di mining di criptovalute, utilizza i token di sicurezza Titan per l'autenticazione a due fattori (2FA).

Configura il privilegio minimo

Il principio del privilegio minimo garantisce che utenti e servizi abbiano solo l'accesso necessario per svolgere le loro attività specifiche. Il principio del privilegio minimo rallenta la capacità degli attacchi di diffondersi in un'organizzazione perché un malintenzionato non può facilmente aumentare i propri privilegi.

Per soddisfare le esigenze della tua organizzazione, utilizza i ruoli, le autorizzazioni e i criteri granulari in Identity and Access Management (IAM). Inoltre, analizza regolarmente le tue autorizzazioni utilizzando lo strumento per suggerimenti sui ruoli e Policy Analyzer. Il sistema di suggerimenti per i ruoli utilizza il machine learning per analizzare le impostazioni e fornire consigli per garantire che le impostazioni dei ruoli rispettino il principio del privilegio minimo. Policy Analyzer ti consente di vedere quali account hanno accesso alle tue risorse cloud.

Monitorare gli account

Se utilizzi i gruppi per assegnare criteri IAM, monitora i log dei gruppi per assicurarti che non vengano aggiunti account non aziendali. Inoltre, limita le identità, in base ai domini Cloud Identity o Google Workspace, che possono accedere alle tue risorse. Per ulteriori informazioni, vedi Limitazione delle identità per dominio.

Assicurati che le procedure di offboarding includano processi per disattivare gli account e reimpostare le autorizzazioni quando i dipendenti lasciano l'organizzazione o cambiano ruolo. Per maggiori informazioni, vedi Revoca dell'accesso a Google Cloud.

Per controllare utenti e gruppi, vedi Log di controllo per Google Workspace.

Ridurre l'esposizione a internet delle risorse Compute Engine e GKE

Ridurre l'esposizione a internet significa che gli autori degli attacchi hanno meno opportunità di trovare e sfruttare le vulnerabilità. Questa sezione descrive le best practice che contribuiscono a proteggere le VM Compute Engine e i cluster Google Kubernetes Engine (GKE) dall'esposizione a internet.

Limitare il traffico esterno

Non assegnare indirizzi IP esterni alle tue VM. Puoi utilizzare il vincolo dei criteri dell'organizzazione Disabilita l'utilizzo di IPv6 all'esterno di VPC per negare indirizzi IP esterni a tutte le VM. Per visualizzare le VM con indirizzi IP accessibili pubblicamente, consulta Visualizza la configurazione di rete di un'istanza. Se la tua architettura richiede indirizzi IP esterni per le VM, utilizza il criterio dell'organizzazione Definisci IP esterni consentiti per le istanze VM, che ti consente di definire un elenco di nomi di istanze a cui è consentito avere indirizzi IP esterni.

Limita i nodi GKE solo agli indirizzi IP interni. Per ulteriori informazioni, vedi Creazione di un cluster privato.

Limita il traffico in entrata e in uscita verso internet per tutte le risorse nei tuoi progetti. Per saperne di più, consulta Regole firewall VPC e Policy dei firewall gerarchiche.

Per saperne di più sulla limitazione del traffico esterno, ad esempio sulla configurazione di Cloud NAT per consentire le comunicazioni in uscita per le VM senza indirizzo IP esterno o sull'utilizzo di un bilanciatore del carico proxy per le comunicazioni in entrata, consulta Connessione sicura alle istanze VM.

Utilizzare i perimetri di servizio

Crea un perimetro di servizio per le risorse Compute Engine e GKE utilizzando i Controlli di servizio VPC. I Controlli di servizio VPC ti consentono di controllare le comunicazioni con le tue risorse Compute Engine dall'esterno del perimetro. I perimetri di servizio consentono la libera comunicazione all'interno del perimetro, bloccano l'esfiltrazione di dati e bloccano la comunicazione tra i servizi al di fuori del perimetro. Utilizza attributi di accesso sensibile al contesto come indirizzi IP e identità degli utenti per controllare ulteriormente l'accesso ai servizi Google Cloud da internet.

Configurare la sicurezza Zero Trust

Configura la sicurezza Zero Trust con Chrome Enterprise Premium. Chrome Enterprise Premium offre protezione dei dati e tutela dalle minacce e controlli dell'accesso. Se i carichi di lavoro si trovano sia on-premise sia in Google Cloud, configura Identity-Aware Proxy (IAP). Configura il forwarding TCP per controllare chi può accedere ai servizi amministrativi come SSH e RDP sulle tue risorseGoogle Cloud da internet pubblico. L'inoltro TCP impedisce che questi servizi vengano esposti apertamente a internet.

Proteggere le risorse Compute Engine e GKE

Il mining di criptovalute richiede l'accesso alle risorse Compute Engine e GKE. Questa sezione descrive le best practice che ti aiuteranno a proteggere le risorse Compute Engine e GKE.

Proteggere le immagini VM

Utilizza immagini VM protette e curate configurando Shielded VM. Shielded VM è progettata per impedire il caricamento di codice dannoso, come malware o rootkit a livello di kernel, durante il ciclo di avvio. Shielded VM fornisce sicurezza all'avvio, monitora l'integrità e utilizza il Virtual Trusted Platform Module (vTPM).

Per limitare le immagini che possono essere sottoposte a deployment, puoi implementare policy per immagini attendibili. Il criterio dell'organizzazione Definisci progetti con immagini attendibili definisce quali progetti possono archiviare immagini e dischi permanenti. Assicurati che in questi progetti esistano solo immagini attendibili e gestite.

In GKE, assicurati che i container utilizzino immagini di base, che vengono aggiornate regolarmente con patch di sicurezza. Inoltre, prendi in considerazione le immagini container distroless che includono solo la tua applicazione e le sue dipendenze di runtime.

Accesso SSH sicuro alle VM

Configura OS Login per gestire l'accesso SSH alle VM in esecuzione in Compute Engine. OS Login semplifica la gestione dell'accesso SSH collegando l'account utente Linux dell'amministratore alla sua identità Google. OS Login funziona con IAM, in modo da poter definire i privilegi degli amministratori.

Per ulteriori informazioni su come proteggere le VM e i container, consulta Utilizzare servizi e infrastrutture sottoposti a hardening e attestati.

Limitare i service account

Un service account è un Google Cloud account utilizzato dai workload per chiamare l'API Google di un servizio.

Non consentire a Google Cloud di assegnare ruoli di account di servizio predefiniti alle risorse al momento della creazione. Per saperne di più, consulta Limitazione account di servizio account.

Se le tue applicazioni vengono eseguite al di fuori di Google Cloude richiedono comunque l'accesso alle risorse Google Cloud , non utilizzare le chiavi delaccount di serviziot. Implementa invece la federazione delle identità del workload per gestire le identità esterne e le autorizzazioni associate. Per GKE, puoi implementare identità dei carichi di lavoro. Per saperne di più, vedi Scegliere il metodo di autenticazione giusto per il tuo caso d'uso.

Per altre best practice che contribuiscono a proteggere i service account, consulta Best practice per l'utilizzo dei service account.

Monitorare l'utilizzo di service account e chiavi del account di servizio

Configura il monitoraggio in modo da poter monitorare l'utilizzo di service account e chiavi account di servizio nella tua organizzazione. Per ottenere visibilità sui pattern di utilizzo degni di nota, utilizza approfondimenti sui service account. Ad esempio, puoi utilizzare gli approfondimenti sugli account di servizio per monitorare come vengono utilizzate le autorizzazioni nei tuoi progetti e per identificare i service account inutilizzati. Per vedere l'ultima volta che i tuoi service account e le tue chiavi sono stati utilizzati per chiamare un'API di Google per le attività di autenticazione, visualizza l'utilizzo recente di service account e account di servizio account.

Monitora e applica patch a VM e container

Per avviare un attacco di mining di criptovalute, gli autori degli attacchi spesso sfruttano configurazioni errate e vulnerabilità del software per ottenere l'accesso a risorse Compute Engine e GKE.

Per ottenere informazioni dettagliate sulle vulnerabilità e sulle configurazioni errate che si applicano al tuo ambiente, utilizza Security Health Analytics per scansionare le tue risorse. In particolare, se utilizzi Security Command Center Premium, esamina eventuali risultati delle istanze Compute Engine e risultati dei container e configura processi per risolverli rapidamente.

Utilizza Artifact Analysis per verificare la presenza di vulnerabilità nelle immagini container archiviate in Artifact Registry o Container Registry.

Assicurati che la tua organizzazione possa implementare le patch non appena sono disponibili. Puoi utilizzare OS Patch Management per Compute Engine. Google applica automaticamente patch alle vulnerabilità in GKE. Per ulteriori informazioni, vedi Utilizzare servizi e infrastrutture protetti e certificati.

Proteggere le applicazioni utilizzando un WAF

Gli aggressori possono tentare di accedere alla tua rete trovando vulnerabilità del livello 7 all'interno delle applicazioni di cui hai eseguito il deployment. Per contribuire a mitigare questi attacchi, configura Google Cloud Armor, un web application firewall (WAF) che utilizza il filtro di livello 7 e le norme di sicurezza. Google Cloud Armor fornisce protezione da denial of service (DoS) e WAF per applicazioni e servizi ospitati su Google Cloud, on-premise o su altri cloud.

Google Cloud Armor include una regola WAF per contribuire a risolvere le vulnerabilità di Apache Log4j. Gli aggressori possono utilizzare le vulnerabilità di Log4j per introdurre malware in grado di eseguire il mining di criptovalute non autorizzato. Per ulteriori informazioni, vedi Regola WAF di Cloud Armor per contribuire a risolvere la vulnerabilità di Apache Log4j.

Proteggere la supply chain

L'integrazione e la distribuzione continue (CI/CD) forniscono un meccanismo per offrire rapidamente ai tuoi clienti le funzionalità più recenti. Per contribuire a prevenire attacchi di mining di criptovalute alla tua pipeline, esegui l'analisi del codice e monitora la pipeline per rilevare attacchi dannosi.

Implementa Autorizzazione binaria per garantire che tutte le immagini vengano firmate da autorità attendibili durante il processo di sviluppo e quindi applicare la convalida della firma quando esegui il deployment delle immagini.

Sposta i controlli di sicurezza il più presto possibile nel processo CI/CD (a volte indicato come spostamento a sinistra). Per ulteriori informazioni, consulta Shifting left on security: Securing software supply chains. Per informazioni sulla configurazione di una catena di fornitura sicura con GKE, consulta Sicurezza della catena di fornitura del software.

Gestire secret e chiavi

Un vettore di attacco chiave per gli attacchi di mining di criptovalute non autorizzati sono i secret non protetti o divulgati. Questa sezione descrive le best practice che puoi utilizzare per proteggere i tuoi secret e le chiavi di crittografia.

Ruotare regolarmente le chiavi di crittografia

Assicurati che tutte le chiavi di crittografia vengano ruotate regolarmente. Se Cloud KMS gestisce le tue chiavi di crittografia, puoi ruotarle automaticamente.

Se utilizzi service account con Google-owned and Google-managed encryption keys, anche le chiavi vengono ruotate automaticamente.

Evita di scaricare i secret

I segreti esposti sono un vettore di attacco chiave per gli autori di attacchi. Se possibile, non scaricare chiavi di crittografia o altri secret, incluse le chiavi account di servizio. Se devi scaricare le chiavi, assicurati che la tua organizzazione disponga di una procedura di rotazione della chiave.

Se utilizzi GitHub o un altro repository pubblico, devi evitare di divulgare le credenziali. Implementa strumenti come la scansione dei secret, che ti avvisa dei secret esposti nei tuoi repository GitHub. Per impedire il commit delle chiavi nei tuoi repository GitHub, valuta la possibilità di utilizzare strumenti come git-secrets.

Utilizza soluzioni di gestione dei secret come Secret Manager e Hashicorp Vault per archiviare i secret, ruotarli regolarmente e applicare il privilegio minimo.

Rilevare attività anomale

Per monitorare le attività anomale, configura Google Cloud e strumenti di monitoraggio di terze parti e imposta avvisi. Ad esempio, configura gli avvisi in base all'attività dell'amministratore nelle informazioni di logging di controllo di Compute Engine e negli audit log di GKE.

Inoltre, utilizza Event Threat Detection in Security Command Center per identificare le minacce basate su attività di amministrazione, modifiche ai gruppi Google e modifiche alle autorizzazioni IAM. Utilizza Virtual Machine Threat Detection in Security Command Center per identificare le minacce correlate alle tue VM Compute Engine. Per saperne di più sui servizi di Security Command Center, consulta Livelli di servizio di Security Command Center.

Per rilevare minacce basate sulla rete come malware, configura Cloud IDS.

Partecipare al programma di protezione dal cryptomining di Security Command Center

Se sei un cliente di Security Command Center Premium e utilizzi Compute Engine, puoi partecipare al programma di protezione dal cryptomining di Security Command Center. Questo programma ti consente di coprire i costi delle VM di Compute Engine correlati ad attacchi di cryptomining non rilevati e non autorizzati nel tuo ambiente VM di Compute Engine. Devi implementare le best practice per il rilevamento del cryptomining, alcune delle quali si sovrappongono alle altre best practice descritte in questa pagina.

Aggiornare il piano di risposta agli incidenti

Assicurati che il piano di risposta agli incidenti e i playbook forniscano indicazioni prescrittive su come la tua organizzazione risponderà agli attacchi di mining di criptovalute. Ad esempio, assicurati che il tuo piano includa quanto segue:

  • Come presentare una richiesta di assistenza con l'assistenza clienti Google Cloud e contattare il tuo Technical Account Manager (TAM) di Google. Se non hai un account di assistenza, esamina i piani di assistenza disponibili e creane uno.
  • Come distinguere i workload di computing ad alte prestazioni (HPC) legittimi dagli attacchi di mining di criptovalute. Ad esempio, puoi taggare i progetti in cui è abilitato l'HPC e configurare avvisi per aumenti imprevisti dei costi.
  • Come gestire le credenziali Google Cloud compromesse.
  • Come mettere in quarantena i sistemi infetti ed eseguire il ripristino da backup integri.
  • Chi nella tua organizzazione deve essere avvisato per indagare e rispondere all'attacco.
  • Quali informazioni devono essere registrate per le attività retrospettive.
  • Come verificare che le attività di correzione abbiano rimosso efficacemente le attività di mining e risolto la vulnerabilità iniziale che ha portato all'attacco.
  • Come rispondere a un avviso inviato dall'assistenza clienti Google Cloud. Per ulteriori informazioni, consulta le domande frequenti sulle violazioni delle norme.

Per ulteriori informazioni, vedi Rispondere agli attacchi e ripristinare i sistemi.

Implementare un piano di ripristino di emergenza

Per prepararti a un attacco di mining di criptovalute, completa i piani di continuità aziendale e ripristino di emergenza, crea un playbook di risposta agli incidenti ed esegui esercizi di simulazione.

Se si verifica un'attività di mining di criptovalute non autorizzata, assicurati di poter risolvere il vettore di minaccia che ha causato la violazione iniziale e di poter ricostruire il tuo ambiente da uno stato buono noto. Il tuo piano di ripristino di emergenza deve prevedere la possibilità di determinare qual è uno stato buono noto in modo che l'autore dell'attacco non possa utilizzare ripetutamente le stesse vulnerabilità per sfruttare le tue risorse.

Passaggi successivi