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 hallazgo en Security Command Center casi en tiempo real.
Los detectores de tiempo de ejecución de Cloud Run Threat Detection 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 del 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 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 admitidos difieren para los detectores de tiempo de ejecución y los detectores del plano de control.
Entornos de ejecución compatibles con los 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 del 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 en el tiempo de ejecución de un servicio, implementa una revisión que establezca el entorno de ejecución del servicio en el entorno de ejecución de segunda generación o en el predeterminado.
Entornos de ejecución admitidos para los detectores del plano de control
Los detectores del plano de control admiten entornos de ejecución de primera y segunda generación.
Cómo funciona la detección de amenazas en el tiempo de ejecución de la Detección de amenazas de Cloud Run
Cuando habilitas la Detección de amenazas de Cloud Run, se recopila telemetría de los recursos compatibles de Cloud Run para analizar los procesos, las secuencias de comandos y las bibliotecas que podrían indicar un ataque en el tiempo de ejecución. A continuación, se muestra 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 de contenedores y eventos durante toda la duración de una carga de trabajo de Cloud Run.
Cloud Run Threat Detection analiza la información del evento recopilada para determinar si un evento indica que se produjo un incidente. Utiliza PNL para analizar 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 hallazgo en Security Command Center.
Si la Detección de amenazas 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 Cloud Run Threat Detection en la consola deGoogle Cloud , consulta Revisa los resultados.
Problemas conocidos
- Si el proceso de supervisión se detiene de forma prematura en una instancia en ejecución de tu servicio o trabajo de Cloud Run, 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 Cloud Run Threat Detection no están presentes en los registros de la instancia. No hay ningún indicador de que se haya detenido un proceso de observación.
Detectores
En esta sección, se enumeran los detectores del entorno de ejecución y del plano de control que están disponibles. Agregamos detectores nuevos con regularidad 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 tiempo de ejecución:
| Nombre visible | Nombre de la API | Descripción |
|---|---|---|
| Comando y control: Se detectó una herramienta de esteganografía | CLOUD_RUN_STEGANOGRAPHY_TOOL_DETECTED |
Se ejecutó un programa que se identifica como una herramienta de esteganografía que se encuentra comúnmente en entornos similares a Unix, lo que indica un posible intento de ocultar la comunicación o la transferencia de datos. Los atacantes pueden utilizar técnicas esteganográficas para incorporar instrucciones maliciosas de comando y control (C2) o datos filtrados en archivos digitales aparentemente benignos, con el objetivo de evadir la supervisión y la detección de seguridad estándar. Identificar el uso de estas herramientas es fundamental para descubrir actividades maliciosas ocultas. |
| Acceso a credenciales: Buscar Google Cloud credenciales | CLOUD_RUN_FIND_GCP_CREDENTIALS |
Se ejecutó un comando para buscar Google Cloud claves privadas, contraseñas o cualquier otra credencial sensible en el entorno del contenedor. Un atacante podría usar credenciales Google Cloud robadas para obtener acceso ilegítimo a datos o recursos sensibles dentro del entorno Google Cloud objetivo. |
| Acceso a credenciales: Reconocimiento de claves GPG | CLOUD_RUN_GPG_KEY_RECONNAISSANCE |
Se ejecutó un comando para buscar llaves de seguridad GPG. Un atacante podría usar llaves de seguridad GPG robadas para obtener acceso no autorizado a comunicaciones o archivos encriptados. |
| Acceso a las credenciales: Busca claves privadas o contraseñas | CLOUD_RUN_SEARCH_PRIVATE_KEYS_OR_PASSWORDS |
Se ejecutó un comando para buscar claves privadas, contraseñas o cualquier otra credencial sensible dentro del entorno del contenedor, lo que indica un posible intento de recopilación de datos de autenticación. Los atacantes suelen buscar archivos de credenciales para obtener acceso no autorizado a los sistemas, aumentar privilegios o moverse lateralmente dentro del entorno. Detectar este tipo de actividad es fundamental para evitar las violaciones de la seguridad. |
| Evasión de defensa: Línea de comandos de archivo ELF en Base64 | CLOUD_RUN_BASE64_ELF_FILE_CMDLINE |
Se ejecutó un proceso que contiene un argumento que es un archivo ELF (formato ejecutable y vinculable). Si se detecta la ejecución de un archivo ELF codificado, es una señal de que un atacante está intentando codificar datos binarios para transferirlos a líneas de comandos solo en ASCII. Los atacantes pueden usar esta técnica para evadir la detección y ejecutar código malicioso incorporado en un archivo ELF. |
| Evasión de defensa: Se ejecutó la secuencia de comandos de Python codificada en Base64 | CLOUD_RUN_BASE64_ENCODED_PYTHON_SCRIPT_EXECUTED |
Se ejecutó un proceso que contiene un argumento que es una secuencia de comandos de Python codificada en base64. Si se detecta la ejecución de una secuencia de comandos de Python codificada, es un indicador de que un atacante está intentando codificar datos binarios para transferirlos a líneas de comandos solo en ASCII. Los atacantes pueden usar esta técnica para evadir la detección y ejecutar código malicioso incorporado en una secuencia de comandos de Python. |
| Evasión de defensa: Se ejecutó la secuencia de comandos de shell codificada en Base64 | CLOUD_RUN_BASE64_ENCODED_SHELL_SCRIPT_EXECUTED |
Se ejecutó un proceso que contiene un argumento que es una secuencia de comandos de shell codificada en base64. Si se detecta la ejecución de una secuencia de comandos de shell codificada, es una señal de que un atacante está intentando codificar datos binarios para transferirlos a líneas de comandos solo en ASCII. Los atacantes pueden usar esta técnica para evadir la detección y ejecutar código malicioso incorporado en un secuencia de comandos de shell. |
| Defense Evasion: Inicia la herramienta de compilador de código en el contenedor | CLOUD_RUN_LAUNCH_CODE_COMPILER_TOOL_IN_CONTAINER |
Se inició un proceso para ejecutar una herramienta de compilador de código dentro del entorno del contenedor, lo que indica un posible intento de compilar o modificar código ejecutable en un contexto aislado. Los atacantes pueden usar compiladores de código dentro de contenedores para desarrollar cargas útiles maliciosas, insertar código en archivos binarios existentes o crear herramientas para omitir los controles de seguridad, todo mientras operan en un entorno menos analizado para evadir la detección en el sistema host. |
| Ejecución: Se ejecutó el objeto binario malicioso agregado | 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 cargó la biblioteca maliciosa agregada | 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ó el 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 señal de que el atacante está implementando contenedores maliciosos. Es posible que hayan obtenido el control de un repositorio de imágenes o una canalización de compilación de contenedores legítimos y hayan inyectado un archivo binario malicioso en la imagen del contenedor. |
| Ejecución: Escape del 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 archivos 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 del contenedor, es posible que un atacante esté aprovechando vulnerabilidades para salir del contenedor. Como resultado, el atacante podría obtener acceso no autorizado al sistema host o a una infraestructura más amplia, lo que comprometería todo el entorno. |
| Ejecución: Ejecución sin archivos en /memfd: | CLOUD_RUN_FILELESS_EXECUTION_DETECTION_MEMFD |
Se ejecutó un proceso con un descriptor de archivo en la memoria. Si un proceso se inicia desde un archivo en la memoria, puede indicar que un atacante está intentando eludir otros métodos de detección para ejecutar código malicioso. |
| 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 en el entorno, lo que puede indicar que un atacante está apuntando a los componentes del clúster de Kubernetes. Estas herramientas de ataque se identifican como amenazas potenciales según los datos de inteligencia. Si se ejecuta una herramienta de ataque dentro del entorno de Kubernetes, se 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 interna del sistema. Estas herramientas de reconocimiento se identifican como amenazas potenciales según los datos de inteligencia. Si se ejecuta una herramienta de reconocimiento, sugiere que el atacante puede estar intentando mapear la infraestructura, identificar vulnerabilidades o recopilar datos sobre las configuraciones del sistema para planificar sus próximos pasos. |
| Ejecución: Se ejecutó un código de Python malicioso | 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 PNL para evaluar el contenido del código de Python ejecutado. Como 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ó la 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. |
| Ejecución: Ejecución remota de código de Netcat en un contenedor | CLOUD_RUN_NETCAT_REMOTE_CODE_EXECUTION_IN_CONTAINER |
Netcat, una utilidad de redes versátil, se ejecutó en el entorno del contenedor, lo que podría indicar un intento de establecer acceso remoto no autorizado o filtrar datos. El uso de Netcat en un entorno de contenedores puede indicar el intento de un atacante de crear una shell inversa, habilitar el movimiento lateral o ejecutar comandos arbitrarios, lo que podría comprometer la integridad del sistema. |
| Ejecución: Posible ejecución de comandos arbitrarios a través de CUPS (CVE-2024-47177) | CLOUD_RUN_POSSIBLE_ARBITRARY_COMMAND_EXECUTION_THROUGH_CUPS |
Esta regla detecta el proceso |
| Ejecución: Se detectó una posible ejecución remota de comandos | CLOUD_RUN_POSSIBLE_REMOTE_COMMAND_EXECUTION_DETECTED |
Se detectó un proceso que generaba comandos comunes de UNIX a través de una conexión de socket de red, lo que indica un posible intento de establecer capacidades de ejecución remota de comandos no autorizadas. Los atacantes suelen utilizar técnicas que imitan shells inversos para obtener control interactivo sobre un sistema comprometido, lo que les permite ejecutar comandos arbitrarios de forma remota y eludir las medidas de seguridad de red estándar, como las restricciones de firewall. La detección de la ejecución de comandos a través de un socket es un indicador sólido de acceso remoto malicioso. |
| Ejecución: Ejecución del programa con entorno de proxy HTTP no permitido | CLOUD_RUN_PROGRAM_RUN_WITH_DISALLOWED_HTTP_PROXY_ENV |
Se ejecutó un programa con una variable de entorno de proxy HTTP que no está permitida. Esto puede indicar un intento de eludir los controles de seguridad, redireccionar el tráfico con fines maliciosos o extraer datos a través de canales no autorizados. Los atacantes pueden configurar proxies HTTP no permitidos para interceptar información sensible, enrutar el tráfico a través de servidores maliciosos o establecer canales de comunicación encubiertos. Detectar la ejecución de programas con estas variables de entorno es fundamental para mantener la seguridad de la red y evitar las filtraciones de datos. |
| Ejecución: Se detectó una shell inversa de Socat | CLOUD_RUN_SOCAT_REVERSE_SHELL_DETECTED |
Se usó el comando
Esta regla detecta la ejecución de |
| Ejecución: Se cargó un objeto compartido de OpenSSL sospechoso | CLOUD_RUN_SUSPICIOUS_OPENSSL_SHARED_OBJECT_LOADED |
Se ejecutó OpenSSL para cargar un objeto compartido personalizado. Los atacantes pueden cargar bibliotecas personalizadas y reemplazar las bibliotecas existentes que usa OpenSSL para ejecutar código malicioso. Su uso en producción es poco común y debería justificar una investigación inmediata. |
| Exfiltración: Inicia las herramientas de copia remota de archivos en el contenedor | CLOUD_RUN_LAUNCH_REMOTE_FILE_COPY_TOOLS_IN_CONTAINER |
Se detectó la ejecución de una herramienta de copia de archivos remota dentro del contenedor, lo que indica un posible robo de datos, movimiento lateral o implementación de cargas útiles maliciosas. Los atacantes suelen usar estas herramientas para transferir datos sensibles fuera del contenedor, moverse lateralmente dentro de la red para vulnerar otros sistemas o introducir software malicioso para realizar más actividades maliciosas. Detectar el uso de herramientas de copia de archivos remotos es fundamental para evitar filtraciones de datos, acceso no autorizado y un mayor compromiso del contenedor y, potencialmente, del sistema host. |
| Impacto: Detección de líneas de comandos maliciosas | CLOUD_RUN_DETECT_MALICIOUS_CMDLINES |
Se ejecutó un comando con argumentos que se sabe que son potencialmente destructivos, como intentos de borrar archivos críticos del sistema o modificar configuraciones relacionadas con contraseñas. Los atacantes pueden emitir líneas de comandos maliciosas para causar inestabilidad en el sistema, impedir la recuperación borrando archivos esenciales o manipular las credenciales del usuario para obtener acceso no autorizado. Detectar estos patrones de comandos específicos es fundamental para evitar un impacto significativo en el sistema. |
| Impacto: Quita datos masivos del disco | CLOUD_RUN_REMOVE_BULK_DATA_FROM_DISK |
Se detectó un proceso que realizaba operaciones de eliminación masiva de datos, lo que podría indicar un intento de borrar evidencia, interrumpir servicios o ejecutar un ataque de borrado de datos en el entorno del contenedor. Los atacantes pueden quitar grandes volúmenes de datos para ocultar sus rastros, sabotear operaciones o prepararse para implementar ransomware. Detectar este tipo de actividad ayuda a identificar posibles amenazas antes de que se produzca una pérdida de datos críticos. |
| Impacto: Actividad sospechosa de minería de criptomonedas con el protocolo Stratum | CLOUD_RUN_SUSPICIOUS_CRYPTO_MINING_ACTIVITY_USING_STRATUM_PROTOCOL |
Se detectó un proceso que se comunica a través del protocolo Stratum, que el software de minería de criptomonedas suele usar. Esta actividad sugiere posibles operaciones de minería no autorizadas dentro del entorno del contenedor. Los atacantes suelen implementar mineros de criptomonedas para explotar los recursos del sistema y obtener ganancias económicas, lo que genera un rendimiento degradado, mayores costos operativos y posibles riesgos de seguridad. Detectar este tipo de actividad ayuda a mitigar el abuso de recursos y el acceso no autorizado. |
| Secuencia de comandos maliciosa ejecutada | CLOUD_RUN_MALICIOUS_SCRIPT_EXECUTED |
Un modelo de aprendizaje automático identificó el código 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 PNL para evaluar el contenido del código de Bash ejecutado. Dado que 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 detectó 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órmalo en Reporting Incorrect Data. |
| Elevación de privilegios: Abuso de sudo para la elevación de privilegios (CVE-2019-14287) | CLOUD_RUN_ABUSE_SUDO_FOR_PRIVILEGE_ESCALATION |
Esta detección notifica un intento de explotación de CVE-2019-14287, que permite la elevación de privilegios a través del abuso del comando |
| Privilege Escalation: Fileless Execution in /dev/shm | CLOUD_RUN_FILELESS_EXECUTION_DETECTION_SHM |
Se ejecutó un proceso desde una ruta de acceso dentro de
Si ejecuta un archivo desde |
| Elevación de privilegios: Vulnerabilidad de elevación de privilegios locales de Polkit (CVE-2021-4034) | CLOUD_RUN_POLKIT_LOCAL_PRIVILEGE_ESCALATION_VULNERABILITY |
Un usuario no raíz ejecutó
Esta regla detecta un intento de aprovechar una vulnerabilidad de elevación de privilegios (CVE-2021-4034) en |
| Elevación de privilegios: Posible elevación de privilegios con sudo (CVE-2021-3156) | CLOUD_RUN_SUDO_POTENTIAL_PRIVILEGE_ESCALATION |
Un usuario no raíz ejecutó
Detecta un intento de aprovechar una vulnerabilidad que afecta a las versiones |
| 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 una botnet. |
| Shell secundaria inesperada | 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 principal no suele invocar shells. |
Detectores del plano de control
Los siguientes detectores del plano de control están disponibles a través de Event Threat Detection. Estos detectores están habilitados de forma predeterminada. Estos detectores se administran de la misma manera que otros detectores de Event Threat Detection. Para obtener más información, consulta Usa Event Threat Detection.
| Nombre visible | Nombre de la API | Tipos de fuente del archivo de registro | Descripción |
|---|---|---|---|
| Impacto: Comandos de criptominería | 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. De forma predeterminada, los resultados se clasifican como de gravedad Alta. |
| Ejecución: Imagen de Docker para criptominería | 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 incorrectas a un servicio o trabajo de Cloud Run nuevo o existente. De forma predeterminada, los resultados se clasifican como de gravedad Alta. |
| Escalada de privilegios: Default Compute Engine Service Account SetIAMPolicy | 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. De forma predeterminada, los hallazgos se clasifican como de gravedad Baja. |
¿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.
- Obtén más información para responder a los hallazgos de amenazas de Cloud Run.
- Consulta el Índice de hallazgos de amenazas.