Vulnerabilidad de claves SSH en sistemas Debian

Como muchos sabreis, hace poco se ha descubierto un bug en las claves SSH de tipo DSA que afecta a Debian y a los sistemas basados en el (como Ubuntu). Es un problema muy serio, ya que afecta a particulares, pero sobretodo la gravedad está en los servidores, ya que hay muchos de tipo Debian.

Debian es una distribución desarrollada totalmente por un equipo de voluntarios y el apoyo del resto de la comunidad. Siempre ha sido considerada muy estable y por ello ideal para servidores. A raiz de este problema, se ha abierto un debate sobre las distribuciones voluntarias, sobre la seguridad del software privativo, etc.

Para comprender mejor el problema aquí os dejo una entrevista difundida por VSantivirus de Mercè Molist a Jordi Mallach Pérez, desarrollador de Debian, sobre el “bug”.

MM: ¿A quién afecta esto?

JMP:  El impacto es enorme. La biblioteca libssl de Debian y sus distribuciones derivadas ha estado generando material criptográfico débil durante casi dos años. En Debian la mayoría de la gente ha estado afectada desde el lanzamiento de la última versión, etch, hace un año, pero los usuarios de Ubuntu han estado expuestos al error durante tres versiones.
Debian es bastante popular en ambientes universitarios y entre muchos administradores de sistemas, y Ubuntu es el líder en los usuarios domésticos, con lo que estamos hablando de millones de ordenadores afectados. Ahora bien, es difícil de estimar cifras concretas porque nadie sabe, ni puede saber a ciencia cierta cuantas instalaciones de Debian o Ubuntu hay en el mundo; existe una opción en ambas distribuciones, desactivada por defecto, que permite saber de la existencia de esa instalación y la versión de sus paquetes instalados, pero el porcentaje de usuarios que la han activado es ínfima.
Lo más grave es que no sólo los usuarios de Debian deben estar intranquilos. Todos los administradores de servidores con SSH o certificados SSL, sean o no basados en Debian, deberían hacer una comprobación exhaustiva de todos sus certificados SSL y claves SSH en busca de claves vulnerables, porque pueden tener autorizadas claves públicas débiles, que podrían permitir entradas a sus servidores.

Por ejemplo, por la manera que se usan las claves SSH de tipo DSA, no es exagerado decir que *todas* las claves DSA, tanto las generadas en máquinas vulnerables o en máquinas “seguras” deberían considerarse comprometidas y no usarse más. Algunos administradores están recomendando desactivar el soporte para claves DSA y usar sólo RSA a partir de ahora. Y eso no significa que las claves RSA sean  seguras. No lo son, si se han generado en sistemas con una libbssl débil.
MM: ¿Qué significa para las empresas? ¿A qué peligros las expone?

JMP:  Básicamente deberán estudiar el uso que hacen de la criptografía en sus sistemas, entender hasta dónde hay riesgos incluso si no usan Debian o Ubuntu e invertir el tiempo necesario en asegurarse de que no están autorizando ninguna entrada insegura en el sistema. De no hacerlo, es más que probable que si tienen servidores afectados accesibles desde Internet, estos acaben infectados por gusanos diseñados
para aprovechar esta vulnerabilidad.
MM: ¿Y para el resto de usuarios?

JMP:  Exactamente lo mismo, pero a nivel más local y reducido. Si no toman medidas, en unos meses su ordenador puede convertirse en un “zombi”. O un usuario podría conectar a un servidor web supuestamente seguro que use un certificado generado por una versión afectada de OpenSSL. Sería posible descifrar datos sensibles ya que la parte privada del certificado usado para el cifrado es conocida.

MM: ¿Se va a solucionar pronto?

JMP:  No, este problema va a persistir durante años, porque no basta con actualizar los servidores y aplicar los parches.
También hay que, manualmente, comprobar los certificados del sistema y las claves de SSH de los usuarios para asegurarse de que el sistema no está autorizando entradas con claves débiles. Lamentablemente habrá servidores con esta debilidad en la red durante años, que a buen seguro acabarán siendo controlados por alguna “botnet”.

MM: ¿Demuestra eso que no hay que fiarse del software desarrollado por voluntarios?

