La primera solución eficiente para Spectre y Meltdown

Título de la publicación

Efficient Invisible Speculative Execution through Selective Delay and Value Prediction

Autores

Christos Sakalis, Stefanos Kaxiras, Alberto Ros, Alexandra Jimborean, Magnus Själander

Medio en el que se publica

46th International Symposium on Computer Architecture (ISCA), Phoenix, AZ (USA), June 2019.

Breve descripción de la publicación

Los ataques de seguridad Meltdown y Spectre se anunciaron a principios de 2018 y desde entonces han surgido otros ataques que, como los primeros, se aprovechan de los rastros que deja la ejecución especulativa para acceder, por ejemplo, a contraseñas y claves de cifrado. Esto ha demostrado ser un talón de Aquiles para la seguridad informática. Numerosas personas e instituciones de todo el mundo han investigado métodos para prevenir tales ataques. Recientemente, investigadores de la Universidad de Uppsala, NTNU y la Universidad de Murcia han ideado una solución eficiente al problema, que se presentará en la conferencia más prestigiosa en arquitectura de computadores (ISCA) a finales de junio de 2019.

El agujero de seguridad surge en los procesadores actuales cuando el procesador intenta adivinar (especular) sobre qué hacer a continuación. Si el procesador adivina incorrectamente (fallo de especulación), éste deshace el trabajo realizado y comienza de nuevo. La especulación es fundamental para el alto rendimiento de los procesadores actuales. Para garantizar la seguridad los fallos de especulación no deberían dejar rastro visible alguno. Sin embargo, en los procesadores actuales en realidad la especulación deja un rastro en el sistema de memoria (las cachés) que hace que el sistema sea vulnerable a ataques.

La solución propuesta usa otra forma de especulación, la predicción de valor, para evitar que las lecturas especulativas dejen rastro en el sistema de memoria. Esta forma de especulación es completamente invisible. Además, aquellas lecturas que no puedan predecir el valor del dato a leer, son retrasadas hasta que dejen de ser especulativas.

Esta solución logra una penalización en el rendimiento de los procesadores de tan solo un 11 por ciento y con un aumento de solo el 7 por ciento en el uso de energía. Esto supone un gran avance ya que las soluciones previas penalizan en rendimiento del procesador en un 46 por ciento y aumentan el uso de energía en un 51 por ciento. Además, la solución propuesta requiere modificaciones relativamente pequeñas a los diseños de procesadores actuales lo que hace que este método sea práctico para emplearlo en futuros microprocesadores.