Que los programadores de nuestras aplicaciones comentan errores en su trabajo provoca el fallo de las aplicaciones y las molestias de los usuarios. Que un programador cometa errores es algo frecuente ya que son humanos, pero desde luego las políticas y técnicas de calidad impiden que esos errores lleguen a un producto final. En definitiva una parte importante del trabajo de programación es el de validar y revisar el código en busca de posibles fallos.
Hasta aquí todos estamos más o menos de acuerdo. Lo que no se puede evitar al menos es preferible controlar. Pero hubo un (unos) programador(es) que la cago tanto que puso a millones de sistemas y personas en peligro. No fue una decisión fruto de intereses y propósitos ajenos a la programación, sino un descuido o fallo garrafal durante la depuración de un importante paquete.
Ha sido todo un desafortunado error. Aunque surgirán las teorías conspiratorias porque el código abierto ha estado ahí durante dos años, no ha sido hasta que Luciano Bello se ha dado cuenta que se ha corregido el fallo y se ha dado la voz de alarma. Pero el daño ya está hecho. Dos años de claves débiles generándose en cientos de miles de sistemas. Ha pasado desapercibido porque en general cualquier programa es complejo, pero la criptografía lo es aún más. Además, Bruce Schneier dijo algo así como ‘Good security looks the same as bad security’ (’La buena seguridad se ve igual que la mala’, frase aplicable aún más a la criptografía).
Kurt Roeckx fue quien planteó en un principio borrar líneas que consideraba problemáticas. Existe un correo de 2006 en una lista pública, en el que Roeckx plantea en una lista de OpenSSL qué pasaría si las eliminara. Pregunta si resultaría en una posible pérdida de aleatoriedad. La respuesta no oficial desde OpenSSL es que “no mucho” y que es partidario de borrarlas si ayuda en la depuración. Y era cierto, esas líneas no suponían problema: el problema es que en Debian se borraron más líneas de la cuenta, de las habladas en la conversación y para colmo los cambios no se enviaron a OpenSSL para que fueran revisados.
En Hispasec hacen un buen resumen sobre la situación de fallo criptográfico en el paquete openSSL de Debian. Un error que ha dejado expuestos durante 2 años a todos los sistemas que generasen claves asimétricas a partir de este paquete. Y que además por supuesto ha generado dos problemas importantes que van a ser mucho más difíciles de solucionar que la cuestión técnica.
El primero es la mala imagen del software de código abierto y si de verdad esta filosofía es tan eficiente como predicamos. El error ha estado a la vista desde el 2006 y nadie ha revisado el código de un paquete tan importante mientras se dedicaban a ir borrando y comentado líneas de código. Total si funciona igual… ¿No?
El segundo es Debian en sí misma. La distribución que se proclama como la más estable y más segura para sistemas críticos ha sido durante dos años el sistema operativo con el fallo criptográfico más importante de la actualidad. Superando con mucho a los típicos errores conceptuales de seguridad del demonizado Windows.
Después de todo esto solo nos queda encomendarnos a la virgen que vienen curvas…
No Trackbacks
You can leave a trackback using this URL: http://www.criandocuervos.com/wp-trackback.php?p=2266
One Comment
La gracia es mayor cuando tienes 683 sistemas Debian que actualizar y generar claves nuevas…