Marvin Attack: una antigua forma de romper el algoritmo de cifrado RSA que funcionará en 2023

Un antiguo ataque de oráculo de temporización dirigido a la encriptación RSA ha resurgido, según identificó un investigador de Red Hat. Este ataque de oráculo, descubierto inicialmente en 1998 por Daniel Bleichenbacher, ha demostrado ser aún explotable con el paso del tiempo. A lo largo de los años, esta vulnerabilidad ha reaparecido en múltiples ocasiones, siendo la más reciente en 2018 cuando los investigadores Hanno Böck, Jurau Somorovsky y Craig Young lo reintrodujeron en su publicación titulada “ROBOT”, un acrónimo para “El Regreso de la Amenaza de Oráculo de Bleichenbacher”.

Bleichenbacher descubrió inicialmente que los servidores SSL emitían mensajes de error relacionados con el relleno PKCS #1 v1.5. Estos mensajes facilitaban inadvertidamente un ataque al texto cifrado, comprometiendo la confidencialidad esencial para los protocolos de Seguridad de la Capa de Transacción (TLS) que utilizan encriptación RSA. Bajo esta vulnerabilidad, una persona que pudiera observar el tiempo requerido para el proceso de descifrado utilizando la clave privada podría, teóricamente, descifrar mensajes RSA interceptados.

La estrategia de ataque revitalizada, llamada de manera humorística “Marvin” en homenaje tanto a “La Guía del Autoestopista Galáctico” como al ataque ROBOT previamente mencionado, fue recientemente revelada por Hubert Kario, un investigador del equipo checo de Red Hat. La intensiva investigación de Kario reveló que este ataque sigue siendo viable contra varias aplicaciones criptográficas, siempre que incorpore técnicas estadísticas más sofisticadas que las utilizadas inicialmente por Bleichenbacher. La lista de implementaciones criptográficas susceptibles incluye OpenSSL, GnuTLS, NSS de Mozilla (a pesar de los parches existentes, según los hallazgos de Kario), pyca/cryptography (que solo ha sido parcialmente remediado), M2Crypto y OpenSSL-ibmca.

La documentación de Kario cataloga meticulosamente una variedad de CVE (Vulnerabilidades y Exposiciones Comunes), proporcionando un recurso valioso para aquellos en el campo de la ciberseguridad. Divulgó que el desarrollo de parches efectivos entre 2020 y 2023 se vio significativamente obstaculizado por dos obstáculos principales. En primer lugar, los investigadores lidiaron con una avalancha de falsos positivos generados por la señal de tiempo de su script o arnés de prueba. Este problema, a su vez, precipitó un segundo desafío: los resultados poco fiables dificultaban extraordinariamente identificar el origen exacto de la señal de tiempo. Sin esta información crucial, era una tarea formidable involucrar a los desarrolladores en la dirección del problema.

El progreso solo se realizó a mediados de 2022 cuando finalmente se desarrolló un arnés de prueba de tiempo constante, facilitando la creación e implementación de soluciones. Para ayudar a otros en el campo, Kario ha puesto a disposición scripts diseñados para probar esta vulnerabilidad específica en varias implementaciones. Además, sugirió que los registros del sistema podrían servir como un indicador confiable de si se ha iniciado un ataque. En sus palabras, los servidores que no hayan experimentado un número sustancial de intentos de conexión que involucren intercambios de claves RSA probablemente estén a salvo de este ataque.

Sin embargo, Kario aboga firmemente por la discontinuación del uso de la encriptación RSA PKCS#1 v1.5, incluso en casos en los que pueda haber una necesidad percibida de compatibilidad con versiones anteriores. Según la investigación publicada, cualquier uso de la API genérica PKCS#1 v1.5 sin el método de Marvin se clasificaría bajo CWE-242, denotando el “Uso de Función Inherentemente Peligrosa”. Sin un código verificado libre de canales secundarios por parte del llamante, se consideraría automáticamente vulnerable el código del llamante. Para una comprensión más profunda, Red Hat ha publicado el documento de investigación completo, que delinea el vector de amenaza, el patrón de ataque y datos adicionales relacionados con esta vulnerabilidad perdurable.