Práticas recomendadas para proteção contra ataques de mineração de criptomoedas

Last reviewed 2023-10-20 UTC

A mineração de criptomoedas (também conhecida como mineração de bitcoin) é o processo usado para criar novas criptomoedas e validar transações. Os ataques de mineração de criptomoedas ocorrem quando os atacantes que obtêm acesso ao seu ambiente também podem explorar os seus recursos para executar as suas próprias operações de mineração à sua custa.

De acordo com o relatório Threat Horizons de novembro de 2021, os ataques de mineração de criptomoedas são a forma mais comum de os atacantes explorarem os seus recursos de computação depois de comprometerem o seu Google Cloud ambiente. O relatório também indica que os atacantes transferem normalmente software de mineração de criptomoedas para os seus recursos no prazo de 22 segundos após comprometerem o seu sistema. A mineração de criptomoedas pode aumentar rapidamente os custos e um ataque de mineração de criptomoedas pode gerar uma fatura muito superior ao esperado. Uma vez que os custos podem aumentar rapidamente, tem de implementar medidas de proteção, deteção e mitigação para proteger a sua organização.

Este documento destina-se a arquitetos e administradores de segurança. Descreve as práticas recomendadas que pode adotar para ajudar a proteger os seusGoogle Cloud recursos contra ataques de mineração de criptomoedas e ajudar a mitigar o impacto caso ocorra um ataque.

Para obter informações sobre como responder a alertas de criptomoedas, consulte o artigo Responda a notificações e avisos de abuso.

Identifique os seus vetores de ameaças

Para determinar a exposição da sua organização a ataques de mineração de criptomoedas, tem de identificar os vetores de ameaças que se aplicam à sua organização.

O relatório Threat Horizons de novembro de 2021 indica que a maioria dos atacantes explora vulnerabilidades, como as seguintes:

  • Palavra-passe fraca ou nenhuma palavra-passe para contas de utilizador
  • Autenticação fraca ou inexistente para APIs Google Cloud
  • Vulnerabilidades no software de terceiros
  • Configurações incorretas no seu Google Cloud ambiente ou em aplicações de terceiros que está a executar no Google Cloud
  • Credenciais roubadas, como chaves de contas de serviço publicadas em repositórios públicos do GitHub

Além disso, pode subscrever e rever os seguintes documentos para ver uma lista de vetores de ameaças:

Depois de identificar os vetores de ameaças que se aplicam a si, pode usar as restantes práticas recomendadas neste documento para ajudar a resolvê-los.

Proteja as contas e as credenciais das contas

Os atacantes podem explorar contas desprotegidas ou mal geridas para obter acesso aos seus recursos do Compute Engine.O Google Cloud inclui diferentes opções que pode configurar para gerir contas e grupos. Google Cloud

Restrinja o acesso ao seu ambiente na nuvem

A tabela seguinte descreve as políticas organizacionais que pode usar para definir quem pode aceder ao seu ambiente na nuvem.

Restrição da política da organização Descrição
Partilha restrita ao domínio Especifique que IDs de cliente do Cloud ID ou do Google Workspace são válidos.
Contas da AWS permitidas que podem ser configuradas para a federação de identidades da carga de trabalho no Cloud IAM Num ambiente de nuvem híbrida, defina que contas da AWS podem usar a federação de identidade de cargas de trabalho.
Fornecedores de identidade externos permitidos para cargas de trabalho Num ambiente de nuvem híbrida, defina os fornecedores de identidade que as suas cargas de trabalho podem usar.

Configure a MFA ou a 2FA

O Cloud Identity suporta a autenticação multifator (MFA) através de vários métodos. Configure a MFA, especialmente para as suas contas privilegiadas. Para mais informações, consulte o artigo Aplique a MFA uniforme aos recursos pertencentes à empresa.

Para ajudar a evitar ataques de phishing que podem levar a ataques de mineração de criptomoedas, use chaves de segurança Titan para a autenticação de dois fatores (2FA).

