Aunque los fallos de seguridad afectan a aplicaciones escritas con cualquier lenguaje de programación, un informe titulado “State of Software Security” que acaba de publicar Veracode concluye que las apps creadas con ciertas tecnologías son más propensas a sufrir vulnerabilidades que el resto.
El problema radica en que algunos lenguajes como C/C++ “no son type safe“, según comenta Chris Eng, vicepresidente de investigación de Veracode. El término “Type safe significa que es el lenguaje en sí mismo, en vez del programador, el que comprueba si un objeto de datos es un entero o una cadena, además de la cantidad de espacio necesario para almacenar el objeto. Si no hay suficiente espacio de almacenamiento, acabarás sufriendo un problema de desbordamiento”.
“En C/C++, el programador tiene que llevar un registro del tipo y el espacio sin la ayuda del lenguaje o del compilador, lo que da lugar a errores en el software”, continúa explicando Eng. Por su parte, “lenguajes como .Net sí son type safe, por lo que el desarrollador obtiene una ocurrencia mucho más baja de fallos por desbordamiento”.
Traducido a porcentajes y en base a los resultados de la investigación realizada por Veracode, sólo el 1% de las aplicaciones .NET se ven afectadas por este tipo de complicaciones. Sin embargo, el número asciende hasta el 48% en C/C++ para las primeras versiones de las aplicaciones.
En el caso de las vulnerabilidades por inyección de código SQL, las cifras se sitúan en el 31% de las aplicaciones Java, en el 27% de las aplicaciones PHP y en el 72% de las aplicaciones ColdFusion.
¿Para qué sirve toda esta información? Para estar más alerta. “Las organizaciones pueden estimar el impacto de implementar o modificar las políticas de seguridad de sus aplicaciones” y prevenir quebraderos de cabeza. “Tomemos como ejemplo la situación de un equipo de seguridad que redacta una política encaminada a eliminar fallos de inyección SQL y un equipo de desarrollo que escribe su aplicación en Java”, propone Veracode. “Los porcentajes nos dicen que hay una posibilidad del 31% de que la aplicación tenga un fallo de inyección SQL. Y los datos de prevalencia de vulnerabilidad dicen que si la aplicación tiene inyección SQL, lo más probable es que sólo el 3% de las vulnerabilidades encontradas sean de ese tipo”.
“La principal preocupación de las organizaciones de desarrollo es la creación de software que cumpla con el calendario de plazos fijado”, señala el directivo, como uno de los grandes problemas. “Éstas no se centran en metas de seguridad, sino que sus prioridades están atadas al tiempo de comercialización, lo que significa que las preocupaciones de seguridad suelen ser recortadas”.
Realizar pruebas de estabilidad internas en los propios equipos de desarrollo y tener un plan de acción más sencillo que permita crear e implementar soluciones son dos mecanismos que podrían ayudar a reducir el riesgo.
Igual que en otras industrias, los servicios financieros están inmersos en una época de transformación…
Según los informes de Ookla del primer semestre de 2024, los servicios de internet y…
ESET analiza a qué riesgos se exponen niños en Snapchat, comparte consejos para garantizar su…
A través de este convenio, Zoho desarrollará Modelos de Lenguaje Extenso (LLMs) con las herramientas…
La inteligencia artificial sigue tomando el mando de los procesos en general. Aunque no es…
Por Gastón Gorosterrazu, creador de Aptugo, herramienta de desarrollo visual inteligente