¿Cómo UEFI Secure Boot previene los ataques de falsificación "gemela malvada"?

5

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?)

    
pregunta D.W. 16.01.2013 - 08:21
fuente

1 respuesta

4

El ataque que usted describe suena más como un ataque de tipo "robo de diamantes" (un poco elaborado para el criminal de todos los días). Antes de dirigirme a UEFI, quería responder si eso es posible. No en realidad no. Si estamos hablando de un servidor que ejecuta una máquina virtual, es posible que el usuario final no note un problema de rendimiento (dados los recursos físicos suficientes), pero lo más probable es que el software de monitoreo detectado detecte un nuevo proceso en ejecución y que el administrador del sistema responda. Es de esperar que un buen administrador de sistemas pueda saberlo una vez que investigue.

Si fuera un usuario de escritorio, lo más probable es que se diera cuenta muy rápido cuando reinicia su máquina y se ve un poco diferente. Asumiendo que la máquina virtual podría falsificar el escritorio anterior, el hardware instalado y no mostrar información sobre la máquina virtual en ejecución, puede ser engañado.

Pero creo que la pregunta era más acerca de la tecnología que del individuo, por lo que mi pensamiento sería sí, parece que este tipo de ataque funcionaría por las razones que mencionaste: el sistema operativo host es confiable y el sistema de arranque seguro lo cargó. El proceso de VM podría estar oculto dentro de otro proceso (svchost, ¿quizás?) Y las herramientas de monitoreo y de usuario podrían ser engañadas (por un tiempo).

Su última pregunta (qué hace y no garantiza), encontré información en la página de inicio enlace para UEFI . La respuesta a la pregunta, "¿Qué es UEFI?" Dice:

  

UEFI (Interfaz de firmware extensible unificada) será una especificación   Detallando una interfaz que ayuda a pasar el control del sistema para   el entorno previo al arranque (es decir, después de que el sistema se enciende, pero   antes de que se inicie el sistema operativo) a un sistema operativo, como   Windows * o Linux *. UEFI proporcionará una interfaz limpia entre   los sistemas operativos y el firmware de la plataforma en el momento del arranque, y admitirán   un mecanismo independiente de la arquitectura para inicializar tarjetas complementarias.

A partir de esta respuesta, creo que no se te prometió nada. UEFI es un marco que los proveedores y codificadores pueden implementar. Creo que dependería de los proveedores y programadores hacer las garantías.

    
respondido por el Jeff 16.01.2013 - 13:47
fuente

Lea otras preguntas en las etiquetas