JMP:  Yo no lo creo. Sí debe servir para que la gente se tome el argumento de “código abierto = código auditado” con un poco más de perspectiva: la realidad es que aunque el código está disponible para ser revisado, hay muy poca gente dedicada a auditarlo para encontrar posibles vulnerabilidades. En este caso, Luciano Bello lo encontró por casualidad dos años después de pasar inadvertido por todos los controles.
Con el software privativo, no podemos saber si hay errores de este tipo esperando a ser explotado porque no podemos comprobarlo como ha pasado en este caso, ni ahora ni dentro de dos años. Por otro lado, también se puede analizar la respuesta de Debian, Ubuntu y la comunidad del software libre frente a este problema. Pese a ser un error mayúsculo, que seguramente dañará la credibilidad y reputación de Debian, creo que la respuesta y el trato que se le ha dado a la situación ha sido totalmente profesional. Desde el primer momento, se ha informado transparentemente de la magnitud del problema y se ha ofrecido toda la información y herramientas para ayudar a los usuarios y administradores a identificar y reemplazar el material criptográfico vulnerable.

MM: Si eso hubiese sucedido en Microsoft, habría cabezas cortadas.

JMP:  Debian es un proyecto voluntario y evidentemente no va a haber “despidos” ni “expulsiones”. En muchos medios “on-line”, se está haciendo ver que todo el problema viene porque un “novato” tocó un par de líneas de código que no entendía realmente, generando así una especie de apocalipsis criptográfica. No es tan sencillo; el autor del cambio trató de informarse de la idoneidad y consecuencias del cambio
preguntando a los autores de OpenSSL, recibiendo, debido a un cúmulo de malentendidos, una respuesta positiva. Aunque la responsabilidad final es claramente de Debian, los autores de OpenSSL también han aprendido algunas lecciones y seguramente serán más cuidadosos a la hora de informar correctamente de
cómo se puede contactar con ellos para este tipo de consultas, y comentarán los trozos de código tan crítico como este para que quien lo revise sea consciente de lo que supone cambiar una línea.
Dentro del proyecto se es muy consciente de la gravedad del asunto, y a la vez que se tomaban las medidas necesarias para publicar información útil sobre la vulnerabilidad, y se parcheaban y reemplazaban las claves de los servidores internos, la comunidad de desarrolladores ya discutía en los blogs y las listas de correo qué hacer para intentar evitar situaciones como esta en el futuro. Además, esta no es el tipo de piedra en el que se tropieza dos veces. Está claro que las personas que mantienen código de seguridad, criptográfico, etc. irán con pies de plomo y serán mucho más explícitos a la hora de pedir opinión a los autores originales, para que no haya malentendidos como en esta ocasión.

MM: El artículo no podrá ser muy largo, así que tendré que resumir bastante lo que me cuentas. Si te parece bien, cuando haya salido publicado, publicaré yo por mi cuenta la entrevista entera.

JMP:  He sido “verbose” porque quería explicar muchas cosas, y porque no me han gustado nada algunos calificativos de este incidente por parte de algunos medios (chapuza, ñapa, etc), y por eso quería darte un escrito suficientemente claro sobre este tema. Lo que defiendo es que la cagada por parte de Debian es mayúscula, pero no es fruto de que alguien ha tocado algo que no sabe, ni que Debian va por libre y la caga
y tal. Que hay también muchas cosas a corregir en OpenSSL, y que esto puede pasar otras veces en otras distribuciones.


Jordi Mallach Pérez — Debian developer
http://www.debian.org/

http://www.sindominio.net/
GnuPG public key information available at http://oskuro.net/

* Más información:

Un grave fallo en Debian pone en peligro millones de máquinas
http://ww2.grn.es/merce/2008/debian.html

* Relacionados:

Grave problema en Linux afecta la seguridad de Internet
http://www.vsantivirus.com/16-05-08.htm

(*) Copyright 2008 Mercè Molist.
Verbatim copying, translation and distribution of this entire
article is permitted in any digital and no commercial medium,
provide this notice is preserved.

(c) Video Soft – http://www.videosoft.net.uy
(c) VSAntivirus – http://www.vsantivirus.com