Código encontrado en línea explota LogoFAIL para instalar la puerta trasera Bootkitty Linux

Normalmente, el arranque seguro evita que UEFI

ejecutar todos los archivos posteriores a menos que lleven una firma digital que certifique que el fabricante del dispositivo confía en esos archivos. El exploit evita esta protección inyectando código shell escondido en una imagen de mapa de bits maliciosa mostrada por UEFI durante el proceso de arranque. El código inyectado instala una clave criptográfica que firma digitalmente un código malicioso. COMIDA junto con una imagen de puerta trasera del kernel de Linux, los cuales se ejecutan durante las etapas posteriores del proceso de arranque en máquinas Linux.

La instalación silenciosa de esta clave induce a UEFI a tratar el GRUB malicioso y la imagen del kernel como compon entes confiables y, por lo tanto, eludir las protecciones de arranque seguro. El resultado final es una puerta trasera insertada en el kernel de Linux antes de que se carguen otras defensas de seguridad.

Diagrama que ilustra el flujo de ejecución del exploit LogoFAIL que Binarly encuentra en la naturaleza.


Crédito: Binariamente

En una entrevista en línea, HD Moore, CTO y cofundador de runZero y experto en malware basado en firmware, explicó el informe de Binarly de esta manera:

El artículo de Binarly señala que alguien está usando el error LogoFAIL para configurar una carga útil UEFI que omite el arranque seguro (firmware) engañando al firmware para que acepte su clave autofirmada (que luego se almacena en el firmware como la variable MOK). El código maligno todavía está limitado al lado del usuario de UEFI, pero el exploit LogoFAIL les permite agregar su propia clave de firma a la lista de permitidos del firmware (pero de lo contrario no infecta el firmware de ninguna manera).

Sigue siendo efectivamente una puerta trasera de kernel basada en GRUB versus una puerta trasera de firmware, pero abusa de un error de firmware (LogoFAIL) para permitir la instalación sin interacción del usuario (inscribirse, reiniciar y luego aceptar la nueva clave de firma MOK).

En una configuración de arranque seguro normal, el administrador genera una clave local, la usa para firmar sus paquetes kernel/GRUB actualizados, le dice al firmware que registre la clave que creó y luego, después de reiniciar, el administrador debe aceptar esta nueva clave a través de la consola. (o de forma remota a través de la consola BIOS bmc/ipmi/ilo/drac/etc).

En esta configuración, el atacante puede reemplazar el kernel GRUB + en buen estado con una versión con puerta trasera al registrar su propia clave de firma sin interacción del usuario a través del exploit LogoFAIL, pero sigue siendo efectivamente un kit de arranque basado en GRUB y no se codifica en el firmware del BIOS o cualquier cosa.

Las máquinas vulnerables al exploit incluyen algunos modelos vendidos por Acer, HP, Fujitsu y Lenovo cuando se envían con una UEFI desarrollada por el fabricante Insyde y ejecutan Linux. La evidencia encontrada en el código del exploit indica que el exploit puede adaptarse a configuraciones de hardware específicas de dichas máquinas. Insyde publicó un parche a principios de este año que impide que funcione el exploit. Los dispositivos sin parches siguen siendo vulnerables. Los dispositivos de estos fabricantes que utilizan UEFI que no son de Insyde no se ven afectados.