Обычно безопасная загрузка предотвращает УЕФИ от запуска всех последующих файлов, если они не имеют цифровой подписи, подтверждающей, что этим файлам доверяет производитель устройства. Эксплойт обходит эту защиту путем внедрения шелл-кода, спрятанного в вредоносном растровом изображении, отображаемом UEFI во время процесса загрузки. Внедренный код устанавливает криптографический ключ, который ставит цифровую подпись вредоносному GRUB вместе с зашифрованным образом ядра Linux, оба из которых запускаются на более поздних этапах процесса загрузки на машинах Linux.
Автоматическая установка этого ключа заставляет UEFI рассматривать вредоносный GRUB и образ ядра как доверенные компоненты и тем самым обходить защиту Secure Boot. Конечным результатом является бэкдор, внедренный в ядро Linux до того, как будут загружены любые другие средства защиты.
В онлайн-интервью Х.Д. Мур, технический директор и соучредитель runZero, а также эксперт по вредоносным программам на основе встроенного программного обеспечения, объяснил отчет Binarly следующим образом:
В документе Binarly указывается, что кто-то использовал ошибку LogoFAIL для настройки полезной нагрузки UEFI, которая обходит безопасную загрузку (прошивку), обманом заставляя прошивку принять их самоподписанный ключ (который затем сохраняется в прошивке как переменная MOK). Злой код по-прежнему ограничен пользовательской стороной UEFI, но эксплойт LogoFAIL позволяет им добавлять свой собственный ключ подписи в список разрешений прошивки (но в противном случае он никак не заражает прошивку).
По сути, это по-прежнему бэкдор ядра на основе GRUB, а не бэкдор прошивки, но он злоупотребляет ошибкой прошивки (LogoFAIL), чтобы обеспечить установку без взаимодействия с пользователем (регистрация, перезагрузка, затем принятие нового ключа подписи MOK).
При обычной настройке безопасной загрузки администратор генерирует локальный ключ, использует его для подписи обновленных пакетов ядра/GRUB, сообщает прошивке зарегистрировать созданный ключ, а затем после перезагрузки администратор должен принять этот новый ключ через консоль. (или удаленно через консоль BIOS bmc/ipmi/ilo/drac/etc).
В этой настройке злоумышленник может заменить заведомо исправное ядро GRUB + версией с бэкдором, зарегистрировав свой собственный ключ подписи без взаимодействия с пользователем с помощью эксплойта LogoFAIL, но по сути это по-прежнему буткит на основе GRUB, и он не жестко запрограммирован в прошивка биоса или что-то еще.
К машинам, уязвимым для этого эксплойта, относятся некоторые модели, продаваемые Acer, HP, Fujitsu и Lenovo, которые поставляются с UEFI, разработанным производителем Insyde, и работают под управлением Linux. Данные, обнаруженные в коде эксплойта, указывают на то, что эксплойт может быть адаптирован для конкретных конфигураций оборудования таких машин. Ранее в этом году Insyde выпустила патч, который предотвращает работу эксплойта. Непропатченные устройства остаются уязвимыми. Устройства этих производителей, использующие UEFI сторонних производителей, не затронуты.