Cuatro de cada cinco aplicaciones escritas en lenguajes de scripting web populares contienen al menos uno de los riesgos críticos de una referencia de seguridad estándar del sector, según un informe de Veracode.
Los análisis de Veracode muestran que el 86% de las aplicaciones basadas en PHP contienen al menos una vulnerabilidad de tipo cross-site scripting (XSS) y el 56% tiene al menos una vulnerabilidad de tipo SQL injection (SQLi).
XSS y SQLi se encuentran entre los 10 riesgos de seguridad de aplicaciones web más críticos identificados por el Proyecto de Seguridad de Aplicaciones Web Abiertas (Owasp).
Los resultados aumentan la preocupación por las posibles vulnerabilidades de seguridad en millones de sitios web, según el Suplemento del informe sobre el estado de la seguridad del software 2015 de Veracode.
Según la empresa de análisis de código, la magnitud del riesgo se pone de manifiesto en el volumen de aplicaciones PHP desarrolladas para los tres principales sistemas de gestión de contenidos (CMS) – WordPress, Drupal y Joomla – que representan más del 70% del mercado de los CMS.
Estas tendencias de vulnerabilidad también se observan en toda la familia de lenguajes de programación web, donde las aplicaciones escritas en ASP clásico y ColdFusion tienen casi el doble de probabilidades de contener estos fallos en comparación con lenguajes más modernos como .NET y Java.
La plataforma basada en la nube de Veracode ha evaluado más de un billón de líneas de código en busca de vulnerabilidades críticas que puedan conducir a violaciones a gran escala.
El informe de 2015 captura los datos recogidos durante los últimos 18 meses de más de 200.000 evaluaciones automatizadas realizadas para los clientes de Veracode a través de una gama de industrias y geografías.
A medida que las empresas cambian a la entrega continua y a otras innovaciones de DevOps, aumenta la presión para producir un software más seguro y más rápido. Sin embargo, según el Instituto Sans, menos del 26% de las organizaciones tienen programas obligatorios y continuos de formación en codificación segura.
Organizado por tipo de lenguaje de programación, el suplemento de Veracode del Informe sobre el Estado de la Seguridad del Software 2015 tiene como objetivo ayudar a las organizaciones a planificar el desarrollo de aplicaciones, así como a priorizar las actividades de evaluación y corrección.
El lenguaje de script web cambia la seguridad
El informe complementario constata que el diseño de un lenguaje es importante cuando se trata de la seguridad.
El informe señala que algunos lenguajes están diseñados desde el principio para evitar ciertas clases de vulnerabilidad. Por ejemplo, al eliminar la necesidad de que los desarrolladores asignen memoria directamente, Java y .NET eliminan casi por completo las vulnerabilidades relacionadas con la asignación de memoria (como los desbordamientos de búfer). Del mismo modo, los comportamientos por defecto de algunos controles de ASP.NET evitan problemas comunes relacionados con el cross-site scripting.
El informe complementario constató que el entorno operativo del lenguaje también es importante para la seguridad.
Algunas vulnerabilidades sólo son relevantes en determinados entornos de ejecución. Por ejemplo, algunas categorías de fuga de información son más agudas en el entorno móvil, que combina grandes volúmenes de datos personales con una plétora de capacidades de red siempre activas.
Encriptación móvil
Otro hallazgo clave del informe complementario es que los equipos de proyectos de desarrollo móvil deben centrarse en el cifrado.
El análisis de Veracode descubrió que el 87% de las aplicaciones de Android y el 80% de las de iOS contenían problemas de criptografía. Según el informe, esto sugiere que, aunque los desarrolladores de aplicaciones móviles pueden ser conscientes de la necesidad de la criptografía para proteger los datos sensibles y, por tanto, la utilizan en sus aplicaciones, pocos de ellos saben cómo implementarla correctamente. El informe señala que esto es especialmente preocupante, dada la rápida adopción de aplicaciones móviles en el sector sanitario.
«Cuando las organizaciones inician nuevos proyectos de desarrollo y seleccionan lenguajes y metodologías, el equipo de seguridad tiene la oportunidad de anticiparse a los tipos de vulnerabilidades que probablemente surjan y a la mejor manera de evaluarlas», dijo Chris Wysopal, director de seguridad de la información y director de tecnología de Veracode.
«Los datos de este informe pueden servir de base para tomar decisiones sobre la selección del lenguaje, la formación de los desarrolladores y las técnicas de evaluación que deben utilizarse para que el inevitable proceso de corrección sea menos oneroso», añadió.
Veracode dijo que los datos también indican que la formación de los desarrolladores a través de servicios de aprendizaje electrónico tiene un gran impacto en la reducción del riesgo de la capa de aplicación.