Skip to main content

Snyk Container en 2021: llevar la seguridad de contenedores hasta la izquierda

Escrito por
blog feature snyk container party

22 de diciembre de 2021

0 minutos de lectura

Lo veas como lo veas, el uso de contenedores y Kubernetes sigue creciendo. Y las vulnerabilidades recientes de alto perfil que no deben nombrarse nos han mostrado lo importante que es la seguridad de contenedores para un programa integral de seguridad de aplicaciones. Proteger tu propio código, tus dependencias, y los servicios en contenedores que usas es indispensable.

Hay señales por todas partes de que la adopción de contenedores sigue creciendo rápidamente. En 2021, los clientes de Snyk realizaron más de 130 millones de pruebas de contenedores: ¡10 veces más que en 2020! Datadog y Sysdig reportan que monitorean mucho más de 1 mil millones de contenedores cada una, y Gartner predice que más del 75 % de las organizaciones del mundo ejecutarán aplicaciones en contenedores en producción en 2022, frente a menos del 30 % apenas el año pasado.

Al acercarnos al final de 2021, repasamos las nuevas e importantes capacidades de cada uno de los productos de Snyk. En esta publicación nos enfocaremos en Snyk Container.

El uso de Snyk Container se dispara en 2021

Como mencionamos antes, hasta ahora Snyk Container se usó para más de 130 millones de pruebas de contenedores en 2021. Pero probar un contenedor no es el objetivo final de Snyk Container: el resultado que buscamos es RESOLVER los problemas de los contenedores. Esto es lo que observamos con Snyk Container:

  • Los usuarios de Snyk Container resolvieron 56 millones de vulnerabilidades en 2021.

  • Esto se logró con más de 133 millones de análisis de contenedores en más de 2 millones de imágenes, que detectaron más de 111 millones de vulnerabilidades únicas en contenedores. 

    * Ten en cuenta que el número de vulnerabilidades es menor que el número de pruebas, porque una prueba recurrente en la misma imagen cuenta una vulnerabilidad detectada una sola vez.

Y no solo se analizan imágenes en pipelines y registros. Snyk Container también monitoreó 47,000 proyectos de Kubernetes y 352,000 repositorios de Git con Dockerfiles.

Mejoras de Snyk Container para desarrolladores

En 2021, agregamos varias funciones a Snyk Container para adaptarlo a los flujos de trabajo de los desarrolladores. Nuestro objetivo es hacer que el proceso de detectar y resolver problemas en contenedores sea lo más sencillo y claro posible; tan sencillo que sea difícil no resolverlos.

Una de las nuevas funciones más importantes fue la posibilidad de analizar Dockerfiles desde repositorios de código fuente y abrir pull request para resolver los problemas detectados. Es una novedad en un producto de seguridad de contenedores. Elegir una imagen base adecuada y segura para una aplicación es una forma relativamente sencilla de reducir hasta un 90 % las vulnerabilidades de un contenedor.

Recomendaciones de imágenes base de Snyk Container que comparan actualizaciones de imágenes de Ruby por cantidad y gravedad de vulnerabilidades, con opciones para abrir pull requests de corrección.
Snyk Container analiza un Dockerfile para ofrecer recomendaciones de imágenes base y PR de corrección.

Como la elección de una imagen principal sobre la cual construir es tan importante, queríamos asegurarnos de que la mayor cantidad posible de usuarios recibiera recomendaciones de Snyk sobre imágenes base, sin importar en qué etapa del ciclo de vida del contenedor eligieran realizar el análisis. Para lograrlo, cambiamos la forma en que detectamos la imagen principal de un contenedor. Al llegar a diciembre, más del 80 % de los contenedores analizados ya recibían recomendaciones sobre imágenes base, frente a aproximadamente el 25 % en enero.

Gráfico de líneas titulado «Recomendaciones de imágenes base» que muestra porcentajes que aumentan del 25 % en diciembre a cerca del 81 % en diciembre del año siguiente.
Porcentaje de proyectos de contenedores con recomendaciones automáticas para actualizar la imagen principal.

Curiosamente, la lógica de imágenes base de Snyk Container se basa en las imágenes oficiales de Docker. Por eso, estos altos índices de recomendaciones para imágenes principales son un claro indicador de la continua popularidad e importancia de Docker en el mundo de los contenedores.

También presentamos en SnykCon nuestro trabajo en curso para ofrecer compatibilidad con IDE en Snyk Container. Junto con nuestra continua colaboración con Docker, esto es una excelente señal de lo que viene mientras seguimos llevando la seguridad de contenedores cada vez más a la izquierda.

Mejoras en los flujos de trabajo y el ecosistema de contenedores

En 2021, también nos propusimos resolver algunos problemas persistentes en los flujos de trabajo basados en contenedores que pueden complicar la corrección de problemas. Además, queríamos ampliar la compatibilidad con las herramientas de contenedores más populares de este ecosistema en constante crecimiento.

