Skip to main content

Divulgación responsable: el impacto de la divulgación de vulnerabilidades en la seguridad del código abierto

Escrito por
Headshot of Asaf Biton

Asaf Biton

7 de abril de 2020

0 minutos de lectura

Es común pensar, equivocadamente, que cuando se encuentra una vulnerabilidad, lo responsable es darla a conocer ampliamente cuanto antes. La realidad es todo lo contrario.

La divulgación responsable de vulnerabilidades es un modelo de divulgación común en el mundo de la ciberseguridad, en el que las vulnerabilidades de día cero se revelan primero de forma privada. Esto les da a quienes mantienen el código y las aplicaciones tiempo suficiente para publicar una corrección o un parche antes de que la vulnerabilidad se haga pública. De lo contrario, pondríamos en riesgo la seguridad de los usuarios finales. Como siempre, la clave está en el equilibrio: el objetivo es reducir tanto el tiempo que la vulnerabilidad permanece en privado como el tiempo que la aplicación sigue siendo vulnerable sin una corrección.

Este modelo existe desde hace años. Es muy común que las empresas de software publiquen un documento con su política de divulgación, que detalla su propio proceso de divulgación responsable y explica qué hacen cuando alguien encuentra una vulnerabilidad en sus aplicaciones. Sin embargo, en el mundo del código abierto, las cosas funcionan de manera un poco diferente.

Los desafíos de seguir un proceso de divulgación responsable

Encontrar una nueva vulnerabilidad es muy emocionante. Es comprensible que los investigadores quieran publicar su trabajo lo antes posible y pasar al siguiente desafío. Sin embargo, con frecuencia este proceso resulta complicado:

  • No siempre existen políticas oficiales de divulgación para los paquetes de código abierto.

  • Incluso cuando hay una política, suele variar de un paquete a otro.

  • El proceso suele ser largo, complicado y con varios pasos.

  • Otros pasos pueden incluir la asignación de un identificador CVE, una tarea bastante tediosa si no se cuenta con una autoridad intermediaria, también conocida como CNA (CVE Numbering Authority).

Estas son algunas de las razones por las que muchos investigadores hoy en día no siguen un proceso de divulgación responsable o coordinada. La alternativa «fácil» es divulgar estas vulnerabilidades públicamente, lo que genera una sensación de urgencia. Las correcciones que se publican en poco tiempo y bajo presión suelen ser incompletas o contener errores, lo que puede dejar la vulnerabilidad sin resolver o abrir nuevas vías de ataque en el paquete.

¿Por qué seguir un proceso adecuado de divulgación de vulnerabilidades?

Seguir un proceso razonable de divulgación permite a quienes mantienen el software clasificar correctamente la vulnerabilidad sin sentir la presión de la urgencia. Después, pueden decidir si asignan o no una corrección y preparar los backports necesarios. Por último, una vez que se publican las nuevas versiones, pueden divulgar la vulnerabilidad de forma segura a sus usuarios. Durante todo este proceso, los detalles de la vulnerabilidad se mantienen privados, lo que evita que se aproveche con fines maliciosos.

Divulgación de vulnerabilidades de código abierto en Snyk

Snyk lanzó su programa de divulgación de vulnerabilidades en 2019 con el objetivo de cerrar esta brecha y ofrecer a los investigadores una manera sencilla de reportar vulnerabilidades, reconociendo, por supuesto, el arduo trabajo de quienes las descubren.

Nuestro equipo de seguridad analiza cuidadosamente todos y cada uno de los informes de vulnerabilidades. Para ello, se requieren conocimientos específicos y comprensión del lenguaje de programación en cuestión, del paquete y de su contexto. Una vez verificados los detalles de la vulnerabilidad, el equipo trabaja codo a codo con quienes mantienen el software para corregirla a tiempo. Por último, como CNA (CVE Numbering Authority), ayudamos a asignar un identificador CVE al problema y a publicar un aviso detallado.

En 2019, ayudamos a divulgar más de 130 vulnerabilidades. Entre las más destacadas están RCE en mongo-express y Escritura arbitraria de archivos en yarn.

¡Hemos colaborado con investigadores independientes, profesionales de seguridad y la comunidad académica! Empezamos 2020 con una gran alianza con el equipo del Security Lab de Johns Hopkins University, al que ayudamos a divulgar más de 50 vulnerabilidades.

El equipo de Johns Hopkins University ideó una nueva manera de automatizar la búsqueda de vulnerabilidades. Juntos, creamos una solución personalizada para ayudar a gestionar una gran cantidad de vulnerabilidades. No te pierdas un próximo artículo en el que profundizaremos en los detalles de este proyecto.

¿Cómo empezar?

La forma recomendada de enviar un informe es usar el formulario específico aquí. También puedes escribirnos a report@snyk.io. Antes de enviar un informe, asegúrate de revisar nuestra política de divulgación de vulnerabilidades.