El proyecto CCured, desarrollado en la universidad de Berkeley, se basa en la traducción automática de un código fuente en lenguaje C en otra versión del programa que contiene las comprobaciones de seguridad necesarias para evitar los desbordamientos de búfer. Ese segundo programa será el que se compile para obtener el producto final.
Dado que la traducción es automática, el coste de implantar esta tecnología es muy bajo. A nivel de rendimiento, la sobrecarga que suponen las comprobaciones adicionales disminuye el rendimiento del software entre un 10 por ciento y un 60 por ciento, dependiendo de la aplicación concreta. Adicionalmente, el programador puede alterar el código original para facilitar el trabajo a CCured y mejorar el rendimiento.
Existen proyectos similares desde hace tiempo, como la comprobación del tamaño de las matrices en el compilador GCC, pero éste parece ser el primer intento serio, sistemático y multiplataforma por reducir el problema genérico de desbordamiento de búfer. CCured, en realidad, protege contra otros usos incorrectos de punteros, como intentar acceder a través de un “NULL”, usar punteros para acceder a objetos incompatibles, etc.
Lamentablemente estos problemas de seguridad son inherentes al diseño del lenguaje C. Considerando que existen otros lenguajes bastante difundidos, más productivos e igualmente eficientes para el desarrollo de aplicaciones informáticas, el problema -en última instancia- es cultural y de inercia tecnológica.
En cualquier caso, proyectos como CCured son muy interesantes, por ejemplo, para proteger la gran cantidad de código C actualmente en uso en el mundo de la informática.
Cisco comparte una lista con los cinco fenómenos tecnológicos que prevé que marcarán el rumbo…
Los profesionales de tecnología de la información, telecomunicaciones y comercio electrónico reciben un salario de…
Ha reunido a directivos de diferentes sectores en Madrid para presentar esta herramienta basada en…
Pensada para potenciar las estrategias de marketing con inteligencia artificial, incluye herramientas como ad-machina, Gauss…
Jetson Orin Nano Super Developer Kit proporciona una plataforma potente para entrenar y perfeccionar herramientas…
Esta popularización de la inteligencia artificial pone en valor la parte humana de fases posteriores,…