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 criptovalute e verificare le transazioni. Gli attacchi di mining di criptovalute si verificano quando gli utenti malintenzionati 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 di attacchi sfruttano le tue risorse di calcolo dopo aver compromesso il tuo ambiente Google Cloud. Il report indica inoltre che gli attaccanti in genere scaricano software di mining di criptovalute nelle tue risorse entro 22 secondi dalla compromissione del sistema. L'estrazione di criptovalute può aumentare rapidamente i costi e un attacco di estrazione di criptovalute può causare una fattura molto più alta del previsto. Poiché i costi possono aumentare rapidamente, devi implementare misure di protezione, rilevamento e 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 risorse Google Cloud dagli attacchi di mining di criptovalute e per mitigare l'impatto in caso di attacco.

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

Identifica i tuoi 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 Orizzonti delle minacce di novembre 2021 indica che la maggior parte degli attaccanti sfrutta vulnerabilità come le seguenti:

  • Password debole o nessuna password per gli account utente
  • Autenticazione debole o assente per le API Google Cloud
  • Vulnerabilità nel software di terze parti
  • Configurazioni errate nell'ambiente Google Cloud o nelle applicazioni di terze parti in esecuzione su Google Cloud
  • Credenziali divulgate, ad esempio chiavi degli account di servizio pubblicate nei repository GitHub pubblici

Inoltre, puoi iscriverti e consultare i seguenti documenti per un elenco di vettori di minacce:

Dopo aver identificato i vettori di minacce che ti riguardano, puoi utilizzare le altre best practice riportate in questo documento per gestirli.

Proteggere gli account e le credenziali degli account

Gli utenti malintenzionati possono sfruttare gli account non protetti o gestiti male per accedere alle tue risorse Compute Engine. Google Cloud include diverse opzioni che puoi configurare per gestire account e gruppi.

Limitare l'accesso all'ambiente cloud

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

Vincolo dei criteri dell'organizzazione Descrizione
Condivisione limitata per i 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 possono essere utilizzati dai tuoi carichi di lavoro.

Configurare l'MFA o l'A2F

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

Per contribuire a prevenire gli 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 privilegio minimo garantisce che gli utenti e i servizi dispongano solo dell'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 eseguire la riassegnazione dei privilegi.

Per soddisfare le esigenze della tua organizzazione, utilizza i criteri, i ruoli e le autorizzazioni granulari in Identity and Access Management (IAM). Inoltre, analizza regolarmente le autorizzazioni utilizzando il motore per suggerimenti sui ruoli e Policy Analyzer. Il consigliatore dei 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 i 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 Limitare le 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 ulteriori informazioni, consulta Ritirare l'accesso a Google Cloud.

Per eseguire il controllo degli utenti e dei gruppi, consulta Log di controllo per Google Workspace.

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

Ridurre l'esposizione a internet significa che gli utenti malintenzionati hanno meno opportunità di trovare ed sfruttare le vulnerabilità. Questa sezione descrive le best practice che aiutano 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 Disattiva l'utilizzo di IPv6 all'esterno di VPC per negare gli indirizzi IP esterni a tutte le VM. Per visualizzare le VM con indirizzi IP accessibili pubblicamente, consulta Trovare gli indirizzi IP 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 che possono avere indirizzi IP esterni.

Limita i nodi GKE solo agli indirizzi IP interni. Per ulteriori informazioni, consulta la sezione Creare un cluster privato.

Limita il traffico in entrata (ingress) e in uscita (egress) verso internet per tutte le risorse dei tuoi progetti. Per ulteriori informazioni, consulta Regole firewall VPC e Criteri firewall gerarchici.

Per ulteriori informazioni su come limitare il traffico esterno, ad esempio configurando Cloud NAT per consentire le comunicazioni in uscita per le VM senza indirizzo IP esterno o utilizzando 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 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 di servizio dall'esterno del perimetro. Utilizza gli attributi dell'accesso sensibile al contesto come gli indirizzi IP e le 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 dalle minacce e controlli degli accessi. Se i tuoi carichi di lavoro si trovano sia on-premise che 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 risorse Google Cloud dalla rete internet pubblica. L'inoltro TCP impedisce che questi servizi vengano esposti a internet.

Proteggi le risorse Compute Engine e GKE

L'estrazione 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.

Proteggi le immagini VM

Utilizza immagini VM protette e selezionate configurando VM schermate. La 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 di avvio, monitora l'integrità e utilizza il Virtual Trusted Platform Module (vTPM).

Per limitare le immagini che possono essere implementate, puoi implementare criteri per immagini attendibili. Il criterio dell'organizzazione Definisci i progetti di immagini attendibili definisce i progetti che 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. Valuta anche la possibilità di utilizzare immagini container senza distribuzione che includono solo l'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. L'OS Login simplifica 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, consulta Proteggere VM e contenitori.

Limitare gli account di servizio

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

Non consentire a Google Cloud di assegnare i ruoli dell'account di servizio predefiniti alle risorse al momento della loro creazione. Per ulteriori informazioni, consulta Limitare l'utilizzo degli account di servizio.

