Termina Octubre y no podemos decir que no ha sido un mes bastante particular para la Seguridad, particularmente para la Criptografía. Se han descubierto grandes vulnerabilidades de las cuales en este apartado hablaremos brevemente de KRACK, ROCA y DUCK.
KRACK - Ataque de Reinstalación de Clave
Fue a mediados de Octubre que se dió a conocer el Ataque de Reinstalación de Clave o mejor conocido como KRACK (Key Reinstallation Attacks).
En este caso, la víctima es WPA2. WPA2 es un sistema que se utiliza para proteger redes inalámbricas y es el mecanismo de seguridad más utilizado en la actualidad, ya que, es, o mejor dicho, era un mecanismo seguro. Digo era porque con la llegada de KRACK ha puesto en jaque la seguridad de WPA2.
Según la investigación de Mathy Vanhoef y Frank Piessens el problema radica en el 4-way handshake con la cual se genera la clave de sesión. Ellos demostraron que el 4-way handshake permite un ataque de reinstalación de clave. En su paper indican que con WPA2 utilizando AES-CCMP un adversario pouede reproducir y descifrar paquetes, esto permite que se realice la técnica hijack TCP stream y se inyecte datos maliciosos dentro de ellos. Para el caso de WPA-TKIP el impacto es catastrófico, debido a que, los paquetes pueden ser reproducidos, descifrados y falsificados.
Para esta vulnerabilidad se encuentran múltiples CVEs asociados, entre ellos: CVE-2017-13077, CVE-2017-13078, CVE-2017-13079, CVE-2017-13080, CVE-2017-13081, CVE-2017-13082, CVE-2017-13084, CVE-2017-13086, CVE-2017-13087, CVE-2017-13088
La prevención es mediante la actualización, tanto en clientes como en Access Point. Tanto Microsoft, la comunidad Linux, Intel, F5, TP-Link y muchas otras han sacado el la corrección para que KRACK no los afecte.
ROCA - Return of Coppersmith’s Attack
ROCA es la segunda vulnerabilidad sobre criptografía que hablaremos durante este post. En este caso, investigadores de la Universidad Masaryk (República Checa) descubrieron el problema en la generación de claves RSA utilizadas por una biblioteca de software adoptada en tarjetas inteligentes criptográficas, tokens de seguridad y otros chips de hardware seguros fabricados por Infineon Technologies AG permite un ataque de factorización práctico, en el que el atacante calcula la parte privada a partir de una clave públida RSA.
El ataque es factible para claves de longitud comúnmente utilizadas, incluyendo 1024 y 2048 bits, y afecta a los chips fabricados a partir de 2012.
La vulnerabilidad se caracteriza por la estructura de los primos generados que utiliza RSA, lo que hace prácticamente posible la factorización de longitudes de clave comúnmente utilizadas que incluyen 1024 y 2048 bits. Solo se necesita el conocimiento de una clave pública y no se requiere acceso físico al dispositivo vulnerable. La vulnerabilidad NO depende de un generador de números aleatorios débil o defectuoso: TODAS las claves RSA generadas por un chip vulnerable se ven afectadas. El ataque fue prácticamente verificado por varias claves RSA de 1024 bits seleccionadas al azar y por varias claves seleccionadas de 2048 bits.
En pruebas de laboratorio se obtuvo que el precio en el caso más desfavorable de la factorización en una instancia de cálculo en Amazon AWS es $ 76 para la clave de 1024 bits y aproximadamente $ 40,000 para la clave de 2048 bits.
En la primera semana del mes de febrero la vulnerabilidad fue revelada a Infineon Technologies AG, siguiendo el principio de divulgación responsable, se acordó un período de 8 meses antes de una divulgación pública. Los principales proveedores, incluidos Microsoft, Google, HP, Lenovo y Fujitsu, ya publicaron las actualizaciones de software y las directrices para una mitigación.
Pasados los 8 meses acordados, se ha hecho pública la vulnerabilidad y ha sido Octubre el mes de su publicación.
DUHK - Don’t Use Hard-coded Keys
DUHK (No usar claves codificadas) es una vulnerabilidad que afecta a los dispositivos que usan ANSI X9.31 generador de números aleatorios (RNG) junto con una clave de inicialización codificada. ANSI X9.31 RNG es un algoritmo que hasta hace poco se usaba comúnmente para generar claves criptográficas que aseguran las conexiones VPN y las sesiones de navegación web, evitando que terceros lean las comunicaciones interceptadas.
DUHK permite a los atacantes recuperar claves secretas de cifrado de implementaciones vulnerables y descifrar y leer comunicaciones que pasan por conexiones VPN o sesiones web cifradas. Los datos cifrados podrían incluir datos comerciales confidenciales, credenciales de inicio de sesión, datos de tarjetas de crédito y otro contenido confidencial. Las implementaciones afectadas fueron históricamente compatibles con FIPS, las Normas federales de procesamiento de información.
¿Quién es vulnerable?
El tráfico de cualquier VPN que utilice FortiOS 4.3.0 a FortiOS 4.3.18 puede ser descifrado por un adversario que escuche de forma pasiva en la red y que pueda observar el tráfico de enlace cifrado. Otros ataques de recuperación de claves en diferentes protocolos también pueden ser posibles.
También se han encontrado otras once implementaciones históricamente certificadas por FIPS que documentan claves de semilla X9.31 RNG codificadas en sus productos. La lista completa, descubierta hasta el momento, se encuentra en el paper de referencia.
Los usuarios de los productos afectados deberían aplicar las últimas actualizaciones de software.
Un dispositivo es vulnerable a DUHK si:
Utiliza el generador de números aleatorios X9.31
y
La clave de semilla utilizada por el generador está codificada en la implementación
y
La salida del generador de números aleatorios se usa directamente para generar claves criptográficas
y
Al menos algunos de los números aleatorios antes o después de los utilizados para hacer las claves se transmiten sin cifrar. Este es típicamente el caso para SSL / TLS e IPsec.
Conclusión
Octubre sin duda a dado que hablar en el ambiente criptográfic. Si bien no afecta directamente a algún algoritmo sino que afecta a implementaciones que utilizan algoritmos criptográfico, no deja de ser un golpe duro para dicha disciplina.
La recomendación, parece obvia y hasta suele aburrir repetirla, es tener un Patch Management adecuado dentro de nuestras infraestructuras para evitar que problemas conocidos afecten la Seguridad de nuestro negocio.