Cómo la NSA consiguió desactivar la criptografía en Internet (primera parte)

NSA Crypto-Backdoor-1024x768

Desde el 11-S, las agencias de espionaje electrónico han pasado a modo descarado. Si hubo un tiempo en que la NSA (“No Such Agency“) podía legalmente negar su propia existencia, ahora se dedica a espiar abiertamente al mundo entero sin que se le caiga la cara de vergüenza. “Te espiamos, y si no te parece bien es que quieres que los terroristas ganen” parece ser su nueva divisa.

Los nuevos espías electrónicos actúan como los magos: sabes que están haciendo trampas, pero aun así se guardan sus mejores trucos para que no los conozcas; porque todos sabemos que, cuando conocemos el truco, la magia pierde toda su… magia. Por eso, las revelaciones de Snowden les están haciendo tanto daño. Se están desvelando los mejores trucos de la NSA para mantener al mundo bajo vigilancia. Hace poco, una combinación de relevaciones de Snowden y trabajo académico ha sacado a la luz uno de los mejores trucos de los magos de Fort Meade.

Se trata de este: la criptografía en Internet no te protege. Para nada. Aunque creas que sí.

El tema es particularmente preocupante porque, hasta ahora, los trucos usados por los ciberespías se basaban en aprovechar errores de programación, insertar troyanos, descubrir vulnerabilidades en programas determinados; es decir, en meterse por agujeros ya existentes. Destripar los algoritmos de cifrado para recuperar la clave es algo particularmente difícil, y por eso no se utiliza más que como último recurso. Sin embargo, ahora conocemos que una combinación de vulnerabilidades descubiertas, criptoanálisis y fuerza bruta se han combinado para dar a la NSA las llaves de Internet.

Cada vez que se conecte usted a su banco, su tienda favorita, o en general siempre que entre en uno de esos sitios https y vea el logotipo del candado cerrado creyéndose seguro, recuerde que los datos están siendo enviados a EEUU para los efectos que surtan oportunos; y muy probablemente descifrados con éxito. Y un mensaje especial para los amigos de protegerse mediante redes virtuales: ¡corred, insensatos!

¿Cómo es eso posible? Veámoslo en cómodos pasos.

PASO 1: FREAK (NO FRIQUI)

Érase una vez una época en la que la criptografía fuerte no existía en Internet. El gobierno norteamericano, basándose en tratados gestados durante la Guerra Fría para contener al Pacto de Varsovia, contenía ahora la extensión del cifrado en el nuevo mundo digital. La lógica, por supuesto, consistía en evitar que los enemigos de EEUU pudiesen blindar sus comunicaciones. No fue hasta 1998 cuando los primeros sitios web en España comenzaron a usar cifrado fuerte. En la actualidad, la web segura utiliza claves asimétricas (dentro de la llamada criptografía de clave pública) de al menos 1.024 bits de longitud.

Como sucede en tantas ocasiones, los sistemas nuevos (seguros) y los antiguos (inseguros) tuvieron que convivir durante cierto tiempo, ya que cambiar el tipo de cifrado depende de cada servicio web, no es algo que se rehace totalmente de la noche a la mañana. Eso significa que hubo que mantener la compatibilidad entre ambos sistemas. El ordenador pedía una conexión segura (1.024 bits) o semisegura (512 bits), según las capacidades del servidor. Ahora imagínense que un atacante pudiese “convencer” al servidor del banco, empresa o tienda online para que cambie la conexión de segura a insegura. Eso le permitiría atacar la clave de 512 bits y descifrar la comunicación.

Se supone que la estructura de los protocolos de usados (tales como SSL y TLS) impiden poder hacer tal cosa. Para nuestra desgracia, resulta que sí pueden. En marzo de 2015, un grupo de investigadores descubrió una vulnerabilidad en los programas (clientes) basados en OpenSSL, tal como son usados en entornos Android y Apple.

