Vulnerabilidad confirmada en DJBDNS y reflexiones sobre seguridad

El hasta ahora invulnerable servidor de nombres de dominio DJBDNS, escrito por Daniel J. Bernstein, cuya última actualización 1.05 data de febrero de 2001, fue exitosamente vulnerado por Matthew Dempsky, y el fallo confirmado por el mismo Bernstein. Bernstein estaba tan seguro de la seguridad de sus programas que ofreció un premio de $1000 a la primera persona que encontrara una falla de seguridad verificable en DJBDNS y $500 a quien lo hiciera en qmail, la famosa garantía Bernstein. La vulnerabilidad encontrada por Dempsky permite a un atacante bajo ciertas condiciones crear falsos registros en el servidor DNS, no es una condición general, ni común del programa, pero no debería permitirlo, es decir fue un error verificable del programa y por ello Bernstein pagó el premio. No ha pasado lo mismo con las vulnerabilidades encontradas con qmail, pues Bernstein alega que en condiciones normales nadie asigna más de 2GB de RAM a un proceso qmail-smtp, pues bajo esas condiciones se puede tener ataques exitosos por desbordamiento de memoria en qmail.

Lo que queda claro luego del incidente, es que no se puede crear el software perfecto, es decir aquel que no presente ningún error. Nadie puede predecir por adelantado todas las variables que intervienen en un sistema. Además a más "perfecto" aparente ser un software, habra mucho más interés en encontrarle una vulnerabilidad, es decir más alla del premio que haya esta el hecho de demostrar ser más inteligente que el tipo inteligente que creo el software, y esta demostrado que el principal motor de los hackers muchas veces no es el dinero sino la vanidad de ser el chico más listo. Lamentablemente un efecto colateral de un software perfecto es que si se vuelve de uso masivo un pequeño error puede compreter a un gran número de seres humanos que dependan de los servicios ofrecidos sobre él.

Al final la motivación de hacer el software perfecto es un deseo profundo de reconocimiento, coincidentemente el deseo de romper la seguridad del software perfecto es el mismo, por lo que ambos bandos entablaran una lucha sin fin, cuya moneda de cambio es la vanidad. En cierta forma es un deseo muy humano, y podría decir que hasta artístico. Pero contrapuesto a lo que es la ingeniería, que no es una ciencia sino una técnica, es más la suposición básica en ingeniería es que todo fallará en algún momento. Pero en cambio se usan otras métricas para determinar si algo cumple su misión o no. Factores ligados al costo/beneficio como pueden ser escalabilidad, flexibilidad, portabilidad son de lejos mucho más importantes que una seguridad al 100%, porque no importa que tan bello sea uno a los 20, siempre se llegará a los 70. No me mal interpreten no estoy diciendo que buscar la seguridad no sea bueno, por ejemplo buscar una flexibilidad ilimitada también es un despropósito, tal vez una frase que se la escuche por primera vez a mi abuela cuando tenía 6 años puede resumir la idea que trato de explicar: "Bueno es culantro (cilantro), pero no tanto". Es decir algo que puede parecer bueno si se busca en demasia puede terminar teniendo resultados contrarios a lo esperado, tal vez una frase perteneciente a la cultura americana puede ser aplicada en el mismo contexto "Ten cuidado con lo que deseas, porque se te puede cumplir".

Hago mencion a lo anterior pues se aplica al caso de los programas de Bernstein, ambos (qmail y djbdns) son de lo más seguros que existen en sus areas, pero no son los más populares porque carecen de la flexibilidad y escalabilidad de otros proyectos similares. Este también creo que es un argumento que apunta a que la diversidad existente en el mundo de las distribuciones Linux, suma en lugar de restar, pues está probado en la práctica como en el caso de Windows que una línea única, lleva a cometer errores difíciles de corregir, sino me creen basta con recordar los casos de Windows Me y Windows Vista.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.