Reportadas en detalle esta semana pasada por investigadores de la Universidad de Virginia y la Universidad de California en San Diego, las tres nuevas vulnerabilidades de Spectre se encontraron en la caché de micro-op, una característica que se encuentra en las unidades centrales de procesamiento modernas. Esta función está diseñada para mejorar el rendimiento de un proceso mediante el almacenamiento de instrucciones de nivel bajo que pueden obtenerse en el proceso de ejecución especulativa para predecir qué funciones se ejecutarán. Esencialmente, esto mejora el rendimiento de un proceso.
La caché micro-op está presente en los procesadores de Advanced Micro Devices Inc. desde 2017 y en los de Intel Corp. desde 2011, por lo que las nuevas vulnerabilidades Spectre afectan a los chips de ambos. Las nuevas vulnerabilidades de Spectre permiten a un atacante subvertir el proceso de ejecución especulativa a través de la caché micro-op dando acceso a datos sensibles mientras se ejecutan las instrucciones.
La primera vulnerabilidad permite un ataque a través del mismo hilo que expone información a través del mismo dominio. La segunda permite un ataque a través del hilo SMT que puede obtener información a través de los hilos que se ejecutan en el mismo núcleo físico. Y el tercero permite un ataque de ejecución transitoria que puede obtener acceso a los datos a través de una ruta “mal interpretada”.
“Debido al tamaño relativamente pequeño de la caché de la micro-op, el ataque es significativamente más rápido que las variantes existentes de Spectre que dependen de la preparación y el sondeo de varios conjuntos de caché para transmitir la información secreta”, dijeron los investigadores. Los nuevos ataques de Spectre también se describen como “considerablemente más sigilosos, ya que utilizan la caché de micro-operaciones como su única primitiva de revelación, introduciendo menos accesos a la caché de datos/instrucciones, por no hablar de los fallos”.
“Miles de millones de ordenadores y otros dispositivos en todo el mundo son tan vulnerables hoy como lo eran cuando se anunció Spectre por primera vez”, añadieron los investigadores.
Las vulnerabilidades originales de Spectre se solucionaron en parte en su momento, ya que Microsoft Corp. proporcionó cierta protección e Intel rediseñó los chips de nueva generación. Sin embargo, nunca estuvieron totalmente protegidas: Intel dijo en su momento que no tenía intención de ofrecer protección a los chips más antiguos.
El problema tanto de la vulnerabilidad Spectre original como de estas nuevas es que están integradas en el hardware. Un método podría ser la desactivación de la caché de las microoperaciones o la detención de la ejecución especulativa, pero, como señalan los investigadores, esta solución “haría retroceder las innovaciones críticas de rendimiento en la mayoría de los procesadores modernos de Intel y AMD, y esto no es factible”.