Un gran agujero de seguridad ha sido encontrado en el código básico que emplean una gran cantidad de programas destinados a proteger a los equipos que corren diferentes versiones de Linux. Increíblemente, el problema se originó en mayo del 2006, cuando un grupo de programadores cometió un error que no fue detectado por la comunidad open-source.
La controversia sobre qué sistema operativo es el más seguro está al rojo vivo. Quizás por una cuestión de “tradición”, se supone que Linux es mucho más seguro que Windows, y que el OS X es prácticamente invulnerable a los ataques de los hackers. Sin embargo, hace unas semanas supimos que en un concurso de seguridad, el primero en caer fue el sistema operativo estrella de Apple, que solo duro un par de minutos antes de ser hackeado por un equipo de expertos.
Básicamente, el error al que nos referimos se encuentra en el mecanismo que debe crear la “entropía” necesaria para que el generador de contraseñas sea efectivo. En general, y aunque cueste creerlo, es muy difícil escribir un software que genere números al azar. Es decir, verdaderamente al azar. Dado que un ordenador es una maquina perfectamente lógica y determinística, no puede directamente “inventar” un número completamente fruto del azar. En su lugar, se emplean algoritmos de pseudos- azar, muy complicados, que brindan números que se distribuyen lo más uniformemente posible en el espacio elegido.
En caso de que estos números tiendan a “agruparse” en determinados rangos, la efectividad del algoritmo se ve muy disminuida. En el caso de las contraseñas, dada la gran velocidad de los ordenadores actuales, deben ser lo bastante fuertes como para resistir un ataque por “fuerza bruta” o mediante diccionarios. Si se dispone del tiempo suficiente, cualquier sistema basado en contraseñas puede ser vulnerado. El secreto esta en que la contraseña sea lo suficientemente robusta como para “resistir” el ataque durante miles de años. Y eso necesita de algoritmos generadores de números aleatorios lo suficientemente buenos.
Existe una librería, llamada OpenSSL library que proporciona las rutinas necesarias para la generación de claves utilizadas por el programa de acceso remoto SSH, el IPsec Virtual Private Network (VPN), el Apache Web server, software de correo electrónico y muchísimos programas más. Un par de líneas de código mal escritas dentro de este paquete hizo que millones de ordenadores que basaban su seguridad en OpenSSL library quedasen desprotegidos.
Sin entrar en detalles matemáticos (que pueden consultarse aquí), lo que ocurrió fue que un algoritmo destinado a proveer seguridad de 128 bits (que proporciona 3.400.000.000.000.000.000.000.000.000.000.000.000.000 contraseñas diferentes) por error se redujo en la practica a solo 15 bits (lo que limita las contraseñas posibles a “solo” 32.767). En lugar de necesitar algunos millones de años de pruebas para acceder a los sistemas protegidos, un hacker podría entrar en segundos.
Debian, una versión de Linux elegida a menudo por los fanáticos de la seguridad, y Ubuntu, quizás la más exitosa distribución entre los usuarios hogareños fueron afectadas por el error.