La minería de criptomonedas (también conocida como minería de bitcoins) es el proceso que se utiliza para crear nuevas criptomonedas y verificar transacciones. Los ataques de minería de criptomonedas se producen cuando los atacantes que obtienen acceso a tu entorno también pueden aprovechar tus recursos para llevar a cabo sus propias operaciones de minería a tu costa.
Según el informe Threat Horizons de noviembre del 2021, los ataques de minería de criptomonedas son la forma más habitual en que los atacantes explotan tus recursos informáticos después de vulnerar tu entorno de Google Cloud. El informe también indica que los atacantes suelen descargar software de minería de criptomonedas en tus recursos en un plazo de 22 segundos después de poner en peligro tu sistema. La minería de criptomonedas puede aumentar los costes rápidamente y un ataque de minería de criptomonedas puede generar una factura mucho más elevada de lo que esperabas. Como los costes pueden aumentar rápidamente, debes implementar medidas de protección, detección y mitigación para proteger tu organización.
Este documento está dirigido a arquitectos y administradores de seguridad. En ella se describen las prácticas recomendadas que puedes seguir para proteger tus recursos de los ataques de minería de criptomonedas y para mitigar el impacto en caso de que se produzca un ataque.Google Cloud
Para obtener información sobre cómo responder a las alertas de criptomonedas, consulta el artículo Responder a notificaciones y advertencias sobre usos inadecuados.
Identifica tus vectores de amenazas
Para determinar la exposición de tu organización a los ataques de minería de criptomonedas, debes identificar los vectores de amenazas que se aplican a tu organización.
El informe Threat Horizons de noviembre del 2021 indica que la mayoría de los atacantes aprovechan vulnerabilidades como las siguientes:
- Contraseña poco segura o sin contraseña en las cuentas de usuario
- Autenticación débil o inexistente para las APIs Google Cloud
- Vulnerabilidades en software de terceros
- Errores de configuración en tu entorno de Google Cloud o en aplicaciones de terceros que estés ejecutando en Google Cloud
- Credenciales filtradas, como claves de cuentas de servicio publicadas en repositorios públicos de GitHub
Además, puedes suscribirte a los siguientes documentos y consultarlos para ver una lista de vectores de amenazas:
- Las alertas de ciberseguridad de tu Gobierno
- Google Cloud boletines de seguridad
- Boletines de seguridad de Compute Engine
- Los boletines de seguridad de las aplicaciones de terceros que estés ejecutando en Google Cloud
- Google Cloud Notificaciones importantes
Una vez que haya identificado los vectores de amenazas que le afectan, puede usar las prácticas recomendadas restantes de este documento para hacerles frente.
Proteger cuentas y credenciales de cuentas
Los atacantes pueden aprovechar las cuentas desprotegidas o mal gestionadas para acceder a tus recursos de Compute Engine. Google Cloud incluye diferentes opciones que puedes configurar para gestionar cuentas y grupos.
Restringir el acceso a tu entorno de nube
En la siguiente tabla se describen las políticas de la organización que puedes usar para definir quién puede acceder a tu entorno de nube.
Restricción de política de organización | Descripción |
---|---|
Uso compartido restringido al dominio | Especifica qué IDs de cliente de Cloud Identity o Google Workspace son válidos. |
Cuentas de AWS permitidas que se pueden configurar para la federación de identidades de cargas de trabajo en Cloud IAM | En un entorno de nube híbrida, define qué cuentas de AWS pueden usar la federación de identidades de cargas de trabajo. |
Proveedores de identidades externos permitidos en cargas de trabajo | En un entorno de nube híbrida, define qué proveedores de identidades pueden usar tus cargas de trabajo. |
Configurar la MFA o la autenticación de dos factores
Cloud Identity admite la autenticación multifactor (MFA) con varios métodos. Configura la MFA, sobre todo en tus cuentas con privilegios. Para obtener más información, consulta Aplicar la autenticación multifactor (MFA) de manera uniforme a los recursos de la empresa.
Para evitar los ataques de phishing que pueden provocar ataques de minería de criptomonedas, usa llaves de seguridad Titan para la autenticación de dos factores (2FA).
Configurar el principio de mínimos accesos
El principio de mínimos accesos asegura que los usuarios y los servicios solo tengan el acceso que necesitan para realizar sus tareas específicas. El principio de los mínimos accesos ralentiza la capacidad de los ataques para propagarse por toda una organización, ya que un atacante no puede aumentar sus privilegios fácilmente.
Para satisfacer las necesidades de tu organización, usa las políticas, los roles y los permisos pormenorizados de Gestión de Identidades y Accesos (IAM). Además, analiza tus permisos con regularidad mediante el recomendador de roles y el analizador de políticas. Recomendador de roles usa el aprendizaje automático para analizar tu configuración y ofrecerte recomendaciones que te ayuden a asegurarte de que tu configuración de roles cumple el principio de privilegio mínimo. Analizador de políticas te permite ver qué cuentas tienen acceso a tus recursos en la nube.
Monitorizar cuentas
Si usas grupos para asignar políticas de gestión de identidades y accesos, monitoriza los registros de grupos para asegurarte de que no se añadan cuentas que no sean corporativas. Además, restringe las identidades, en función de los dominios de Cloud Identity o Google Workspace, que pueden acceder a tus recursos. Para obtener más información, consulta Restringir identidades por dominio.
Asegúrate de que tus procedimientos de baja incluyan procesos para desactivar cuentas y restablecer permisos cuando los empleados abandonen tu organización o cambien de rol. Para obtener más información, consulta Revocar el acceso a Google Cloud.
Para auditar a tus usuarios y grupos, consulta Registros de auditoría de Google Workspace.
Reduce la exposición a Internet de tus recursos de Compute Engine y GKE
Si reduces la exposición a Internet, los atacantes tendrán menos oportunidades de encontrar y aprovechar vulnerabilidades. En esta sección se describen las prácticas recomendadas que ayudan a proteger tus VMs de Compute Engine y tus clústeres de Google Kubernetes Engine (GKE) frente a la exposición a Internet.
Restringir el tráfico externo
No asignes direcciones IP externas a tus VMs. Puedes usar la restricción de la política de organización Inhabilitar el uso de IPv6 externo de VPC para denegar direcciones IP externas a todas las VMs. Para ver qué máquinas virtuales tienen direcciones IP accesibles públicamente, consulta Ver la configuración de red de una instancia. Si tu arquitectura requiere direcciones IP externas para tus VMs, usa la política de organización Define allowed external IPs for VM instances (Definir IPs externas permitidas para instancias de VM), que te permite definir una lista de nombres de instancias que pueden tener direcciones IP externas.
Restringe los nodos de GKE para que solo usen direcciones IP internas. Para obtener más información, consulta el artículo Crear un clúster privado.
Restringe el tráfico entrante y saliente a Internet de todos los recursos de tus proyectos. Para obtener más información, consulta los artículos sobre reglas de cortafuegos de VPC y políticas de cortafuegos jerárquicas.
Para obtener más información sobre cómo restringir el tráfico externo, como configurar Cloud NAT para permitir las comunicaciones salientes de las VMs sin dirección IP externa o usar un balanceador de carga proxy para las comunicaciones entrantes, consulta Conectarse de forma segura a instancias de VM.
Usar perímetros de servicio
Crea un perímetro de servicio para tus recursos de Compute Engine y GKE con Controles de Servicio de VPC. Controles de Servicio de VPC te permite controlar las comunicaciones con tus recursos de Compute Engine desde fuera del perímetro. Los perímetros de servicio permiten la libre comunicación dentro del perímetro, impiden la filtración externa de datos y bloquean la comunicación del servicio desde fuera del perímetro. Usa atributos del acceso contextual, como las direcciones IP y las identidades de los usuarios, para controlar aún más el acceso a los serviciosGoogle Cloud desde Internet.
Configurar la seguridad de confianza cero
Configura la seguridad de confianza cero con Chrome Enterprise Premium. Chrome Enterprise Premium ofrece protección de datos y contra amenazas y controles de acceso. Si tus cargas de trabajo se encuentran tanto en las instalaciones como en Google Cloud, configura Identity-Aware Proxy (IAP). Configura el reenvío de TCP para controlar quién puede acceder a servicios administrativos como SSH y RDP en tus recursos deGoogle Cloud desde Internet público. El reenvío de TCP evita que estos servicios se expongan abiertamente a Internet.
Protege tus recursos de Compute Engine y GKE
La minería de criptomonedas requiere acceso a tus recursos de Compute Engine y GKE. En esta sección se describen las prácticas recomendadas que le ayudarán a proteger sus recursos de Compute Engine y GKE.
Protege tus imágenes de VM
Usa imágenes de máquinas virtuales endurecidas y seleccionadas configurando VM blindada. Las VM blindadas se han diseñado para evitar que se cargue código malicioso, como malware o rootkits a nivel del kernel, durante el ciclo de arranque. Las VMs blindadas proporcionan seguridad de arranque, monitorizan la integridad y usan el módulo de plataforma segura virtual (vTPM).
Para restringir las imágenes que se pueden desplegar, puedes implementar políticas de imágenes de confianza. La política de empresa Define trusted image projects (Definir proyectos de imágenes de confianza) define qué proyectos pueden almacenar imágenes y discos persistentes. Asegúrate de que solo haya imágenes de confianza y mantenidas en esos proyectos.
En GKE, asegúrate de que tus contenedores usen imágenes base, que se actualizan periódicamente con parches de seguridad. También puedes usar imágenes de contenedor sin distribución, que solo incluyen tu aplicación y sus dependencias de tiempo de ejecución.
Acceso SSH seguro a las VMs
Configura OS Login para gestionar el acceso SSH a las VMs que se ejecutan en Compute Engine. OS Login simplifica la gestión del acceso SSH vinculando la cuenta de usuario de Linux del administrador a su identidad de Google. Inicio de sesión del SO funciona con IAM para que puedas definir los privilegios que tienen los administradores.
Para obtener más información sobre cómo proteger tus VMs y contenedores, consulta Usar infraestructuras y servicios reforzados y certificados.
Restringir cuentas de servicio
Una cuenta de servicio es una cuenta que usan las cargas de trabajo para llamar a la API de Google de un servicio. Google Cloud
No permitas Google Cloud que se asignen roles de cuenta de servicio predeterminados a los recursos cuando se creen. Para obtener más información, consulta Restringir el uso de cuentas de servicio.
Si tus aplicaciones se ejecutan fuera de Google Cloudy, aun así, requieren acceso a recursos de Google Cloud , no uses claves de cuenta de servicio. En su lugar, implementa la federación de identidades de cargas de trabajo para gestionar las identidades externas y los permisos que les asocies. En GKE, puedes implementar identidades de carga de trabajo. Para obtener más información, consulta el artículo Elegir el método de autenticación adecuado para tu caso práctico.
Para obtener más información sobre las prácticas recomendadas que ayudan a proteger las cuentas de servicio, consulta el artículo Prácticas recomendadas para trabajar con cuentas de servicio.
Monitorizar el uso de cuentas de servicio y claves de cuentas de servicio
Configura la monitorización para poder hacer un seguimiento de cómo se usan las cuentas de servicio y sus claves en tu organización. Para obtener información sobre patrones de uso destacados, utiliza estadísticas de cuentas de servicio. Por ejemplo, puedes usar las estadísticas de cuentas de servicio para monitorizar cómo se usan los permisos en tus proyectos e identificar las cuentas de servicio que no se utilizan. Para ver cuándo se usaron por última vez tus cuentas de servicio y claves para llamar a una API de Google con el fin de realizar actividades de autenticación, consulta el uso reciente de las cuentas de servicio y las claves de cuenta de servicio.
Monitorizar y parchear VMs y contenedores
Para iniciar un ataque de minado de criptomonedas, los atacantes suelen aprovechar las configuraciones incorrectas y las vulnerabilidades del software para obtener acceso a los recursos de Compute Engine y GKE.
Para obtener información valiosa sobre las vulnerabilidades y los errores de configuración que se aplican a tu entorno, usa Security Health Analytics para analizar tus recursos. En concreto, si usas Security Command Center Premium, revisa los hallazgos de instancias de Compute Engine y los hallazgos de contenedores y configura procesos para resolverlos rápidamente.
Usa Artifact Analysis para comprobar si hay vulnerabilidades en las imágenes de contenedor que almacenas en Artifact Registry o Container Registry.
Asegúrate de que tu organización pueda implementar parches en cuanto estén disponibles. Puedes usar la gestión de parches de SO en Compute Engine. Google parchea automáticamente las vulnerabilidades en GKE. Para obtener más información, consulta Usar infraestructura y servicios protegidos y certificados.
Protege tus aplicaciones con un WAF
Los atacantes pueden intentar acceder a tu red buscando vulnerabilidades de capa 7 en tus aplicaciones desplegadas. Para mitigar estos ataques, configura Google Cloud Armor, un cortafuegos de aplicaciones web (WAF) que usa el filtrado de capa 7 y políticas de seguridad. Google Cloud Armor ofrece protección frente a ataques de denegación de servicio (DoS) y WAF para aplicaciones y servicios alojados en Google Cloud, en tus instalaciones o en otras nubes.
Google Cloud Armor incluye una regla de WAF para ayudar a abordar las vulnerabilidades de Apache Log4j. Los atacantes pueden usar vulnerabilidades de Log4j para introducir malware que pueda realizar minería de criptomonedas no autorizada. Para obtener más información, consulta Regla de WAF de Cloud Armor para ayudar a abordar la vulnerabilidad de Apache Log4j.
Protege tu cadena de suministro
La integración continua y la entrega continua (CI/CD) proporcionan un mecanismo para ofrecer a tus clientes las funciones más recientes rápidamente. Para evitar ataques de minería de criptomonedas contra tu canalización, realiza un análisis de código y monitoriza tu canalización para detectar ataques maliciosos.
Implementa la autorización binaria para asegurarte de que todas las imágenes estén firmadas por autoridades de confianza durante el proceso de desarrollo y, después, aplica la validación de la firma cuando despliegues las imágenes.
Traslada las comprobaciones de seguridad a la fase más temprana posible del proceso de CI/CD (a veces se denomina desplazamiento hacia la izquierda). Para obtener más información, consulta el artículo Shifting left on security: Securing software supply chains. Para obtener información sobre cómo configurar una cadena de suministro segura con GKE, consulta Seguridad de la cadena de suministro de software.
Gestionar secretos y claves
Un vector de ataque clave para los ataques de minería de criptomonedas no autorizados son los secretos no seguros o filtrados. En esta sección se describen las prácticas recomendadas que puedes usar para proteger tus secretos y claves de cifrado.
Rotar las claves de cifrado periódicamente
Asegúrate de que todas las claves de cifrado se roten periódicamente. Si Cloud KMS gestiona tus claves de cifrado, puedes rotarlas automáticamente.
Si usas cuentas de servicio que tienen Google-owned and Google-managed encryption keys, las claves también se rotan automáticamente.
Evita descargar secretos
Los secretos expuestos son un vector de ataque clave para los atacantes. Si es posible, no descargues claves de cifrado ni otros secretos, incluidas las claves de cuentas de servicio. Si debes descargar claves, asegúrate de que tu organización tenga un proceso de rotación de claves.
Si usas GitHub u otro repositorio público, debes evitar que se filtren credenciales. Implementa herramientas como el análisis de secretos, que te avisa de los secretos expuestos en tus repositorios de GitHub. Para evitar que las claves se confirmen en tus repositorios de GitHub, puedes usar herramientas como git-secrets.
Usa soluciones de gestión de secretos como Secret Manager y HashiCorp Vault para almacenar tus secretos, rotarlos periódicamente y aplicar el principio del mínimo privilegio.
Detectar actividad anómala
Para monitorizar la actividad anómala, configura Google Cloud y herramientas de monitorización de terceros y configura alertas. Por ejemplo, puedes configurar alertas basadas en la actividad de los administradores en la información de registro de auditoría de Compute Engine y en los registros de auditoría de GKE.
Además, usa Event Threat Detection en Security Command Center para identificar amenazas basadas en actividades de administradores, cambios en Grupos de Google y cambios en permisos de gestión de identidades y accesos. Usa Virtual Machine Threat Detection en Security Command Center para identificar amenazas relacionadas con tus VMs de Compute Engine. Para obtener más información sobre los servicios de Security Command Center, consulta Niveles de servicio de Security Command Center.
Para detectar amenazas basadas en la red, como malware, configura Cloud IDS.
Participar en el programa de protección contra la minería de criptomonedas de Security Command Center
Si eres cliente de Security Command Center Premium y usas Compute Engine, puedes participar en el Programa de protección contra la minería de criptomonedas de Security Command Center. Este programa te permite sufragar los costes de las máquinas virtuales de Compute Engine relacionados con ataques de minería de criptomonedas no detectados y no autorizados en tu entorno de máquinas virtuales de Compute Engine. Debes implementar las prácticas recomendadas para la detección de criptominería, algunas de las cuales se solapan con otras prácticas recomendadas que se describen en esta página.
Actualiza tu plan de respuesta ante incidentes
Asegúrate de que tu plan de respuesta a incidentes y tus guías de procedimientos proporcionen instrucciones detalladas sobre cómo responderá tu organización a los ataques de minería de criptomonedas. Por ejemplo, asegúrate de que tu plan incluya lo siguiente:
- Cómo registrar un caso de asistencia con el equipo de Asistencia de Google Cloud y ponerte en contacto con tu gestor técnico de cuentas (TAM) de Google. Si no tienes una cuenta de asistencia, consulta los planes de asistencia disponibles y crea una.
- Cómo distinguir entre cargas de trabajo de computación de alto rendimiento (HPC) legítimas y ataques de minería de criptomonedas. Por ejemplo, puedes etiquetar los proyectos que tienen habilitado el HPC y configurar alertas para detectar aumentos de costes inesperados.
- Cómo gestionar las credenciales vulneradas Google Cloud .
- Cómo poner en cuarentena los sistemas infectados y restaurarlos a partir de copias de seguridad correctas.
- A quién de tu organización se debe notificar para que investigue el ataque y responda.
- Qué información se debe registrar para tus actividades retrospectivas.
- Cómo verificar que las actividades de corrección han eliminado de forma eficaz las actividades de minería y han solucionado la vulnerabilidad inicial que ha provocado el ataque.
- Cómo responder a una alerta enviada por el equipo de Atención al Cliente de Cloud. Para obtener más información, consulta las preguntas frecuentes sobre las infracciones de las políticas.
Para obtener más información, consulta Responder a ataques y recuperarse de ellos.
Implementar un plan de recuperación tras fallos
Para prepararte ante un ataque de minería de criptomonedas, completa los planes de continuidad de la actividad y de recuperación tras fallos, crea un manual de respuesta ante incidentes y realiza ejercicios de simulación.
Si se produce una minería de criptomonedas no autorizada, asegúrate de poder abordar el vector de amenazas que ha provocado la brecha inicial y de poder reconstruir tu entorno a partir de un estado correcto conocido. Tu plan de recuperación ante desastres debe permitir determinar cuál es un estado correcto conocido para que el atacante no pueda usar repetidamente las mismas vulnerabilidades para aprovechar tus recursos.
Siguientes pasos
- Consulta más prácticas recomendadas de seguridad en el artículo Google Cloud Framework Well-Architected: seguridad, privacidad y cumplimiento.
- Protégete contra los ataques de ransomware.
- Implementa una configuración de seguridad básica en Google Cloud, tal como se describe en la Google Cloud guía de aspectos básicos de seguridad para empresas.