Snyc publicó hace unos días su informe [PDF] sobre el estado de la seguridad en torno al Open Source, mostrando unos datos que pueden resultar muy interesantes de cara a personas interesadas en vincularse a algún desarrollo que sigue ese concepto del software.
Bajo el nombre de The State of Open Source Security[PDF], el informe consta de tres apartados: El panorama del Open Source, el ciclo de vida de una vulnerabilidad hallada en un software Open Source y el futuro del Open Source. Para realizarlo Snyk ha contado con una encuesta a la que han respondido 500 mantenedores y usuarios de código abierto, utilizado sus datos internos basados en más de 40.000 proyectos, tomado información publicada por Red Hat y reunido datos tras escanear millones de repositorios GitHub, paquetes y registros.
El informe muestra el gran empuje que tiene el Open Source, ya que entre el 80 y el 90% de los desarrolladores de software comercial utilizan componentes de código abierto en sus aplicaciones. Por otro lado, se ha detectado un notable aumento en la cantidad de componentes disponibles para tecnologías Open Source destinadas a la creación de aplicaciones entre el 1 de octubre de 2016 y el 1 de octubre de 2017, como las Ruygems de Ruby, bibliotecas de Python, artefactos de Maven, el incremento en la cantidad de paquetes npm disponibles y la disponibilidad de 900.000 aplicaciones en Docker Hub, habiendo sumado 440.000 en ese periodo. Este aumento en la cantidad de software disponible no responde a un ataque de romanticismo, sino a una demanda creciente.
Snyk ha tomado trabajos de otros para hacer su informe, como por ejemplo la encuesta realizada por GitHubsobre la situación del Open Source. Aquí ha destacado un 13% audita su código al menos una vez al año, un 11% al menos lo hace trimestralmente, un 43% respondió que nunca y un 31% una o dos veces. Un 16,8% de los mantenedores respondió que los conocimientos sobre seguridad tendrían que ser altos.
La cantidad de vulnerabilidades publicadas halladas en bibliotecas utilizadas en aplicaciones aumentó un 53,6%, contrastando esto con la disminución del 65% visto en Red Hat Enterprise Linux (RHEL) desde 2012. Pero si hay una tecnología que se ha visto afectada por las vulnerabilidades críticas descubiertas en los últimos tiempos ha sido Java, registrando un aumento considerable desde 2015.
Snyk ha cubierto el “ciclo de vida de una vulnerabilidad hallada en un software Open Source”, que abarca desde el descubrimiento de la vulnerabilidad hasta su solución. Sobre el primer paso se pueden destacar los siguientes datos:
- La mediana de tiempo que pasa desde la introducción de la vulnerabilidad hasta su descubrimiento es 2,89 años.
- El 75% de las vulnerabilidades no son descubiertas por el propio mantenedor del código.
- El 79,5% de los mantenedores no tenían una política de divulgación pública de las vulnerabilidades.
- El 21% de los mantenedores que no tienen una política de divulgación pública han sido notificados de forma privada sobre alguna vulnerabilidad.El 73% de los mantenedores que tienen una política de divulgación pública han sido notificados de forma privada sobre alguna vulnerabilidad.
- El tiempo máximo que ha llegado a pasar desde la inclusión de una vulnerabilidad hasta su descubrimiento fue de 5,9 años.
- El tiempo mínimo que ha llegado a pasar desde la inclusión de una vulnerabilidad hasta su descubrimiento fue de cero días.
- El tiempo medio que ha llegado a pasar desde la inclusión de una vulnerabilidad hasta su descubrimiento ha sido de 2,5 años.
Sobre el tiempo necesario para corregir una vulnerabilidad descubierta, Snyk ha extraído los siguientes datos:
- La cantidad de tiempo máxima que ha pasado desde el descubrimiento de la vulnerabilidad hasta la publicación de la corrección fue de 94 días.
- La cantidad de tiempo mínimo que ha pasado desde el descubrimiento de la vulnerabilidad hasta la publicación de la corrección fue de cero días.
- La mediana de tiempo que ha pasado desde el descubrimiento de la vulnerabilidad hasta la publicación de la corrección fue de 16 días.
Estos son los datos extraídos en lo que respecta a los medios humanos para hacer frente a esas situaciones:
- El 34% de los mantenedores han dicho que podrían responder a un problema de seguridad en un día si lo estudian bien, mientras que el 60% respondió que necesitaría una semana.
- El 2016, el 69% de las vulnerabilidades halladas en RHEL fueron corregidas en un día y el 90% en 14 días tras su publicación.
- El 86% de las vulnerabilidades halladas en bibliotecas de aplicaciones registradas en la base de datos de Snyk tiene una corrección disponible.
- Solo el 16,1% de las correcciones para vulnerabilidades halladas en bibliotecas de aplicaciones fueron portados hacia atrás a otras versiones.
Sobre el cómo informan los mantenedores de software a sus usuarios Snyk ha extraído los siguientes datos. Debido a que muchos encuestados han respondido varias cosas, el porcentaje supera el 100%:
- El 88% informa mediante las notas de lanzamiento.
- El 34% terminaron marcando la versión del software con la vulnerabilidad como obsoleta.
- El 10% envió un CVE.
- El 3% informa a través de servicios como Snyk o RubySec.
- El 25% no informa de ninguna manera.
No todos son desarrolladores y mantenedores en el software Open Source, ya que los usuarios también tienen mucho que decir aquí. A la hora de actualizar las dependencias que utilizan, esto fue lo que respondieron:
- El 47% hace ocasionalmente un barrido sobre las versiones del software que está utilizando.
- El 42% utiliza herramientas que les alertan sobre dependencias vulnerables.
- El 37% utiliza herramientas para actualizar a nuevas versiones de las dependencias.
- El 16% no actualiza.
- El 9% actualiza cuando lo oyen o bien alguien le señala sobre alguna necesidad.
Un aspecto que deben cuidar los mantenedores y desarrolladores de software Open Source es la reputación de sus productos y servicios, y sobre todo cuando se trata de evitar la vulnerabilidades. El número de descargas de la biblioteca de Python requests bajó casi 80% en 14 meses tras descubrirse en ella una vulnerabilidad que terminó siendo demoledora para su reputación.
Las conclusiones de Snyk en torno a su propio informe son claras, destacando la gran popularidad del concepto del Open Source, mostrando una clara expansión que no pinta que vaya a detenerse en los próximos años, aunque por otro lado ha recalcado que todavía hay que hacer esfuerzos para concienciar sobre los riegos de no utilizarlo ni gestionarlo correctamente.