FREAK (Factoring Attack on RSA-EXPORT Keys) es un fallo permite que un atacante forzar a los clientes a realizar un downgrade a cifrados débiles y violar comunicaciones cifradas a través de un ataque Man-in-the-Middle. Para la explotación de dicha vulnerabilidad, el
atacante necesita estar en una posición que le permita situarse en medio
de la comunicación entre cliente y servidor. Para ello el atacante intercepta el handshake inicial
entre cliente y servidor, e inyecta cierta información que fuerza al
servidor (si es que este lo permite) a hacer un downgrade de la
seguridad de la comunicación, utilizando una clave de sesión RSA de 512
bits de longitud. El contenido de la comunicación, al poder ser
interceptada, podrá ser descifrada offline, crackeando la clave en unas 7
horas y media con el hardware adecuado.
FREAK fue originalmente descubierto por Karthikeyan Bhargavan y por el el equipo de mitLS y fue bautizado como Smack TLS en INRIA en París. Otra revelación fue coordinada por Matthew Green y fue descubierto por un numeroso grupo de investigadores de Microsoft Research y el French National Institute for Research in Computer Science and Control.
Esta vulnerabilidad afecta a una gran variedad de clientes,
destacando el navegador Safari de Apple y el navegador nativo de
Android. Los investigadores descubrieron que algunos clientes TLS/SSL, incluyendo OpenSSL (CVE-2015-0204),
aceptan claves RSA débiles -conocidas como claves de exportación-.
Estas claves RSA son de 512 bits, las cuales hace décadas han sido
abandonadas por la mayoría de los servidores y clientes por ser
demasiados débiles.
¿Por qué es posible hacer este downgrade para usar claves débiles?
Las export-grade RSA son los restos de un esfuerzo de los años 80
para debilitar la criptografía y que la misma pueda ser supervisada por
las agencias de inteligencia. "Mientras que estas políticas fueron finalmente desechadas, todavía nos están haciendo daño" escribió el criptógrafo Matthew Green de la Universidad Johns Hopkins.
"En teoría esto fue diseñado para asegurar que la NSA tendría la capacidad de 'acceso' a todas las comunicaciones cifradas".
En el inicio de la comunicación cifrada entre cliente y
servidor, se establece un intercambio de algoritmos a utilizar en la
misma, dependiendo de las capacidades y configuración de ambas partes.
Normalmente, se suele utilizar (si así está configurado) el algoritmo
más seguro soportado por ambas partes, pero por compatibilidad con
sistemas más antiguos (tanto de cliente como de servidor) queda la
puerta abierta a utilizar el cifrado que exija menor rendimiento.
¿Como funciona Freak Attack?
¿Como funciona Freak Attack?
- En el cliente, el mensaje de HELLO solicita un cifrado estándar 'RSA'.
- El atacante MitM cambia este mensaje para pedir un 'exportar RSA'.
- Si la tiene, el servidor responde con una clave RSA de 512 bits, firmada con su clave a largo plazo.
- El cliente acepta esta clave débil debido al bug.
- El atacante factorea el módulo RSA para recuperar la clave RSA de descifrado correspondiente.
- Cuando el cliente de cifra el 'pre-master secret' en el servidor, el atacante puede descifrarlo para recuperar los 'master secret'.
- De aquí en adelante, el atacante ve texto plano y puede inyectar todo lo que quiera.
¿Quién es vulnerable?
Los investigadores de la Universidad de Michigan encontraron que el 36,7 por ciento de los sitios "seguros" son vulnerable a este ataque, pero los expertos dicen que, en la práctica, el ataque no es de peligro inminente. Además, la Universidad ha publicado un test automático para conocer si el cliente es vulnerable y una lista de sitios que admiten claves export-grade.
Fuente:
Más información:
Links complementarios: