88% de aplicaciones Java, susceptibles de sufrir ataques generalizados
Menos del 28% de organizaciones llevan a cabo control activo de componentes que podrían conducir a brechas de seguridad.
Veracode, compañía adquirida por CA Technologies y líder en seguridad del software, ha dado a conocer las conclusiones de su informe “2017 State of Software Security Report”, un amplio estudio de los datos de pruebas de seguridad de aplicaciones derivados de los escaneos realizados por CA Veracode entre sus más de 1.400 clientes.
Entre otras tendencias del mercado, tales como el índice de resolución de vulnerabilidades o el porcentaje de aplicaciones con vulnerabilidades, el estudio desvela el riesgo que suponen los componentes de código abierto con vulnerabilidades. El estudio de CA Veracode muestra que un 88% de las aplicaciones Java contiene al menos un componente vulnerable que lo hace susceptible de sufrir un ataque generalizado. Esto se debe en parte a que menos del 28% de las compañías realizan regularmente un análisis de composición para conocer qué componentes forman parte de sus aplicaciones.
“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”, señala Chris Wysopal, CTO, CA Veracode.
En los últimos 12 meses se han registrado numerosas brechas en aplicaciones Java causadas por vulnerabilidades generalizadas de componentes de código abierto o comerciales. Un ejemplo de vulnerabilidad de un componente ampliamente usado fue el denominado “Struts-Shock” en marzo de 2017. De acuerdo con 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 por sus siglas en inglés) 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, en especial las de la Agencia Tributaria de Canadá o la Universidad de Delaware.
El estudio de CA 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. A día de hoy, 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.
Según Wysopal “los equipos de desarrollo no van a dejar de usar componentes, ni tampoco deberían hacerlo. Pero cuando un exploit se hace disponible, el tiempo es oro. Los componentes de código abierto y de terceros no son necesariamente menos seguros que el código desarrollado internamente, pero es importante mantener un inventario actualizado de las versiones que se utilizan de cada componente. Hemos visto ya bastantes brechas como resultado de componentes vulnerables, de modo que a no ser que las compañías empiecen a tomar en serio esta amenaza y utilicen herramientas para controlar el uso de componentes, pienso que el problema se intensificará”.
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 (sólo el 22% de los defectos de alta gravedad se parchearon en 30 días o menos) y la mayoría de los atacantes aprovechan las vulnerabilidades a los pocos días de su descubrimiento, por lo que hay mucho margen de tiempo para potencialmente infiltrarse en una red empresarial.
Además de la información sobre las amenazas que supone el uso de componentes vulnerables, el estudio de CA Veracode extrajo otras conclusiones:
• Las vulnerabilidades continúan creciendo a un ritmo alarmante en software no probado previamente. En un escaneo inicial, el 77% de las aplicaciones tiene al menos una vulnerabilidad.
• Los organismos oficiales tienen un rendimiento inferior que otros sectores. No solo muestran un índice de aprobado del 24,7% en el último escaneo, sino que mantienen el nivel más alto de prevalencia de vulnerabilidades altamente explotables, tales como “cross-site-scripting” (49%) e inyección SQL (32%).
• Comparativamente, entre el primer y el último escaneo, la infraestructura crítica tiene el índice de aprobado OWASP más fuerte (29,8%) de todos los sectores analizados, pese a que experimentaron una ligera disminución (29,3%) respecto al último escaneo. Dos de los sectores que obtuvieron pequeñas mejoras entre el primer y el último escaneo son el sector sanidad (27,6% frente al 30,2%), así como comercio y hostelería (26,2% frente al 28,5%).