Descubren un bug en el código de Unix que llevaba 25 años oculto

Todas las ramas del sistema Unix BSD se encuentran afectadas por un agujero de seguridad que ha estado presente en su código desde hace un cuarto de siglo sin haber sido detectado y utilizado… o al menos esto es lo que se piensa.

Guillem Alsina ([email protected]) – Todo empezó hace unos pocos días cuando Marc Balmer, desarrollador del proyecto OpenBSD, recibió un mensaje de correo electrónico de un usuario que se quejaba de un problema con Samba cuando trataba de acceder a los ficheros almacenados en un servidor Unix desde MS-DOS. Samba es la implementación del protocolo SMB para sistemas Unix (Linux, Mac OS X, Solaris,…) que permite a éste entenderse con máquinas Windows e intercambiar recursos cómo ficheros o utilizar impresoras. La tarea de Marc en OpenBSD consiste inicialmente en ocuparse de ciertos aspectos de la estabilidad del sistema cuando ejecuta cambios entre las aplicaciones que está ejecutando, pero al ser un usuario de Samba él mismo se interesó por el tema y realizó las pruebas correspondientes. Lo que descubrió a continuación ha dejado perpleja a la comunidad de desarrolladores de software.

Puesto en contacto con los desarrolladores de Samba, estos explicaron a Balmer que el código fuente utiliza una función común a todas las variantes de la rama BSD de Unix para acceder a los ficheros del servidor. Un bug presente en éste código sería el causante del fallo experimentado por el usuario.

Investigando un poco más, el programador llegó a la conclusión que el fallo había estado presente en el código desde la concepción de éste y su inclusión en la versión 4.2 de BSD en el lejano año de 1983 (lejano en términos informáticos, claro). Los detalles técnicos del problema son explicados por Balmer en su weblog[1].

En todo éste «curioso» asunto solamente queda un tema por resolver: ¿realmente el bug ha estado todo ese tiempo ahí sin ser descubierto y utilizado, o bien ha sido explotado durante algún tiempo (incluso años) por grupos de hackers/crackers sin ser descubiertos? Pese a que el bug haya podido permanecer oculto, una explotación masiva de estos agujeros de seguridad es detectable aunque sus causas puedan no ser establecidas, así es que si la comunidad hacker lo hubiera detectado con anterioridad, sin lugar a dudas hubiera salido a la luz de alguna manera. El peor temor es que lo haya aprovechado algún cracker (hacker que asalta sistemas informáticos solamente por interés propio, sin observar las reglas éticas y morales del hacking) para colarse esporádicamente en algún sistema comprometedor cómo computadoras gubernamentales o grandes servidores de Internet. Es una incógnita que probablemente estará ahí durante mucho tiempo.

Tampoco hay pruebas fehacientes de que éste bug pueda ser explotable para un ciberataque. No todos los problemas del software conllevan un problema de seguridad.

La forma de corregir éste fallo es, en palabras de Balmer, trivial, y expone la solución al final de la entrada correspondiente de su weblog[1], la misma en la que explica la historia del descubrimiento del ya famoso bug.

[1] http://www.vnode.ch/fixing_seekdir

[tags]Bugs, Unix[/tags]