El ataque, llamado FREAK (Factoring attack on RSA-Export Keys) se lleva a cabo sobre las claves asimétricas del tipo RSA. Se trata de un elegante ataque de intermediario o MITM (Man-In-The-Middle). El cliente, es decir, usted, envía una petición al servidor (el banco) del tipo “hola señor banco, soy yo, quiero una conexión de 1.024 bits.” El intermediario intercepta esa petición y la sustituye por otra que diga “hola señor banco, soy yo, quiero una conexión de 512 bits.” El servidor del banco atiende la petición y comienza una sesión protegida por un cifrado de bajo nivel que puede ser reventada con recursos informáticos fáciles de obtener.

En este caso “fáciles” resulta algo relativo. Descifrar una clave RSA pasa por conseguir la factorización de un número producto de dos factores primos. Si esos primos son grandes los requisitos de cómputo serán tan enormes que, en la práctica, podemos considerar seguro el sistema. Sin embargo, el aumento en la potencia de los ordenadores actuales y el uso de mejores técnicas de factorización hacen que, en la actualidad, sea posible comprometer claves cada vez más grandes. Ya en 2010 un grupo investigador se atrevió con una clave RSA de 768 bits, mucho más difícil. ¿Saben cuánto cuesta factorizar una clave de 512 bits hoy? Usando el servicio de computación EC2 de Amazon, basta con cien dólares y cuatro horas. Factorización como servicio, lo llaman.

Y aquí va lo peor del ataque FREAK: aunque se supone que cada conexión tiene una clave RSA en teoría, lo que hacen los servidores en la práctica es generar una sola clave RSA y usarla para todos los clientes. Es decir, no se trata de que vayan precisamente a por usted, sino que con la misma tacada espían a todos los clientes del sitio web. De repente, todos somos un objetivo desprotegido. Ni siquiera es necesario ver aquí la mano negra de los espías electrónicos, porque el motivo de usar la misma clave es pura y simple comodidad: es más rápido.

Teniendo en cuenta que la NSA es el mayor contratador de matemáticos del mundo, es seguro decir que conocían este truco años antes que los criptoanalistas civiles. Seguro que han puesto las botas, ya que a pesar de los años transcurridos desde la legalización del cifrado fuerte más de la cuarta parte de los servidores http del mundo seguían usando cifrado RSA de 512 bits en marzo de 2015. Hoy, cerca del final de año, la cifra ha caído al 12% pero sigue siendo enorme, y los servidores vulnerables incluyen sitios como Groupon, Airtel India, el MIT, Nissan Japan y el famoso acortador de direcciones tinyurl.com; en España la lista de sitios vulnerables incluye los diarios digitales El Economista y El Diario, la Junta de Andalucía y Correos.

¿Asustado? Pues entonces no siga leyendo.

PASO 2: LOGJAM

Los servidores vulnerables pueden ser reacondicionados y los clientes (nuestros navegadores de Internet) pueden ser parcheados. De todos modos, las claves RSA ya están pasadas de moda. Ahora lo que se lleva es el sistema de intercambio de claves Diffie-Hellman (DH), y su seguridad también se basa en efectuar una serie de operaciones casi imposibles de invertir. RSA se basa es la factorización de números primos. En el caso de DH, se trata de algo distinto, el llamado problema de los logaritmos discretos.

No les explicaré en qué consiste este problema. Lo que sí les diré es que, aunque la base de los algoritmos RSA y DH son diferentes, muchos en la comunidad criptográfica siempre han creído que son matemáticamente similares en cuanto a fortaleza, de modo que si te cargas uno también puedes cargarte el otro. Por supuesto, hay que demostrarlo, y eso es lo que hizo otro equipo de investigadores en mayo de 2015. El nuevo ataque, llamado LOGJAM, hace con el sistema DH lo que FREAK hacía con el RSA.

