Spectre y Meltdown han resultado ser toda una pesadilla de seguridad para los fabricantes de procesadores; especialmente para Intel. No es sólo que la mayoría de procesadores modernos se vea afectado; es que muchos de ellos ni siquiera recibirán un parche.
Al menos, estos exploits no sirven de nada si el atacante no tiene acceso a nuestro sistema. Al basarse en la ejecución especulativa, el método de ataque consiste en ejecutar un programa capaz de registrar los datos que está usando otra aplicación.
Así que si el atacante no tiene ese acceso inicial, realmente no puede hacer nada; en otras palabras, para que alguien se aproveche de Spectre, es necesario que primero infecte nuestro sistema. Un método común es ejecutar malware a través del navegador; de ahí que los principales navegadores como Firefox o Chrome se actualizasen.
Spectre a través de la red, lo que se temía se hace realidad
Eso era cierto, al menos hasta ahora. Una nueva versión de Spectre, llamada apropiadamente NetSpectre, permite obtener datos a través de la red. Un gurpo de investigadores, entre los que se encuentra uno de los que descubrió Meltdown, ha descubierto un ataque remoto basado en Spectre.
Con NetSpectre, un atacante podría obtener datos de la memoria sin necesidad de ejecutar código en el sistema. Sin embargo, al mismo tiempo es más difícil completar el ataque.
Los investigadores han descubierto dos métodos de ataque. El primero consiste en bombardear el sistema con una gran transferencia de datos; esto llena la caché del procesador con datos inútiles. Si a continuación el atacante fuerza la ejecución especulativa, puede obtener en la transmisión los datos que había en la caché.
El segundo método no depende de la caché, sino de las instrucciones AVX2 presentes en procesadores Intel; se aprovecha de que las unidades AVX2 son grandes y requieren de mucha energía, así que normalmente se desactivan si no están en uso, aunque existe un estado intermedio. Forzar el uso de AVX2 en este estado puede filtrar los datos que en ese momento estuviese usando.
Un sistema lento, pero invisible
En resumidas cuentas, un atacante puede atacar los puertos de un sistema constantemente, con la esperanza de conseguir datos que de otra manera serían imposibles de obtener.
Las buenas noticias es que es un método lento. Muy lento. Si tenemos suerte, los datos se extraen a unos 15 bits por hora; así que es necesario permanecer durante mucho tiempo para obtener datos que sirvan de algo y no bits sueltos. Por contra, como este ataque se produce a nivel de hardware, el sistema operativo (y los programas como antivirus) no son capaces de detectarlo.
La otra buena noticia es que Intel ha declarado que las medidas existentes contra Spectre también funcionan contra NetSpectre. Así que si nuestro sistema ha recibido el parche, no deberíamos temer.