El MIT desarrolla una técnica para defendernos de Meltdown y Spectre, y nos la explica a lo 'Master Chef'

El MIT desarrolla una técnica para defendernos de Meltdown y Spectre, y nos la explica a lo 'Master Chef'
17 comentarios Facebook Twitter Flipboard E-mail

El caos desatado por Meltdown y Spectre a principios de año ha tenido un impacto enorme tanto en procesadores de Intel como en otros fabricantes de procesadores y de productos y servicios que usan esos procesadores.

La situación ha mejorado, pero incluso los procesadores de Intel lanzados en los últimos días siguen careciendo de una solución completa y nativa por hardware. Ahora ingenieros del MIT han ideado una forma de atajar parte del problema, y lo cierto es que el método es cuando menos ingenioso, sobre todo cuando lo explican como si estuviesen hablando de recetas de cocina.

La ejecución especulativa nos ayudaba hasta que dejó de hacerlo

Las variantes de Meltdown y Spectre tenían el mismo pilar básico de funcionamiento: cuando una aplicación necesita almacenar algo en memoria, le pregunta al procesador dónde colocar ese dato. Como buscar sitio es un proceso lento, Intel comenzó a usar una técnica llamativa y destacable en 1995: la ejecución especulativa.

Esta técnica permitía que el procesador fuera buscando huecos en la memoria en los que ir almacenando datos que esperaba que las aplicaciones le fuesen pidiendo. Con ello el procesador "predecía" las necesidades del usuario, especulaba con esas necesidades, y eso permitía ganar tiempo porque cuando la aplicación necesitaba guardar el dato, el procesador ya estaba preparado para darle ese hueco a la aplicación.

Ganábamos tiempo y no parecía haber problemas porque los fallos de predicción eran totalmente asumibles: compensaba de sobra hacer uso de esa capacidad predictiva de los procesadores.

El problema es que con Meltdown y Spectre se descubrió que un atacante podía usar esa misma técnica para acceder a partes de la memoria a los que jamás debería tener acceso. Partes a tavés de las cuales podrían recolectar datos sensibles y privados. El desastre estaba servido.

El descubrimiento del problema generó una respuesta rápida por parte tanto de Intel, la principal afectada, como otras muchas empresas cuyos productos también se habían visto perjudicados directa o indirectamente por estas vulnerabilidades.

Empresas como Microsoft, Apple, Google o AMD trabajaron en diversos parches que combinados o por sí solos lograban mitigar el problema, pero ninguna de esas soluciones es total, ya que los chips necesitan rediseñarse de cero para dejar de utilizar este tipo de técnica, y de momento los procesadores de Intel siguen estando expuestos.

Es cierto que la combinación de algunas correcciones nativas en hardware unidas a los parches del microcódigo o actualizaciones de los sistemas operativos mitigan la mayoría de problemas, pero el riesgo sigue existiendo. Y ahí es donde entra el MIT, cuyos ingenieros han creado una defensa que dicen podría atajar el problema en gran medida. Lo mejor, su forma de explicar cómo funciona esa solución.

DAWG y los cocineros

Investigadores del MIT CSAIL (Computer Science and Artificial Intelligence Laboratory) creen que han descubierto la forma con la que solucionar buena parte del riesgo que plantean Meltdown y Spectre, y han llamado a esa solución DAWG (Dynamically Allocated Way Guard).

Esta técnica es una alternativa a la que Intel utiliza desde 2016, llamada CAT (Cache Allocation Technology), y aquí es donde el MIT comparó una y otra utilizando una analogía que nos recuerda a los programas culinarios de televisión.

Para estos desarrolladores la solución de Intel trabaja con chefs en diferentes secciones (en la memoria) y todos saben sus propias recetas y qué ingredientes pueden usar, pero puede haber filtraciones y que una receta se acabe conociendo fuera de esas secciones.

Para solucionarlo el MIT plantea crear paredes que separen a los distintos chefs, a sus ingredientes y a las propias recetas, y con ello evitan comunicaciones que puedan dar lugar a robos de información.

Dawg1

Los chefs serían en esta analogía lo que los ingenieros del MIT llaman 'dominios de protección', que estarían amurallados con un "particionado seguro" de la memoria caché de los procesadores.

Con DAWG se aisla de forma completa cada aplicación a través de la caché, evitando así filtraciones de datos y asegurando el canal que se utiliza actualmente para esos 'cache timing attacks' que aprovechan las variantes de Meltdown y Spectre.

Los ingenieros del MIT indican cómo en sus pruebas demostraron que DAWG y CAT tienen un rendimiento similar, pero las modificaciones necesarias para implementar esta técnica en sistemas modernos son "mínimas".

También advierten: DAWG no es una solución definitiva y completa, pero requiere muy poco trabajo para ser aplicada en todo tipo de sistemas y aparentemente no tiene impacto ninguno en el rendimiento de esos sistemas. Los ingenieros están tratando de ampliar este trabajo para que sea aún más efectivo, y desde luego es una buena noticia que haya esfuerzos independientes en este sentido.

Vía | ZDNet
Más información | DAWG: A Defense Against Cache Timing Attacks in Speculative Execution Processors (PDF)

Comentarios cerrados
Inicio