Marvin Attack: Una vulnerabilidad de RSA que resurge tras 25 años
Marvin Attack: Una vulnerabilidad de RSA que resurge tras 25 años

Marvin Attack: Una vulnerabilidad de RSA que resurge tras 25 años

En el marco del Simposio Europeo sobre Investigación en Seguridad Informática (ESORICS 2023), celebrado entre el 25 y el 29 de septiembre en los Países Bajos, un investigador de seguridad vinculado a Red Hat presentó una nueva técnica de ataque denominada «Marvin Attack». Esta metodología permite descifrar datos mediante la medición de retrasos durante operaciones de descifrado basadas en el algoritmo RSA.

Origen y evolución del ataque

El ataque Marvin representa una variación del método Bleichenbacher, introducido en 1998. Este tipo de ataques se ha desarrollado a lo largo de los años, incluyendo el ROBOT (2017) y New CAT (2019). El ataque actual es considerado un regreso de una vulnerabilidad que data de hace más de 25 años.

El método se basa en la observación del tiempo necesario para completar operaciones de descifrado utilizando una clave privada. A través de esta medición, los atacantes pueden inferir información sobre el contenido original de los datos cifrados.

Características técnicas

El ataque se lleva a cabo mediante la detección de variaciones mínimas en el tiempo de procesamiento, incluso diferencias del orden de unos pocos ciclos de CPU. Para lograrlo, los investigadores han desarrollado una técnica que permite medir estas diferencias a través de una red en producción, saltando varios enrutadores.

El ataque se denomina Marvin debido al personaje de la novela «La guía del autoestopista galáctico», donde este Android dura hasta el final del universo. Esta denominación refleja la persistencia y la antigüedad del problema.

Impacto en protocolos de seguridad

El ataque se centra en los servidores SSL que utilizan el formato PKCS#1 v1.5 para rellenar mensajes cifrados. La vulnerabilidad permite a un atacante observar la respuesta del servidor y deducir información sobre el contenido original de los datos.

Este tipo de ataques puede permitir descifrar mensajes RSA interceptados o generar firmas digitales falsas que puedan utilizarse para realizar ataques MITM (Man-in-the-Middle) en conexiones TLS. La implementación del ataque se ha demostrado posible en varias bibliotecas criptográficas, incluyendo OpenSSL, GnuTLS y pyca/cryptography.

Limitaciones y soluciones

El estudio revela que las bibliotecas modernas aún presentan canales de fuga abiertos y no garantizan un tiempo constante en la ejecución de operaciones con relleno correcto o incorrecto. Por esta razón, el ataque sigue siendo viable.

La solución propuesta es dejar de utilizar PKCS#1 v1.5 en RSA para TLS. Aunque TLS 1.3 ya abandona este formato, se recomienda migrar a algoritmos alternativos como ECDSA para evitar riesgos similares.

Vulnerabilidades afectadas

El ataque afecta a múltiples implementaciones de protocolos que utilizan RSA y PKCS. Entre las bibliotecas vulnerables se incluyen OpenSSL, GnuTLS, NSS de Mozilla, M2Crypto y OpenSSL-ibmca.

Según el investigador, la clase de vulnerabilidades considerada no se limita a RSA y puede afectar a otros algoritmos que dependan de bibliotecas estándar para cálculos de números enteros.