Los investigadores nuevamente aprovecharon una vulnerabilidad en los protocolos de autenticación de Internet, y nuevamente se debió a la necesidad de permitir conexiones de bajo nivel (512 bits) para sistemas viejos. La genialidad de LOGJAM es que consiguió hacerlo realidad en un tiempo corto. El ataque requiere dos fases. La primera (fase de precomputación) exige un montón de cálculos, pero dependen solamente del número primo p utilizado en el sistema (sí, también DH depende de un número primo, aunque por motivos distintos a RSA) y esta fase puede calcularse de antemano. En la segunda (fase de resolución), solamente hay que lidiar con el número aleatorio usado para una conexión en particular, y eso puede hacerse en apenas un minuto.

Por supuesto, eso es inútil si cada usuario tiene un p distinto, y en teoría así debería ser. En la práctica, adivinen qué pasa: la mayoría de los servicios de Internet usan un número muy limitado de primos p, y los reutilizan una y otra vez. El motivo es el mismo que en el caso RSA: comodidad y rapidez. Eso da lugar a situaciones inquietantes. Para que se hagan una idea, el 82% de los sistemas que usan DH con clave de 512 bits se basan en servidores Apache. ¿Saben cuántos números primos utilizan en total servidores Apache del mundo entero? ¡Uno solo!

Si tomamos el millón de dominios más activos de Internet, un 8% incluye esta vulnerabilidad. Eso significa que más del 7% de toda la Internet actual puede pasar de cifrada a legible sin más que atacar dos claves de 512. Afortunadamente, LOGJAM es relativamente fácil de parchear (los navegadores de Internet más usados ya lo han parcheado), aunque depende de que también los servidores (las webs a las que accedemos) se lo tomen en serio y cierren la vulnerabilidad.

Menos mal que las claves DH de 1.024 bits quedan fuera del alcance de la NSA ¿verdad? ¿Eh? ¿Verdad?

(Continuará…)

21 Comentarios

Participa Suscríbete

Miguel EspinosaMiguel Espinosa

Lo más preocupante de todo esto es que es caldo de cultivo para un estado totalitario. Basta que a los gringos se les vaya la olla y apoyen a un candidato con tendencias dictatoriales.

busgosubusgosu

Quien lograr el acceso a la información privada o no privada, solo adquiere información. Pero el verdadero hacker es quien crea la información, es quien alimenta las mentes.

Este es el autentico secreto

Miguel EspinosaMiguel Espinosa

No sólo adquiere información sino que puede utilizarla contra el dueño de la misma. Imagina que la NSA necesite chantajear a alguna empresa o político de algún país. Si accede a su información privilegiada puede amenazar con revelarla a la competencia o a sus adversarios; y no necesariamente tiene que ser información de algo malo que cause escándalo, basta con que sea un proyecto en el que han trabajado durante años e invertido millones y se lo regalen libremente a los oponentes.

busgosubusgosu

Hola Miguel Espinosa

Sugiero que reflexiones en la siguiente cuestión: tu comentario contiene una lógica con la cual se procesan los datos, es una forma de racionalizar las cosas; esa lógica también es información implementada como modo de pensar, de interpretar los datos; ¿la información que has usado para pensar los datos, es adquirida, o creada por ti?

Saludos

robert martinrobert martin

Lo que se deduce de las filtraciones de Snowden es que si utilizas criptografía fuerte con claves de 4096 bits y software adecuado como TOR dentro de Tails etc…, para comunicarte con alguien que utilice estas mismas tecnologías… la NSA NO PUEDE ROMPER ESAS COMUNICACIONES. Los “buenos” si además son listos siempre irán un par de paso por delante.

Alberto Savinio

Excelente artículo. Con el tiempo …. vamos sabiendo lo vulnerables que somos en cuanto a la información privada. Espero que salgan a la luz todo este tipo de temas y la gente se conciencie del control de información existente actualmente. Lo malo es que la inmensa mayoría prefiere la “seguridad” del primo de Zumosol a libertad.

