Spectre: una nueva variante amenaza y su solución pasa por afectar al rendimiento de tu CPU

mayo 03, 2021 , 0 Comments

Spectre logo

Si lo recuerdas, ya dijimos que Spectre iba a traer mucha cola, y que no sería algo que se solucionaría fácil en las CPUs afectadas, e incluso que no tendría solución a corto plazo hasta que no llegasen nuevos diseños de silicio que no cometan los mismos errores. Pues bien, ahora se ha detectado una nueva variante de la vulnerabilidad para la que no funcionan las soluciones aportadas hasta el momento.

Esta nueva variante afectan a todos los procesadores modernos con microcaché, tanto las de Intel como las de AMD. El problema ya no es ni siquiera ese, sino que cuando se parchee para solucionar estos problemas de seguridad, volverían a causar penalizaciones en el rendimiento bastante significativas. Si las de Spectre ya tuvieron un impacto considerable, los parches para estas reducirán bastante más el rendimiento. Y si no las parcheas, estarás expuesto a ellas…

Un equipo de investigadores, dirigido por Ashish Venkat, de la Universidad de Virginia, ha descubierto esta nueva vulnerabilidad que puede ser explotada cuando la CPU está obteniendo datos de la caché de micro-operaciones. Es decir, que afectaría a todos los procesadores AMD desde 2017 y de Intel desde 2011 que utilizan este tipo de caché especial.

Ambas compañías han sido informadas de esta nueva vulnerabilidad con antelación antes de realizar el anuncio público, para que tuvieran tiempo de reaccionar. Pero ninguna e las dos compañías ha lanzado aún ninguna actualización de su microcódigo que pueda solucionar este problema de seguridad. No obstante, no te debes asustar demasiado, ya que el riesgo no es muy alto, ya que las circunstancias para que se pueda realizar un ataque son algo remotas. Además, está la citada pérdida de rendimiento, que podría generar más problemas de los que solucionaría el parcheado…

Según el documento que se ha publicado por parte de estos investigadores, existen tres posibles vías para solucionar el problema:

  • Vaciar la caché de micro-ops en los cruces de dominio. Pero, para eso, las CPUs nuevas, necesitan vaciar también el TLB. Eso tiene consecuencias de rendimiento bastante severa, ya que el procesamiento no podría seguir hasta que el iTLB (TLB para instrucciones) no se rellene.
  • Se puede dividir la caché de micro-ops en función de los privilegios. Esta partición se traduciría en el aumento de dominios de protección, y una infrautilización de esta caché, por lo que también tendría impacto negativo en el rendimiento.
  • Implementar monitorización basada en el contador de rendimiento que detecta anomalías. Pero es una técnica propensa a errores y degrada el rendimiento si se hace un sondeo frecuente.

Por ahora, toca espera a ver qué solución aportan las compañías y cuándo se lanzan las actualizaciones del firmware…


Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.