¿Cómo escanear contenedores e imágenes de Docker para detectar vulnerabilidades?

En tiempos recientes los actores de amenazas han ideado complejas técnicas para la explotación de vulnerabilidades en contenedores e imágenes de Docker, afectando incluso a grandes compañías como Google, Facebook y Yahoo. Mientras los hackers maliciosos tratan encontrar métodos de ataque más sofisticados, las compañías de ciberseguridad e investigadores independientes trabajan en la prevención de estos ataques, buscando la forma de proteger estos recursos de cualquier potencial riesgo.

El proceso de unificación de software (DevOps) demanda el establecimiento de mecanismos funcionales de escaneo y validación de imágenes, protegiendo de forma integral estos procesos. En esta ocasión, los expertos en seguridad de aplicaciones web del Instituto Internacional de Seguridad Cibernética (IICS) le hablarán de los mejores métodos para detectar cualquier posible vulnerabilidad en sus contenedores, además de establecer rutinas de monitoreo para una mayor protección.

A continuación revisaremos de forma breve las diversas opciones disponibles para llevar a cabo estos procesos de seguridad en Docker.

CLAIR

Clair es un proyecto de código abierto para el análisis de vulnerabilidades en contenedores y aplicaciones de Docker. Los expertos en seguridad de aplicaciones web lo describen como un motor de análisis impulsado por API que verifica capa por capa para detectar fallas de seguridad en los contenedores, además de que permite monitorear automáticamente todos los contenedores en busca de vulnerabilidades explotables, enviando notificaciones en tiempo real al administrador.

Cabe mencionar que esta herramienta trabaja con la información disponible en la National Vulnerability Database (NVD).

TRIVY

Trivy es un escáner de vulnerabilidades de uso fácil y gran apoyo para la detección de fallas en los paquetes de múltiples sistemas operativos y dependencias de aplicaciones.

Entre las principales características de Trivy se encuentran:

  • Detección de vulnerabilidades complejas
  • Simplicidad
  • Eficacia
  • Compatible con Travis CI, CircleCI, Jenkins, GitLab CI, etc.

ANCHORE

Anchore es un proyecto de código abierto para el análisis profundo de imágenes de Docker. También es útil para la autenticación de la imagen, indicando si es segura o no.

Acorde a los expertos en seguridad de aplicaciones web, Anchore puede ejecutarse en una plataforma independiente, así como en plataformas como Kubernetes, Rancher, Amazon ECS, Docker Swarm, además de que está disponible en los plugins de Jenkins para el escaneo de CI/CD.

DAGDA

Dagda es una herramienta de código abierto para el análisis estático de vulnerabilidades conocidas. La herramienta es altamente funcional en la detección de amenazas de seguridad como troyanos y otras variantes de malware. Esta herramienta se basa en el motor antivirus ClamAV, lo que hace más eficiente la detección de amenazas de seguridad.

Dagda busca información en fuentes como la Common Vulnerabilities and Exposures (CVE) y cuenta con avanzadas características como:

  • Soporte para múltiples imágenes de Linux (CentOS, Ubuntu, OpenSUSE y Alpine)
  • Análisis de dependencias en java, python node js, javascript, ruby, PHP
  • Almacenamiento en MongoDB

FALCO

Falco es un proyecto de código abierto diseñado para operar como motor de detección de amenazas en Kubernetes. Los especialistas en seguridad de aplicaciones web mencionan que esta es una herramienta de seguridad en tiempo de ejecución para detectar actividad anómala en hosts y contenedores que se ejecutan en Kubernetes, brindando avanzadas capacidades de seguridad.

Falcon utiliza una sintaxis como tcpdump para crear reglas y utiliza bibliotecas como libscap y libinsp que pueden ingresar y obtener datos de su servidor de API de Kubernetes o del tiempo de ejecución del contenedor. Estos metadatos pueden ser usados para obtener información sobre pods, etiquetas y espacios de nombres para crear reglas específicas para un espacio de nombres específico o una imagen de contenedor específica.

AQUA SECURITY

Aqua Security es una implementación pensada para proteger las aplicaciones basadas en la nube, incluyendo los contenedores. Esta herramienta proporciona a los investigadores un análisis y gestión de vulnerabilidades superior para Kubernetes y otras tecnologías. Es una plataforma de seguridad integral que garantiza que las aplicaciones en contenedores estén protegidas y se ejecuten en un entorno seguro.

Cuando los desarrolladores crean imágenes, tienen un conjunto de tecnologías y bibliotecas para crearlas. Aqua Security les permite escanear estas imágenes para asegurarse de que estén limpias.

DOCKER BENCH SECURITY

Este es un script con múltiples pruebas automatizadas para validar las mejores prácticas de implementación de contenedores. Para ejecutar el sistema de seguridad Docker Bench, necesita Docker 1.13.0 o cualquier versión posterior.

A continuación se muestra el comando necesario para ejecutar esta herramienta:

docker run -it --net host --pid host --userns host --cap-add audit_control \
-e DOCKER_CONTENT_TRUST=$DOCKER_CONTENT_TRUST \
-v /var/lib:/var/lib \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/lib/systemd:/usr/lib/systemd \
-v /etc:/etc --label docker_bench_security \
docker/docker-bench-security

Después de ejecutar el script, puede verificar todos los mensajes de advertencia y hacer correcciones.

HARBOR

Harbour es un registro en la nube de código abierto que proporciona políticas de seguridad y control de acceso basado en roles (RBAC). Los expertos en seguridad de aplicaciones web mencionan que esta herramienta almacena, firma y escanea imágenes de Docker en busca de vulnerabilidades.

JFROG XRAY

JFrog Xray es una herramienta de seguridad para el análisis de contenedores e imágenes. Esta solución le permite escanear continuamente cualquier dependencia en busca de vulnerabilidades de seguridad y problemas de cumplimiento de licencias.

JFrog XRay identifica de manera proactiva las vulnerabilidades de seguridad que podrían afectar nuestro entorno, además de que se integra de forma nativa con JFrog Artifactory.

QUALYS

Qualys es una herramienta utilizada para descubrir, rastrear y proteger entornos en contenedores de forma automatizada, mencionan expertos en seguridad de aplicaciones web.

Esta solución analiza vulnerabilidades dentro de imágenes o contenedores en la canalización de DevOps y las implementaciones en entornos locales o en la nube, además de ofrecer una versión gratuita para que los usuarios puedan tomar una decisión sobre el uso de estas herramientas.

ESCANEO EN DOCKER

La versión beta de Docker Scan usa el motor Synk y es capaz de escanear el Dockerfile local, las imágenes y sus dependencias en busca de vulnerabilidades conocidas. Puede ejecutar el escaneo de Docker con el siguiente comando:

docker scan mydockerimage

CONCLUSIÓN

El escaneo de vulnerabilidades en contenedores e imágenes de Docker es una práctica que sin duda fortalece la seguridad de aplicaciones web, estableciendo los mecanismos necesarios para la prevención de ciberataques que podrían traer consecuencias desastrosas. Para conocer más sobre riesgos de seguridad informática, malware, vulnerabilidades y tecnologías de la información, no dude en ingresar al sitio web del Instituto Internacional de Seguridad Cibernética (IICS).