Saltar a contenido

FREAK Attack on Export-Grade RSA

Ataque FREAK sobre RSA de grado de exportación

Descripción

Esta vulnerabilidad indica que el servidor es susceptible a ataques FREAK, que explotan el soporte de cifrado RSA débil de grado de exportación para degradar las conexiones TLS y romper el cifrado a través de la factorización criptográfica.

FREAK (Factoring RSA Export Keys) ocurre cuando los servidores aceptan suites de cifrado RSA_EXPORT con claves de 512 bits, un legado de las restricciones de exportación estadounidenses de la década de 1990. Los clientes vulnerables aceptan incorrectamente estas claves débiles incluso cuando no se solicitan, lo que permite a los atacantes forzar ataques de degradación y factorizar el cifrado débil.

Cómo funciona:

  1. Un atacante de tipo Man-in-the-middle intercepta el handshake TLS entre el cliente y el servidor.
  2. El cliente solicita un cifrado fuerte, pero el atacante reenvía la solicitud pidiendo RSA_EXPORT.
  3. El servidor responde con una clave RSA débil de 512 bits en lugar de la clave estándar de 2048 bits.
  4. El cliente vulnerable acepta la clave débil debido a errores de implementación.
  5. El atacante factoriza la clave RSA de 512 bits (toma horas/días) y descifra todo el tráfico.

Requisitos:

  • El servidor debe soportar suites de cifrado RSA_EXPORT (cifrado heredado de grado de exportación).
  • El cliente debe tener una implementación TLS vulnerable que acepte claves débiles.
  • Posición de red Man-in-the-middle para interceptar y modificar los handshakes.
  • Recursos computacionales para factorizar las claves RSA de 512 bits.

Escenario de ejemplo: Una aplicación móvil se conecta a una API bancaria a través de WiFi público. Un atacante intercepta el handshake TLS y engaña al servidor para que ofrezca una clave RSA de grado de exportación de 512 bits. El cliente vulnerable (usando un OpenSSL antiguo) acepta esta clave débil. El atacante pasa 8 horas factorizando la clave utilizando recursos de computación en la nube, luego descifra todo el tráfico de la API posterior para robar tokens de autenticación y datos financieros.

La vulnerabilidad explota las restricciones históricas de exportación de EE. UU. que limitaban la fuerza criptográfica, afectando a sistemas heredados que aún admiten estas suites de cifrado intencionalmente debilitadas por motivos de compatibilidad con versiones anteriores.

Recomendación

Para mitigar los ataques FREAK:

Defensa principal - Deshabilitar las suites de cifrado de exportación:

# Apache - deshabilitar cifrados de grado de exportación
SSLCipherSuite HIGH:!aNULL:!MD5:!EXP:!RC4

# Configuración más segura
SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:!EXP
# Nginx - deshabilitar cifrados de exportación
ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:!EXPORT:!DES:!RC4:!MD5:!PSK:!SRP:!CAMELLIA;

Actualizar bibliotecas TLS:

Asegúrese de que todas las implementaciones de TLS estén parcheadas: - OpenSSL 1.0.1k+ (CVE-2015-0204 corregido) - Actualice las aplicaciones móviles que usan bibliotecas vulnerables - Parchee sistemas integrados y dispositivos IoT

Pruebas de vulnerabilidad FREAK:

# Servidor de prueba para soporte de cifrado de exportación
openssl s_client -connect example.com:443 -cipher EXPORT

# Debería fallar con "no cipher match" si está configurado correctamente
# Prueba con SSL Labs
curl "https://api.ssllabs.com/api/v3/analyze?host=example.com"

Protección en el lado del cliente:

# Python - deshabilitar cifrados de exportación
import ssl
context = ssl.create_default_context()
context.set_ciphers('ECDHE+AESGCM:ECDHE+CHACHA20:DHE+AESGCM:DHE+CHACHA20:!aNULL:!MD5:!DSS:!EXPORT')

Mitigaciones adicionales:

  • Use TLS 1.3 que elimina completamente el soporte de cifrado de exportación
  • Implemente Perfect Forward Secrecy (PFS) con intercambio de claves ECDHE/DHE
  • Audite periódicamente las configuraciones de la suite de cifrado en busca de algoritmos débiles
  • Supervise los patrones inusuales de negociación TLS que indican intentos de degradación

Los navegadores y servidores modernos han desactivado los cifrados de exportación de forma predeterminada, pero los sistemas heredados y los dispositivos integrados pueden seguir siendo vulnerables.

Enlaces

Estándares

  • SOC2_CONTROLS:
    • CC_6_7
    • CC_7_1
  • CCPA:
    • CCPA_1798_150
  • GDPR:
    • ART_32
  • PCI_STANDARDS:
    • REQ_4_1
    • REQ_6_2
    • REQ_11_3