Normalement, Secure Boot empêche le UEFI d’exécuter tous les fichiers ultérieurs à moins qu’ils ne portent une signature numérique certifiant que ces fichiers sont approuvés par le fabricant de l’appareil. L’exploit contourne cette protection en injectant du code shell caché dans une image bitmap malveillante affichée par l’UEFI pendant le processus de démarrage. Le code injecté installe une clé cryptographique qui signe numériquement un message malveillant. VER avec une image dérobée du noyau Linux, tous deux exécutés au cours des étapes ultérieures du processus de démarrage sur les machines Linux.
L’installation silencieuse de cette clé incite l’UEFI à traiter le GRUB et l’image du noyau malveillants comme des composants de confiance, et ainsi à contourner les protections de démarrage sécurisé. Le résultat final est une porte dérobée glissée dans le noyau Linux avant que d’autres défenses de sécurité ne soient chargées.
Dans une interview en ligne, HD Moore, CTO et co-fondateur de runZero et expert en logiciels malveillants basés sur des micrologiciels, a expliqué le rapport Binarly de cette façon :
L’article Binarly indique que quelqu’un utilise le bogue LogoFAIL pour configurer une charge utile UEFI qui contourne le démarrage sécurisé (micrologiciel) en incitant le micrologiciel à accepter sa clé auto-signée (qui est ensuite stockée dans le micrologiciel en tant que variable MOK). Le code malveillant est toujours limité au côté utilisateur de l’UEFI, mais l’exploit LogoFAIL leur permet d’ajouter leur propre clé de signature à la liste verte du micrologiciel (mais n’infecte en aucun cas le micrologiciel).
Il s’agit toujours effectivement d’une porte dérobée du noyau basée sur GRUB par rapport à une porte dérobée du micrologiciel, mais elle abuse d’un bogue du micrologiciel (LogoFAIL) pour permettre l’installation sans interaction de l’utilisateur (inscription, redémarrage, puis acceptation de la nouvelle clé de signature MOK).
Dans une configuration de démarrage sécurisée normale, l’administrateur génère une clé locale, l’utilise pour signer ses packages noyau/GRUB mis à jour, demande au micrologiciel d’enregistrer la clé qu’il a créée, puis après le redémarrage, l’administrateur doit accepter cette nouvelle clé via la console. (ou à distance via la console bios bmc/ipmi/ilo/drac/etc).
Dans cette configuration, l’attaquant peut remplacer le noyau GRUB + connu par une version dérobée en enregistrant sa propre clé de signature sans interaction de l’utilisateur via l’exploit LogoFAIL, mais il s’agit toujours en fait d’un kit de démarrage basé sur GRUB et n’est pas codé en dur dans le firmware du BIOS ou quoi que ce soit.
Les machines vulnérables à cet exploit incluent certains modèles vendus par Acer, HP, Fujitsu et Lenovo lorsqu’ils sont livrés avec un UEFI développé par le fabricant Insyde et exécutent Linux. Les preuves trouvées dans le code de l’exploit indiquent que l’exploit peut être adapté à des configurations matérielles spécifiques de ces machines. Insyde a publié un correctif plus tôt cette année qui empêche l’exploit de fonctionner. Les appareils non corrigés restent vulnérables. Les appareils de ces fabricants qui utilisent des UEFI non Insyde ne sont pas concernés.