Una vulnerabilidad llamada NetCAT (Network Cache ATtack) afecta a todos los procesadores Intel de nivel de servidor desde el 2012 y permite detectar detalles confidenciales al montar un ataque de canal lateral a través de la red.
Investigadores del grupo VUSec en Vrije Universiteit Amsterdam descubrieron que la información está presente en la memoria caché de la CPU en sistemas con la función Data Direct I/O (DDIO) habilitada.
DDIO es una función específica para los procesadores Intel de nivel de servidor y se activa de manera predeterminada en las familias Intel Xeon E5, E7 y SP a partir del 2012.
Su propósito es compartir el caché de la CPU con dispositivos de red y periféricos para un mejor rendimiento de las aplicaciones de servidor en redes de alto rendimiento.
NetCAT es un ataque basado en la red que se puede implementar para inferir datos en el caché de último nivel de la CPU de una máquina remota. Los investigadores de VUSec demostraron que un atacante que controla una máquina en la red local puede usar este método para inferir datos confidenciales de una sesión SSH sin que se ejecute software malicioso en el sistema de destino.
Según dicen los investigadores en su informe: “Más precisamente, con NetCAT, podemos filtrar el tiempo de llegada de los paquetes de red individuales de una sesión SSH utilizando un canal lateral de caché remoto“. Mediante las propiedades clave de ingeniería inversa en DDIO, los investigadores aprendieron cómo se compartía el caché. Este conocimiento y espionaje de las tarjetas de red u otros periféricos del lado del servidor, les permitió monitorear los tiempos de acceso en el caché de la CPU cuando los clientes en la red usaban SSH para conectarse al servidor.
VUSec explica que durante una clave SSH interactiva se envían paquetes de red con cada pulsación de una tecla. Con NetCAT, un atacante puede deducir qué caracteres se escriben dentro de una sesión SSH cifrada.
Esto es posible al monitorear el tiempo de llegada del paquete de red correspondiente a un carácter. Los investigadores también aprovechan el hecho de que las personas tienen ciertos patrones de escritura y esto ayuda con el análisis.
Para determinar el tipo de datos, los investigadores recurrieron al aprendizaje automático (Machine Learning) para asignar los tiempos a las pulsaciones de teclas.
Los detalles completos de la investigación están disponibles en un documento llamado “NetCAT: ataques prácticos de caché desde la red“.
Una demostración en video de el ataque muestra cómo las pulsaciones de teclas de una sesión SSH se pueden filtrarse de forma remota:
Intel reconoció el problema, que se rastrea como CVE-2019-11184 y otorgó una recompensa por el descubrimiento y los detalles técnicos.
La compañía recomienda fuertes controles de seguridad en una red segura donde están habilitados Intel DDIO y RDMA (Acceso directo a memoria remota). A pesar de esta advertencia, la vulnerabilidad tiene una puntuación de gravedad baja de solo 2.6 de 10.
Las recomendaciones adicionales son limitar el acceso directo desde redes no confiables y usar módulos de software resistentes a ataques de tiempo, usando código de estilo de tiempo constante.
Sin embargo, NetCAT pasará a la historia como el primer ataque de canal lateral de CPU basado en red.