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 aggressori sfruttano le tue risorse di computing dopo aver compromesso il tuo Google Cloud ambiente. Il report indica anche che gli aggressori in genere scaricano il software di mining di criptovalute sulle 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ò comportare una fattura molto più elevata del previsto. Poiché i costi possono aumentare rapidamente, devi adottare 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 Google Cloud risorse 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 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 applicabili alla tua organizzazione.

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

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

Inoltre, puoi abbonarti ai seguenti documenti ed esaminarli per un elenco di vettori di minaccia:

Dopo aver identificato i vettori di minaccia applicabili, puoi utilizzare le best practice rimanenti in questo documento per risolverli.

Proteggere gli account e le credenziali degli account

Gli aggressori possono sfruttare gli account non protetti o gestiti in modo errato per ottenere l'accesso 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 le policy dell'organizzazione che puoi utilizzare per definire chi può accedere al tuo ambiente cloud.

Vincolo delle policy dell'organizzazione Descrizione
Condivisione limitata per i domini Specifica gli ID cliente validi per Cloud Identity o Google Workspace.
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 quali provider di identità possono essere utilizzati dai tuoi workload.

Configurare MFA o 2FA

Cloud Identity supporta l'autenticazione a più fattori (MFA) utilizzando vari metodi. Configura MFA, in particolare per gli account con privilegi. Per saperne di più, consulta Requisito di autenticazione a più fattori per Google Cloud.

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).

Configurare il privilegio minimo

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

Per soddisfare le esigenze della tua organizzazione, utilizza le policy, i ruoli e le autorizzazioni granulari in Identity and Access Management (IAM). Inoltre, analizza regolarmente le autorizzazioni utilizzando il motore per suggerimenti di ruoli e Policy Analyzer. Il motore per suggerimenti di ruoli utilizza il machine learning per analizzare le impostazioni e fornire suggerimenti 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 le policy 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 saperne di più, consulta 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 saperne di più, consulta Revocare l'accesso a Google Cloud.

Per controllare utenti e gruppi, consulta Audit log per Google Workspace.

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

La riduzione dell'esposizione a internet significa che gli aggressori hanno meno opportunità di trovare e 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 VM. Puoi utilizzare il vincolo delle policy dell'organizzazione Disabilita 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 Visualizzare la configurazione di rete di un'istanza. Se la tua architettura richiede indirizzi IP esterni per le VM, utilizza la policy dell'organizzazione Definisci gli 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 saperne di più, consulta Creare 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 alle tue risorse Compute Engine dall'esterno del perimetro. I perimetri di servizio consentono la libera comunicazione all'interno del perimetro, bloccano esfiltrazione di dati e bloccano la comunicazione dei servizi dall'esterno del perimetro. Utilizza gli attributi di accesso sensibili al contesto come gli indirizzi IP e le identità degli utenti, per controllare ulteriormente l'accesso ai Google Cloud servizi 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 di accesso. Se i tuoi workload si trovano sia on-premise sia in Google Cloud, configura Identity-Aware Proxy (IAP). Configura l'inoltro TCP per controllare chi può accedere ai servizi amministrativi come SSH e RDP sulle tue Google Cloud risorse da internet pubblico. L'inoltro TCP impedisce che questi servizi siano 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 a livello di kernel o rootkit 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 sottoposte a deployment, puoi implementare le policy per immagini attendibili. La policy 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 senza sistema operativo che includono solo l'applicazione e le relative dipendenze di runtime.

Proteggere l'accesso SSH 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, quindi puoi definire i privilegi degli amministratori.

Per saperne di più su come proteggere le VM e i container, consulta Utilizzare infrastrutture e servizi protetti 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 Google Cloud l'assegnazione dei ruoli dei account di servizio predefiniti alle risorse durante la creazione. Per saperne di più, consulta Limitazione dell'account di servizio account.

Se le tue applicazioni sono in esecuzione al di fuori di Google Cloud, ma richiedono l'accesso alle Google Cloud risorse, non utilizzare le chiavi dei account di servizio. Implementa invece la federazione delle identità per i workload per gestire le identità esterne e le autorizzazioni associate. Per GKE, puoi implementare le identità dei workload. Per saperne di più, consulta Scegliere il metodo di autenticazione giusto per il tuo caso d'uso.

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

