Una nueva variante de Spectre supera todas las mitigaciones: Parchearla implica perder rendimiento

Parece que las vulnerabilidades ligadas a Spectre no deja de causar problemas de seguridad, y es que unos investigadores de la Universidad de Virginia y de la Universidad de California, han descubierto nuevas variantes de Spectre que afectan a todos los procesadores modernos con microcachés, y esto implica que tanto las CPUs de AMD como de Intel se han visto afectadas.

El mayor de los problemas es que los investigadores creen que la mitigación de estas vulnerabilidades causarán penalizaciones de rendimiento más significativas respecto a los parches de las primeras versiones de Spectre. Sin embargo, aún se desconoce lo fácil que es explotar estas vulnerabilidades en el mundo real, por lo que este impacto negativo en el rendimiento podría afectar sólo en casos muy concretos.

"En este documento se describen tres ataques: (1) un ataque a través del mismo hilo que filtra información a través de la frontera entre el usuario y el núcleo, (2) un ataque a través del hilo SMT que transmite información a través de dos hilos SMT a través de la caché de micro-operaciones, y (3) ataques de ejecución transitoria que tienen la capacidad de filtrar información no autorizada al que se ha accedido a lo largo de una ruta mal especificada, incluso antes de que la instrucción transitoria se envíe a la ejecución, rompiendo varias soluciones existentes basadas en la especulación invisible y los parches que mitigan Spectre."

Vulnerabilidad CPU 0

El equipo de investigadores, dirigido por Ashish Venkat, Profesor adjunto del Departamento de Informática de la Universidad de Virginia, descubrió que los hackers pueden robar información cuando una CPU obtiene comandos de la caché de micro-operaciones. Dado que todos los procesadores modernos de AMD (desde 2017) e Intel (desde 2011) utilizan cachés de micro-operaciones, todos ellos son propensos a un hipotético ataque.

Hasta el momento conocemos que tanto AMD, como Intel, habían sido informados de esta vulnerabilidad con antelación al anuncio en sociedad, aunque hasta el momento ninguna de las dos compañías han anunciado el lanzamiento de un nuevo microcódigo o alguna actualización por medio de Windows Update para blindar a los usuarios. Esto podría ser una buena noticia si se debe a que ambas compañías creen que el riesgo es muy bajo debido a las circunstancias necesarias para realizar el ataque, o quien sabe si este anuncio busca forzar a que ambas compañías ofrezcan ya una solución, la cual implicaría una grave pérdida de rendimiento.

Según indica el documento, hay tres posibles vías para solucionar el problema:

La primera implica vaciar la caché de micro-operaciones en los cruces de dominio, pero como las CPUs modernas necesitan vaciar el Instruction Translation Lookaside Buffer (iTLB) para vaciar la caché de micro-operaciones, el vaciado frecuente de ambas caché "tendrá graves consecuencias en el rendimiento, ya que el procesador no puede avanzar hasta que el iTLB se rellene".

La segunda solución consiste en dividir las cachés de microoperaciones en función de los privilegios. Sin embargo, al aumentar el número de dominios de protección, esta partición se traduciría en una fuerte infrautilización de la caché de microoperaciones, eliminando gran parte de sus ventajas de rendimiento.

Por último, otra posible solución es implementar una monitorización basada en el contador de rendimiento que detecta las anomalías, pero la técnica es propensa a errores de clasificación, mientras que el sondeo frecuente conduce a una degradación significativa del rendimiento. Tocará esperar a ver cómo evoluciona la información.

vía: Universidad de Virginia / Phoronix

Artículos relacionados