Skip to main content

El 81% cree que los desarrolladores deberían encargarse de la seguridad, pero no cuentan con las herramientas necesarias

Escrito por
the state op open source small

26 de febrero de 2019

0 minutos de lectura

Te damos la bienvenida al informe anual de Snyk sobre el estado de la seguridad del código abierto de 2019. Este informe se divide en varias publicaciones:

También puedes descargar nuestro excelente informe en PDF, elaborado con dedicación, que reúne toda esta información y mucho más en un solo lugar.

Descarga el informe sobre el estado de la seguridad del código abierto de 2019

Quién se encarga de la seguridad del código abierto

Nos propusimos averiguar quién es responsable en la práctica de la seguridad de una aplicación o biblioteca hoy en día, así como quiénes creen los usuarios que debería asumir esa responsabilidad.

Según el 81% de los encuestados, los desarrolladores deberían encargarse de la seguridad del código de sus aplicaciones. Esto transmite un mensaje contundente sobre el nivel de participación e implicación que se espera de ellos y respalda el sólido movimiento DevSecOps que muchos están adoptando hoy.

Gráfico de barras titulado “¿Quién es responsable de la seguridad?”, que muestra a los desarrolladores con un 81 %, al equipo de seguridad con un 28 %, a operaciones con un 23 %, a nadie con un 12 % y a otros con un 3 %.

Una forma eficaz de integrar la seguridad en el SDLC es incorporarla a todo el ciclo de vida del desarrollo, desde el diseño hasta la producción. Esto difiere considerablemente de la fase puntual de pruebas de seguridad más tradicional, que se realiza de manera periódica y no se adapta al modelo moderno de entrega de software acelerada. Sin embargo, los procesos y las pautas quizá no sean suficientes. La capacitación, las herramientas fáciles de usar y la colaboración con los equipos de I+D y las partes interesadas son igual de importantes para que una organización adopte prácticas de seguridad de forma eficaz.

Detección de vulnerabilidades

Revisar correctamente el código propio para detectar posibles vulnerabilidades de seguridad requiere muchos conocimientos, experiencia y buen ojo. Como no es una tarea sencilla, si es que se lleva a cabo, el código vulnerable podría permanecer oculto durante mucho tiempo hasta que alguien lo detecte.

El 37% de los usuarios no realiza ningún tipo de prueba de seguridad durante la integración continua (CI)

A los equipos que practican DevOps o tienen un proceso de CI/CD maduro quizá les resulte más fácil incorporar pruebas de seguridad a la automatización de compilaciones. Sin embargo, descubrimos que casi el 40% de los usuarios no realiza ningún tipo de prueba de seguridad durante sus ejecuciones de CI. Lo alentador es que más de la mitad de ellos al menos busca vulnerabilidades en sus dependencias de código abierto.

Otro hallazgo de nuestra investigación es que los equipos que incorporan la seguridad a su trabajo también obtienen mejores resultados en la entrega continua. Un elemento clave es que los equipos de seguridad de la información pongan a disposición de los desarrolladores y de operaciones de TI bibliotecas, paquetes, cadenas de herramientas y procesos fáciles de usar y aprobados previamente.

Nicole Forsgren, Accelerate

Gráfico de barras titulado “Pruebas de seguridad durante la integración continua” que muestra pruebas de dependencias de código abierto en 57%, pruebas automatizadas en 37%, código fuente en 36% y contenedores en

Cómo enterarse de las vulnerabilidades

Desde la perspectiva de los usuarios, es interesante saber cómo se enteran de las vulnerabilidades en las dependencias de sus aplicaciones para responder a las posibles amenazas a medida que se descubren.

Un preocupante 27% de los encuestados afirmó que no cuenta con ningún método proactivo ni automático para enterarse de las vulnerabilidades recién descubiertas en sus aplicaciones. Solo el 36% de los usuarios confirmó que utiliza una herramienta de administración o análisis de dependencias para detectar vulnerabilidades.

Gráfico de dona que muestra cómo los desarrolladores detectan vulnerabilidades: el 36 % usa herramientas de análisis de dependencias, el 27 % probablemente no las detectaría y el resto eligió otras respuestas.

Estadísticas de Snyk

  • Solo en la segunda mitad de 2018, Snyk abrió más de 70.000 Pull Requests para sus usuarios en los ecosistemas de Maven, RubyGems y npm con el fin de corregir vulnerabilidades en sus proyectos.

  • De todas las dependencias de un proyecto Java analizado, Snyk proporcionó una ruta de corrección para las vulnerabilidades detectadas en el 60% de ellas. No siempre es posible definir rutas de corrección cuando no hay compatibilidad entre una dependencia directa y una versión corregida de una dependencia indirecta. El equipo de seguridad de Snyk puede proporcionar parches personalizados para resolver algunos de estos casos.

Cuánto tardan en adoptarse las correcciones de seguridad

¿Cuánto tardan los usuarios en adoptar nuevas versiones que corrigen vulnerabilidades conocidas? Tomamos como ejemplo el registro PyPI de Python y su paquete websockets para ver cuánto tiempo seguían utilizándose versiones vulnerables populares después de que se publicara una corrección.

El proyecto websockets es un paquete bastante popular y bien mantenido, que existe desde 2013 y publica versiones con regularidad hasta la actualidad.

En agosto de 2018 se divulgó a la comunidad una vulnerabilidad de denegación de servicio que afectaba a las versiones 4.0 y 4.0.1 del paquete. En el momento de la divulgación, ya había versiones más recientes en el registro que incluían la corrección de seguridad. Sin embargo, al revisar las cifras de descargas de las versiones vulnerables, se observa que muchos usuarios siguieron descargándolas durante mucho tiempo.

En diciembre de 2018 todavía registrábamos 11.000 descargas del paquete websockets con la vulnerabilidad, aunque ya había una versión corregida disponible como actualización principal: websockets versión 5.0.

Gráfico de líneas que muestra la caída de las descargas del paquete vulnerable websockets de PyPI, de 30.000 en agosto a 11.000 en diciembre de 2018.

 Sigue leyendo:

Empieza con los desafíos de Capture the Flag

Aprende a resolver desafíos de captura la bandera con nuestro taller virtual introductorio a pedido.