Skip to main content

Gestión de vulnerabilidades en contenedores para desarrolladores

Escrito por
Headshot of Aner Mazur

Aner Mazur

Container Vulnerability Management For Developers small

28 de junio de 2018

0 minutos de lectura

Hoy, Snyk lanzó una solución para gestionar vulnerabilidades en contenedores que permite a los desarrolladores asumir plenamente la seguridad de sus aplicaciones en Docker.

Los contenedores se están convirtiendo en el formato estándar para empaquetar y ejecutar aplicaciones. Por eso, cada vez es más necesario proteger no solo la aplicación, sino todo el contenedor frente a vulnerabilidades de código abierto. Como parte de su compromiso de ayudar a los desarrolladores a proteger sus aplicaciones frente a vulnerabilidades de código abierto, Snyk amplía su compatibilidad a los contenedores Docker con un enfoque único que prioriza a los desarrolladores. La solución se integra a la perfección con las distintas plataformas de desarrollo y ejecución a lo largo del SDLC, y ofrece análisis profundos de las aplicaciones, corrección automatizada de vulnerabilidades y nuestra destacada base de datos de vulnerabilidades.

Detecta vulnerabilidades de código abierto con facilidad

Los desarrolladores crean y administran imágenes de contenedor, por eso Snyk creó una CLI sencilla que les permite probar imágenes localmente e integrar la validación de imágenes en sus procesos de CI/CD. Forma parte de la CLI habitual de Snyk y está disponible para todos los clientes Enterprise. Solo tienes que actualizar a la versión más reciente de la CLI:

npm install -g snyk 
snyk auth

Snyk analizará todas las bibliotecas del sistema operativo instaladas por los administradores de paquetes DEB, APK o RPM, extraerá sus versiones exactas y las comprobará con la versión más actualizada de nuestra base de datos de vulnerabilidades. Para probar una imagen local de Docker, usa la opción docker y especifica el nombre de la imagen:

docker pull ubuntu:artful-20170601 
snyk test ubuntu:artful-20170601 --docker --org=my-team

Esto mostrará todas las vulnerabilidades del sistema operativo detectadas.

✗ High severity vulnerability found on glibc/libc-bin@2.24-9ubuntu2
- desc: Privilege Escalation
- info: https://snyk.io/vuln/SNYK-LINUX-GLIBC-129450
- from: ubuntu@artful-20170601 > glibc/libc-bin@2.24-9ubuntu2
- fixed in: glibc/libc-bin@2.26-0ubuntu2.1

✗ Medium severity vulnerability found on libgcrypt20@1.7.6-1
- desc: CVE-2018-0495
- info: https://snyk.io/vuln/SNYK-LINUX-LIBGCRYPT20-104368
- from: ubuntu@artful-20170601 > util-linux/bsdutils@1:2.29-1ubuntu3 > systemd/libsystemd0@233-6ubuntu3 > libgcrypt20@1.7.6-1
- fixed in: libgcrypt20@1.7.8-2ubuntu1.1

✗ High severity vulnerability found on perl/perl-base@5.24.1-2ubuntu1
- desc: Buffer Overflow
- info: https://snyk.io/vuln/SNYK-LINUX-PERL-106304
- from: ubuntu@artful-20170601 > meta-common-packages@meta > perl/perl-base@5.24.1-2ubuntu1
- fixed in: perl/perl-base@5.26.0-8ubuntu1.1

Para hacer seguimiento de un proyecto y detectar vulnerabilidades recién divulgadas a través de la interfaz de Snyk, usa el comando monitor . Puedes usar tanto snyk test como snyk monitor en tus entornos de CI para integrar la seguridad en tu canalización de despliegue.

Corrige las vulnerabilidades

Una de las principales ventajas de Snyk es que permite a los desarrolladores no solo encontrar vulnerabilidades, sino también corregirlas. Para cada vulnerabilidad que se pueda corregir actualizando la biblioteca a una versión que la solucione, sugeriremos la versión mínima a la que debes actualizar.

Al revisar el primer resultado de la ejecución de snyk test anterior, vemos que se encontró una vulnerabilidad de escalación de privilegios en libc-bin.

Al hacer clic en el enlace a la página de la vulnerabilidad en Snyk, vemos que un atacante local podría aprovecharla para ejecutar código arbitrario en programas setuid y obtener privilegios de root. Además, existen varias vulnerabilidades aprovechables para este fallo que están disponibles públicamente (en Metasploit, Exploit-DB y otros sitios), por lo que corregirlo es una prioridad crítica.

Aviso de vulnerabilidad de seguridad que muestra una escalada de privilegios de alta gravedad que afecta al paquete glibc, con información general y detalles de la CVE.

Comprende el contexto de las bibliotecas

Snyk considera que los contenedores son otra forma de empaquetar una aplicación y los aborda con el mismo enfoque que prioriza a los desarrolladores que hemos aplicado hasta ahora. Esto se refleja en la excelente experiencia para desarrolladores que ofrece nuestra CLI, así como en la perspectiva de las aplicaciones. En lugar de limitarnos a decir que encontramos un componente vulnerable y dejar que el desarrollador averigüe «¿cómo llegó ESA biblioteca ahí?», hacemos seguimiento de la ruta de inclusión de cada biblioteca vulnerable (como se muestra en la línea «from» de los resultados de la CLI). Así es mucho más fácil comprender la vulnerabilidad en el contexto de la aplicación, algo clave para evaluar si se puede explotar y, aún más, para corregirla.

Con el tiempo, verás más funciones de seguridad para contenedores que ayudarán a los desarrolladores a encontrar y corregir vulnerabilidades con facilidad, en línea con el compromiso de Snyk de ofrecer una experiencia amigable para desarrolladores y facilitar la corrección. ¡No te las pierdas! :)

Seguridad de contenedores centrada en los desarrolladores

Snyk encuentra y corrige automáticamente vulnerabilidades en imágenes de contenedores y cargas de trabajo de Kubernetes.