Uno de los problemas curiosos de los flujos de trabajo con contenedores es mantener vinculados el Dockerfile y las imágenes resultantes. Las imágenes de contenedores no tienen una forma inherente de registrar qué Dockerfile se usó para crearlas. Esto puede dificultar la identificación de quién es responsable de un contenedor en particular y qué Dockerfile hay que editar para resolver los problemas. Para facilitarlo en Snyk Container, decidimos seguir las etiquetas estándar de contenedor de OCI, que permiten conectar estos dos artefactos. En Snyk Container, si usas alguna de estas etiquetas de OCI, podemos mostrarte automáticamente qué imágenes de contenedor analizadas con Snyk se crearon a partir de un Dockerfile específico. Así, no solo es fácil relacionar entre sí las pruebas de contenedores, sino que también puedes ir directamente al Dockerfile para hacer cambios.

Hablando de adoptar estándares, también agregamos la posibilidad de usar estándares de políticas abiertas para determinar qué monitorea Snyk en tus clústeres de Kubernetes. Open Policy Agent (OPA) es un plano de control basado en políticas muy utilizado en entornos nativos de la nube. Lo usamos con nuestro monitor de Kubernetes para que puedas determinar qué cargas de trabajo monitorear automáticamente y si se deben eliminar, y cuándo, si dejan de ejecutarse en tus clústeres.

También agregamos nuevas integraciones con otras herramientas populares del ecosistema de contenedores:

Menos ruido en los contenedores y más detalles de seguridad

A primera vista, podría parecer una contradicción agregar más información de seguridad y, al mismo tiempo, reducir el ruido de las vulnerabilidades en contenedores. Pero en 2021 lo logramos con Snyk Container.

Para reducir el ruido de las alertas de seguridad de los contenedores y ayudar a priorizar las vulnerabilidades más importantes que hay que resolver, agregamos datos sobre tendencias en redes sociales a nuestras vulnerabilidades. Un aumento de las conversaciones en redes sociales puede indicar que algo malicioso está ocurriendo en torno a una vulnerabilidad, lo que puede ser de gran ayuda para priorizar.

También mejoramos las capacidades de políticas de seguridad de la plataforma Snyk y ofrecimos nuevas formas de dar más o menos prioridad a las vulnerabilidades en toda una organización. Por ejemplo, quizá quieras aumentar la prioridad de las vulnerabilidades relacionadas con la memoria en las aplicaciones que se ejecutan en tu entorno de producción. Con la interfaz de políticas de seguridad de Snyk, puedes definir una política como esta:

  • Cualquier aplicación con el atributo o la etiqueta Production…

  • y con vulnerabilidades que aprovechen CWE 125 (lectura fuera de los límites) o CWE 787 (escritura fuera de los límites)…

  • pasa a tener una gravedad crítica

Formulario de política de seguridad de Snyk para proyectos frontend críticos con problemas de memoria, que aplica severidad crítica a CWE-125 y CWE-787.
Política de seguridad de Snyk para aumentar la criticidad de los proyectos críticos de front-end con vulnerabilidades relacionadas con la memoria.

Y para agregar más información sobre la seguridad de los contenedores, incorporamos la compatibilidad con las versiones más recientes de Alpine, Debian, Ubuntu, la nueva CentOS Stream y otras distribuciones populares de Linux usadas en contenedores, tan pronto como sus responsables las publicaron. También cambiamos la forma de reportar vulnerabilidades para Red Hat Enterprise Linux, Amazon Linux y CentOS Stream, con detalles más específicos sobre cada CVE e información adicional sobre la gravedad según cada distribución.

Qué esperar de Snyk Container en 2022

Como mencionó Daniel en nuestra publicación Repaso de Snyk Open Source en 2021, la cadena de suministro segura cobra cada vez más importancia y visibilidad, y los contenedores son una parte fundamental de esta historia. Cada vez es más importante conocer todos los componentes incluidos en tus propios contenedores, que siguen tus procesos de compilación únicos. Pero también es importante saber qué incluyen las aplicaciones de terceros empaquetadas en contenedores que usas. Es probable que tus contenedores de bases de datos, herramientas de registro, herramientas de búsqueda, balanceadores de carga, gateways y otros estén implementados junto con tus aplicaciones y ofrezcan funciones esenciales. Sin embargo, también pueden contener vulnerabilidades peligrosas. Debes conocerlas y poder implementar nuevas versiones tan pronto como sus responsables las publiquen.

También queremos hacer mucho más para priorizar las vulnerabilidades. Esto incluye nuevas señales que indiquen si un paquete o una vulnerabilidad en particular es más peligroso, además de más inteligencia y políticas escalables que permitan a los desarrolladores filtrar las vulnerabilidades ruidosas que no son realmente relevantes. Al combinar ambos enfoques, tenemos la esperanza de ayudar a los usuarios de Snyk Container a pasar de cientos de vulnerabilidades detectadas en un análisis a unos pocos pasos para resolver las más urgentes, y a quitarles a los equipos de seguridad sobrecargados la carga manual de gestionar vulnerabilidades.

¡Por un 2022 feliz y seguro!

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.