Configure o menor privilégio

O princípio do menor privilégio garante que os utilizadores e os serviços só têm o acesso de que precisam para realizar as respetivas tarefas específicas. O princípio do menor privilégio reduz a capacidade de propagação de ataques numa organização, uma vez que um atacante não consegue aumentar facilmente os respetivos privilégios.

Para satisfazer as necessidades da sua organização, use as políticas, as funções e as autorizações detalhadas na gestão de identidade e acesso (IAM). Além disso, analise as suas autorizações regularmente através do recomendador de funções e do analisador de políticas. O recomendador de funções usa a aprendizagem automática para analisar as suas definições e fornecer recomendações para ajudar a garantir que as definições de funções cumprem o princípio do menor privilégio. O analisador de políticas permite-lhe ver que contas têm acesso aos seus recursos na nuvem.

Monitorize contas

Se usar grupos para atribuir políticas de IAM, monitorize os registos de grupos para garantir que não são adicionadas contas não empresariais. Além disso, restrinja as identidades, com base nos domínios do Cloud ID ou Google Workspace, que podem aceder aos seus recursos. Para mais informações, consulte o artigo Restringir identidades por domínio.

Certifique-se de que os procedimentos de desvinculação incluem processos para desativar contas e repor autorizações quando os funcionários saem da sua organização ou mudam de funções. Para mais informações, consulte o artigo Revogar o acesso ao Google Cloud.

Para auditar os seus utilizadores e grupos, consulte o artigo Registos de auditoria do Google Workspace.

Reduza a exposição à Internet dos seus recursos do Compute Engine e do GKE

A redução da exposição à Internet significa que os atacantes têm menos oportunidades de encontrar e explorar vulnerabilidades. Esta secção descreve as práticas recomendadas que ajudam a proteger as suas VMs do Compute Engine e os seus clusters do Google Kubernetes Engine (GKE) da exposição à Internet.

Restrinja o tráfego externo

Não atribua endereços IP externos às suas VMs. Pode usar a restrição da política da organização Desativar a utilização de IPv6 externo da VPC para negar endereços IP externos a todas as VMs. Para ver que VMs têm endereços IP acessíveis publicamente, consulte o artigo Veja a configuração de rede de uma instância. Se a sua arquitetura exigir endereços IP externos para as VMs, use a política da organização Definir IPs externos permitidos para instâncias de VM, que lhe permite definir uma lista de nomes de instâncias que têm autorização para ter endereços IP externos.

Restrinja os nós do GKE apenas a endereços IP internos. Para mais informações, consulte Criar um cluster privado.

Restrinja o tráfego de entrada (ingress) e de saída (egress) para a Internet para todos os recursos nos seus projetos. Para mais informações, consulte as regras de firewall da VPC e as políticas de firewall hierárquicas.

Para mais informações sobre a restrição do tráfego externo, como a configuração do Cloud NAT para permitir comunicações de saída para VMs sem um endereço IP externo ou a utilização de um balanceador de carga de proxy para comunicações de entrada, consulte o artigo Estabelecer ligação segura a instâncias de VM.

Use perímetros de serviço

Crie um perímetro de serviço para os seus recursos do Compute Engine e GKE através dos VPC Service Controls. O VPC Service Controls permite-lhe controlar as comunicações com os seus recursos do Compute Engine a partir do exterior do perímetro. Os perímetros de serviço permitem a comunicação livre dentro do perímetro, bloqueiam a exfiltração de dados e bloqueiam a comunicação de serviço a partir do exterior do perímetro. Use atributos de acesso sensível ao contexto, como endereços IP e identidades dos utilizadores, para controlar ainda mais o acesso aGoogle Cloud serviços a partir da Internet.

Configure a segurança de confiança zero

