A través de un estudio reciente de las últimas mejoras de las CPUs x86 se ha descubierto que su diseño no es perfecto, ya que se han descubierto vulnerabilidades Spectre en las CPUs de Intel y AMD, las cuales eran antes desconocidas y se dan en sus diseños más nuevos. ¿No tenemos que preocupar?
Spectre utiliza una característica común en todas las CPU con ejecución fuera de orden. La cual consiste en que toda rama posterior a una condición en el código se ejecuta previamente, independientemente de si se da o no la condición. Luego cuando esta no se da se hace una poda de todas las ramas del código que no son la rama principal.
Se descubrió que había una forma de ejecutar el código descartado, el cual suele ser «ilegal», lo que comprometía la seguridad en las CPU de Intel y AMD, a la cual llamaron Spectre.
Nuevas vulnerabilidades Spectre en Intel y AMD
A través del estudio de la micro-op caché de varios procesadores x86 de Intel y AMD, varios investigadores de las universidades estatales de Virginia y California han descubierto tres nuevas vulnerabilidades Spectre en dichos procesadores. Las cuales no se ven solucionadas por las soluciones para Spectre introducidas hace unos años. ¿La solución a ello? Supone en recortar enormemente el rendimiento de las CPUs para ello.
La micro-op caché forma parte de las CPUs de Intel lanzadas desde 2011 en adelante y en el caso de las de AMD en las de 2017 para adelante. La micro-op caché es utilizada por la unidad de control para traducir las instrucciones CISC x86 en microinstrucciones. Ha sido la investigación sobre esta parte de las CPUs de Intel y AMD la que ha puesto a la luz estas vulnerabilidades.
Los investigadores han descubierto que se puede aprovechar la micro-op caché, a través de dos tipos de código a los que han llamado tigres y cebras.
- Los tigres pueden desalojar una región de código determinada imitando su estructura y ocupando los mismos lugares dentro de la micro-op caché.
- Las cebras deben su nombre a que se esconden en todos los lugares no ocupados por otro código.
La combinación de ambos tipos de código puede tomar el control de la micro-op caché y eventualmente del propio procesador. Aunque poder hacer eso con éxito requiere un nivel de conocimiento extremo que muy, pero muy poca gente sabría como explotar, ya que es necesario un conocimiento extremo de cada arquitectura.
¿Se trata de vulnerabilidades peligrosas?
Los mismos investigadores han llegado a la conclusión que se trata de vulnerabilidades muy difíciles de explotar. Debido a ello no se justificaría una actualización de las CPUs como ocurrió en su día. Hay que tener en cuenta que las unidades de control de las CPU son a día de hoy microcontroladores en sí mismos, los cuales se pueden actualizar a través de firmware.
La actualización del firmware de las CPUs cambio por completo la forma de gestionar la etapa de descodificación en el ciclo de instrucción en algunas de las instrucciones, recortando el rendimiento de las CPU afectadas en el proceso.
La existencia de dicha vulnerabilidad obliga a los ingenieros de Intel y AMD a pensar nuevas soluciones con tal de mitigar el problema en futuros diseños. Dado que entre el diseño de una nueva CPU y su lanzamiento en el mercado hay varios años vista, no hay duda que la solución a nivel de hardware y fuera de una actualización del firmware de las CPU no la veremos siquiera en las CPU AMD Zen 4 e Intel Alder Lake.
Fuente: https://hardzone.es/noticias/procesadores/nueva-vulnerabilidad-spectre-intel-amd/