Crédito:CC0 Public Domain
"Spectre" era un nombre profético para la vulnerabilidad del procesador que aprovecha la ejecución especulativa. Desde su descubrimiento inicial en enero, 2018, Se han encontrado al menos tres variantes del ataque.
Ahora, Un grupo de científicos informáticos de la Facultad de Ingeniería Bourns en UC Riverside que ha estado involucrado en algunos de estos descubrimientos ha presentado una versión potencialmente imparable llamada SpectreRSB.
SpectreRSB parece inmune a las defensas conocidas contra otras variantes de Spectre, incluidos Retpoline y los parches de microcódigo de Intel en algunos escenarios de ataque.
Todos los procesadores informáticos modernos utilizan un proceso conocido como ejecución especulativa para completar las operaciones con mayor velocidad. El procesador predice cuál será el siguiente paso y ejecuta ese paso cuando la información para determinar ese paso no está disponible.
Funciona de manera similar a las líneas de montaje en las fábricas. En programas, la mayoría de las instrucciones se ejecutan una por una, simplificando la operación de la tubería. Sin embargo, Algunas instrucciones desafían la canalización:no sabemos de dónde viene la siguiente instrucción hasta que la canalización termina de ejecutar la instrucción anterior.
Es como si un Jeep estuviera listo para salir de la línea de ensamblaje y los trabajadores tuvieran que esperar hasta que esté completamente ensamblado antes de descubrir cuál será el próximo automóvil a ensamblar. provocando que la tubería deje de funcionar.
Para sortear estos retrasos, cuando la computadora ha terminado una operación pero no tiene instrucciones sobre qué hacer a continuación, la especulación evita el estancamiento del oleoducto. Si el procesador predice correctamente, mantiene la tubería ocupada haciendo un trabajo útil. Si es incorrecto, vuelca los datos y reinicia el cálculo. La tubería habría estado inactiva de todos modos, y no se pierde rendimiento.
Otra forma de pensarlo es como un invitado que te pide que les traigas un refresco. Abres la nevera y ves varios tipos. En lugar de esperar instrucciones de su invitado, predice que querrán cola. Si estás en lo correcto, ha ahorrado esfuerzo. Si esta mal vuelves a la nevera y consigues el correcto.
Ejecución especulativa, combinado con técnicas relacionadas como el procesamiento fuera de orden, resultar en un aumento de varias veces en el rendimiento del procesador.
Durante la especulación, el procesador puede acceder momentáneamente a regiones de su memoria que normalmente están segregadas de forma segura de todo el hardware de la computadora. Los diseñadores de computadoras pensaron que esto era seguro, ya que cualquier acceso de este tipo se descartaría, sin dejar exposición. Pero los datos a los que se accede especulativamente dejan un rastro que se puede utilizar para exponer estos datos.
Cuando se descubrió la primera variante de Spectre a principios de 2018, Google desarrolló un parche llamado Retpoline que protege las regiones donde se toman decisiones especulativas, conocidos como predictores de rama. Intel también creó parches que previenen, o dar a los programadores herramientas para prevenir, algunas variantes de los ataques.
La nueva variante informada por el grupo UC Riverside explota el búfer de pila de retorno, a qué tiendas de direcciones deberá volver el procesador después de que haya finalizado una operación.
SpectreRSB funciona insertando la dirección de devolución incorrecta, o borrar direcciones, en el búfer de pila de retorno. Controlando las direcciones de retorno, un atacante también puede controlar las direcciones de especulación, señalándoles información secreta.
Los parches disponibles hasta la fecha protegen la especulación solo en los predictores de rama. Debido a que SpectreRSB ingresa a través del búfer de pila de retorno en lugar de los predictores de rama, Es posible que los parches disponibles no puedan detenerlo.
El documento recomienda que todos los procesadores incorporen un parche conocido como recarga RSB, que inserta una dirección ficticia en el búfer de la pila para frustrar el ataque. Procesadores Intel Core i7 a partir de Skylake, llamado Skylake +, incorporan recarga RSB pero modelos más antiguos y diferentes líneas de procesadores, como Xeon de Intel, que es la plataforma principal utilizada en los sistemas y servidores de computación en la nube basados en Intel, no, y siguen siendo vulnerables a SpectreRSB.
Los ataques de clase espectro requieren atacantes sofisticados que ya tienen acceso para ejecutarse en la máquina víctima. Los parches protegen contra esta vulnerabilidad.
Los autores del artículo son los estudiantes de doctorado Esmaiel Mohammadian Koruyeh y Khaled Khasawneh, junto con Chengyu Song y Nael Abu-Ghazaleh, que son profesores de informática e ingeniería. Su papel "¡Spectre regresa! Los ataques de especulación usando el búfer de pila de retorno, "está disponible en arxiv.org y aparecerá en el taller de Usenix Security sobre tecnologías ofensivas en agosto de 2018.
En 2016, Abu-Ghazaleh y colaboradores Dmitry Ponomarev de la Universidad de Binghamton, Dmitry Evtyushkin del College of William and Mary, y Ryan Riley de la Universidad Carnegie Mellon caracterizaron las vulnerabilidades del predictor de rama que se encuentran en el núcleo de la variante 2 de Spectre. A principios de 2018, el grupo identificó el branchscope, un ataque que permite a los atacantes controlar un componente diferente del predictor de rama. Para contrarrestar estas amenazas Abu-Ghazaleh, Ponomarev, Evtyushkin, y Chengyu Song desarrollaron SafeSpec, un enfoque de diseño para futuros procesadores para eliminar las vulnerabilidades especulativas.