Translated message

A translation of this page exists in English.

SWEET32: Ataques de cumpleaños contra las cifras de TLS de bloques de 64 bits (CVE-2016-2183)

Actualizado -

Visión general

Red Hat Product Security ha tenido conocimiento de un problema con el cifrado por bloques dentro de protocolos SSL/TLS que, bajo ciertas circunstancias, podrían permitir un ataque de choque. Este problema ha sido evaluado como Moderado y se le ha asignado CVE-2016-2183. En este momento, este problema no requiere actualizaciones ni acción de parte de los usuarios de los productos Red Hat. Por favor consulte la sección Resolución para obtener más información.

Información de fondo

Los cifrados de bloque de legado de bloque de 64 bits son vulnerables a un ataque de choque real cuando se utilizan en modo CBC. Todas las versiones de paquetes de soporte de protocolo SSL/TLS que usan 3DES como algoritmo de cifrado simétrico se afectan (por ejemplo ECDHE-RSA-DES-CBC3-SHA). En las versiones de OpenSSL distribuidas con Red Hat Enterprise Linux 6 y 7, las suites criptográficas basadas en DES se enumeran por debajo de las que soportan AES-128 (con suite criptográfica PFS) y AES-256. Es decir que la cifra DES será elegida únicamente cuando el servidor explícitamente inhabilite AES-128 y AES-256. En la versión de OpenSSL distribuida con Red Hat Enterprise Linux 5, las suites criptográficas basadas en DES se enumeran por debajo de AES-256, pero por encima de AES-128. En dichos casos, DES será elegido únicamente cuando el servidor explícitamente inhabilite una suite criptográfica basada en AES-256.

La seguridad de un cifrado por bloques depende del tamaño de la llave (K). Por lo tanto, el mejor ataque contra un cifrado por bloques es el ataque de la búsqueda exhaustiva de llaves que tiene una complejidad de 2k. Sin embargo, cuando se utiliza un cifrado por bloques para cifrar grandes cantidades de datos mediante modos de cifrado tales como CBC, el tamaño de bloque (n) también juega un rol en determinar la seguridad.

Cuando se utiliza el modo CBC de cifrado, se presenta un ataque de cumpleaños en el que después de 2n/2 bloques de datos se cifran con la misma llave, se espera un choque entre dos bloques de cifras. El choque en la salida significaría que la entrada es la misma. Estos datos combinados con varias condiciones (discutidas abajo) pueden ser utilizadas para extraer texto plano de los datos cifrados.

Factibilidad del ataque

  1. Primero, DES/3DES es la única cifra utilizada en SSL/TLS que tiene un tamaño de bloque de 64 bits. Como se discutió en el resumen, las suites criptográficas que contienen 3DES se priorizan abajo a diferencia de otras suites criptográficas (p.ej., AES-128).

  2. Para efectuar el ataque en cifrado por bloques de 64 bits, se necesitan capturar por lo menos 32 GB en la red. En caso de SSL/TLS esto significaría una versión SSL/TLS individual. (Para las demás sesiones, SSL/TLS regenera las llaves simétricas). Por lo tanto, las conexiones de larga duración podrían ser vulnerables.

  3. En muchos contextos, la recuperación de xor entre dos bloques de texto plano, no es suficiente para un ataque con un impacto real. Sin embargo, se puede montar un ataque cuando se cumplan las siguientes condiciones:

    • Un secreto fijo sea enviado repetidas veces;

    • Se conozca una parte del texto plano.

  4. El ataque de prueba de concepto mencionado en la investigación, presume que algún identificador de autenticación pasa entre el servidor y el cliente para todas sus comunicaciones (el identificador podría ser una cookie de credenciales utilizada en autenticación básica). El atacante ejecuta entonces un JavaScript malintencionado en el origen del sitio web que es atacado. Una clase de ataque BEAST puede utilizarse para extraer la cookie.

Mitigaciones

  1. Las configuraciones SSL/TLS deberían preferir AES en lugar de DES. Las versiones de OpenSSL distribuidas con Red Hat Enterprise Linux 6 y 7 ya lo hacen.
  2. En la versión de OpenSSL que se distribuye con Red Hat Enterprise Linux 5, 3DES se enumera por debajo de la cifra AES-256 y por encima de AES-128, por lo tanto, las suites criptográficas basadas en AES-256 no deberían inhabilitarse en el servidor.
  3. Los servidores que usan OpenSSL, deben inhabilitar las suites criptográficas AES-128 y AES-256. Las versiones de Apache distribuidas con Red Hat Enterprise Linux usan la cadena de cifrado, en la cual se prefieren las suites criptográficas AES a las DES/3DES.

Resolución

  1. Este error se relaciona al diseño del cifrado DES/3DES y no es una fallo de implementación.
  2. Este error no afecta directamente ninguna biblioteca criptográfica (OpenSSL, NSS y GnuTLS) en Red Hat Enterprise Linux 5, 6 y 7, puesto que hay varias suites criptográficas más importantes que aparecerán más alto que 3DES en las configuraciones de listas de cifrado predeterminadas.
  3. For Red Hat Enterprise Linux 5, no inhabilite las suites criptográficas basadas en AES-256 en el servidor. Para Red Hat Enterprise Linux 6 y 7, no inhabilite las suites criptográficas basadas en AES-128 ni AES-256 en el servidor.

Correcciones de seguridad de la corriente principal de desarrollo:

OpenSSL:

OpenSSL ha sido clasificada como problema de gravedad 'baja'. Han pasado a suites criptográficas 3DES de la categoría ALTA a MEDIANA en la rama 1.0.2 y se inhabilitará de forma predeterminada en el próximo lanzamiento.

NSS:

Mozilla está implementando límites de datos para todas las suites criptográficas.

Problemas conocidos

OpenVPN de la corriente de desarrollo principal, también es susceptible al ataque Sweet32 y ha sido rastreado por CVE-2016-6329. La implementación Red Hat de OpenVPN no se afecta con este fallo.

Referencias

https://access.redhat.com/security/cve/CVE-2016-2183
https://sweet32.info/

Comments