#DUHK: nuevo ataque contra la criptografía permite descifrar tráfico VPN (FortiOS 4.3 afectado)

Sin duda octubre de 2017 no será un mes bien recordado por la criptografía. A lo largo de este mes hemos podido ver cómo los sistemas criptográficos se han visto comprometidos en varias ocasiones, como, por ejemplo, con KRACK, la vulnerabilidad en WPA2, y con ROCA, una técnica para recuperar claves RSA.

Octubre aún no ha terminado, y las vulnerabilidades en el cifrado tampoco, y es que expertos de seguridad han descubierto una nueva vulnerabilidad en distintos algoritmos de cifrado, DUHK ?, que pone en peligro las sesiones privadas VPN y Web.

DUHK (Don’t Use Hard-coded Keys)Paper [PDF]-es una nueva vulnerabilidad recién descubierta que puede permitir a un atacante hacerse con las claves de cifrado de conexiones VPN o sesiones WEB. Esta vulnerabilidad afecta a un gran número de dispositivos, como equipos Fortinet o Cisco, entre otros muchos, que utilizan ANSI X9.31 RNG, un obsoleto algoritmo de generación de números pseudo-aleatorios, junto con una clave de iniciación codificada.

DUHK fue desarrollado por los investigadores de University of Pennsylvania and Johns Hopkins University: Shaanan Cohney, Nadia Heninger, y del gran Matthew D. Green.

Esta vulnerabilidad debe verse en el contexto de una línea de investigación de varios años que muestra cómo los estándares subvertidos, la selección de parámetros, las vulnerabilidades sutiles y las fallas de implementación pueden permitir a los actores estatales descifrar pasivamente el tráfico de red cifrado. El ataque DUHK es una falla histórica del proceso de estandarización federal de criptografía y la vulnerabilidad general se conoce desde hace al menos dos décadas, pero ninguna de las descripciones del algoritmo que pudimos encontrar menciona que la clave de inicialización sea impredecible para el atacante.

El algoritmo de generación de números pseudo-aleatorios ANSI X9.31 RNG ha sido incluido durante sus 30 años de vida en un gran número de estándares criptográficos, hasta que finalmente se eliminó de la lista de algoritmos de generación de números pseudo-aleatorios. Este tipo de algoritmos, generalmente, generan una secuencia de bits «pseudo-aleatoria» a partir del estado actual y una semilla de números secretos generada. RNG fue removido por FIPS 140-2 en enero de 2016.

Cuando los valores iniciales son los mismos, siempre generan la misma secuencia de bits.

DUHK es posible debido a un despiste de los fabricantes que pone en peligro a millones de dispositivos en todo el mundo

DUHK no es un fallo exclusivamente de estos algoritmos, sino que la culpa también recae sobre los fabricantes. Expertos de seguridad han descubierto que un gran número de fabricantes incluye dentro del propio firmware de los dispositivos la semilla utilizada en el algoritmo de generación de los números y, por lo tanto, utilizando esta semilla, y aprovechando que cuando el valor inicial es el mismo siempre se devuelve la misma secuencia de bits. Es posible que, con ingeniería inversa, se consiga recuperar las claves privadas utilizadas en protocolos como VPN o en sesiones Web privadas.

Tal como han demostrado los investigadores de seguridad, mediante un ataque MitM, un atacante que conozca la semilla, controlando algunos paquetes puede llegar a averiguar el estado inicial del dispositivo y, con ambos elementos, generar de nuevo la clave privada utilizada en el cifrado de las sesiones privadas.

Con las claves privadas, el atacante podría descifrar las comunicaciones que, en teoría, son seguras y acceder, por ejemplo, a información confidencial sobre la empresa, logins, información bancaria, etc.

Todas las implementaciones de FIPS (Federal Information Processing Standards) están afectadas por este fallo de seguridad. Los dispositivos vulnerables deben cumplir, además, todas estas características:

  • Utilizar el generador de números pseudo-aleatorios X9.31. RNG fue removido por FIPS 140-2 en enero de 2016
  • La semilla está incluida en el firmware.
  • La clave generada se utiliza directamente en las claves criptográficas.
  • Utiliza protocolos SSL/TLS o IPsec por los que se transmiten algunos de los códigos utilizados para generar las claves sin cifrar.
  • Cualquier VPN que utilice FortiOS 4.3.0 a FortiOS 4.3.18 (alrededor de 25.000) puede ser descifrado por un adversario CVE-2016-8492. Confirmado en Fortiguard y CiscoAironet.

Podemos obtener mucha más información técnica sobre esta vulnerabilidad en la página web creada especialmente para este nuevo ataque.

Fuente: RedesZone

Visitas: 9