viernes, 6 de noviembre de 2009

Un software que tiene como objetivo arreglar los programas defectuosos sin tener que cerrarlos

Martin 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.
ClearView es particularmente efectivo cuando se instala en un grupo de máquinas que ejecuten el mismo software. En ese caso, ClearView aprende de los errores de una máquina y lo usa para arreglar todas las otras máquinas. Debido a que no necesita acceder el código fuente, Rinard afirma que ClearView podría utilizarse para arreglar programas sin necesidad de cooperar con la compañía que lo creó, o para reparar programas que ya no posean servicios de mantenimiento. Espera que el sistema pueda alargar la vida a las versiones de software más antiguas, creadas por compañías que ya han cerrado sus puertas, además de proteger a los programas actuales.
Para poner a prueba el sistema, los investigadores instalaron ClearView en un grupo de ordenadores con FireFox y contrataron a un equipo independiente para atacar a dicho navegador. El equipo hostil utilizó 10 métodos de ataque distintos, y cada uno de los cuales consistía en introducir código malicioso en Firefox. ClearView bloqueó con éxito todos los ataques mediante la detección del comportamiento erróneo y cerró la aplicación antes de que el ataque hubiese podido lograr el efecto deseado. La primera vez que ClearView encuentra una situación como ésta cierra el programa y empieza a analizar la binaria, a la búsqueda de un parche que hubiese podido detener el error.

Fuente: http://www.technologyreview.com/es/read_article.aspx?id=839

No hay comentarios:

Publicar un comentario