Sleep Attack: Otra vulnerabilidad que afecta a los procesadores de Intel

Cerramos la semana con otra vulnerabilidad para los procesadores Intel, la cual se ha bautizado como Sleep Attack, Esta vulnerabilidad se presenta en cualquier ordenador con un procesador x86 de Intel cuando entra en suspensión (estado S3).

Cuando el equipo se suspende, se apaga la CPU pero la memoria DRAM sigue estando alimentada, mientras que al salir del estado la CPU se vuelve a encender mediante un comando para "despertarla". Cuando este proceso comienza, el firmware se da cuenta de que la DRAM todavía tiene energía y se saltan algunos bits del código, específicamente la parte de comprobación de código del firmware.

Sleep Attack

Como se salta la comprobación del código, el atacante puede realizar un intercambio del código normal del firmware por su propio código. Después de realizar este intercambio, esencialmente tiene acceso a la ejecución del código y pueden atravesar y desactivar las protecciones o buscar cualquier información personal en el sistema.

Aunque este camino de ejecución de código sería difícil, ya que requiere de acceso físico al dispositivo, hay algunas maneras posibles de que esto suceda, y más cuando hablamos de equipos portátiles donde se puede extraer toda la información sin necesidad de una contraseña. El atacante incluso podría instalar un rootkit, lo que le daría acceso indefinido al sistema de forma retoma.

"Un ejemplo es cuando se realiza la aduana en un aeropuerto. La mayoría de los viajeros cierran su portátil y se queda en estado de suspensión (S3). Si el dispositivo es tomado por la agencia adversaria al aterrizar, las claves de encriptación del disco siguen en la memoria. El adversario puede quitar la cubierta inferior y conectar un emulador flash como el spispy al chip flash. Pueden despertar la máquina y proporcionarle su firmware a través del spispy. Este firmware puede escanear la memoria para localizar el proceso de bloqueo de la pantalla del sistema operativo y desactivarlo, y luego permitir que el sistema se reanude normalmente. Ahora tienen acceso completo al dispositivo desbloqueado y sus secretos, sin necesidad de obligar al propietario a proporcionar una contraseña.

Otro ejemplo es un implante de hardware que emula el flash SPI. El iCE40up5k utilizado en una de las variantes de spispy encaja fácilmente dentro o debajo de un paquete SOIC-8, permitiendo un ataque persistente en este estado. Dado que la FPGA puede distinguir fácilmente entre un arranque en frío y la validación del sistema que se reanuda desde el sueño, el dispositivo puede proporcionar una versión limpia del firmware con la firma correcta cuando está siendo validado o leído por una herramienta como flashrom, y sólo proporcionar la versión modificada durante una reanudación desde el sueño. Este tipo de implante sería muy difícil de detectar a través del software, y si se hace bien, no se vería fuera de lugar en la placa base (lo que le hizo la NSA a Edward Snowden).

vía: Trammell Hudson's Projects

Artículos relacionados