Configure a segurança de confiança zero com o Chrome Enterprise Premium. O Chrome Enterprise Premium oferece proteção de dados e contra ameaças e controlos de acesso. Se as suas cargas de trabalho estiverem localizadas no local e na Google Cloud, configure o Identity-Aware Proxy (IAP). Configure o encaminhamento TCP para controlar quem pode aceder a serviços administrativos, como SSH e RDP, nos seus recursos a partir da Internet pública.Google Cloud O encaminhamento TCP impede que estes serviços sejam expostos abertamente à Internet.

Proteja os seus recursos do Compute Engine e do GKE

A mineração de criptomoedas requer acesso aos seus recursos do Compute Engine e do GKE. Esta secção descreve as práticas recomendadas que ajudam a proteger os seus recursos do Compute Engine e do GKE.

Proteja as suas imagens de VMs

Use imagens de VMs fortalecidas e organizadas configurando a VM protegida. A VM protegida foi concebida para impedir que código malicioso, como software malicioso ao nível do kernel ou rootkits, seja carregado durante o ciclo de arranque. A VM protegida oferece segurança de arranque, monitoriza a integridade e usa o Trusted Platform Module virtual (vTPM).

Para restringir as imagens que podem ser implementadas, pode implementar políticas de imagens seguras. A política da organização Definir projetos de imagens fidedignas define que projetos podem armazenar imagens e discos persistentes. Certifique-se de que existem apenas imagens fidedignas e mantidas nesses projetos.

No GKE, certifique-se de que os seus contentores usam imagens base, que são atualizadas regularmente com patches de segurança. Além disso, considere usar imagens de contentores sem distribuição que incluam apenas a sua aplicação e as respetivas dependências de tempo de execução.

Proteja o acesso SSH a VMs

Configure o Início de sessão do SO para gerir o acesso SSH às VMs em execução no Compute Engine. O Início de sessão do SO simplifica a gestão do acesso SSH associando a conta de utilizador do Linux do seu administrador à respetiva identidade Google. O início de sessão no SO funciona com o IAM para que possa definir os privilégios que os administradores têm.

Para mais informações sobre como pode proteger as suas VMs e contentores, consulte o artigo Use infraestrutura e serviços reforçados e atestados.

Restrinja contas de serviço

Uma conta de serviço é uma Google Cloud conta que as cargas de trabalho usam para chamar a API Google de um serviço.

Não permitir Google Cloud a atribuição de funções de contas de serviço predefinidas a recursos quando são criados. Para mais informações, consulte o artigo Restringir a utilização de contas de serviço.

Se as suas aplicações estiverem a ser executadas fora do Google Cloud, mas precisarem de acesso a recursos Google Cloud , não use chaves de contas de serviço. Em alternativa, implemente a federação de identidade da carga de trabalho para gerir identidades externas e as autorizações que lhes associa. Para o GKE, pode implementar identidades de cargas de trabalho. Para mais informações, consulte o artigo Escolha o método de autenticação adequado para o seu caso de utilização.

Para ver mais práticas recomendadas que ajudam a proteger as contas de serviço, consulte o artigo Práticas recomendadas para trabalhar com contas de serviço.

Monitorize a utilização de contas de serviço e chaves de contas de serviço

Configure a monitorização para poder acompanhar a forma como as contas de serviço e as chaves das contas de serviço estão a ser usadas na sua organização. Para ter visibilidade dos padrões de utilização notáveis, use as estatísticas da conta de serviço. Por exemplo, pode usar as estatísticas da conta de serviço para monitorizar como as autorizações são usadas nos seus projetos e para identificar contas de serviço não usadas. Para ver quando as suas contas de serviço e chaves foram usadas pela última vez para chamar uma API Google para atividades de autenticação, veja a utilização recente das contas de serviço e das chaves de contas de serviço.

Monitorize e aplique patches a VMs e contentores

Para iniciar um ataque de mineração de criptomoedas, os atacantes exploram frequentemente configurações incorretas e vulnerabilidades de software para obter acesso aos recursos do Compute Engine e do GKE.

