Best practice per la protezione dagli attacchi di mining di criptovaluta

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 critovaluta si verificano quando anche aggressori che ottengono l’accesso al tuo ambiente potrebbero sfruttare e gestire le proprie operazioni di mining a tue spese.

In base alle report Threat Horizons di novembre 2021, Gli attacchi di criptovaluta sono il modo più comune di sfruttamento da parte degli aggressori le tue risorse di calcolo dopo aver compromesso il tuo Google Cloud completamente gestito di Google Cloud. Il report indica inoltre che gli attaccanti in genere scaricano software per l'estrazione 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, è necessario adottare misure protettive, investigative misure di mitigazione per proteggere la tua organizzazione.

Questo documento è rivolto agli architetti e agli 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.

Identifica i vettori delle minacce

Per determinare l'esposizione della tua organizzazione agli attacchi di mining di criptovaluta, devono identificare i vettori delle minacce che si applicano alla propria azienda.

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
  • Debole o assente autenticazione 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 account non protetti o mal gestiti per ottenere l'accesso ai tuoi alle risorse di Compute Engine. Google Cloud include diverse opzioni che 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 definisci 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 il carico di lavoro federazione delle identità in Cloud IAM In un ambiente cloud ibrido, definisci quali account AWS possono utilizzare la federazione delle identità per i carichi di lavoro.
Provider di identità esterni consentiti per carichi di lavoro In un ambiente cloud ibrido, definisci i provider di identità dei carichi di lavoro.

Configurare l'autenticazione MFA o l'autenticazione a due fattori (2FA)

Cloud Identity supporta l'autenticazione a più fattori (MFA) utilizzando vari metodi. Configurare MFA, in particolare per gli 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 utenti e servizi abbiano solo l'accesso che devono svolgere le proprie 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 criteri, ruoli e autorizzazioni in Identity and Access Management (IAM). Inoltre, analizza regolarmente le tue autorizzazioni utilizzando strumento per suggerimenti sul ruolo e Analizzatore criteri. Il motore per suggerimenti di ruoli utilizza il machine learning per analizzare le impostazioni e fornire consigli per garantire che le impostazioni del ruolo 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 del gruppo 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, vedi Revoca dell'accesso a Google Cloud.

Per verificare gli utenti e i gruppi, vedi Log di controllo per Google Workspace.

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

Ridurre l'esposizione a internet significa che i malintenzionati hanno meno opportunità per 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 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 quali VM hanno indirizzi IP accessibili pubblicamente, vedi Individuare gli indirizzi IP per 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 maggiori informazioni le informazioni, vedi Creazione di un cluster privato.

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

Per ulteriori informazioni sulla limitazione del traffico esterno, ad esempio Cloud NAT per consentire le comunicazioni in uscita per le VM senza IP esterno o l'utilizzo di un bilanciatore del carico proxy per le comunicazioni in entrata, consulta Connessione sicura alle istanze VM.

Utilizza i perimetri di servizio

Crea un perimetro di servizio per le risorse Compute Engine e GKE 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 carichi di lavoro si trovano sia on-premise che in Google Cloud, e configurare 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 siano apertamente 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 aiuterà a proteggere i tuoi Compute Engine delle risorse GKE.

Proteggi le immagini VM

Utilizza immagini VM protette e selezionate configurando VM schermate. La Shielded VM è progettata per prevenire codici dannosi come il caricamento di malware o rootkit durante il ciclo di avvio. La Shielded VM offre sicurezza in fase di avvio, monitora l'integrità e utilizza Virtual Trusted Platform Module (vTPM).

