Publica: Administrador · Fuente: technologyreviewMartin Rinard, profesor de ciencias informáticas en MIT, no tiene reparo a la hora de proclamar el objetivo final de la investigación de su grupo: “crear un programa inmortal e invulnerable.” En un trabajo presentado este mes durante el ACM Symposium on Operating Systems Principles, en Big Sky, Montana, su grupo ha desarrollado un software capaz de encontrar y arreglar ciertos tipos de errores de software en cuestión de minutos.
Cuando se descubre una vulnerabilidad potencialmente dañina en un programa de software, los ingenieros suelen tardar alrededor de un mes antes de encontrar la solución y hacerla llegar a los sistemas afectados, según un informe elaborado por la compañía de seguridad Symantec en 2006. El grupo de Richard espera que su nuevo software, llamado ClearView, pueda acelerar este proceso, haciendo que el software sea significativamente más resistente ante los fallos o ataques.
ClearView funciona sin necesidad de asistencia humana y sin acceso al código fuente que sustenta los programas (una serie de instrucciones, a menudo propiedad de la compañía en cuestión, y que define cómo se comporta un programa de forma específica). En vez de eso, el sistema hace un seguimiento del comportamiento de una binaria: la forma que toma el programa para ejecutar las instrucciones en el hardware de un ordenador.
Mediante la observación del comportamiento normal del programa y la asignación de una serie de reglas, ClearView detecta ciertos tipos de errores, particularmente aquellos originados cuando un atacante inyecta datos maliciosos en un programa. Cuando algo empieza a ir mal, ClearView detecta la anomalía e identifica las reglas que han sido violadas. Después crea una serie de parches potenciales diseñados para obligar al software a seguir las reglas que han sido violadas. (Los parches se aplican directamente a la binaria, pasando por encima del código fuente.) ClearView analiza estas posibilidades para decidir cuáles son las que tienen más probabilidades de funcionar, después instala las mejores candidatas y pone a prueba su efectividad. Si se violan más reglas, o si un parche hace que el sistema se cuelgue, ClearView lo rechaza y prueba con otro distinto.