Para obter estatísticas sobre as vulnerabilidades e as configurações incorretas que se aplicam ao seu ambiente, use o Security Health Analytics para analisar os seus recursos. Em particular, se usar o Security Command Center Premium, reveja todas as descobertas de instâncias do Compute Engine e descobertas de contentores e configure processos para as resolver rapidamente.

Use a análise de artefactos para verificar se existem vulnerabilidades nas imagens de contentores que armazena no Artifact Registry ou no Container Registry.

Certifique-se de que a sua organização pode implementar patches assim que estiverem disponíveis. Pode usar a Gestão de correções do SO para o Compute Engine. A Google aplica patches automaticamente às vulnerabilidades no GKE. Para mais informações, consulte o artigo Use infraestrutura e serviços reforçados e atestados.

Proteja as suas aplicações com uma WAF

Os atacantes podem tentar aceder à sua rede encontrando vulnerabilidades da camada 7 nas suas aplicações implementadas. Para ajudar a mitigar estes ataques, configure o Google Cloud Armor, que é uma firewall de aplicação Web (WAF) que usa a filtragem da camada 7 e as políticas de segurança. O Google Cloud Armor oferece proteção contra negação de serviço (DoS) e WAF para aplicações e serviços alojados no Google Cloud, nas suas instalações ou noutras nuvens.

O Google Cloud Armor inclui uma regra de WAF para ajudar a resolver as vulnerabilidades do Apache Log4j. Os atacantes podem usar vulnerabilidades do Log4j para introduzir software malicioso que pode realizar mineração de criptomoedas não autorizada. Para mais informações, consulte Regra do WAF do Cloud Armor para ajudar a resolver a vulnerabilidade do Apache Log4j.

Proteja a sua cadeia de abastecimento

A integração contínua e a implementação contínua (CI/CD) oferecem um mecanismo para disponibilizar rapidamente aos seus clientes a funcionalidade mais recente. Para ajudar a evitar ataques de mineração de criptomoedas contra o seu pipeline, faça uma análise de código e monitorize o pipeline para detetar ataques maliciosos.

Implemente a autorização binária para garantir que todas as imagens são assinadas por autoridades fidedignas durante o processo de desenvolvimento e, em seguida, aplique a validação de assinatura quando implementar as imagens.

Mova as verificações de segurança para o mais cedo possível no processo de CI/CD (por vezes, referido como deslocamento para a esquerda). Para mais informações, consulte o artigo Mudar para a esquerda em termos de segurança: proteger as cadeias de fornecimento de software. Para obter informações sobre como configurar uma cadeia de abastecimento segura com o GKE, consulte o artigo Segurança da cadeia de abastecimento de software.

Faça a gestão de segredos e chaves

Um vetor de ataque fundamental para ataques de exploração de criptomoedas não autorizados são segredos inseguros ou roubados. Esta secção descreve as práticas recomendadas que pode usar para ajudar a proteger os seus segredos e chaves de encriptação.

Rode as chaves de encriptação regularmente

Certifique-se de que todas as chaves de encriptação são rodadas regularmente. Se o Cloud KMS gerir as suas chaves de encriptação, pode alternar as chaves de encriptação automaticamente.

Se usar contas de serviço que tenham Google-owned and Google-managed encryption keys, as chaves também são rodadas automaticamente.

Evite transferir segredos

Os segredos expostos são um vetor de ataque fundamental para os atacantes. Se possível, não transfira chaves de encriptação nem outros segredos, incluindo chaves de contas de serviço. Se tiver de transferir chaves, certifique-se de que a sua organização tem um processo de rotação de chaves em vigor.

Se estiver a usar o GitHub ou outro repositório público, tem de evitar a fuga de credenciais. Implemente ferramentas como a análise de segredos, que lhe envia avisos sobre segredos expostos nos seus repositórios do GitHub. Para impedir que as chaves sejam consolidadas nos seus repositórios do GitHub, considere usar ferramentas como o git-secrets.

