¿Existen programas sin fallos de seguridad?
Ante esa pregunta, a muchos se nos viene a la cabeza automáticamente
el servidor de correo qmail y el servidor DNS djbdns, ambos de código
abierto. En realidad, si existiese algo parecido, probablemente serían
estos dos programas. Su autor D. J. Bernstein ofreció hace más de diez
años 500 dólares a quien encontrara un fallo de seguridad en qmail y
1.000 a quien lo encontrara en djbdns. El día 3 de marzo Bernstein
reconocía una pequeña vulnerabilidad en su servidor DNS y ha premiado
con 1000 dólares a Matthew Dempsky.
D. J. Bernstein programó a mediados de los noventa, qmail y djbdns
con la seguridad siempre en mente. Precisamente, estaba harto de
vulnerabilidades en sus homónimos Sendmail y BIND, dos pesos pesados de
Internet que sufrían de enormes agujeros de seguridad cada muy poco
tiempo por aquel entonces. Como alternativa, creó estos servidores
siguiendo unas premisas muy sencillas en las que se premiaba por encima
de todo la seguridad y simplicidad. Estaba tan seguro de su trabajo que
ofreció una recompensa económica a quien encontrara fallos en su
software. Hoy en día es habitual que premien económicamente a los que
encuentran fallos de seguridad, pero por entonces, era una especie de
osadía. Para Bernstein se convirtió en su garantía de seguridad. Nunca
se pensó que pasarían tantos años hasta que alguien pudiese hacerse con
el premio.
Matthew Dempsky se ha llevado 1.000 dólares por encontrar un pequeño
fallo de seguridad en djbdns. Bajo circunstancias bastante atípicas, un
atacante podría controlar entradas de caché almacenadas para un domino.
Dempsky demuestra así que, por pequeño que sea, es posible encontrar
problemas de seguridad en cualquier programa. Más que los 1.000 dólares
que se ha embolsado (hoy en día pagan mucho más por descubrir cualquier
otro fallo, probablemente más sencillo de encontrar en otros programas)
se lleva la satisfacción de haber sido el primero en romper la garantía
de seguridad de Bernstein.
Parece que si realmente se pone empeño y se sabe lo que se está
haciendo, es posible crear un software con muy pocos problemas de
seguridad. Cuando en agosto de 2008 Kaminsky descubre un fallo de
seguridad en la implementación del protocolo DNS que afectó a la inmensa
mayoría de fabricantes y programadores de servidores DNS, djbdns no
necesitó actualización. Bernstein había añadido deliberadamente una
mayor entropía a sus cálculos, e implementó su servidor de forma que no
se vio afectado por este problema casi “universal” mucho antes de que
pillara por sorpresa al resto.
Por desgracia, no abunda el ejemplo. Aunque hay que decir que Bernstein
no suele añadir funcionalidades a sus servidores ni ofrece versiones
nuevas habitualmente. Su código es el que es prácticamente desde que fue
escrito. No es viable trasladar este modelo ni sus circunstancias a
otros programas más complejos o comerciales, donde muchas otras
presiones están por encima de la de crear código a prueba de balas.
Bernstein ha publicado un pequeño parche para solucionar el problema
encontrado por Dempsky y ofrece de nuevo la garantía de seguridad:
pagará con 1.000 dólares a quien encuentre otro fallo en su servidor
DNS.
Qmail sigue imbatido hasta la fecha. El servidor djbdns no deja de ser
uno de los programas más fiables y seguros por este fallo. En realidad,
el hecho de que se haya encontrado una vulnerabilidad en él, demuestra
sobre todo que existe gente como Bernstein verdaderamente buena
programando, que existen investigadores como Dempsky capaces de
encontrar fallos en cualquier código, que no hay software sin
vulnerabilidades… pero sobre todo, que Bernstein es un hombre de
palabra.
Fuente: http://www.hispasec.com