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. Las secuencias de comandos de 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.
Consideraciones
Otras herramientas de detección de seguridad que se instalan en tu clúster pueden perjudicar el rendimiento de Container Threat Detection y provocar que funcione de forma incorrecta. Te recomendamos que no tengas ninguna otra herramienta de detección de seguridad instalada en el clúster si este ya está protegido por la Detección de amenazas de contenedores.
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. |
Acceso a credenciales: Busca claves privadas o contraseñas | Se ejecutó un comando para buscar claves privadas, contraseñas o otras credenciales sensibles dentro del entorno del contenedor, lo que indica un posible intento de recopilar 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 esa actividad es fundamental para evitar violaciones de la seguridad. | Este detector supervisa los comandos conocidos que se usan para ubicar claves privadas, contraseñas o archivos de credenciales. La presencia de este tipo de búsquedas en un entorno de contenedores puede sugerir esfuerzos de reconocimiento o una vulneración activa. |
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 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: Ejecución maliciosa de Python (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. |
Ejecución: Ejecución de código remoto de Netcat en un contenedor | Netcat, una utilidad de red versátil, se ejecutó dentro del entorno del contenedor, lo que podría indicar un intento de establecer acceso remoto no autorizado o extraer datos. El uso de Netcat en un entorno de contenedor 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. | El detector supervisa la ejecución de Netcat dentro del contenedor, ya que su uso en entornos de producción no es común y puede indicar un intento de omitir los controles de seguridad o ejecutar comandos remotos. |
Ejecución: Se ejecuta el programa con un entorno de proxy HTTP no permitido | 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 violaciones de la seguridad de los datos. | Este detector supervisa la ejecución de programas con variables de entorno de proxy HTTP que no se permiten de forma específica. El uso de estos proxies, en especial cuando es inesperado, puede indicar actividad maliciosa y garantiza una investigación inmediata. |
Robo de información: Cómo iniciar herramientas de copia de archivos remotos en un contenedor | Se detectó la ejecución de una herramienta de copia de archivos remota dentro del contenedor, lo que indica una posible extracción de datos, un movimiento lateral o la 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 remotas es fundamental para evitar violaciones de la seguridad de los datos, accesos no autorizados y un mayor compromiso del contenedor y, posiblemente, del sistema host. | Este detector supervisa la ejecución de herramientas conocidas de copia de archivos remotos dentro del entorno del contenedor. Su presencia, especialmente cuando es inesperada, puede indicar actividad maliciosa. |
Impacto: Se quitan datos masivos del disco | Se detectó un proceso que realiza operaciones de eliminación masiva de datos, lo que puede indicar un intento de borrar evidencia, interrumpir servicios o ejecutar un ataque de limpieza de datos dentro del entorno del contenedor. Los atacantes pueden quitar grandes volúmenes de datos para cubrir sus huellas, sabotear operaciones o prepararse para la implementación de ransomware. Detectar esa actividad ayuda a identificar posibles amenazas antes de que se produzca una pérdida de datos crítica. | El detector supervisa los comandos y procesos asociados con la eliminación masiva de datos o con otras herramientas de limpieza de datos para identificar la actividad sospechosa que podría comprometer la integridad del sistema. |
Impacto: Actividad de minería de criptomonedas sospechosa con el Protocolo Stratum | Se detectó un proceso que se comunicaba 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 aprovechar los recursos del sistema con fines de lucro, lo que genera un rendimiento degradado, un aumento de los costos operativos y posibles riesgos de seguridad. Detectar esa actividad ayuda a mitigar el abuso de recursos y el acceso no autorizado. | Este detector supervisa el uso conocido del protocolo Stratum dentro del entorno. Debido a que las cargas de trabajo de contenedores legítimas no suelen usar Stratum, su presencia puede indicar operaciones de minería no autorizadas o un contenedor comprometido. |
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 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.