Descripción general de la detección de amenazas de contenedores

En esta página, se proporciona una descripción general de alto nivel de los conceptos y las características de Container Threat Detection.

¿Qué es Container Threat Detection?

La detección de amenazas a contenedores es un servicio integrado de Security Command Center que supervisa de forma continua el estado de las imágenes de nodo de Container-Optimized OS. El servicio evalúa todos los cambios y los intentos de acceso remoto para detectar ataques del entorno de ejecución casi en tiempo real.

Container Threat Detection detecta los ataques más comunes en el entorno de ejecución del contenedor y te alerta en el Security Command Center y, de forma opcional, en Cloud Logging. Container Threat Detection incluye varias funciones de detección, como objetos binarios y bibliotecas sospechosos, y usa el procesamiento de lenguaje natural (PLN) para detectar código malicioso de Bash y Python.

La Detección de amenazas a contenedores solo está disponible con el nivel Premium o Enterprise de Security Command Center.

Cómo funciona la Detección de amenazas a contenedores

La instrumentación de detección de Container Threat Detection recopila el comportamiento de bajo nivel en el kernel invitado y las secuencias de comandos ejecutadas. La siguiente es la ruta de ejecución cuando se detectan eventos:

  1. La detección de amenazas a contenedores pasa la información de eventos y la información que identifica el contenedor a través de un DaemonSet de modo de usuario a un servicio de detector para el análisis. La recopilación de eventos se configura automáticamente cuando se habilita la detección de amenazas a contenedores.

    El DaemonSet del observador pasa la información del contenedor de la mejor manera posible. La información del contenedor se puede quitar del hallazgo informado si Kubernetes y el entorno de ejecución del contenedor no entregan la información correspondiente del contenedor a tiempo.

  2. El servicio de detector analiza eventos para determinar si un evento indica que se produjo un incidente. Bash y Python se analizan con PLN para determinar si el código ejecutado es malicioso.

  3. Si el servicio de detector identifica un incidente, el incidente se escribe como un resultado en Security Command Center y, de forma opcional, en Cloud Logging.

    • Si el servicio de detector no identifica un incidente, no se almacena información de búsqueda.
    • Todos los datos en el servicio de kernel y el detector son efímeros y no se almacenan de forma persistente.

Puedes ver los detalles de los resultados en la consola de Security Command Center y, luego, investigar la información de búsqueda. La capacidad para ver y editar resultados se determina según las funciones que se te otorgan. Para obtener más información sobre los roles de Security Command Center, consulta Control de acceso.

Detectores de detección de amenazas de contenedores

La detección de amenazas a contenedores incluye los siguientes detectores:

Detector Descripción Entradas para la detección
Se ejecutó el objeto binario añadido

Se ejecutó un objeto binario que no era parte de la imagen del contenedor original.

Si un atacante ejecuta un objeto binario agregado, es posible que tenga el control de la carga de trabajo y ejecute comandos arbitrarios.

Este detector está inhabilitado de forma predeterminada. Para obtener instrucciones sobre cómo habilitarla, consulta Cómo probar la detección de amenazas a contenedores.

El detector busca un objeto binario en ejecución que no formaba parte de la imagen del contenedor original o se modificó a partir de la imagen del contenedor original.
Se cargó la biblioteca agregada

Se cargó una biblioteca que no formaba parte de la imagen del contenedor original.

Si se carga una biblioteca agregada, es posible que un atacante tenga el control de la carga de trabajo y ejecute un código arbitrario.

Este detector está inhabilitado de forma predeterminada. Para obtener instrucciones sobre cómo habilitarla, consulta Cómo probar la detección de amenazas a contenedores.

El detector busca una biblioteca que se carga y que no formaba parte de la imagen del contenedor original, o que se modificó a partir de la imagen del contenedor original.
Ejecución: Se agregó el ejecutable binario malicioso

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 indicador claro de que un atacante tiene el control de la carga de trabajo y está ejecutando software malicioso.

El detector busca un objeto binario en ejecución que no formaba parte de la imagen del contenedor original y que se identificó como malicioso en función de la inteligencia de amenazas.
Ejecución: Se agregó la carga de la biblioteca maliciosa

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 indicador claro de que un atacante tiene el control de la carga de trabajo y está ejecutando software malicioso.

El detector busca una biblioteca que se carga y que no formaba parte de la imagen del contenedor original, y que se identificó como maliciosa en función de la inteligencia de amenazas.
Ejecución: Se ejecutó un objeto binario malicioso integrado

Se ejecutó un objeto binario que cumple con las siguientes condiciones:

  • Se identifica 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 un signo 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.

El detector busca un objeto binario en ejecución que se incluyó en la imagen del contenedor original y se identificó como malicioso en función de la inteligencia sobre amenazas.
Ejecución: Escape de contenedor

Se ejecutó un proceso dentro del contenedor que intentó salir del aislamiento del contenedor, lo que podría darle al atacante acceso al sistema host.

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.

El detector supervisa los procesos que intentan explotar los límites del contenedor que usan técnicas de escape o objetos binarios conocidos. La inteligencia de amenazas marca estos procesos como posibles ataques que se dirigen al sistema host subyacente.
Ejecución: Ejecución de la herramienta de ataque de Kubernetes

Se ejecutó una herramienta de ataque específica de Kubernetes dentro del entorno, lo que podría indicar que un atacante está atacando componentes del clúster de Kubernetes.

Si se ejecuta una herramienta de ataque dentro del entorno de Kubernetes, podría sugerir que un atacante obtuvo acceso al clúster y está usando la herramienta para aprovechar vulnerabilidades o configuraciones específicas de Kubernetes.

El detector busca herramientas de ataque de Kubernetes que se están ejecutando y se identifican como amenazas potenciales en función de los datos de inteligencia. El detector activa alertas para mitigar posibles vulnerabilidades en el clúster.
Ejecución: Ejecución de la herramienta de reconocimiento local

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.

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.

El detector supervisa si se ejecutan herramientas de reconocimiento conocidas dentro del entorno, identificadas a través de la inteligencia de amenazas, lo que podría indicar la preparación para actividades más maliciosas.
Ejecución: Se ejecutó Python malicioso (versión preliminar)

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 Python conocido y nuevo.
Ejecución: Se ejecutó un objeto binario malicioso modificado

Se ejecutó un objeto binario que cumple con las siguientes condiciones:

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

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.

El detector busca un objeto binario en ejecución que se incluyó originalmente en la imagen del contenedor, pero que se modificó durante el tiempo de ejecución y se identificó como malicioso en función de la inteligencia sobre amenazas.
Ejecución: Se cargó una biblioteca maliciosa modificada

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

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

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.

El detector busca una biblioteca que se carga y que, originalmente, se incluyó en la imagen del contenedor, pero que se modificó durante el tiempo de ejecución y se identificó como maliciosa en función de la inteligencia sobre amenazas.
Secuencia de comandos maliciosa ejecutada

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 bash maliciosos conocidos y nuevos.
Se detectó una URL maliciosa Container Threat Detection 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 phishing o software malicioso, infórmala en Denuncia de datos incorrectos.
Shells inversas

Es un proceso iniciado con redireccionamiento de transmisión a un socket remoto conectado.

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.

El detector busca stdin vinculada a un socket remoto.
Shell secundario inesperado 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.

¿Qué sigue?