Per limitare le immagini di cui è possibile eseguire il deployment, puoi implementare norme relative alle immagini attendibili. Il criterio dell'organizzazione Definisci progetti di immagini attendibili definisce i progetti può 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 aggiornati 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'accesso al sistema operativo simplifica la gestione dell'accesso SSH collegando l'account utente Linux dell'amministratore alla sua identità Google. OS Login funziona con IAM per puoi definire i privilegi di cui dispongono gli 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 ruoli predefiniti per gli account di servizio alle risorse quando vengono create. 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à dei 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 per permetterti di tenere traccia del modo in cui gli account di servizio e le chiavi degli account di servizio utilizzate nella tua organizzazione. Per avere visibilità su pattern di utilizzo degni di nota, usa insight per account di servizio. Ad esempio, puoi utilizzare gli insight sugli account di servizio per monitorare il modo in cui utilizzati nei tuoi progetti e per 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 insight sulle vulnerabilità e sugli errori di configurazione applicabili il tuo ambiente, utilizza Analisi dello stato della sicurezza per eseguire la scansione delle tue risorse. In particolare, se utilizzi Security Command Center Premium, consulta qualsiasi Risultati delle istanze Compute Engine e Risultati container e impostare 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 la modalità OS Patch Management per Compute Engine. Google corregge automaticamente le vulnerabilità in GKE. Per ulteriori informazioni, vedi Mantieni 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 ridurre le configurano questi attacchi Google Cloud Armor un web application firewall (WAF) che utilizza filtri di livello 7 e criteri di sicurezza. Google Cloud Armor offre 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 mining di criptovaluta non autorizzato. Per ulteriori informazioni, vedi Regola WAF di Google Cloud Armor per aiutare a risolvere la vulnerabilità di Apache Log4j.

Proteggi la catena di fornitura

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 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 di sviluppo e applicare la convalida della firma quando esegui il deployment in formato Docker.

Sposta i controlli di sicurezza il prima possibile nel processo CI/CD (a volte noto come spostamento a sinistra). Per ulteriori informazioni, vedi Il passaggio alla sicurezza: proteggere le catene di fornitura del software. 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: per aiutarti 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 segreti scoperti sono un vettore di attacco chiave per gli aggressori. 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 delle chiavi.

Se utilizzi GitHub o un altro repository pubblico, evita di perdite e credenziali. Implementa strumenti come la scansione dei secret, che ti avvisa degli secret esposti nei tuoi repository GitHub. Per interrompere le chiavi dal commit nei repository GitHub, valuta di utilizzare strumenti come git-secrets.

Utilizza soluzioni di gestione dei secret come Secret Manager e vault di hashicorp per archiviare i tuoi secret, ruotarli regolarmente e applicare 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 nei log di controllo di GKE.

Inoltre, utilizza Event Threat Detection in Security Command Center per identificare le minacce che si basano sulle attività degli amministratori, sulle modifiche ai gruppi Google Modifiche alle autorizzazioni IAM. Utilizza le funzionalità di Virtual Machine Threat Detection in Security Command Center per identificare le minacce relative alle VM di Compute Engine. Per saperne di più sui servizi 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 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 sostenere i costi delle VM di Compute Engine correlati a eventi e attacchi di cryptomining non autorizzati nel tuo ambiente VM di Compute Engine. Devi implementare le best practice per il rilevamento del cryptomining, alcune delle quali si sovrappongono ad altre best practice descritte in questa .

Aggiorna il piano di risposta agli incidenti

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

  • Come inviare una richiesta di assistenza all'assistenza clienti 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 nei progetti è abilitato l'HPC (computing ad alte prestazioni) e configurano avvisi per aumenti imprevisti dei costi.
  • Come comportarsi con credenziali Google Cloud compromesse.
  • Come mettere in quarantena i sistemi infetti e ripristinare i dati 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.
  • Come verificare che le attività di correzione abbiano rimosso in modo efficace attività di mining e risolto la vulnerabilità iniziale che ha portato un attacco informatico.
  • Come rispondere a un avviso inviato dall'assistenza clienti Google Cloud. Per maggiori informazioni le informazioni, vedi Domande frequenti sulle violazioni delle norme.

Per ulteriori informazioni, vedi Rispondere agli attacchi e riprendersi.

Implementare un piano di ripristino di emergenza

Per prepararti a un attacco di criptovaluta, completa continuità aziendale e piani di ripristino di emergenza, creare un programma per la risposta agli incidenti ed eseguire esercizi di simulazione.

Se si verifica il mining di criptovalute non autorizzato, assicurati di poter risolvere 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