El reciente descubrimiento de “Meltdown” y “Spectre” el nuevo tipo de amenaza a la seguridad que afecta a las funciones comunes de los microprocesadores se constituyeron en estas últimas semanas en una de las principales materias de desarrollo para las empresas de tecnología que buscan abordar estas vulnerabilidades y minimizar el riesgo de posibles ataques (Fuente Red Hat Argentina).

Meltdown engaña al chip para que realice la carga de datos protegidos durante una ventana de especulación de modo tal que los mismos puedan ser luego visualizados por un atacante no autorizado. Desde Red Hat, se ha introducido una nueva tecnología, conocida como KPTI (Kernel Page Table Isolation) que separa la memoria de forma tal que los datos protegidos no pueden ser cargados en la memoria caché interna del chip mientras se ejecuta el código del usuario.

Los atacantes operan a través de una función de los procesadores llamada “ejecución especulativa”. “Supongamos que un cliente habitual todos los días visita la misma cafetería y pide el mismo café. Con el paso del tiempo, el cliente empieza a conocer a los camareros, que a su vez se familiarizan su pedido. Para brindarle una buena atención y ahorrarle 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. Lo mismo sucede con nuestras computadoras. Éstas utilizan una técnica conocida como ejecución especulativa para realizar determinadas operaciones de procesamiento antes de que se sepa con certeza que se requerirán tales operaciones, sobre la premisa de que estas deducciones a menudo terminan ahorrando tiempo.”, explicó Jon Masters, Principal Arquitecto de ARM, Red Hat.

Por otra parte, el ataque Spectre consta de dos partes. La primera tiene que ver con la violación de la “comprobación de límites”. Una vez más, cuando se ejecute código de manera especulativa, el chip podría cargar ciertos datos que luego se utilizarían para ubicar un segundo grupo de datos. Como parte de una optimización del rendimiento, el chip podría intentar cargar de modo especulativo el segundo grupo de datos antes de haber validado que el primero se encuentre dentro de un rango definido de valores. Mitigar la primera parte de Spectre implica agregar lo que denominamos “barreras de carga” en todo el kérnel.

La segunda parte, se relaciona con “entrenar” al hardware predictor de bifurcaciones para que favorezca de manera especulativa la ejecución de partes del código distintas a las que debería estar ejecutando. Mitigar esta segunda parte de Spectre exige que el sistema operativo inhabilite de manera selectiva el hardware de predicción de bifurcaciones cada vez que un programa solicite los servicios de un sistema operativo (llamada al sistema) o de un hipervisor, de modo tal que todo intento de un código malicioso de entrenar al predictor no se trasladará al kérnel del sistema operativo, al hipervisor o entre máquinas virtuales no fiables que se ejecuten en el mismo servidor.

“En Red Hat, continuaremos trabajando junto a los líderes de la industria y las comunidades open source para proteger a nuestros clientes de estas y otras vulnerabilidades conocidas y fortalecer a Linux aún más frente a ataques como Meltdown y Spectre.”, Aseguró Jon  Masters.

Anuncios