Menos del 28% de las compañías realizan regularmente un análisis para conocer qué componentes forman parte de sus aplicaciones, y esto conlleva consecuencias. Veracode, compañía de ciberseguridad adquirida por CA Technologies, ha publicado un informe sobre el estado de la seguridad del software en 2017 (“2017 State of Software Security Report”) , en el que se destaca que el 88% de las aplicaciones Java, casi 9 de cada 10, contiene al menos un componente vulnerable que lo hace susceptible de sufrir un ataque generalizado.
El estudio asegura que esto se debe a ese reducido porcentaje de organizaciones que realizan esos análisis de comprobación. El informe está elaborado con los datos de pruebas de seguridad de aplicaciones, obtenido a través de los escaneos realizados por el software de la compañía entre 1.400 empresas. Desde Veracode apuntan que «el uso universal de componentes en el desarrollo de aplicaciones conlleva que cuando se descubre una vulnerabilidad en un componente, dicha vulnerabilidad tiene el potencial de impactar en miles de aplicaciones, haciendo que sean vulnerables con un único exploit«.
Solo en el último año se han registrado numerosas brechas en aplicaciones Java causadas por vulnerabilidades generalizadas de componentes de código abierto o comerciales. La empresa de software pone como ejemplo la vulnerabilidad de un componente muy popular, “Struts-Shock” en marzo de 2017. Según el análisis, el 68% de las aplicaciones Java que utilizan la librería Apache Struts 2 estaban usando una versión vulnerable del componente durante las semanas siguientes a los ataques iniciales. Esta vulnerabilidad crítica de la librería Apache Struts 2 permitió ataques de ejecución de código remoto (RCE) mediante la inyección de comandos, a los que eran vulnerables un total de 35 millones de sitios. Utilizando esta vulnerabilidad, los cibercriminales pudieron explotar una amplia gama de aplicaciones de las organizaciones atacadas.
El estudio de Veracode muestra también que el 53,3% de las aplicaciones Java están basadas en una versión vulnerable de componentes de las Commons Collections. Preocupante porque el número de aplicaciones que utilizan versiones vulnerables es el mismo que había en 2016. «El uso de componentes en el desarrollo de aplicaciones es práctica común ya que permite a los desarrolladores reutilizar código funcional y acelerar así la entrega de software. Según algunos estudios, hasta el 75% del código de una aplicación típica está formado por componentes de código abierto», explican.
La compañía advierte de que «el uso de componentes vulnerables es una de las tendencias más preocupantes en cuanto a seguridad de las aplicaciones analizadas en el estudio. Por ejemplo, según los datos del estudio, mientras que muchas organizaciones dan prioridad a solventar las vulnerabilidades más peligrosas, algunas aún tienen dificultades para remediar eficientemente los problemas de software. Incluso los defectos más graves requieren mucho tiempo para ser resueltos».Y es que solamente el 22% de los defectos de alta gravedad se parchearon en 30 días o menos. Por eso, la mayoría de los atacantes aprovechan las vulnerabilidades a los pocos días de encontrarlos, lo que da un margen muy grande para atacar.