We use cookies to provide some features and experiences in QOSHE

More information  .  Close
Aa Aa Aa
- A +

¿Qué son Meltdown y Spectre? Le contamos lo que necesita saber

4 5 1
13.01.2018

* principal arquitecto de ARM, Red Hat

En Red Hat hemos estado trabajando en la mitigación de posibles ataques con sujeción a la prohibición estándar de informar problemas de seguridad, asignando equipos pequeños y específicos que trabajan sólo con la información necesaria, con el propósito de prepararnos antes de su divulgación. Tuve la suerte de compartir la dirección de nuestros esfuerzos de mitigación de Meltdown y Spectre, conocidos también como variantes 1, 2 y 3 de un grupo de ataques similares difundidos por Google Project Zero a través de un blog publicado el 3 de enero. Durante estas tareas, reprodujimos Meltdown (variante 3) en nuestros laboratorios y estudiamos otras variantes, y simultáneamente trabajamos con varios de nuestros socios de hardware de confianza en las medidas de mitigación.

Si bien comprendemos cabalmente estas vulnerabilidades y el análisis actual de los factores determinantes, así como los parches para mitigar su posible impacto, continuaremos colaborando con nuestros socios, clientes e investigadores en esta situación. Asimismo, nos gustaría ayudar a que otras personas comprendan estos problemas complejos, idealmente mediante el uso de un lenguaje y términos que no requieran que el lector trabaje en el diseño de chips. Para quienes deseen profundizar los detalles técnicos, los trabajos de investigación originales y publicaciones relacionadas están disponibles en http://meltdownattack.com/ y http://spectreattack.com/, pero también sirve tener en cuenta que muchas de las personas involucradas en identificar estos ataques poseen una gran experiencia en la investigación académica de arquitecturas informáticas. Al menos una de ellas el año pasado obtuvo un doctorado en un área relacionada. Por eso, no debe afligirse si se requieren varios intentos para ahondar en los detalles técnicos; se trata de un tema sumamente complejo y detallado.

Para comenzar, conozcamos un poco qué es la “ejecución especulativa” a partir de una analogía cotidiana.

Supongamos que un cliente habitual todos los días visita la misma cafetería y pide la misma bebida con cafeína. Con el paso del tiempo, el cliente empieza a conocer a los camareros, que a su vez se familiarizan con el pedido de este cliente. Para brindarle una buena atención (y ahorrarle al preciado cliente el tiempo de espera en la fila), los camareros finalmente deciden empezar a preparar el pedido del cliente apenas éste los saluda al ingresar al local. Pero un día, el cliente modifica su pedido. En ese caso, el camarero debe descartar el café preparado con anticipación y preparar uno nuevo mientras el cliente espera.

Si avanzamos aún más en esta analogía, supongamos que los camareros conocen el nombre del cliente y les gusta escribirlo con un marcador indeleble en su taza. Cuando de manera especulativa preparan la bebida habitual, escriben el nombre del cliente en la taza. Si el cliente viene con un pedido diferente, la taza en cuestión se descarta junto con su contenido. Pero al hacerlo, la información personal identificable que figuraba en la taza queda visible por un breve instante para cualquier observador.

Este escenario de la cafetería implica especulación. El personal no sabe a ciencia cierta si cuando el cliente ingrese al local pedirá un café con leche o un americano, pero por la información histórica sabe lo que el cliente habitualmente pide y hace una deducción fundada para ahorrarle tiempo de espera. Este tipo de especulación ocurre a diario en nuestras vidas porque con frecuencia esas deducciones demuestran ser acertadas y, como resultado, podemos lograr hacer más en la misma cantidad de tiempo.........

© Generaccion