Espero con impaciencia la segunda parte. Enhorabuena al autor

Nacho

El titulo de esta nota es super sensacionalista y falso. La NSA sí tiene muchísimo poder y es capaz de vulnerar la MAYORÍA de las encriptaciones de uso popular, pero está lejos de dejarnos en pelotas. Esto dicho por Snowden. PGP funciona, Tor tiene vulnerabilidades pero es bastante efectivo.
Es injusto decir que la “criptografía fue desactivada” (o mejor dicho un truco fácil del social media para atraer lectores). Sería mas correcto decir que los canales supuestamente seguros que usamos en el día a día tienen más agujeros que un colador. Muchos de esos agujeros están ahí por diseño, no son vulnerabilidades casuales. Windows y OSX tienen backdoors puestos por la NSA con colaboración de Microsoft y Apple.
Hay motivos de sobra para desconfiar de nuestras comunicaciones diarias, pero no de la criptografía en general.

Arturo Quirantes

Lee también la segunda parte. Allí se muestra cómo se cree que la NSA puede descifrar claves asimétricas de 1.024 bits mediante fuerza bruta usadas en comunicaciones https y en redes privadas virtuales. Se trata de una cuestión de fuerza bruta a escala masiva.

jordimacjordimac

A riesgo de preguntar una absurdez, he visto servidores de backup que encriptan los datos con una clave de448 bits “blowfish”, y según he leído hasta ahora no ha sido posible desencriptar nada protegido con “blowfish”. ¿Es esto correcto o al ser de 448 bits es más fácil de desencriptar que con una clave de 512bits “no blowfish”?.

Arturo Quirantes

Sí, es correcto. Lo que pasa es que estamos hablando de otro tipo de cifrado. Blowfish es un tipo de cifrado simétrico, en tanto que RSA y DH son de tipo asimétrico. Habitualmente las cifras asimétricas necesitan claves mucho más largas que las simétricas para alcanzar un nivel de seguridad equivalente. 448 para Blowfish equivale en fortaleza a unos 10.000 bits para RSA o DH.

jordimacjordimac

Muchas gracias por la aclaración. Ahora ya se que los datos de la copia de seguridad están a salvo con el encriptado Blowfish :-)

jose angeljose angel

Hola, en el ataque FREAK se describe como muy elegante pero no se explica que vulnerabilidades se utilizan para hacer el MITM. El servidor está “protegido” por un certificado digital firmado por una CA de confianza que “garantiza” la identidad del servidor. El atacante necesitará hacerse pasar por el servidor de cara al cliente. Puedes solicitar una conexión mas débil al servidor, pero a la hora de comunicarselo al cliente debes suplantar la identidad del servidor, protegida por un certificado digital. ¿Que vulnerabilidades se utilizan para hacer esto? ¿En realidad es tan sencillo?

d0m7d0m7

La vulnerabilidad Freak se basa en primera instancia, en que el servidor Web permite el uso de cifrados SSLv3(cifrado roto), desactivando esa opción en el servidor Web mitigaríamos el problema. Además el atacante debería tener acceso a la red corporativa o del usuario en cuestión, para implementar ataques de fuerza bruta contra los paquetes SSLv3. Por lo que son demasiados factores, como para que sea un vulnerabilidad factible y fácil de implementar. No es cuestión de hacerse pasar por nadie, es cuestión de una mala configuración del servidor Web. Ya que si yo pido al servidor un downgrade de protocolo TLS 1.0 a SSLv3, ha de ser este quien me deniegue (el servidor Web) dicho downgrade, en el caso de FREAK SSLv3.

sl2

GodziGodzi

A mi lo que me pone los pelos de punta no es ya la NSA… Es que, por lo que cuentas CUALQUIERA puede en un momento dado descifrar mis comunicaciones con el banco…

Deja un comentario

Tu email nunca será mostrado o compartido. No olvides rellenar los campos obligatorios.

Obligatorio
Obligatorio

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>