ПК можно взломать с помощью рекламной картинки в BIOS и UEFI
Стремление вендоров прошивок оборудования отрекламироваться в своих предзагрузочных циклах, привело к появлению множества уязвимостей, получивших общее название LogoFAIL. О том, что изображения в BIOS/UEFI могут становиться источником проблемы, предупреждали еще в конце 2000-х годов.
Логотип как уязвимость
В коде программной оболочки UEFI (Unified Extensible Firmware Interface) сразу от нескольких производителей выявлен комплекс уязвимостей, получивших название LogoFAIL. Эти уязвимости позволяют устанавливать буткиты на компьютеры, то есть, вредоносные компоненты, функционирующие на более низком уровне, чем операционная система. Больше всего озадачивает тот факт, что основной причиной является тщеславие вендоров, размещающих свою графическую рекламу при запуске BIOS или UEFI.
UEFI - это унифицированный расширенный интерфейс программных оболочек, интерфейс между операционной системой (ОС) и микропрограммами, управляющими низкоуровневыми функциями оборудования. Основное предназначение UEFI – это корректно инициализировать оборудование при включении системы и передать управление загрузчику или непосредственно ядру ОС. В этом отношении UEFI является аналогом BIOS, которому и пришел на смену.
Еще в 2009 г. было продемонстрировано, как злоумышленники в теории могут использовать графические парсеры, присутствующие и в BIOS, можно использовать для внедрения вредоносного кода, не зависящего от ОС и фактически становящегося руткитом (или буткитом).
По-видимому, UEFI эту проблему унаследовал. Уязвимости LogoFAIL связаны с некорректной работой библиотек парсинга изображений, как правило, стороннего происхождения. Они используются не для чего иного как демонстрации логотипов вендоров на этапе загрузки.
Как указывается в публикации экспертов платформы Binarly, посвященной защите цепочек поставок, использование этих графических библиотек создает совершенно ненужные риски безопасности.
Исследование, которое привело к обнаружению LogoFAIL, начиналось как маломасштабный академический проект по изучению потенциального вреда, который могут наносить парсеры изображений в программных оболочках («прошивках») UEFI - в тех случаях, когда парсеры используют какой-то специализированный или просто устаревший код.
Код лежит под системой и его не видно
Выяснилось, что злоумышленники могут сохранять содержащие вредоносный код изображения (или логотипы) в системном разделе EFI (EFI System Partition - ESP) или в лишенных цифровой подписи фрагментах обновлений для прошивок.
«Когда происходит обработка изображений на этапе загрузки... вредоносный компонент, внедренный злоумышленником, может быть запущен произвольным образом для перехвата последовательности запуска и обойти такие функции безопасности, в т.ч. аппаратные механизмы Verified Boot (такие как Intel Boot Guard, AMD Hardware-Validated Boot или ARM TrustZone)», - говорится в публикации Binarly.
Как следствие внедрение вредоносного кода проходит незаметно, а обнаружить его после оказывается почти невозможным.
LogoFAIL не нарушает целостность среды запуска: никакой надобности модифицировать загрузчик базовой прошивки. Сходный метод уже использовали разработчики буткита BlackLotus при эксплуатации уязвимости BootHole.
Эксперты Binarly продемонстрировали изданию Bleeping Computer тестовый эксплойт, который позволял создавать в системе произвольный файл после перезагрузки.
В компании подчеркивают, что проблема не связана с аппаратными компонентами какого-то одного вендора; LogoFAIL присутствует в чипсетах множество разных производителей, в устройствах для конечных пользователей и корпоративных клиентов.
На данный момент определены сотни уязвимых устройств от Intel, Acer, Lenovo и других. Плюс уязвимыми оказываются и специализированные прошивки UEFI от таких поставщиков как AMI, Insyde и Phoenix. Все они уведомлены о наличии уязвимости.
«Что обнадеживает, так это то, что проблему легко устранить», - говорит эксперт по информационной безопасности компании SEQ Дмитрий Пешков. По его мнению, достаточно отказаться от не несущих никакой функциональной нагрузки графических элементов, и она исчезнет сама. «Однако внедрять свои логотипы туда, где графике не место, это довольно старая традиция для поставщиков прошивок, так что, скорее всего, будут пытаться проверять и исправлять парсеры, а не убирать источник LogoFAIL», - считает Дмитрий Пешков.
Реальные масштабы бедствия еще только предстоит определить.