Detección de amenazas de containers
Habida cuenta de que la mayoría de las empresas tiene un porcentaje importante de sus workloads alojadas en containers, la detección de amenazas de containers se ha convertido en una de las principales preocupaciones para organizaciones de todo tipo.
Por desgracia, también es una prioridad de difícil de abordar. Las amenazas de seguridad de los containers adoptan muchas formas –desde amenazas de seguridad en tiempo de ejecución a amenazas a la red o amenazas a las imágenes de containers–, por lo que para detectarlas necesitará evaluar su pila de software en containers en múltiples capas.
En este artículo repasamos los diferentes tipos de amenazas de seguridad que debe buscar para anticiparse a los riesgos de seguridad que pueden afectar a las workloads en containers, sin independientemente de dónde se originen.
¿Qué es la detección de amenazas de containers?
La detección de amenazas de containers es el proceso de identificar cualquier tipo de riesgo de seguridad que pueda afectar a las workloads alojadas en containers. Ya sean amenazas de escalada de privilegios, malware o configuraciones de red inseguras, la detección de amenazas de containers proporciona una amplia protección contra los diversos tipos de amenazas de seguridad que pueden darse en un entorno de aplicaciones en containers.
Enfoques para la detección de amenazas de containers
Dado que las amenazas de seguridad de containers se presentan de muchas formas, para su detección es necesario evaluar múltiples categorías de posibles amenazas en diferentes capas de su entorno. A continuación se detallan las principales áreas de riesgo a tener en cuenta.
Container Runtime Security
Una amenaza de seguridad en tiempo de ejecución de un container es cualquier tipo de amenaza que afecta a un container cuando este se está ejecutando.
Hay dos vectores principales a través de los cuales pueden surgir amenazas en tiempo de ejecución:
- Imágenes de containers comprometidas: El malware en las imágenes de containers puede generar amenazas activas una vez que los containers se despliegan.
- Entorno de ejecución inseguro: Las configuraciones inseguras, como permitir que los containers se ejecuten en modo privilegiado u otorgarles acceso a datos sensibles, podrían dar lugar a brechas de seguridad.
Para que se produzca una amenaza en tiempo de ejecución, normalmente es necesario que se dé al menos una de estas condiciones. En muchos casos, sin embargo, se dan ambas: por ejemplo, una imagen de container contaminada puede introducir malware en un entorno de ejecución, y el impacto del malware podría verse agravado por configuraciones inseguras que no consiguen aislar la workload comprometida.
Las amenazas en tiempo de ejecución también puede surgir de otras maneras, como una vulnerabilidad de seguridad en el tiempo de ejecución del container (el software que ejecuta los containers) o una vulnerabilidad a nivel de OS en el servidor que aloja el container. Sin embargo, estas amenazas son relativamente raras en comparación con los riesgos que se originan en los containers o en el entorno en el que se ejecutan.
Detección de amenazas en tiempo de ejecución de containers
Como la mayoría de las amenazas de seguridad en tiempo de ejecución de los containers tienen su origen en imágenes y/o configuraciones de entorno inseguras, la principal estrategia para detectar dichas amenazas es escanear las imágenes y las configuraciones del entorno.
El escaneo de imágenes de containers es un proceso sencillo que puede llevarse a cabo con cualquier escáner de containers convencional. En la mayoría de los casos, puede escanear todo tipo de containers con cualquier escáner de uso común.
El escaneo de las configuraciones del entorno puede resultar más complejo, porque depende de dónde esté ejecutando sus containers. Si están orquestados por Kubernetes, necesitará una herramienta de detección de amenazas en tiempo de ejecución que sea capaz de analizar los distintos tipos de configuraciones que gestiona Kubernetes. Si utiliza otra solución de orquestación, como AWS ECS, necesitará una herramienta diseñada para analizar ese tipo de entorno.
También es conveniente que monitorice continuamente los registros, las métricas y (si están disponibles en su entorno de ejecución u orquestador) los registros de auditoría para detectar las amenazas de seguridad activas en tiempo de ejecución. Herramientas de monitorización como Falco pueden ayudarle a hacerlo.
Seguridad de la red de containers
Los containers en sí mismos solo alojan aplicaciones. Los recursos de red son externos a los containers y suelen ser gestionados por un orquestador o una malla de servicios distinta de los propios containers.
Sin embargo, las configuraciones de red inseguras pueden tener consecuencias importantes en las workloads alojadas en los containers. Si las configuraciones de red no aíslan bien los containers entre sí, pueden propiciar que una brecha en un container se extienda a otros o facilitar que un container comprometido acceda a datos sensibles propiedad de otro container.
Así pues, la red es un vector principal tanto para iniciar como para escalar los ataques contra los containers. Por lo tanto, la detección de las amenazas que se originan en la red es un elemento importante de la detección general de amenazas de containers.
Cómo detectar amenazas en la red de containers
No existe un enfoque único para detectar amenazas de containers basadas en la red. Las redes de containers se pueden configurar de diferentes maneras, y la arquitectura de su red de containers puede variar mucho dependiendo de factores como el orquestador que utilice, si ejecuta sus containers en la nube o localmente y si utiliza una malla de servicios.
Esto significa que, para detectar eficazmente las amenazas de red, necesitará una herramienta de detección de amenazas de containers que pueda interpretar los ajustes de configuración de red de la plataforma que utilice para ejecutar sus containers.
Asimismo, deberá desplegar una herramienta que pueda analizar los datos de red en tiempo real para detectar amenazas. Actividades como el tráfico malicioso de un container a otro o los intentos de saturar la red con peticiones ilegítimas (que podrían formar parte de un ataque DDoS) se pueden detectar identificando anomalías en el comportamiento de la red.
Pero para que funcionen eficazmente, las herramientas de detección de amenazas de red deben ser capaces de identificar anomalías reales en entornos en los que las configuraciones de red cambian constantemente. En la mayoría de los casos, las asignaciones de direcciones IP, las configuraciones del balanceo de carga y el número total de puntos finales de un entorno en containers se actualizan constantemente a medida que se crean y destruyen containers atendiendo a las fluctuaciones de la demanda.
Por esta razón, es difícil establecer una línea de base estática de la actividad “normal” de la red y medir las anomalías basándose en ella. Por el contrario, las herramientas deben ser capaces de determinar líneas de base basadas en configuraciones dinámicas y establecer una correlación entre los patrones de tráfico de la red y otras fuentes de datos (como los registros de auditoría) para tomar decisiones bien fundadas sobre cuándo se trata de una verdadera amenaza para la red de containers y cuándo es una fluctuación normal del tráfico.
Las amenazas de seguridad a las aplicaciones en containers pueden manifestarse de diversas maneras. Las organizaciones deben estar preparadas para detectarlas adoptando un enfoque múltiple que sea capaz de descubrir las amenazas independientemente de dónde se originen, ya sea en las imágenes de los containers, en las configuraciones del tiempo de ejecución, en las configuraciones de red o en cualquier otro lugar.