He estado aprendiendo sobre UEFI Secure Boot . Está diseñado para evitar que el malware infecte el proceso de arranque y sobrescriba el cargador de arranque. Cuenta con protecciones a nivel de hardware para garantizar que solo se cargará y ejecutará un cargador de arranque y un kernel confiable y firmado al inicio.
Hoy en día, el malware puede sobrescribir el Registro de arranque maestro (MBR) con una versión malintencionada, de modo que cada subsiguiente arranque en una versión malvada del sistema operativo. UEFI Secure Boot lo evitaría, ya que su máquina solo ejecutará el cargador de arranque si está firmado, y el cargador de arranque modificado del atacante no tendrá una firma válida. En otras palabras, con el arranque seguro de UEFI, debe estar seguro de que, una vez que reinicie, ahora está ejecutando un cargador de arranque válido y confiable y un kernel del sistema operativo. A veces la gente resume esto diciendo que UEFI Secure Boot previene "bootkits". OK, el concepto básico tiene sentido.
Quiero entender qué detiene el siguiente tipo de ataque. Supongamos que está ejecutando Windows (por ejemplo). Supongamos que el atacante, que tiene malware en su máquina y quiere asegurarse de que seguirá siendo residente después de los reinicios, modifica la configuración de inicio de Windows para iniciar una máquina virtual (VM). Dentro de la máquina virtual se encuentra una imagen de Windows modificada, al igual que un kernel de Windows estándar y un sistema operativo, así como una imagen, básicamente una copia completa de lo que está en su máquina, excepto que el kernel se ha modificado para incluir algo de malware. Cuando arranca, esta máquina virtual se inicia automáticamente y (suponiendo) se inicia automáticamente en modo de pantalla completa.
Parece que este ataque subvierte los objetivos previstos de UEFI Secure Boot. Desde la perspectiva del usuario, se siente como si estuvieran ejecutando Windows, en su entorno de escritorio completo. Lo que no se dan cuenta es que todo su entorno ha sido infectado con malware. Claro, el sistema operativo del host es confiable (gracias a UEFI Secure Boot), pero el sistema operativo invitado (dentro de la VM) es malicioso, y el usuario no tiene una manera obvia de saber que está interactuando con un huésped malvado en lugar de con el anfitrión. Por lo tanto, el usuario pensará que todo está bien, cuando en realidad están colocados. Los conocedores de los conceptos de seguridad reconocerán esto como un ataque a la "ruta confiable": la computadora inició un kernel confiable, pero el usuario no tiene forma de verificar que está interactuando con un kernel confiable en lugar de un "gemelo malvado" totalmente indigno de confianza.
¿Algo previene este ataque? O, ¿es técnicamente viable este ataque? Si es factible, ¿viola los objetivos de seguridad o el modelo de amenaza detrás de UEFI Secure Boot? (De manera más general, ¿alguien tiene una declaración precisa de los objetivos de seguridad y el modelo de amenaza subyacente en UEFI Secure Boot, y exactamente lo que hace y no garantiza?)