Cloud Run Threat Detection es un servicio integrado de Security Command Center que monitoriza continuamente el estado de los recursos de Cloud Run admitidos para detectar los ataques de tiempo de ejecución más comunes. 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 monitorizan los recursos de Cloud Run en busca de archivos binarios y bibliotecas sospechosos, y usan el procesamiento del lenguaje natural (PLN) para detectar código Bash y Python malicioso.
Además, los detectores del plano de control están disponibles a través de Event Threat Detection. Estos detectores monitorizan 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 compatibles
Cloud Run Threat Detection monitoriza los siguientes recursos:
Entornos de ejecución admitidos
Los entornos de ejecución admitidos son diferentes para los detectores de tiempo de ejecución y los detectores del plano de control.
Entornos de ejecución admitidos para detectores de tiempo de ejecución
Los detectores de tiempo de ejecución de Cloud Run Threat Detection 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 Cloud Run Threat Detection:
Cuando habilitas Cloud Run Threat Detection, 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 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 Detección de amenazas de Cloud Run.
Para habilitar la detección de amenazas en el tiempo de ejecución de un servicio, despliega una revisión que defina el entorno de ejecución del servicio como de segunda generación o como el entorno de ejecución predeterminado.
Entornos de ejecución admitidos para detectores de 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 Cloud Run Threat Detection
Cuando habilitas Cloud Run Threat Detection, se recogen datos de telemetría de los recursos de Cloud Run compatibles para analizar procesos, secuencias de comandos y bibliotecas que puedan indicar un ataque en el tiempo de ejecución. A continuación, se muestra la ruta de ejecución cuando se detectan eventos:
- Detección de amenazas de Cloud Run usa un proceso de observador para recoger 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 de los eventos recogidos para determinar si un evento indica que se ha producido un incidente. Usa el procesamiento del lenguaje natural para analizar secuencias de comandos de Bash y Python en busca de código malicioso.
Si Cloud Run Threat Detection identifica un incidente, lo notifica como resultado en Security Command Center.
Si Cloud Run Threat Detection no identifica ningún incidente, no se almacena ninguna información.
Todos los datos recogidos son efímeros y no se almacenan de forma persistente.
Para obtener información sobre cómo revisar los resultados de Detección de amenazas de Cloud Run en laGoogle Cloud consola, consulta Revisar los resultados.
Problemas conocidos
- Si el proceso de observador se detiene prematuramente en una instancia en ejecución de tu servicio o trabajo de Cloud Run, no se reiniciará. La instancia deja de enviar información de telemetría a Cloud Run Threat Detection. Los registros de Cloud Run Threat Detection no aparecen en los registros de la instancia. No hay ningún indicador que muestre que un proceso de observador se ha detenido.
Detectores
En esta sección se enumeran los detectores del plano de control y del entorno de ejecución que están disponibles. Añadimos nuevos detectores con regularidad a medida que surgen nuevas amenazas en la nube.
Detectores de tiempo de ejecución
Cloud Run Threat Detection incluye los siguientes detectores de tiempo de ejecución:
| Nombre visible | Nombre de la API | Descripción |
|---|---|---|
| Comando y control: se ha detectado una herramienta de esteganografía | CLOUD_RUN_STEGANOGRAPHY_TOOL_DETECTED |
Se ha ejecutado un programa identificado como una herramienta de esteganografía que se encuentra habitualmente en entornos de tipo 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 insertar instrucciones de control y comandos (C2) maliciosas o datos exfiltrados en archivos digitales aparentemente inofensivos con el objetivo de eludir la monitorizació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 credenciales Google Cloud | CLOUD_RUN_FIND_GCP_CREDENTIALS |
Se ha ejecutado un comando para buscar Google Cloud claves privadas, contraseñas u otras credenciales sensibles en el contenedor entorno. Un atacante podría usar credenciales robadas para obtener acceso ilegítimo a datos o recursos sensibles del entorno objetivo. Google Cloud Google Cloud |
| Acceso a credenciales: reconocimiento de claves GPG | CLOUD_RUN_GPG_KEY_RECONNAISSANCE |
Se ha ejecutado un comando para buscar llaves de seguridad GPG. Un atacante podría usar claves de seguridad GPG robadas para obtener acceso no autorizado a comunicaciones o archivos cifrados. |
| Acceso a credenciales: buscar claves privadas o contraseñas | CLOUD_RUN_SEARCH_PRIVATE_KEYS_OR_PASSWORDS |
Se ha ejecutado un comando para buscar claves privadas, contraseñas u otras credenciales sensibles en el entorno del contenedor, lo que indica un posible intento de obtener datos de autenticación. Los atacantes suelen buscar archivos de credenciales para obtener acceso no autorizado a los sistemas, aumentar los privilegios o moverse lateralmente en el entorno. Detectar este tipo de actividad es fundamental para evitar las brechas de seguridad. |
| Evasión de defensas: línea de comandos de archivo ELF en Base64 | CLOUD_RUN_BASE64_ELF_FILE_CMDLINE |
Se ha ejecutado un proceso que contiene un argumento que es un archivo ELF (Executable and Linkable Format). Si se detecta la ejecución de un archivo ELF codificado, significa que un atacante está intentando codificar datos binarios para transferirlos a líneas de comandos que solo admiten ASCII. Los atacantes pueden usar esta técnica para evitar la detección y ejecutar código malicioso insertado en un archivo ELF. |
| Evasión de defensas: se ha ejecutado un script de Python codificado en Base64 | CLOUD_RUN_BASE64_ENCODED_PYTHON_SCRIPT_EXECUTED |
Se ha ejecutado 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, significa que un atacante está intentando codificar datos binarios para transferirlos a líneas de comandos que solo admiten ASCII. Los atacantes pueden usar esta técnica para eludir la detección y ejecutar código malicioso insertado en una secuencia de comandos de Python. |
| Evasión de defensas: se ha ejecutado un script de shell codificado en Base64 | CLOUD_RUN_BASE64_ENCODED_SHELL_SCRIPT_EXECUTED |
Se ha ejecutado un proceso que contiene un argumento que es un script de shell codificado en base64. Si se detecta la ejecución de un shell script codificado, significa que un atacante está intentando codificar datos binarios para transferirlos a líneas de comandos que solo admiten ASCII. Los atacantes pueden usar esta técnica para evitar la detección y ejecutar código malicioso insertado en una secuencia de comandos shell. |
| Evasión de defensas: lanzar la herramienta de compilación de código en un contenedor | CLOUD_RUN_LAUNCH_CODE_COMPILER_TOOL_IN_CONTAINER |
Se ha iniciado un proceso para lanzar una herramienta de compilación de código en el 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 en contenedores para desarrollar cargas útiles maliciosas, inyectar código en archivos binarios o crear herramientas para eludir los controles de seguridad. Todo esto se lleva a cabo en un entorno menos vigilado para evitar la detección en el sistema host. |
| Ejecución: Added Malicious Binary Executed | CLOUD_RUN_ADDED_MALICIOUS_BINARY_EXECUTED |
Se ha ejecutado un archivo binario que cumple las siguientes condiciones:
Si se ejecuta un archivo binario malicioso añadido, es una señal clara de que un atacante tiene el control de la carga de trabajo y está ejecutando software malicioso. |
| Ejecución: Added Malicious Library Loaded | CLOUD_RUN_ADDED_MALICIOUS_LIBRARY_LOADED |
Se ha cargado una biblioteca que cumple las siguientes condiciones:
Si se carga una biblioteca maliciosa añadida, es una señal clara de que un atacante tiene el control de la carga de trabajo y está ejecutando software malicioso. |
| Ejecución: se ha ejecutado un binario malicioso integrado | CLOUD_RUN_BUILT_IN_MALICIOUS_BINARY_EXECUTED |
Se ha ejecutado un archivo binario que cumple las siguientes condiciones:
Si se ejecuta un archivo binario malicioso integrado, es una señal de que el atacante está desplegando contenedores maliciosos. Es posible que hayan obtenido el control de un repositorio de imágenes o de una canalización de compilación de contenedores legítimos e inyectado un archivo binario malicioso en la imagen del contenedor. |
| Ejecución: escape de contenedores | CLOUD_RUN_CONTAINER_ESCAPE |
Se ha ejecutado un proceso en el contenedor que ha intentado salir del aislamiento del contenedor mediante técnicas o archivos binarios de escape conocidos. Este tipo de ataque puede dar acceso al atacante al sistema host. Estos procesos se identifican como posibles amenazas en función de los datos de inteligencia. Si se detecta un intento de escape de contenedor, puede indicar 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 pondría en peligro todo el entorno. |
| Ejecución: ejecución sin archivos en /memfd: | CLOUD_RUN_FILELESS_EXECUTION_DETECTION_MEMFD |
Se ha ejecutado un proceso mediante un descriptor de archivo en memoria. Si se inicia un proceso desde un archivo en 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 herramientas de ataque de Kubernetes | CLOUD_RUN_KUBERNETES_ATTACK_TOOL_EXECUTION |
Se ha ejecutado una herramienta de ataque específica de Kubernetes en el 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 en función de los datos de inteligencia. Si se ejecuta una herramienta de ataque en el entorno de Kubernetes, puede indicar que un atacante ha obtenido acceso al clúster y está usando la herramienta para aprovechar vulnerabilidades o configuraciones específicas de Kubernetes. |
| Ejecución: ejecución de herramienta de reconocimiento local | CLOUD_RUN_LOCAL_RECONNAISSANCE_TOOL_EXECUTION |
Se ha ejecutado una herramienta de reconocimiento local que no suele estar asociada al contenedor o al entorno, lo que sugiere que se ha intentado recopilar información interna del sistema. Estas herramientas de reconocimiento se identifican como posibles amenazas en función de los datos de inteligencia. Si se ejecuta una herramienta de reconocimiento, significa que el atacante puede estar intentando mapear la infraestructura, identificar vulnerabilidades o recoger datos sobre las configuraciones del sistema para planificar sus próximos pasos. |
| Ejecución: se ha ejecutado código Python malicioso | CLOUD_RUN_MALICIOUS_PYTHON_EXECUTED |
Un modelo de aprendizaje automático ha identificado el código de Python especificado como malicioso. Los atacantes pueden usar Python para transferir herramientas u otros archivos de un sistema externo a un entorno vulnerado y ejecutar comandos sin archivos binarios. El detector usa técnicas de procesamiento del lenguaje natural para evaluar el contenido del código de Python ejecutado. Como este enfoque no se basa en firmas, los detectores pueden identificar código Python conocido y nuevo. |
| Ejecución: se ha ejecutado un binario malicioso modificado | CLOUD_RUN_MODIFIED_MALICIOUS_BINARY_EXECUTED |
Se ha ejecutado un archivo binario que cumple las siguientes condiciones:
Si se ejecuta un archivo binario malicioso modificado, es un claro indicio de que un atacante tiene el control de la carga de trabajo y está ejecutando software malicioso. |
| Ejecución: se ha cargado una biblioteca maliciosa modificada | CLOUD_RUN_MODIFIED_MALICIOUS_LIBRARY_LOADED |
Se ha cargado una biblioteca que cumple las siguientes condiciones:
Si se carga una biblioteca maliciosa modificada, es una señal clara 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 |
Se ha ejecutado Netcat, una utilidad de redes versátil, en el entorno del contenedor, lo que podría indicar un intento de establecer un acceso remoto no autorizado o de filtrar datos. El uso de Netcat en un entorno de contenedores puede indicar que un atacante está intentando crear un shell inverso, habilitar el movimiento lateral o ejecutar comandos arbitrarios, lo que podría poner en peligro 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 ha detectado una posible ejecución remota de comandos | CLOUD_RUN_POSSIBLE_REMOTE_COMMAND_EXECUTION_DETECTED |
Se ha detectado un proceso que genera comandos UNIX comunes a través de una conexión de socket de red, lo que indica un posible intento de establecer funciones de ejecución de comandos remotos no autorizadas. Los atacantes suelen utilizar técnicas que imitan shells inversos para obtener el control interactivo de un sistema vulnerado, lo que les permite ejecutar comandos arbitrarios de forma remota y eludir las medidas de seguridad de red estándar, como las restricciones de cortafuegos. Detectar la ejecución de comandos a través de un socket es un indicador claro de acceso remoto malicioso. |
| Ejecución: programa ejecutado con un proxy HTTP no permitido | CLOUD_RUN_PROGRAM_RUN_WITH_DISALLOWED_HTTP_PROXY_ENV |
Se ha ejecutado 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, redirigir 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 crucial para mantener la seguridad de la red y evitar brechas de datos. |
| Ejecución: se ha detectado un shell inverso de Socat | CLOUD_RUN_SOCAT_REVERSE_SHELL_DETECTED |
Se ha usado el comando
Esta regla detecta la ejecución de |
| Ejecución: se ha cargado un objeto compartido de OpenSSL sospechoso | CLOUD_RUN_SUSPICIOUS_OPENSSL_SHARED_OBJECT_LOADED |
Se ha ejecutado OpenSSL para cargar un objeto compartido personalizado. Los atacantes pueden cargar bibliotecas personalizadas y sustituir las bibliotecas que usa OpenSSL para ejecutar código malicioso. Su uso en producción es poco habitual y debería investigarse inmediatamente. |
| Exfiltración: iniciar herramientas de copia de archivos remota en un contenedor | CLOUD_RUN_LAUNCH_REMOTE_FILE_COPY_TOOLS_IN_CONTAINER |
Se ha detectado la ejecución de una herramienta de copia de archivos remota en el contenedor, lo que indica una posible filtración externa de datos, un movimiento lateral o el despliegue 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 malware para llevar a cabo más actividades maliciosas. Detectar el uso de herramientas de copia de archivos remota es fundamental para evitar brechas de seguridad de los datos, accesos no autorizados y que se ponga en peligro el contenedor y, potencialmente, el sistema host. |
| Impacto: Detectar líneas de comandos maliciosas | CLOUD_RUN_DETECT_MALICIOUS_CMDLINES |
Se ha ejecutado un comando con argumentos que se sabe que son potencialmente destructivos, como intentos de eliminar archivos críticos del sistema o de modificar configuraciones relacionadas con contraseñas. Los atacantes pueden emitir líneas de comandos maliciosas para provocar inestabilidad en el sistema, impedir la recuperación eliminando archivos esenciales u obtener acceso no autorizado manipulando las credenciales de los usuarios. Detectar estos patrones de comandos específicos es fundamental para evitar que se produzcan consecuencias importantes en el sistema. |
| Impacto: eliminar datos en bloque de un disco | CLOUD_RUN_REMOVE_BULK_DATA_FROM_DISK |
Se ha detectado un proceso que realiza operaciones de eliminación de datos en bloque, lo que podría indicar un intento de borrar pruebas, interrumpir servicios o ejecutar un ataque de borrado de datos en el entorno del contenedor. Los atacantes pueden eliminar grandes volúmenes de datos para ocultar sus huellas, 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ítica. |
| Impacto: actividad sospechosa de minería de criptomonedas con el protocolo Stratum | CLOUD_RUN_SUSPICIOUS_CRYPTO_MINING_ACTIVITY_USING_STRATUM_PROTOCOL |
Se ha detectado un proceso que se comunica a través del protocolo Stratum, que suele utilizarse en el software de minería de criptomonedas. Esta actividad sugiere posibles operaciones de minería no autorizadas en el entorno del contenedor. Los atacantes suelen desplegar mineros de criptomonedas para explotar los recursos del sistema con fines económicos, lo que provoca un rendimiento deficiente, un aumento de los costes 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 ha identificado el código Bash especificado como malicioso. Los atacantes pueden usar Bash para transferir herramientas u otros archivos de un sistema externo a un entorno vulnerado y ejecutar comandos sin archivos binarios. El detector usa técnicas de procesamiento del lenguaje natural para evaluar el contenido del código Bash ejecutado. Como este enfoque no se basa en firmas, los detectores pueden identificar código Bash malicioso conocido y nuevo. |
| URL maliciosa observada | CLOUD_RUN_MALICIOUS_URL_OBSERVED |
Cloud Run Threat Detection ha detectado una URL maliciosa en la lista de argumentos de un proceso en ejecución. El detector comprueba 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 Navegación segura de Google. Si una URL se clasifica incorrectamente como sitio de phishing o malware, denúncialo en Reporting Incorrect Data (Informar de datos incorrectos). |
| Apropiación de privilegios: abuso de sudo para apropiació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 apropiación de privilegios mediante el abuso del comando |
| Apropiación de privilegios: ejecución sin archivos en /dev/shm | CLOUD_RUN_FILELESS_EXECUTION_DETECTION_SHM |
Se ha ejecutado un proceso desde una ruta de
Si un atacante ejecuta un archivo desde |
| Apropiación de privilegios: vulnerabilidad de apropiación de privilegios local de Polkit (CVE-2021-4034) | CLOUD_RUN_POLKIT_LOCAL_PRIVILEGE_ESCALATION_VULNERABILITY |
Un usuario que no es root ha ejecutado
Esta regla detecta un intento de aprovechar una vulnerabilidad de escalada de privilegios (CVE-2021-4034) en |
| Apropiación de privilegios: posible apropiación de privilegios de sudo (CVE-2021-3156) | CLOUD_RUN_SUDO_POTENTIAL_PRIVILEGE_ESCALATION |
Un usuario que no es root ha ejecutado
Detecta un intento de aprovechar una vulnerabilidad que afecta a las versiones 1.9.5p2 y anteriores de |
| Shell inverso | CLOUD_RUN_REVERSE_SHELL |
Se ha iniciado un proceso con redirección de flujo a un socket conectado remoto. El detector busca Con una shell inversa, un atacante puede comunicarse desde una carga de trabajo vulnerada a una máquina controlada por el atacante. De esta forma, el atacante puede controlar la carga de trabajo, por ejemplo, como parte de una botnet. |
| Shell secundario inesperado | CLOUD_RUN_UNEXPECTED_CHILD_SHELL |
Un proceso que normalmente no invoca shells ha generado un proceso de shell. El detector monitoriza todas las ejecuciones de procesos. Cuando se invoca un shell, el detector genera un resultado 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 gestionan de la misma forma que los demás detectores de Event Threat Detection. Para obtener más información, consulta Usar Event Threat Detection.
| Nombre visible | Nombre de la API | Tipos de fuentes de registro | Descripción |
|---|---|---|---|
| Impacto: comandos de minería de criptomonedas | CLOUD_RUN_JOBS_CRYPTOMINING_COMMANDS |
Registros de auditoría de Cloud: Registros de auditoría de eventos del sistema de IAM |
Se adjuntaron comandos de minería de criptomonedas específicos a una tarea de Cloud Run durante la ejecución. De forma predeterminada, los resultados se clasifican como de gravedad alta. |
| Ejecución: imagen Docker de minería de criptomonedas | CLOUD_RUN_CRYPTOMINING_DOCKER_IMAGES |
Registros de auditoría de Cloud: Registros de auditoría de eventos del sistema de IAM |
Se han adjuntado imágenes de Docker específicas que se sabe que son incorrectas a un servicio o trabajo de Cloud Run nuevo o ya creado. De forma predeterminada, los resultados se clasifican como de gravedad alta. |
| Aumento 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 ha usado la cuenta de servicio predeterminada de Compute Engine para definir la política de gestión de identidades y accesos de un servicio de Cloud Run. Esta es una posible acción posterior a la explotación cuando se pone en peligro un token de Compute Engine desde un servicio sin servidor. De forma predeterminada, las detecciones se clasifican como de gravedad Baja. |
Siguientes pasos
- Consulta cómo usar Cloud Run Threat Detection.
- Consulta cómo usar Detección de amenazas de eventos.
- Consulta cómo responder a las detecciones de amenazas de Cloud Run.
- Consulta el índice de hallazgos de amenazas.