
En los últimos años, varios grupos de investigadores de ciberseguridad han revelado docenas de vulnerabilidades de canal lateral de memoria en procesadores y DRAM modernos, como Rowhammer, RAMBleed, Spectre y Meltdown.
¿Alguna vez has notado que todos tenían al menos una cosa en común?
Eso es OpenSSH.
Como prueba de concepto, muchos investigadores demostraron sus ataques de canal lateral contra la aplicación OpenSSH instalada en una computadora objetivo, donde un proceso propiedad del atacante sin privilegios explota las vulnerabilidades de lectura de memoria para robar claves privadas SSH secretas de las regiones de memoria restringida del sistema. .
Eso es posible porque OpenSSH tiene un agente que guarda una copia de su clave SSH en la memoria para que no tenga que escribir su contraseña cada vez que quiera conectarse al mismo servidor remoto.
Sin embargo, los sistemas operativos modernos almacenan de forma predeterminada datos confidenciales, incluidas claves de cifrado y contraseñas, en la memoria del kernel a la que no pueden acceder los procesos privilegiados a nivel de usuario.
Pero dado que estas claves SSH viven en la memoria RAM o la CPU en formato de texto sin formato, la función es susceptible de intentos de piratería cuando los ataques involucran vulnerabilidades de lectura de memoria.
OpenSSH ahora almacena solo claves cifradas en la memoria
Aquí hay buenas noticias: ya no es el caso.
La última actualización de los desarrolladores de OpenSSH resuelve este problema mediante la introducción de una nueva función de seguridad que cifra las claves privadas antes de almacenarlas en la memoria del sistema, protegiéndola contra casi todos los tipos de ataques de canal lateral.
Según el desarrollador de OpenSSH, Damien Miller, un nuevo parche para OpenSSH ahora «cifra las claves privadas cuando no están en uso con una clave simétrica que se deriva de una» preclave «relativamente grande» que consta de datos aleatorios (actualmente 16 KB).
«Los atacantes deben recuperar la clave previa completa con gran precisión antes de que puedan intentar descifrar la clave privada protegida, pero la generación actual de ataques tiene tasas de error de bits que, cuando se aplican acumulativamente a la clave previa completa, hacen que esto sea poco probable», explica Miller.
«En cuanto a la implementación, las claves se cifran ‘protegidas’ cuando se cargan y luego se desprotegen de forma automática y transparente cuando se usan para firmas o cuando se guardan/serializan».
Cabe señalar que este parche solo mitiga la amenaza y no es una solución permanente. Miller dice que OpenSSH eliminará esta protección contra los ataques de canal lateral en unos años, cuando la arquitectura de la computadora se vuelva menos insegura.