¿Qué le permite a un atacante hacer?
Le permite a un atacante ejecutar código arbitrario en el Modo de administración del sistema (SMM), un modo de ejecución altamente privilegiado de procesadores x86. Este modo es transparente para el sistema operativo (OS) y es más privilegiado que cualquier otro modo. Si un atacante puede ejecutar código en SMM, básicamente es el propietario de la plataforma / computadora (más potente que cualquier otro rootkit en el núcleo de su sistema operativo).
Vale la pena señalar que dicha vulnerabilidad tiene un requisito: necesita los privilegios del kernel para activar una Interrupción de la Gestión del Sistema (SMI), para ejecutar la explotación.
Hay dos enfoques para el atacante:
- Puede sobrescribir el almacenamiento flash del firmware y deshabilitar algunas características de seguridad en el arranque. Luego, incluso si borra el contenido de su disco duro, o si compra otro, puede reinfectar el sistema operativo sin ningún problema. Además, detectar o eliminar el malware del firmware será una tarea difícil, ya que controla una de las primeras piezas de código que se ejecutan en la computadora.
Sin embargo, un arranque medido que utiliza un chip del Módulo de plataforma segura (TPM) podría detectar la modificación de la memoria flash del firmware y que algunas características de seguridad están inhabilitadas al iniciar, porque las mediciones realizadas (hashes criptográficos) no son genuinas. Dicha detección es posible si el proveedor implementa correctamente el proceso de arranque medido. El proceso de medición se basa en una raíz central de confianza donde se confía en el primer componente que mide el siguiente. Por lo tanto, si este primer componente es el firmware contenido en la memoria flash, el atacante puede falsificar las mediciones sin ser detectado.
- Puede ser sigiloso y simplemente sobrescribir el código ejecutado en SMM, ubicado en SMRAM, sin modificar el flash. De esta manera, controla el código ejecutado en SMM y puede monitorear o modificar el comportamiento del sistema operativo. El sigilo viene del hecho de que si la computadora se reinicia, no hay rastros del ataque en el flash (ya que todo estaba en la memoria RAM). Sin embargo, muchas computadoras no se reinician tan a menudo (por ejemplo, los servidores), por lo que el atacante no necesita reinfectar la máquina para seguir teniendo control sobre ella.