Speculative Store Bypass o el último problema de diseño de procesadores

Los chicos de Red Hat han hecho un vídeo explicativo estupendo sobre etsa vulnerabilidad, que os dejo traducido por si el inglés no es lo vuestro.

Los chicos de Red Hat han hecho un vídeo explicativo estupendo sobre esta vulnerabilidad, que os dejo traducido por si el inglés no es lo vuestro. Definitivamente el hecho de que haya proliferado tanto el IoT (Internet de las cosas), que no suele recibir actualizaciones, está llevandonos a la curiosa situación de que en los últimos años en vez de atacarnos mediante Software, ahora vayan a través de los fallos diseño de hardware (así que ya sabéis, actualizad las bombillas si os dió por poner “bombillas inteligentes”).

“Si las noticias sobre una amenaza de seguridad que permite que los cibercriminales te roben información sensible a través de uclaquier navegador te están dando sensación de deja-vu, no estás solo.

Muchos están comparando este nuevo problema, llamado “Sobrepaso por el buffer de almacenamiento especulativo” (Speculative Store Buffer Bypass), al las amenzas de Spectre y Meltdown de principios de 2018. Y al igual que cuando Spectre y Meltdown fueron anunciados, los parches de software están listos para ayudar con esta nueva amenaza. Así que, ¿qué hace al “sobrepaso por el buffer de almacenamiento especulativo” diferente?

Imagina que tu ordenador es un restaurante. Los camareros se mueven de mesa en mesa apuntando pedidos, llamados almacenamientos, en sus libretas de tickets. Piensa en estos tickets como buffers de memoria que permiten servir a varias mesas de forma mas eficiente. en algún momento, un camarero irá a un punto común para transferir los pedidos de su cuaderno a la cuenta de sus clientes.

Él podría decidir imprimir algunas cuentas para tenerlas listas, pero para hacer esto, tiene que especular que él es el único atendiendo a sus clientes. En general tiene razón, pero a veces un cliente llama a otro camarero y pide añadir alguna cosa mas (¿me puede traer un café?). El nuevo camarero lo añade al pedido, pero ahora la factura impresa es incorrecta. Cuando llega el momento de pagar, el primer camarero debe comprobar que el cliente ya no cuadra con la factura impresa. Tira la factura vieja e imprime una nueva.

Un proceso similar sucede en tu ordenador cuando los procesadores son los camareros atareados, almacenado y cargando datos de direcciones de memoria. Están colocando pedidos en el buffer y usando ejecuciones especulativas para asegurarse de que todo esto sucede tan pronto como sea posible. Para evitar errores, los procesadores revisarán si alguna dirección usada en la carga era parte de un almacenamiento reciente en dicha dirección, y si es así, los datos especulativos se desechan, tal como el camarero tiró la factura incorrecta.

El problema es que eta especulación sucede en un área compartida e insegura, por lo que es posible que usuarios no autorizados la vean. Esto permite a un atacante crear un fragmento de código malicioso que engañe al procesador para que este lea de una dirección mientras piensa que está leyendo de otro lugar. Al engañar al procesador, el atacante puede robar datos, como passwords y números de tarjeta de crédito, sin se detectado.

Así que, ¿cómo puedes protegerte de este tipo de amenaza, que no parece una amenaza? Las empresas tecnológicas de nuevo se han unido para crear unos parches que apaguen la ejecución especulativa de los buffers de almacenamiento. Esto evita que los usuarios no autorizados puedan explotar esta vulnerabilidad. Es crítico instalar estos parches de inmediato, y estar al día con las últimas actualizaciones de sistemas operativos. Esto reducirá ligeramente el rendimiento de algunas operaciones, pero no de forma tan significativa como los parches de Meltdown y Spectre. Los parches seguirán siendo optimizados para reducir el impacto de rendimiento aún mas, y los futuros diseños de hardware los terminarán de eliminar.

Las nuevas amenazas tecnológicas no son un dej-vu, son un reto continuo al que tenemos que enfrentarnos. por eso es esencial mantener las vías de comunicación abiertas entre las compañías tecnológicas, las comunidades y los investigadores, para detener las amenazas antes de que se conviertan en enormes problemas.“