Bug importante en los procesadores Intel

La investigadora de seguridad Joanna Rutkowska ya consiguió desvelar la vulnerabilidad Blue Pill (en honor a la película Matrix), que hacía uso de la virtualización de los procesadores AMD e Intel para crear una máquina virtual en la que corría el sistema operativo, y por tanto, en teoría 100% indetectable por el sistema operativo, controlando efectivamente todo el ordenador. Sin embargo, la virtualización de ambos procesadores no era del todo sin fallas y se podía descubrir si la CPU estaba en modo virtual o no.

Ahora nos viene con su artículo "Attacking SMM Memory via Intel CPU Cache Poisoning".

El System Management Mode es el nivel más alto de privilegios en una CPU x86 o x86/64. El código SMM se encuentra en una región de memoria especialmente protegida, denominada SMRAM. Sólo el firmware (BIOS) puede acceder a la SMRAM. Éste, después de cargar el código SMM en la SMRAM debería bloquearla para que nadie (ni el SO ni el hipervisor) puedan acceder.

En el ataque propuesto por la Rutkowska, se supone que el atacante tiene acceso a los registros específicos de la plataforma objetivo. Esto equivale a tener privilegios de administrador y la abilidad de ejecutar código en el anillo 0 (modo kernel/supervisor). El atacante primero debería modifica el MTRR para marcar la región donde se ubique la SMRAM como cacheable Write-Back y genera solicitudes de escritura sobre la SMRAM. En condiciones normales, la SMRAM no debería aparecer en la caché y el controlador de memoria debería rechazar todas las solucitudes sobre ella. Acto seguido, el atacante genera una interrupción SMI que transfiere la ejecución al código SMM. Pero al estar éste cacheado por la petición anterior de escritura, primero lo sacará de la caché en lugar de la DRAM, ejecutándolo con plenos privilegios.

Esta secuencia permite al atacante escribir código arbitrario en la SMRAM y luego ejecutarlo con privilegios máximos, más que cualquier sistema operativo que se halle corriendo sobre el procesador. Cabe decir que esta explotación es relativamente sencilla como podréis comprobar en la "prueba de concepto" que ha colgado Rutkowska en la página de su compañía Invisble Things Lab, accesible a través de su bitácora personal.

Esta vulnerabilidad fue descubierta primero por Loic Duflot en Octubre 2008, de la cual informó a Intel. Espero que éstos se hayan puesto las pilas para solucionarla.

Comments

Popular Posts