Se le tue applicazioni vengono eseguite al di fuori di Google Cloud, ma richiedono accesso alle risorse Google Cloud, non utilizzare le chiavi dell'account di servizio. Implementa invece la federazione delle identità dei carichi di lavoro per gestire le identità esterne e le autorizzazioni associate. Per GKE, puoi implementare identità per i carichi di lavoro. Per ulteriori informazioni, consulta Scegliere il metodo di autenticazione giusto per il tuo caso d'uso.

Per altre best practice che aiutano a proteggere gli account di servizio, consulta Best practice per l'utilizzo degli account di servizio.

Monitorare l'utilizzo degli account di servizio e delle relative chiavi

Configura il monitoraggio in modo da poter monitorare l'utilizzo di account di servizio e chiavi di account di servizio nella tua organizzazione. Per ottenere informazioni sui pattern di utilizzo significativi, utilizza Approfondimenti sugli account di servizio. Ad esempio, puoi utilizzare gli approfondimenti sugli account di servizio per monitorare l'utilizzo delle autorizzazioni nei tuoi progetti e identificare gli account di servizio inutilizzati. Per sapere quando le chiavi e gli account di servizio sono stati utilizzati per l'ultima volta per chiamare un'API di Google per attività di autenticazione, visualizza l'utilizzo recente di chiavi e account di servizio.

Monitora e applica patch a VM e container

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

Per ottenere informazioni sulle vulnerabilità e sulle configurazioni errate che si applicano al tuo ambiente, utilizza Security Health Analytics per eseguire la scansione delle risorse. In particolare, se utilizzi Security Command Center Premium, esamina eventuali risultati relativi alle istanze Compute Engine e risultati relativi ai contenitori e configura le procedure 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 corregge automaticamente le vulnerabilità in GKE. Per ulteriori informazioni, consulta Mantenere aggiornate le immagini e i cluster.

Proteggere le applicazioni utilizzando un WAF

Gli aggressori possono tentare di accedere alla tua rete trovando vulnerabilità di livello 7 all'interno delle applicazioni di cui hai eseguito il deployment. Per contribuire a mitigare questi attacchi, configura Google Cloud Armor, un WAF (Web Application Firewall) che utilizza il filtro di livello 7 e i criteri di sicurezza. Google Cloud Armor fornisce protezione WAF e da attacchi di tipo denial of service (DoS) 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 mining di criptovaluta non autorizzato. Per ulteriori informazioni, consulta la regola WAF di Google Cloud Armor per contribuire a risolvere la vulnerabilità di Apache Log4j.

Proteggi la catena di approvvigionamento

L'integrazione e il deployment continui (CI/CD) forniscono un meccanismo per mettere rapidamente a disposizione dei clienti le funzionalità più recenti. Per contribuire a prevenire gli attacchi di mining di criptovalute contro la tua pipeline, esegui l'analisi del codice e monitora la pipeline per rilevare attacchi dannosi.

Implementa Autorizzazione binaria per assicurarti che tutte le immagini siano firmate da autorità attendibili durante il processo di sviluppo e poi applica 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 chiamato spostamento a sinistra). Per ulteriori informazioni, consulta Shifting left on security: Securing software supply chains. Per informazioni su come configurare una catena di approvvigionamento 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 è costituito da segreti non sicuri o divulgati. Questa sezione descrive le best practice che puoi utilizzare per contribuire a proteggere i tuoi secret e le tue chiavi di crittografia.

Ruota 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 account di servizio con chiavi di proprietà di Google e gestite da Google, anche le chiavi vengono ruotate automaticamente.

Evita di scaricare i secret

I secret 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 dell'account di servizio. Se devi scaricare le chiavi, assicurati che la tua organizzazione abbia implementato un processo 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 degli secret esposti nei tuoi repository GitHub. Per impedire che le chiavi vengano committate nei tuoi repository GitHub, ti consigliamo 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.

Rileva attività anomale

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

Inoltre, utilizza Event Threat Detection in Security Command Center per identificare le minacce che si basano sulle attività degli amministratori, sulle modifiche a Google Gruppi e sulle modifiche alle autorizzazioni IAM. Utilizza Virtual Machine Threat Detection in Security Command Center per identificare le minacce correlate alle tue VM Compute Engine. Per ulteriori informazioni sui servizi di Security Command Center, consulta Livelli di servizio di Security Command Center.

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

Partecipare al programma di protezione contro il 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.

Aggiorna 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 per l'assistenza, consulta i piani di assistenza disponibili e creane uno.
  • Come distinguere i carichi di lavoro legittimi di computing ad alte prestazioni (HPC) 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 di Google Cloud compromesse.
  • Come mettere in quarantena i sistemi infetti e ripristinare da backup integri.
  • Chi nella tua organizzazione deve essere informato per effettuare accertamenti e rispondere all'attacco.
  • Quali informazioni devono essere registrate per le attività di analisi 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, consulta Rispondere agli attacchi e recuperare da questi.

Implementa un piano di ripristino di emergenza

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

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

Passaggi successivi