Descripción general de la detección de amenazas de Cloud Run

Cloud Run Threat Detection es un servicio integrado de Security Command Center que supervisa de forma continua el estado de los recursos de Cloud Run compatibles para detectar los ataques en el entorno 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 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 compatibles difieren para los detectores del 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 procesos, secuencias de comandos y 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:

  1. 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. El proceso de supervisión puede tardar hasta 20 segundos en iniciarse.
  2. Cloud Run Threat Detection analiza la información del evento recopilada para determinar si un evento indica que se produjo un incidente. Utiliza el 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 Cloud Run Threat Detection 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

  • 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 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
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:

  • Se identificó como malicioso según la inteligencia sobre amenazas
  • No forma parte de la imagen del contenedor original

Si se ejecuta un objeto binario malicioso agregado, es un indicio 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:

  • Se identificó como malicioso según la inteligencia sobre amenazas
  • No forma parte de la imagen del contenedor original

Si se carga una biblioteca maliciosa agregada, es un indicio 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:

  • Se identificó como malicioso según la inteligencia sobre amenazas
  • Se incluye en la imagen de contenedor original

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 o archivos binarios de escape 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, podría 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 comprometería 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 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 en el 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, se 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 malicioso de Python (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 PNL para evaluar el contenido del código de Python ejecutado. Dado 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:

  • Se identificó como malicioso según la inteligencia sobre amenazas
  • Se incluye en la imagen de contenedor original
  • Se modificó a partir de la imagen de contenedor original durante el tiempo de ejecución.

Si se ejecuta un objeto binario malicioso modificado, 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 cargó la biblioteca maliciosa modificada CLOUD_RUN_MODIFIED_MALICIOUS_LIBRARY_LOADED

Se cargó una biblioteca que cumple con las siguientes condiciones:

  • Se identificó como malicioso según la inteligencia sobre amenazas
  • Se incluye en la imagen de contenedor original
  • Se modificó a partir de la imagen de contenedor original durante el tiempo de ejecución.

Si se carga una biblioteca maliciosa modificada, es un indicio 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 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.

Shells inversas CLOUD_RUN_REVERSE_SHELL

Es un proceso iniciado con redireccionamiento de transmisión a un socket remoto conectado. El detector busca stdin vinculada a un socket remoto.

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 los demás 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 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 dañinas a un trabajo o servicio de Cloud Run nuevo o existente. De forma predeterminada, los resultados se clasifican como gravedad Alta.
Escalación 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 resultados se clasifican como de gravedad Baja.
Para conocer las reglas que se dieron de baja y se cerraron, consulta Bajas.

¿Qué sigue?