17 oct 2015

Vulnerabilidad en el uso de Diffie-Hellman permite a la NSA escuchar comunicaciones cifradas

Desde las revelaciones de Snowden en 2013, se sospecha que la NSA intercepta conexiones VPN y es capaz de descifrar conexiones SSH y HTTPS, permitiendo a la Agencia leer cientos de millones de correos electrónicos personales y acceder a organizaciones alrededor del mundo.
Ahora, los investigadores del Instituto INRIA (Paris), Université de Lorraine, Microsoft Research, University of Pennsylvania, Johns Hopkins y University of Michigan han presentado un paper en la Conferencia de ACM sobre una teoría muy plausible en cuanto a cómo la NSA rompió uno de los protocolos más utilizado en Internet, Diffie-Hellman. Estos mismos investigadores estuvieron detrás de las más prestigiosas investigaciones sobre criptografía en el último año y recientemente fueron premiados como "Best Paper Award at CCS 2015" por esta investigación.

Según la investigación, la NSA ha explotado implementaciones comunes del algoritmo de intercambio de claves Diffie-Hellman, el medio más común de intercambio de claves criptográficas por canales inseguros. Este ataque les permitiría descifrar un gran número de conexiones VPN, SSH y HTTPS [PDF].

Diffie-Hellman permite el intercambio de claves criptográficas y está definido como seguro contra la vigilancia ya que tomaría cientos o miles de años y una cantidad casi inimaginable de dinero descifrarlo directamente. Sin embargo, una grave vulnerabilidad en el momento en que se lleva a cabo el intercambio de claves permite que los organismos de inteligencia puedan escuchar millones de conexiones cifradas.

¿Qué está mal con DH?

Si un cliente y un servidor están intercambiando claves a través de Diffie-Hellman, primero necesitan ponerse de acuerdo sobre un número primo grande con una forma particular. No hay ninguna razón por la cual todo el mundo no pueda usar simplemente el mismo número una y otra vez. De hecho, muchas aplicaciones suelen utilizar primos estandarizados o hardcodeados. Pero hay un detalle muy importante que con el tiempo se perdió entre los matemáticos y los profesionales: un atacante puede llevar a cabo los cálculo para crackear el "primer primo especial" y luego romper cualquier conexión que utilice ese primer número.

Romper sólo uno de los números primos grandes utilizando en Diffie-Hellman de 1024-bits podría tomar alrededor de un año y costar unos 100 millones de dólares. Sin embargo, según los investigadores, sólo son utilizados unos pocos números primos, los que podrían calcularse con el presupuesto de U$S 11 mil millones anuales que tiene la Agencia [PDF], dedicado a "mejorar capacidades innovadoras".

Por ejemplo los números primos de 512 bits utilizados por TLS son:
Alex Halderman y Nadia Heninger dijeron en su blog:
"Como sólo son utilizados (y reutilizados) un puñado de números primos, el beneficio de descifrarlos, en términos de conexiones, sería enorme".

"Romper un número primo de 1024 bits permitiría a la NSA descifrar pasivamente conexiones de dos tercios de las VPN existentes y a una cuarta parte de todos los servidores SSH a nivel mundial. Rompiendo un segundo primo de 1024 bits permitiría espiar las conexiones de casi el 20% de los sitios web HTTPS del mundo. En otras palabras, una única inversión permitiría a escuchar trillones de conexiones cifradas".
Alrededor del 92% de los dominios HTTPS del primer millón de Alexa hacen uso de los mismos dos números primos de Diffie-Hellman, permitiendo a la agencia leer casi todo el tráfico de Internet a través de sus servidores. Según el paper, este proyecto tecnológico de la NSA "no tiene igual desde el criptoanálisis de Enigma durante la II Guerra Mundial."

Antes de la publicación del paper, los investigadores notificaron a Microsoft (por IE), Google (por Chrome), Mozilla (Firefox) y Opera y, como resultado, estos navegadores comenzaron a no aceptar DHE menores a 1024 bits. Se espera que OpenSSL y Safari sigan su ejemplo. En lo que respecta a servidores, se notificó a Apache, Oracle, IBM, Cisco y varios proveedores de hosting. Muchos desarrolladores ya planean apoyar una nueva extensión que permita que clientes y servidores puedan negociar grupos de 2048 bits y rechacen los más débiles.

Para conocer más detalles, se puede leer el paper completo Imperfect Forward Secrecy: How Diffie-Hellman Fails in Practice.

Suscríbete a nuestro Boletín

3 comentarios:

  1. Hablais de que esta vulnerabilidad afectaría a las comunicaciones mediante VPN, SSH y HTTPS. ¿Que pasa con OTR, que también utiliza Diffie-Hellman? ¿Creeis que también sería vulnerable?

    ResponderBorrar
    Respuestas
    1. El paper no ha profundizado en eso pero si OTR utiliza primos comunes, lo cual es probable, tb sería vulnerable. Está bueno p/investigarlo :)

      Borrar

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!