Freak, puerta trasera en comunicaciones «seguras»

Hoy os traigo otra noticia que ha corrido como la pólvora en la red. Se trata ni más ni menos de una vulnerabilidad nueva descubierta de una gran importancia. A través de un artículo en darkreading.com nos hemos hecho eco de este problema.

Afecta también a terminales con Android y con iOS. El proceso de explotación de la vulnerabilidad se basa en interceptar las comunicaciones, lo que ya es de sobra conocido como “hombre en el medio” Man-In-The-Middle. Pero ¿cómo trabaja?

freak-ssl-tls-vulnerability

En el handshake del cliente, se “pregunta” por un cifrado estándar RSA.

– El atacante que lanza el MITM, modifica este mensaje para poder exportar la clave RSA.

– El servidor, obediente, responde con una clave RSA de 512 bits (que en los años 90 era suficientemente segura) firmada.

– El cliente, recibe gustosamente esta clave débil debido al Bug de OpenSSL.

– El atacante se basa en los factores del módulo RSA para recuperar la clave de descifrado RSA.

– Cuando el cliente cifra el “pre-master secret” al servidor, es cuando el atacante puede descifrarla en unas 8 horas aproximadamente (dependiendo del hardware, of course).

Y a partir de aquí, el atacante lo vería todo en texto plano cuan conexión HTTP de andar por casa pudiendo inyectar o no lo que le venga en gana.

Esta vulnerabilidad la han llamado FREAK. Sin duda un nombre muy peculiar pero que no viene por lo que puedas estar pensando sino por las iniciales de “Factoring Attack on RSA Export Keys”. Su CVE es el CVE-2015-0204.

Otra vulnerabilidad para la colección Poodle y Heartbleed.

Hemos insistido (e insistimos) en la importancia de no usar HTTP para comunicaciones sensibles, y sí HTTPS. Pero también hacemos hincapié en que “nada es 100%” y siempre es recomendadísimo poner “trabas” a un atacante ya que quizás alguna pueda servir de desánimo para un alguien con fines malévolos.

Un momento, ¿por qué mencionas algo de los años 90?

La historia viene de años y años atrás. Nada más y nada menos que en los 90 cuando el señor Clinton era presidente de los EEUU.

Ya en esa época eran muy vivos ellos y querían controlarlo todo. Obviamente un cifrado inexpugnable era “malo” para ellos porque no podían «alcahuetear» a los ciudadanos del mundo.

Por ello, decidieron aderezar la robustez del cifrado tanto en hardware como en software que exportaban fueran de los EEUU y forzando a utilizar por tanto, claves más débiles. (¡toma ya!).

En una comunicación cliente-servidor, cuando se inicia, se establece un intercambio de algoritmos que por norma general si cliente y servidor lo “entiende” (soportan) utilizan siempre el más robusto aunque para compatibilizar con sistemas antiguos cabe la opción de usar el algoritmo más básico que permita una de las dos partes (Referente a redes Wi-Fi ¿os suena WPA-TKIP? :P)

Cómo comprobar si soy vulnerable.

iOS y Android ya de por si lo son. Así de entrada, desde el punto de vista cliente. Respecto a servidores podemos observar en la web www.freakattack.com cuantos servidores (top 1 millón) son vulnerables. Por suerte van disminuyendo cada vez más.

ssl1

 ¿Y desde mi equipo? Pues muy probablemente sea. Salvando el navegador Tor Browser con Chrome y Firefox hemos obtenido un «zasca» importante. De IE ni hablamos.

Para comprobarlo basta con entrar en la sección “clienttest” de freakattack.com https://freakattack.com/clienttest.html

 ssl2

Dentro de lo “malo” podemos decir que esto solo pasa si recibimos un ataque MITM. Entra en escena el utilizar protocolos seguros de cifrado tanto en WiFi con VPN con IPsec para evitar que alguien intercepte nuestras comunicaciones y nos haga alguna faena de considerables consecuencias.

Ni que decir tiene que pese a que uno sea un “particular” y ante la indiferencia total que tiene la gran mayoría acerca de sus contraseñas/privacidad, porque “a quién le va a importar mi información”, es vital protegernos de todo tipo de ataques informático para evitar muchos dolores de cabeza entre otras cosas.

Evidentemente esto no afecta a todos los servidores existentes sino que tiene que cumplirse que cliente y servidor sean vulnerables. Los que más probabilidades tienen de ser objetivos, son servidores de cámaras web, centralitas de alarmas y cosas así que es mucho más difícil actualizarlos de OpenSSL.

Una vez más, este maravilloso mundo, ofrece a menudo nuevos “retos” y sorpresas que debemos de estar al tanto para poder defendernos de tantas amenazas.

Espero que haya sido bastante aclaratorio este artículo y recordad que el los bloggers de hacking-etico.com estaremos el 10 y 11 de Abril en el Congreso de Seguridad de Córdoba, QurtubaCON.

Actualización para SysAdmin:

Para activar solo cifrados seguros en el servidor:

https://wiki.mozilla.org/Security/Server_Side_TLS

 

¡Saludos “hackmigos”!

@ManoloGaritmo