Según un análisis de más de 200.000 aplicaciones, PHP es el lenguaje de programación con más vulnerabilidades, las aplicaciones móviles sufren problemas de criptografía y los desarrolladores son más propensos a corregir los errores encontrados con el análisis estático en lugar de dinámico.
El informe, de la empresa de seguridad con sede en Boston, Veracode, se ha publicado esta mañana y se basa en la evaluación de Veracode de más de un billón de líneas de código para clientes de empresas grandes y pequeñas, proveedores de software comercial y proyectos de código abierto.
En general, los lenguajes de scripts como PHP tenían una incidencia mucho mayor de vulnerabilidades que Java o .NET, dijo Chris Wysopal, CTO de Veracode y CISO.
«Si tienes elección, no elijas un lenguaje como PHP», dijo. «Desafortunadamente, los desarrolladores no escogen los lenguajes en base a lo seguros que son».
En particular, PHP se usa comúnmente para aplicaciones Web escritas para trabajar con sistemas de gestión de contenidos como WordPress, Joomla y Drupal. Estas tres plataformas representan más del 30 por ciento de todos los sitios web, según W3Techs.
«Si yo dirigía un equipo de desarrollo y me quedaba atascado con PHP – la decisión se tomó en algún momento, y tuvimos que usarlo – sería más importante para mis desarrolladores recibir capacitación en seguridad y buscar vulnerabilidades en las pruebas»
Por ejemplo, los lenguajes de scripting tienen una menor tasa de aprobación cuando se trata de la lista de las 10 principales vulnerabilidades de aplicaciones web de la OWASP. Las aplicaciones de ColdFusion, en promedio, tuvieron sólo un 17 por ciento de aprobación, poniéndolas al final de la lista. PHP llegó al 19 por ciento, y Classic ASP al 21 por ciento.
En comparación, el 27 por ciento de las aplicaciones .NET pasaron OWASP, al igual que el 24 por ciento de las aplicaciones Java.
La vulnerabilidad más común para cada uno de los tres principales lenguajes de scripts fue la de los sitios cruzados, con un 86 por ciento de todas las aplicaciones PHP siendo vulnerables, 87 por ciento de las aplicaciones ColdFusion y 83 por ciento de Classic ASP.
Las inyecciones SQL también fueron comunes, con el 62 por ciento de las aplicaciones ColdFusion teniendo esta vulnerabilidad, el 56 por ciento de las aplicaciones PHP y el 64 por ciento de las aplicaciones ASP clásicas.
Según Veracode, hay menos API de seguridad incorporadas en ASP clásico, PHP y ColdFusion en comparación con .NET y Java. Esto significa, por ejemplo, que es más difícil escribir código que esté a salvo de las inyecciones SQL.