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 de tiempo 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:
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.
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.
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 formaba 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. |
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. |
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:
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 biblioteca maliciosa cargada |
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. |
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:
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. |
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: 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:
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:
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 | La detección de amenazas a contenedores 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?
- Obtén más información para usar la detección de amenazas a contenedores.
- Obtén más información para probar la detección de amenazas a contenedores.
- Obtén información para investigar y desarrollar planes de respuesta para las amenazas.
- Obtén más información sobre Artifact Analysis y el análisis de vulnerabilidades.