Monitorare l'utilizzo dei service account e delle chiavi dei account di servizio

Configura il monitoraggio in modo da poter monitorare l'utilizzo dei service account e delle chiavi dei account di servizio nella tua organizzazione. Per ottenere visibilità sui pattern di utilizzo importanti, utilizza gli insight dei service account. Ad esempio, puoi utilizzare gli insight dei account di servizio per monitorare l'utilizzo delle 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 Google per le attività di autenticazione , visualizza l'utilizzo recente dei service account e delle account di servizio account.

Monitorare e applicare patch a VM e container

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

Per ottenere informazioni sulle vulnerabilità e sugli errori di configurazione applicabili al tuo ambiente, utilizza Security Health Analytics per eseguire la scansione delle risorse. In particolare, se utilizzi Security Command Center Premium, esamina tutti i risultati delle istanze Compute Engine e dei container e configura i 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 eseguire il deployment delle patch non appena sono disponibili. Puoi utilizzare OS Patch Management per Compute Engine. Google applica automaticamente le patch alle vulnerabilità in GKE. Per saperne di più, consulta Utilizzare infrastrutture e servizi protetti e attestati.

Proteggere le applicazioni utilizzando un WAF

Gli aggressori possono tentare di accedere alla tua rete trovando vulnerabilità di livello 7 nelle 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 policy di sicurezza. Google Cloud Armor fornisce protezione WAF e 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 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 saperne di più, consulta Regola WAF di Cloud Armor per risolvere la vulnerabilità di Apache Log4j.

Proteggere la catena di fornitura

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

Implementa l'autorizzazione binaria per assicurarti che tutte le immagini vengano firmate da autorità attendibili durante il processo di sviluppo e quindi applica la convalida della firma durante il deployment delle immagini.

Sposta i controlli di sicurezza il prima possibile nel processo CI/CD (a volte indicato come shifting left). Per saperne di più, 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 d'attacco chiave per gli attacchi di mining di criptovalute non autorizzati sono i secret non sicuri o trapelati. Questa sezione descrive le best practice che puoi utilizzare per proteggere i 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 chiavi di crittografia, puoi ruotare le chiavi di crittografia automaticamente.

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

Evitare di scaricare i secret

I secret esposti sono un vettore d'attacco chiave per gli attaccanti. Se possibile, non scaricare le chiavi di crittografia o altri secret, incluse le chiavi dei account di servizio. Se devi scaricare le chiavi, assicurati che la tua organizzazione disponga di 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 dei secret esposti nei repository GitHub. Per impedire il commit delle chiavi nei 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 configura gli 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 che sono basate sulle attività dell'amministratore, sulle modifiche di Gruppi Google e sulle modifiche delle autorizzazioni IAM. Utilizza Virtual Machine Threat Detection in Security Command Center per identificare le minacce correlate alle VM Compute Engine. Per saperne di più sui servizi di Security Command Center, consulta Livelli di servizio di Security Command Center.

Per contribuire a rilevare le minacce basate sulla rete, come il 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 Compute Engine correlati ad attacchi di cryptomining non rilevati e non autorizzati nel tuo ambiente VM Compute Engine. Devi implementare le best practice di 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 piano includa quanto segue:

  • Come presentare una richiesta di assistenza all'assistenza clienti Google Cloud e contattare il Technical Account Manager (TAM) di Google. Se non hai un account di assistenza, esamina i piani di assistenza disponibili e creane uno.
  • Come distinguere tra workload di computing ad alte prestazioni (HPC) legittimi e attacchi di mining di criptovalute. Ad esempio, puoi taggare i progetti in cui è abilitato HPC e configurare gli 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 informato 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 saperne di più, consulta Domande frequenti sulle violazioni delle policy.

Per saperne di più, consulta 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à operativa e di ripristino di emergenza, crea un playbook di risposta agli incidenti ed esegui esercizi di simulazione.

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

Passaggi successivi