Use soluções de gestão de segredos, como o Secret Manager e o Hashicorp Vault para armazenar os seus segredos, rodá-los regularmente e aplicar o menor privilégio.

Detete atividade anómala

Para monitorizar a atividade anómala, configure Google Cloud ferramentas de monitorização de terceiros e configure alertas. Por exemplo, configure alertas com base na atividade do administrador nas informações de registo de auditoria do Compute Engine e nos registos de auditoria do GKE.

Além disso, use a Deteção de ameaças de eventos no Security Command Center para identificar ameaças que se baseiam em atividades de administrador, alterações nos Grupos Google e alterações de autorizações da IAM. Use a Deteção de ameaças da máquina virtual no Security Command Center para identificar ameaças relacionadas com as suas VMs do Compute Engine. Para mais informações sobre os serviços do Security Command Center, consulte os níveis de serviço do Security Command Center.

Para ajudar a detetar ameaças baseadas na rede, como software malicioso, configure o Cloud IDS.

Participe no programa de proteção contra a mineração de criptomoedas do Security Command Center

Se for cliente do Security Command Center Premium e usar o Compute Engine, pode participar no Programa de Proteção contra a mineração de criptomoedas do Security Command Center. Este programa permite-lhe reduzir os custos da VM do Compute Engine relacionados com ataques de mineração de criptomoedas não detetados e não autorizados no seu ambiente de VM do Compute Engine. Tem de implementar as práticas recomendadas de deteção de mineração de criptomoedas, algumas das quais se sobrepõem às outras práticas recomendadas descritas nesta página.

Atualize o seu plano de resposta a incidentes

Certifique-se de que o seu plano de resposta a incidentes e os seus manuais de procedimentos fornecem orientações normativas sobre a forma como a sua organização vai responder a ataques de mineração de criptomoedas. Por exemplo, certifique-se de que o seu plano inclui o seguinte:

  • Como registar um pedido de apoio técnico no apoio ao cliente do Google Cloud e contactar o seu gestor de contas técnicas (TAM) da Google. Se não tiver uma conta de apoio técnico, reveja os planos de apoio técnico disponíveis e crie um.
  • Como distinguir entre cargas de trabalho de computação de alto desempenho (HPC) legítimas e ataques de mineração de criptomoedas. Por exemplo, pode etiquetar os projetos que têm o HPC ativado e configurar alertas para aumentos de custos inesperados.
  • Como lidar com credenciais comprometidas Google Cloud .
  • Como colocar em quarentena sistemas infetados e restaurar a partir de cópias de segurança em bom estado.
  • Quem na sua organização tem de ser notificado para investigar e responder ao ataque.
  • Que informações têm de ser registadas para as suas atividades retrospetivas.
  • Como verificar se as suas atividades de remediação removeram eficazmente as atividades de mineração e resolveram a vulnerabilidade inicial que levou ao ataque.
  • Como responder a um alerta enviado pelo Cloud Customer Care. Para mais informações, consulte as Perguntas frequentes sobre violações de políticas.

Para mais informações, consulte o artigo Responda a ataques e recupere-se dos mesmos.

Implemente um plano de recuperação de desastres

Para se preparar para um ataque de exploração de criptomoedas, conclua os planos de continuidade operacional e de recuperação de desastres, crie um manual de resposta a incidentes e faça exercícios de simulação.

Se ocorrer mineração de criptomoedas não autorizada, certifique-se de que consegue resolver o vetor de ameaça que causou a violação inicial e que consegue reconstruir o seu ambiente a partir de um estado bom conhecido. O seu plano de recuperação de desastres tem de prever a capacidade de determinar o que é um estado bom conhecido para que o atacante não possa usar repetidamente as mesmas vulnerabilidades para explorar os seus recursos.

O que se segue?