Chapuza criptográfica en Debian, Ubuntu y derivados

En septiembre de 2006 alguien en Debian decidió suprimir una línea de código molesta en el fichero md_rand.c de OpenSSL:

	MD_Update(&m,buf,j);
	[ .. ]
	MD_Update(&m,buf,j); /* purify complains */

La decisión se tomó para suprimir los avisos sobre datos no inicializados que lanzaban herramientas de depuración de código como Valgrind y Purify.

La medida fue efectiva; desde luego desaparecieron los errores, pero -y aquí viene el problema- también desapareció la correcta siembra del generador pseudoaleatorio necesaria para producir claves de calidad, es decir, claves no predecibles. La siembra correcta requería hasta ese momento una mezcla de datos aleatorios, pero quedó de pronto reducida a la escasa aleatoriedad aportada por el identificador del proceso, que en Linux sólo puede llegar hasta el número 32.768. En consecuencia el espacio de claves se vio repentinamente reducido, de los previstos 2^1024 a 2^15, es decir, tan sólo 32.768 posibles claves...

En definitiva, esta chapuza afecta a muchos sistemas Debian y derivados como Ubuntu. Por supuesto la actualización de OpenSSL (que ya está disponible) es necesaria, pero no suficiente. En esta ocasión han de generarse además claves nuevas para todos aquellos casos en que hayamos utilizado OpenSSL, es decir, redes privadas virtuales, servidores seguros, certificados X.509, SSH, etc. En el caso de usuarios comunes, no obstante, el problema más frecuente puede radicar en tener que renovar las claves SSH utilizadas para acceder remotamente a servidores.

Moraleja: Si funciona, no lo toques. Si lo tocas, házlo bien.

 

Actualización (18:32): Parece que afortunadamente se despeja un poco otro aspecto muy preocupante del problema: ¿Qué hubiera ocurrido ahora si las principales autoridades de certificación hubieran expedido sus miles de certificados desde Debian-OpenSSL?

Actualización (18:25): Sin piedad. Visto en Metasploit.com:

 

Traducción: "Aquí tenemos nuestro generador de números aleatorios. Nueve, nueve, nueve, nueve, nueve, nueve, nueve, nueve. ¿Seguro que eso es aleatorio? Ése es el problema de la aleatoriedad; nunca puedes estar seguro."

 

Traducción: "Elegido tras una tirada limpia de dados. Aleatoriedad garantizada."

Actualización (17:43): Otros dos enlaces muy interesantes para entender mejor lo que ha ocurrido: el blog de Luciano Bello (descubridor del fallo) y Vitavonni (aclara por qué el borrado resultó catastrófico y carga bastante las tintas sobre OpenSSL).

Actualización (17:32): No os perdáis este esclarecedor post. Kurt Roeckx (presunto responsable en Debian de la supresión de código que ha generado la catástrofe) pregunta cuatro meses antes a los desarrolladores de OpenSSL qué ocurriría si suprimiese esas líneas, al tiempo que expresa su preocupación con respecto a una posible pérdida de aleatoriedad. El menda de OpenSSL le responde: "No creo que afecte mucho. Si ayuda a la depuración soy partidario de borrarlas".

Actualización (11:57): Peor todavía. Publican un exploit que realiza un ataque de fuerza bruta sobre las claves debilitadas y logra el login en SSH en sólo unos minutos. La parte buena es que también podemos utilizarlo para comprobar si nuestras claves y/o certificados son vulnerables. Y lo serán con toda probabilidad si fueron generadas(os) en Debian, Ubuntu o similar entre septiembre de 2006 y ayer mismo.

 

Referencias:

Comentarios

Selecciona arriba tu forma preferida de visualizar
los comentarios y pulsa el botón para guardar tus
preferencias. Éstas sólo se recordarán para tus
próximas visitas si eres usuario registrado.
Vaya una chapuza por anónimo
Mozilla por anónimo
Debian vs Mozilla por anónimo
Contrato Social por anónimo
¿Y qué tal por anónimo
Sí, yo tengo una sugerencia por VictorSanchez2
FreeBSD por anónimo
Totalmente de acuerdo por anónimo
Uso Debian GNU/Linux por anónimo
Troll o qué... por anónimo
No troll por anónimo
Una alternativa por anónimo
Muy, muy grave por anónimo
Como sabes? por anónimo
El modelo cerrado por anónimo
La diferencia esta... por anónimo
La cruda realidad por anónimo
habra sido microsoft? por anónimo
¿juegos perfectos? por anónimo

Opinar

Los comentarios publicados en este sitio expresan sólo la opinión de su autor, quien será el único responsable de los mismos. La publicación de cualquier comentario no supone en absoluto la conformidad del responsable de este sitio con su contenido.

Como norma general, en este sitio no se publican comentarios que incluyan datos personales, ni direcciones de correo, ni ninguna otra forma de establecer contactos privados o comerciales, así como comentarios que no aportan nada, fuera de tema o que no se ajustan a la netiqueta, la ortografía o la educación.

Para poder enviar tus comentarios has de permitir las cookies del sitio.

Por favor, escribe arriba el resultado de la operación planteada. Gracias.
  • Etiquetas HTML permitidas: <a> <em> <strong> <ul> <ol> <li> <p> <u> <br><strike> <blockquote> <div>

Más información sobre las opciones de formato...