Cloud Run Threat Detection es un servicio integrado de Security Command Center que supervisa de forma continua el estado de los recursos compatibles de Cloud Run para detectar los ataques más comunes en el entorno de ejecución. Si Cloud Run Threat Detection detecta un ataque, genera un resultado en Security Command Center casi en tiempo real.
Los detectores de tiempo de ejecución de la Detección de amenazas de Cloud Run supervisan los recursos de Cloud Run en busca de objetos binarios y bibliotecas sospechosos, y usan el procesamiento de lenguaje natural (PLN) para detectar código malicioso de Bash y Python.
Además, los detectores de plano de control están disponibles a través de Event Threat Detection. Estos detectores supervisan el flujo de Cloud Logging de tu organización o tus proyectos para detectar posibles ataques al plano de control de tus recursos de Cloud Run.
Recursos admitidos
La Detección de amenazas de Cloud Run supervisa los siguientes recursos:
Entornos de ejecución compatibles
Los entornos de ejecución compatibles difieren para los detectores de entorno de ejecución y los detectores de plano de control.
Entornos de ejecución compatibles para detectores de tiempo de ejecución
Los detectores de tiempo de ejecución de la Detección de amenazas de Cloud Run solo admiten recursos de Cloud Run que se ejecutan en el entorno de ejecución de segunda generación. Ten en cuenta lo siguiente antes de habilitar la detección de amenazas de Cloud Run:
Cuando habilitas la Detección de amenazas de Cloud Run, no puedes crear un servicio o una revisión de servicio de Cloud Run que se ejecute en el entorno de ejecución de primera generación. El servicio de Cloud Run debe usar el entorno de ejecución de segunda generación. Te recomendamos que pruebes tus cargas de trabajo en el entorno de ejecución de segunda generación antes de habilitar la Detección de amenazas de Cloud Run.
Para habilitar la detección de amenazas del entorno de ejecución de un servicio, implementa una revisión que establezca el entorno de ejecución del servicio en el de segunda generación o en el predeterminada.
Entornos de ejecución admitidos para detectores de plano de control
Los detectores de plano de control admiten entornos de ejecución de primera y segunda generación.
Cómo funciona la detección de amenazas del entorno de ejecución de Cloud Threat Detection
Cuando habilitas la Detección de amenazas de Cloud Run, se recopila telemetría de los recursos compatibles de Cloud Run para analizar procesos, secuencias de comandos y bibliotecas que podrían indicar un ataque al entorno de ejecución. La siguiente es la ruta de ejecución cuando se detectan eventos:
- La Detección de amenazas de Cloud Run usa un proceso de supervisión para recopilar información del contenedor y de los eventos durante toda la duración de una carga de trabajo de Cloud Run. El proceso de supervisión puede tardar hasta 20 segundos en iniciarse.
La Detección de amenazas de Cloud Run analiza la información del evento recopilada para determinar si un evento indica que se produjo un incidente. Usa la NLP para analizar las secuencias de comandos de Bash y Python en busca de código malicioso.
Si la Detección de amenazas de Cloud Run identifica un incidente, lo informa como un resultado en Security Command Center.
Si Threat Detection de Cloud Run no identifica un incidente, no se almacena información.
Todos los datos recopilados son efímeros y no se almacenan de forma persistente.
Para obtener información sobre cómo revisar los resultados de la Detección de amenazas de Cloud Run en la consola de Google Cloud, consulta Revisa los resultados.
Problemas conocidos
- Las instancias de tus servicios o trabajos de Cloud Run que duran más de siete días dejan de enviar información de telemetría.
- Si el proceso de supervisión se detiene antes de tiempo en una instancia en ejecución de tu trabajo o servicio de Cloud Run, el proceso de supervisión no se reinicia. La instancia deja de enviar información de telemetría a la Detección de amenazas de Cloud Run. Los registros de Threat Detection de Cloud Run no aparecen en los registros de la instancia. No hay ningún indicador de que se detuvo un proceso de supervisión.
Detectores
En esta sección, se enumeran los detectores de entorno de ejecución y plano de control disponibles. Agregamos detectores nuevos con frecuencia a medida que surgen nuevas amenazas en la nube.
Detectores de tiempo de ejecución
La detección de amenazas de Cloud Run incluye los siguientes detectores de entorno de ejecución:
Nombre visible | Nombre de la API | Descripción |
---|---|---|
Ejecución: Se agregó el ejecutable binario malicioso | CLOUD_RUN_ADDED_MALICIOUS_BINARY_EXECUTED |
Se ejecutó un objeto binario que cumple con las siguientes condiciones:
Si se ejecuta un objeto binario malicioso agregado, es un indicador claro de que un atacante tiene el control de la carga de trabajo y está ejecutando software malicioso. |
Ejecución: Se agregó la biblioteca maliciosa cargada | CLOUD_RUN_ADDED_MALICIOUS_LIBRARY_LOADED |
Se cargó una biblioteca que cumple con las siguientes condiciones:
Si se carga una biblioteca maliciosa agregada, es un indicador claro de que un atacante tiene el control de la carga de trabajo y está ejecutando software malicioso. |
Ejecución: Se ejecutó un objeto binario malicioso integrado | CLOUD_RUN_BUILT_IN_MALICIOUS_BINARY_EXECUTED |
Se ejecutó un objeto binario que cumple con las siguientes condiciones:
Si se ejecuta un objeto binario malicioso integrado, es un indicio de que el atacante está implementando contenedores maliciosos. Es posible que hayan obtenido el control de un repositorio de imágenes legítimo o de una canalización de compilación de contenedores, y que hayan insertado un objeto binario malicioso en la imagen del contenedor. |
Ejecución: Escape de contenedor | CLOUD_RUN_CONTAINER_ESCAPE |
Se ejecutó un proceso dentro del contenedor que intentó salir del aislamiento del contenedor con técnicas de escape o objetos binarios conocidos. Este tipo de ataque puede darle al atacante acceso al sistema host. Estos procesos se identifican como posibles amenazas según los datos de inteligencia. Si se detecta un intento de escape de contenedor, es posible que un atacante esté explotando vulnerabilidades para salir del contenedor. Como resultado, el atacante podría obtener acceso no autorizado al sistema anfitrión o a la infraestructura más amplia, lo que pondría en riesgo todo el entorno. |
Ejecución: Ejecución de la herramienta de ataque de Kubernetes | CLOUD_RUN_KUBERNETES_ATTACK_TOOL_EXECUTION |
Se ejecutó una herramienta de ataque específica de Kubernetes dentro del entorno, lo que puede indicar que un atacante está atacando componentes del clúster de Kubernetes. Estas herramientas de ataque se identifican como posibles amenazas según los datos de inteligencia. Si se ejecuta una herramienta de ataque dentro del entorno de Kubernetes, puede sugerir que un atacante obtuvo acceso al clúster y está usando la herramienta para aprovechar vulnerabilidades o configuraciones específicas de Kubernetes. |
Ejecución: Ejecución de la herramienta de reconocimiento local | CLOUD_RUN_LOCAL_RECONNAISSANCE_TOOL_EXECUTION |
Se ejecutó una herramienta de reconocimiento local que no suele asociarse con el contenedor o el entorno, lo que sugiere un intento de recopilar información del sistema interno. Estas herramientas de reconocimiento se identifican como posibles amenazas según los datos de inteligencia. Si se ejecuta una herramienta de reconocimiento, significa que el atacante puede estar tratando de planificar sus próximos pasos para asignar la infraestructura, identificar vulnerabilidades o recopilar datos sobre la configuración del sistema. |
Ejecución: Se ejecutó Python malicioso (versión preliminar) | CLOUD_RUN_MALICIOUS_PYTHON_EXECUTED |
Un modelo de aprendizaje automático identificó el código de Python especificado como malicioso. Los atacantes pueden usar Python para transferir herramientas o cualquier otro archivo desde un sistema externo a un entorno vulnerado y ejecutar comandos sin objetos binarios. El detector usa técnicas de NLP para evaluar el contenido del código de Python ejecutado. Debido a que este enfoque no se basa en firmas, los detectores pueden identificar código de Python conocido y nuevo. |
Ejecución: Se ejecutó un objeto binario malicioso modificado | CLOUD_RUN_MODIFIED_MALICIOUS_BINARY_EXECUTED |
Se ejecutó un objeto binario que cumple con las siguientes condiciones:
Si se ejecuta un objeto binario malicioso modificado, es un indicador claro de que un atacante tiene el control de la carga de trabajo y está ejecutando software malicioso. |
Ejecución: Se cargó una biblioteca maliciosa modificada | CLOUD_RUN_MODIFIED_MALICIOUS_LIBRARY_LOADED |
Se cargó una biblioteca que cumple con las siguientes condiciones:
Si se carga una biblioteca maliciosa modificada, es un indicador claro de que un atacante tiene el control de la carga de trabajo y está ejecutando software malicioso. |
Secuencia de comandos maliciosa ejecutada | CLOUD_RUN_MALICIOUS_SCRIPT_EXECUTED |
Un modelo de aprendizaje automático identificó el código de Bash especificado como malicioso. Los atacantes pueden usar Bash para transferir herramientas o cualquier otro archivo desde un sistema externo a un entorno vulnerado y ejecutar comandos sin objetos binarios. El detector usa técnicas de PLN para evaluar el contenido del código de Bash ejecutado. Como este enfoque no se basa en firmas, los detectores pueden identificar código Bash malicioso conocido y nuevo. |
Se detectó una URL maliciosa | CLOUD_RUN_MALICIOUS_URL_OBSERVED |
La Detección de amenazas de Cloud Run observó una URL maliciosa en la lista de argumentos de un proceso en ejecución. El detector verifica las URLs que se observan en la lista de argumentos de los procesos en ejecución con las listas de recursos web no seguros que mantiene el servicio de Navegación segura de Google. Si una URL se clasifica incorrectamente como sitio de phishing o software malicioso, infórmala en Denuncia datos incorrectos. |
Shells inversas | CLOUD_RUN_REVERSE_SHELL |
Es un proceso iniciado con redireccionamiento de transmisión a un socket remoto conectado. El detector busca Con una shell inversa, un atacante puede comunicarse desde una carga de trabajo comprometida a una máquina controlada por atacantes. Luego, el atacante puede dirigir y controlar la carga de trabajo, por ejemplo, como parte de un botnet. |
Shell secundario inesperado | CLOUD_RUN_UNEXPECTED_CHILD_SHELL |
Un proceso que normalmente no invoca shells generó un proceso de shell. El detector supervisa todas las ejecuciones de procesos. Cuando se invoca una shell, el detector genera un hallazgo si se sabe que el proceso superior no suele invocar shells. |
Detectores del plano de control
Los siguientes detectores de plano de control están disponibles a través de Event Threat Detection. Estos detectores están habilitados de forma predeterminada. Administras estos detectores de la misma manera que lo haces con otros detectores de Event Threat Detection. Para obtener más información, consulta Cómo usar Event Threat Detection.
Nombre visible | Nombre de la API | Tipos de fuente del archivo de registro | Descripción |
---|---|---|---|
Impacto: Comandos de criptominería (versión preliminar) | CLOUD_RUN_JOBS_CRYPTOMINING_COMMANDS |
Registros de auditoría de Cloud: Registros de auditoría de eventos del sistema de IAM |
Se adjuntaron comandos específicos de criptominería a un trabajo de Cloud Run durante la ejecución. |
Ejecución: Imagen de Docker para criptominería (versión preliminar) | CLOUD_RUN_CRYPTOMINING_DOCKER_IMAGES |
Registros de auditoría de Cloud: Registros de auditoría de eventos del sistema de IAM |
Se adjuntaron imágenes de Docker específicas conocidas como no válidas a un servicio o trabajo de Cloud Run nuevo o existente. |
Derivación de privilegios: SetIAMPolicy de la cuenta de servicio predeterminada de Compute Engine (Versión preliminar) | CLOUD_RUN_SERVICES_SET_IAM_POLICY |
Registros de auditoría de Cloud: Registros de actividad del administrador |
Se usó la cuenta de servicio predeterminada de Compute Engine para establecer la política de IAM de un servicio de Cloud Run. Esta es una posible acción posterior al exploit cuando se vulnera un token de Compute Engine desde un servicio sin servidores. |
¿Qué sigue?
- Obtén más información para usar la detección de amenazas de Cloud Run.
- Obtén más información para usar Event Threat Detection.