Linux Adictos David Naranjo  

Raccoon: una vulnerabilidad en TLS que permite la determinación de claves para conexiones DH

Raccoon Attack

Se ha revelado información sobre una nueva vulnerabilidad en el protocolo TLS, cuyo nombre en código es «Raccoon Attack» y que permite, en raras circunstancias, determinar una clave primaria preliminar que se puede usar para descifrar conexiones TLS, incluido HTTPS al interceptar el tráfico de tránsito (MITM).

De la información que se dio a conocer, se menciona que el ataque es muy difícil de implementar en la práctica y es de naturaleza más teórica. Un ataque requiere una configuración específica del servidor TLS y la capacidad de medir con mucha precisión el tiempo de procesamiento de las operaciones por parte del servidor.

El problema está presente directamente en la especificación TLS y solo afecta a las conexiones que utilizan cifrados basados ​​en el protocolo de intercambio de claves DH.

Los cifrados ECDH no manifiestan el problema y siguen siendo seguros. Solo los protocolos TLS hasta la versión 1.2 incluida son vulnerables y el protocolo TLS 1.3 no se ve afectado y la vulnerabilidad se manifiesta en las implementaciones de TLS que reutilizan la clave secreta DH en diferentes conexiones TLS.

En OpenSSL 1.0.2e y versiones anteriores, la clave DH se reutiliza en todas las conexiones de servidor, a menos que la opción SSL_OP_SINGLE_DH_USE esté establecida explícitamente.

Mientras que desde OpenSSL 1.0.2f, la clave DH se reutiliza solo cuando se utilizan cifrados DH estáticos. En OpenSSL 1.1.1, la vulnerabilidad no se manifiesta por sí misma, ya que esta rama no usa la clave DH primaria y no usa cifrados DH estáticos.

Cuando se utiliza el método de intercambio de claves DH, ambos lados de la conexión generan claves privadas aleatorias (en adelante, clave «a» y clave «b»), sobre la base de las cuales se calculan y envían las claves públicas (ga  mod p y gbmod p).

Después de recibir las claves públicas, cada parte calcula una clave primaria común (gab mod p), que se utiliza para generar claves de sesión.

El ataque Raccoon permite determinar la clave primaria mediante el análisis de la información a través de canales laterales, partiendo del hecho de que las especificaciones TLS hasta la versión 1.2 requieren que todos los bytes cero iniciales de la clave primaria sean descartados antes de los cálculos con su participación.

La inclusión de la clave primaria truncada se pasa a la función de generación de claves de sesión basada en funciones hash con diferentes retrasos al procesar diferentes datos.

Medir con precisión el tiempo de las operaciones clave realizadas por el servidor permite a un atacante identificar pistas que proporcionan una forma de juzgar si la clave principal comienza en cero o no. Por ejemplo, un atacante puede interceptar la clave pública (ga) enviada por el cliente , reenviarla al servidor y determinar si la clave primaria resultante comienza con cero.

Por sí misma, la definición de un byte de la clave no da nada, pero interceptando el valor «ga» transmitido por el cliente durante la negociación de la conexión, el atacante puede formar un conjunto de otros valores relacionados con «ga» y enviarlos al servidor en sesiones de negociación de conexión separadas.

Al formar y enviar los valores «gri*ga«, el atacante puede, mediante el análisis de cambios en los retrasos de respuesta del servidor, determinar los valores que conducen a la recepción de claves primarias a partir de cero. Con estos valores determinados, el atacante puede componer un conjunto de ecuaciones para resolver el problema del número oculto y calcular la clave primaria original.

La vulnerabilidad de OpenSSL se calificó de gravedad baja, y la solución fue mover los cifrados problemáticos «TLS_DH_ *» en la versión 1.0.2w a la categoría «cifrados débiles» que estaba deshabilitada de forma predeterminada. Los desarrolladores de Mozilla hicieron lo mismo al deshabilitar los conjuntos de cifrado DH y DHE en la biblioteca NSS utilizada en Firefox.

Por separado, hay problemas adicionales en la pila TLS de dispositivos F5 BIG-IP que hacen que el ataque sea más realista.

En particular, se encontraron desviaciones en el comportamiento de dispositivos con un byte cero al comienzo de la clave primaria, que se pueden usar en lugar de medir la latencia exacta en los cálculos.

Fuente: https://raccoon-attack.com/

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.