Arreglar las vulnerabilidades Spectre y Meltdown de Intel pueden requerir un nuevo tipo de procesador
Cómo identificar y corregir los errores de ejecución especulativa como Spectre y Meltdown ha sido un tema candente entre los aficionados a los microprocesadores este año. En Hot Chips, una de las principales conferencias de la industria sobre microprocesadores, los expertos estuvieron de acuerdo en que la mejor solución para resolverlos puede requerir, sí, mucho más hablar.
En un panel el lunes en el evento de Cupertino, California, se le pidió al profesor Mark Hill de la Universidad de Wisconsin, Madison, que reflexionara sobre las implicaciones de los ataques de ejecución especulativa de canal lateral en microprocesadores modernos como los que ARM, Intel y otros fabricaron . Sus soluciones incluían núcleos especializados, cachés de barrido de interruptores de contexto e ideas de negocios como cobrar más por máquinas virtuales exclusivas.
Pero la verdadera respuesta, dijo él y muchos otros panelistas, es una mayor colaboración entre los diseñadores de hardware y software, y tal vez un rediseño completo de los microprocesadores actuales.
Cómo toda la industria de chips fue vista de lado
Meltdown y Spectre fueron revelados inesperadamente a finales de 2017, poco antes de que las vulnerabilidades fueran reveladas formalmente y silenciosamente durante el CES en enero de 2018. Originalmente descubiertas por el equipo de investigación de "día cero" de Google, Google Project Zero, los ataques se aprovechan de una propiedad moderna de microprocesadores, ejecución especulativa, donde la palabra clave "adivina" qué rama de instrucción tomar y ejecutar. (Paul Turner, un ingeniero y líder del equipo kernel de Google que estaba en el panel, dijo que Project Zero no dio a los demás en el control de Google, se enteraron igual que todos los demás).
Lo que los diseñadores de microprocesadores pensaron durante 20 años fue que una mala "suposición" simplemente retiró los datos sin ningún riesgo de seguridad. Estaban equivocados, como demostraron los ataques de canal lateral.
En términos prácticos, significa que una pestaña del navegador podría ver los contenidos de otra, o una máquina virtual podría mirar a otra. Eso llevó a los proveedores de CPU como Intel, junto con Microsoft, a emitir "mitigaciones" de software o parches. Es la forma más efectiva de proteger tu PC de Spectre, Meltdown o cualquiera de los ataques de seguimiento, como Foreshadow.
Afortunadamente, burlar esa información lleva tiempo, en algunos casos, mucho. NetSpectre, que puede explotar una de las vulnerabilidades de Spectre de forma remota, se puede utilizar para entrar por la nube o en una máquina remota. Por un lado, la siguiente fuga de datos puede ser tan lenta como 1 bit por minuto, según el panelista John Hennessy, el famoso diseñador de microprocesadores y ahora presidente de Alphabet. Por otro lado, el tiempo promedio entre el momento en que un servidor es penetrado remotamente y cuando se descubre esa intrusión es de 100 días, he añadido, lo que le da mucho tiempo a una vulnerabilidad como Specter.
Los procesadores de próxima generación de Intel probablemente no verán la primera variante de espectro, dijo Hennessy, a pesar de que las mitigaciones de hardware planeadas por Intel comenzarán a diseñarse en otoño con Cascade Lake, un nuevo procesador Xeon.
Parche, o do-over?
ARM, Intel, AMD y otros en la industria pueden solucionar el problema a través de mitigaciones en el corto plazo, agregó Hill. Pero pueden ser necesarios cambios más fundamentales para eliminar el problema por completo, dijo.
"La pregunta a largo plazo es cómo definimos este derecho para que podamos eliminar el problema", dijo Hill. "O nos vemos obligados a hacer algo como un crimen que siempre estamos mitigando".
La ejecución especulativa fue una de las formas en que el microprocesador, y por extensión, la industria de las PC, logró ventas récord, señaló el panelista Jon Masters, un arquitecto de computadoras en Red Hat. Pero la especulación fue tratada como una "caja negra mágica", dijo, sin un interrogatorio adecuado por parte de los usuarios o clientes. Ese genio también está fuera de la caja. Eliminar la especulación y los cachés de los procesadores que aprovecharían reduciría el rendimiento en 20 veces, dijo Hill.
Algunas de las sugerencias del Profesor Hill para soluciones a corto plazo para ataques de ejecución especulativa
Las soluciones sugeridas por Hill incluyen aislar el elemento de predicción de bifurcación, agregar aleatorización e implementar mejores protecciones de hardware. Agregar modos de ejecución más lentos y seguros desactivando la especulación podría ser una solución; otra sería dividir un motor de ejecución entre "núcleos rápidos" y "núcleos seguros". También sugirió soluciones comerciales que incluyen cobrar más por máquinas virtuales: en lugar de compartir recursos de hardware con más de una máquina virtual, un proveedor de la nube podría proporcionar acceso exclusivo. Finalmente, Hill notó que los ataques estilo Espectro también podrían conducir al resurgimiento de los aceleradores: lógica de propósito fijo que está optimizada para una sola tarea y no depende de la especulación.
La solución fundamental al problema, sin embargo, sería una reelaboración de la definición arquitectónica, dijo Hill. Una arquitectura de computadora es la forma en que un procesador ejecuta el conjunto de instrucciones de software, con unidades aritméticas, unidades de coma flotante y más, y los chips de hoy en día fueron diseñados para ajustarse a las necesidades del modelo original. Pero si el modelo arquitectónico básico es fundamentalmente defectuoso, dijo, puede ser hora de uno nuevo. En otras palabras, Specter and Meltdown no son fallas, solo fallas en el diseño de todos los chips modernos, y es posible que se necesite un nuevo modelo.
Sin embargo, lo que finalmente decidió el panel fue la simple verdad de que el hardware debe diseñarse con el software en mente, y viceversa, y ambas partes necesitan ser más versadas en seguridad.
"Lo que sucede a menudo es que los diseñadores de hardware van y construyen un buen hardware, y luego dejamos de hablar sobre ello, o la gente del software dice, ah, eso es hardware, no me importa. Tenemos que dejar de hacer eso ", dijo Masters.