Descubren metodo que permite recrear claves RSA mediante anĂ¡lisis de conexiones SSH

vulnerabilidad

Si se explotan, estas fallas pueden permitir a los atacantes obtener acceso no autorizado a informaciĂ³n confidencial o, en general, causar problemas

Hace pocos dĂ­as. se dio a conocer la noticia de que un equipo de investigadores de la Universidad de California en San Diego ha demostrado la capacidad de recrear las claves privadas de host RSA de un servidor SSH mediante el anĂ¡lisis pasivo del trĂ¡fico SSH.

Las investigaciones publicadas muestran que cuando se utilizan firmas digitales basadas en el algoritmo RSA en SSH, los ataques que utilizan el mĂ©todo Lattice (Fault Attack) para recrear la clave privada RSA son adecuados para firmas digitales en caso de una falla de software o hardware durante el proceso de cĂ¡lculo de la firma. La esencia del mĂ©todo es que al comparar las firmas digitales RSA correctas e incorrectas, se puede determinar el mĂ¡ximo comĂºn divisor, generando asĂ­ uno de los nĂºmeros primos utilizados para generar la clave.

El cifrado RSA se basa en la operaciĂ³n de exponenciaciĂ³n de un gran nĂºmero, mientras que la clave pĂºblica contiene el mĂ³dulo y el grado. El mĂ³dulo se forma a partir de dos nĂºmeros primos aleatorios, que sĂ³lo conoce el propietario de la clave privada. El ataque se puede aplicar a implementaciones RSA utilizando el teorema del resto chino y esquemas de relleno deterministas como PKCS#1 v1.5.

Se puede realizar un ataque a servidores en los que, por una conjunciĂ³n de circunstancias o acciones del atacante, se produzcan fallos durante el cĂ¡lculo de la firma digital al establecer una conexiĂ³n SSH. Las fallas pueden ser de software (ejecuciĂ³n incorrecta de operaciones matemĂ¡ticas, corrupciĂ³n de memoria) o de hardware (errores en el funcionamiento de NVRAM y DRAM o fallas durante cortes de energĂ­a).

Una de las opciones para estimular fallos podrĂ­an ser los ataques de la clase RowHammer, que entre otras cosas, permite de forma remota o al procesar cĂ³digo JavaScript en un navegador lograr la distorsiĂ³n del contenido de bits de memoria individuales durante la lectura cĂ­clica intensiva de datos de los vecinos. cĂ©lulas de memoria. Otra opciĂ³n para provocar fallos podrĂ­a ser la explotaciĂ³n de vulnerabilidades que provoquen desbordamientos del bĂºfer y corrupciĂ³n de datos con claves en la memoria.

Para llevar a cabo un ataque, basta con monitorear pasivamente las conexiones legĂ­timas al servidor SSH hasta que se identifique una firma digital defectuosa en el trĂ¡fico, que puede usarse como fuente de informaciĂ³n para reconstruir la clave privada RSA. DespuĂ©s de recrear la clave RSA del host, un atacante puede usar un ataque MITM para redirigir silenciosamente las solicitudes a un host falso que se hace pasar por un servidor SSH comprometido e interceptar los datos transmitidos a este servidor.

Al examinar una colecciĂ³n de datos de red interceptados que incluĂ­an aproximadamente 5200 millones de registros asociados con el uso del protocolo SSH, los investigadores identificaron aproximadamente 3200 millones de claves de host pĂºblicas y firmas digitales utilizadas durante la negociaciĂ³n de sesiones SSH. De ellos, 1.200 millones (39,1%) se generaron mediante el algoritmo RSA.

El grupo de investigadores menciona que:

En 593671 casos (0,048%) la firma RSA estaba dañada y no se pudo verificar, mientras que para 4962 firmas fallidas, pudimos utilizar el mĂ©todo de factorizaciĂ³n Lattice para determinar la clave privada a partir de la clave pĂºblica conocida, lo que dio como resultado la reconstrucciĂ³n de 189 pares de claves RSA Ăºnicos (en muchos casos, se usaron las mismas claves y dispositivos fallidos para generar diferentes firmas dañadas). Se necesitaron aproximadamente 26 horas de CPU para recrear las claves.

El problema sĂ³lo afecta a implementaciones especĂ­ficas del protocolo SSH, utilizado principalmente en dispositivos integrados. Ademas de ello se menciona que OpenSSH no se ve afectado por este problema porque utiliza la biblioteca OpenSSL (o LibreSSL) para generar claves, que ha estado protegida contra ataques de fallas desde 2001.

AdemĂ¡s, en OpenSSH, el esquema de firma digital ssh-rsa (basado en sha1) ha quedado obsoleto desde 2020 y deshabilitado en la versiĂ³n 8.8 (la compatibilidad con los esquemas rsa-sha2-256 y rsa-sha2-512 permanece). El ataque podrĂ­a ser potencialmente aplicable al protocolo IPsec, pero los investigadores no tenĂ­an suficientes datos experimentales para confirmar dicho ataque en la prĂ¡ctica.

Finalmente si estĂ¡s interesado en poder conocer mĂ¡s al respecto, puedes consultar los detalles en el siguiente enlace.