Si hay una discusión dentro del mundo del software, capaz de rivalizar con el enfrentamiento social que suscita la tortilla de patata con o sin cebolla, es si el software libre (open source) es más o menos seguro que los desarrollos propietarios. Y no es una discusión sencilla, ni en la que sea recomendable adoptar posturas extremas, puesto que al final la realidad se encarga de llevar, a unos y otros, a posiciones un poco más cercanas (ojalá ocurriera lo mismo con la tortilla).
Hoy sabemos, por un amplio e interesante informe publicado por Veracode, que las soluciones open source no son tan seguras como la facción más extrema de sus defensores suele afirmar, si bien las conclusiones de este profundo análisis, dedicado en exclusiva a las soluciones de código abierto, que la mayoría de los problemas detectados son fácilmente identificables y, lo que es más importe y mejor todavía, que sus soluciones son sencillas de encontrar y aplicar. Y, sí, la gran mayoría de los problemas están relacionados con las bibliotecas.
Para realizar esta edición especial de su State of Software Security (SOSS), Veracode comprobó la seguridad de alrededor de 85.000 aplicaciones que, como acumulado, arrojan un total de alrededor de 351.000 bibliotecas. Vista esta circunstancia, tiene todo el sentido del mundo que el análisis se centrara en estos componentes compartidos. Primero, porque proporcionan un extra superficie de ataque que, en muchos casos, no se somete al mismo escrutinio que la parte del código de desarrollo propio. Y segundo, porque detectar un agujero de seguridad en una biblioteca de uso extendido puede resultar mucho más rentable que atacar a la porción de código que se circunscribe a un único desarrollo.
El problema, en realidad y según el estudio, tiene mucho que ver con las dependencias de las dependencias. Es decir, que el desarrollador siempre supervisará su código y, posiblemente, también el de las bibliotecas que, de manera consciente, elija emplear. El problema viene porque, más allá de esos elementos escogidos de manera explícita, se pueden encontrar dependencias adicionales, que sean invocadas por las bibliotecas seleccionadas por el desarrollador.
Así, tras un primer análisis, el estudio encontró que el 70% de las aplicaciones open source analizadas tenían al menos un problema de seguridad relacionado con sus bibliotecas, y que el 47% de las mismas son esas dependencias de dependencias. por lenguajes, los datos más destacables son que más del 61% de las bibliotecas con fallos en Javascript no han sido identificadas mediante un CVE y, por su parte, el uso de cualquier biblioteca PHP dada tiene una probabilidad superior al 50% de traer consigo un agujero de seguridad.
En la parte positiva, como mencionaba al principio, las conclusiones del estudio afirman que los problemas, pese a no estar identificados en muchos casos, se pueden solucionar con actualizaciones de dichos componentes. Y, es más, simplemente actualizando estos componentes, los problemas quedaron solventados en el 74% de los casos.
Así pues, ¿cuál es la conclusión? ¿El software open source es seguro o no es seguro? Un primer vistazo a los números deja, sin duda, un mal sabor de boca, ya que estamos hablando de un volumen desmesurado de amenazas muy extendidas. Por otra parte, las conclusiones apuntan a que las actualizaciones solucionan una gran parte de los problemas. En este caso, el dinamismo en el ciclo de vida del software libre es, a la vez, una ventaja para quienes apliquen una política de actualización constante, y un problema para quienes confíen en la fiabilidad de esos componentes y descuiden su mantenimiento.
La entrada Open Source: ¿realmente es más seguro? es original de MuySeguridad. Seguridad informática.