Los investigadores del MIT han creado un nuevo algoritmo para hacer frente a uno de los errores más comunes en la programación: desbordamientos de enteros. Según los investigadores, estos errores no sólo puede hacer que los programas de ordenador se bloquee, sino también hacerlos vulnerables a los ataques.
"Errores de desbordamiento de enteros son una fuente insidiosa de fallos de software y vulnerabilidades de seguridad", escribieron. "Dado que los programas con errores de desbordamiento latentes menudo procesan entradas típicas correctamente, este tipo de errores pueden escapar fácilmente la detección durante la prueba, sólo para aparecer más tarde en la producción."
Para resolver este problema, el MIT Ciencias de la Computación e Inteligencia Artificial de laboratorio (CSAIL), los investigadores han desarrollado un desbordamiento de enteros Descubrimiento Motor Directed (diodo) para detectar automáticamente los errores de desbordamiento de enteros. El algoritmo fue probado en cinco programas de código abierto comunes con tres errores conocidos, y DIODE encontró los tres errores, junto con 11 nuevos.
"DIODO está diseñado para identificar comprobaciones de sanidad pertinentes que los insumos deben satisfacer para desencadenar desbordamientos en los sitios de ubicación de memoria de destino, a continuación, generar insumos que satisfagan estas comprobaciones de sanidad para disparar con éxito el desbordamiento", escribieron los investigadores.
Un desbordamiento de entero en sí no se colgará un programa de ordenador, según los investigadores. Pero cuando un programa intenta utilizar un número entero de que ha desbordado, se puede producir un problema.
"Es como un odómetro auto", dijo Stelios Sidiroglou-Douskos, científico investigador en CSAIL y uno de los autores del trabajo. "Tú te vas por un cierto número de millas, usted vuelve a cero."
Además de DIODE, los investigadores han desarrollado CodePhage, un sistema de transferencia automática de código que elimina errores de desbordamiento de enteros una vez DIODO los encuentra.
"La combinación de CodePhage con DIODE produce un sistema que detecta automáticamente y elimina errores de desbordamiento de enteros: DIODO genera entradas que exponen los errores; CodePhage utiliza estas entradas para localizar y transferir el código de las aplicaciones de donantes para eliminar los errores ", escribieron los investigadores.
"Errores de desbordamiento de enteros son una fuente insidiosa de fallos de software y vulnerabilidades de seguridad", escribieron. "Dado que los programas con errores de desbordamiento latentes menudo procesan entradas típicas correctamente, este tipo de errores pueden escapar fácilmente la detección durante la prueba, sólo para aparecer más tarde en la producción."
Para resolver este problema, el MIT Ciencias de la Computación e Inteligencia Artificial de laboratorio (CSAIL), los investigadores han desarrollado un desbordamiento de enteros Descubrimiento Motor Directed (diodo) para detectar automáticamente los errores de desbordamiento de enteros. El algoritmo fue probado en cinco programas de código abierto comunes con tres errores conocidos, y DIODE encontró los tres errores, junto con 11 nuevos.
"DIODO está diseñado para identificar comprobaciones de sanidad pertinentes que los insumos deben satisfacer para desencadenar desbordamientos en los sitios de ubicación de memoria de destino, a continuación, generar insumos que satisfagan estas comprobaciones de sanidad para disparar con éxito el desbordamiento", escribieron los investigadores.
Un desbordamiento de entero en sí no se colgará un programa de ordenador, según los investigadores. Pero cuando un programa intenta utilizar un número entero de que ha desbordado, se puede producir un problema.
"Es como un odómetro auto", dijo Stelios Sidiroglou-Douskos, científico investigador en CSAIL y uno de los autores del trabajo. "Tú te vas por un cierto número de millas, usted vuelve a cero."
Además de DIODE, los investigadores han desarrollado CodePhage, un sistema de transferencia automática de código que elimina errores de desbordamiento de enteros una vez DIODO los encuentra.
"La combinación de CodePhage con DIODE produce un sistema que detecta automáticamente y elimina errores de desbordamiento de enteros: DIODO genera entradas que exponen los errores; CodePhage utiliza estas entradas para localizar y transferir el código de las aplicaciones de donantes para eliminar los errores ", escribieron los investigadores.
0 comentarios:
Publicar un comentario