В матплатах Acer, Dell, Fujitsu, Gigabyte, HP, Intel, Lenovo и Supermicro есть тестовый ключ для обхода UEFI Secure Boot
В коде прошивки 806 моделей материнских плат производства Acer, Dell, Fujitsu, Gigabyte, HP, Intel, Lenovo и Supermicro экспертами из Binarly обнаружен тестовый ключ, позволяющий обойти защитную систему UEFI Secure Boot.
По информации OpenNET, эта проблема получила кодовое название PKfail и связана с использованием в прошивках матплат не заслуживающего доверия ключа платформы (PK, Platform Key), сгенерированного компанией AMI (American Megatrends International) и поставляемого в качестве тестового примера.
Наиболее старые прошивки, в которых использовался тестовый ключ AMI, выпущены в 2012 году, а самые новые датированы июнем 2024 года. По данным исследователей, проблеме подвержены более 10% всех проверенных прошивок. Проверить свою прошивку можно на этом сайте.
В параметрах этого тестового ключа указывается, что он не заслуживает доверия и его не следует поставлять в своих продуктах. В AMI подразумевалось, что данный тестовый ключ производителям следует заменить на собственный, но в Acer, Dell, Fujitsu, Gigabyte, HP, Intel, Lenovo и Supermicro не обратили внимание на предупреждение и использовали в итоговых прошивках типовой общий ключ, отправляемый всем партнёрам и клиентам компании AMI.
Закрытая часть тестового ключа AMI, необходимая для создания цифровых подписей, оказалась доступна публично после утечки информации у одного из производителей оборудования, сотрудник которого по ошибке разместил в публичном репозитории на GitHub код, содержащий данный ключ. Закрытый ключ был размещён в зашифрованном файле, при шифровании которого использовался простой 4-символьный пароль, который удалось легко подобрать методом перебора.
Ключ платформы используется в качестве корня доверия для заверения БД с ключами для Secure Boot. Получение закрытой части ключа платформы приводит к компрометации всей цепочки доверия, задействованной при проверке валидности компонентов загружаемой системы: зная ключ платформы можно обойти защиту Secure Boot и организовать подстановку при загрузке собственных компонентов через манипуляцию ключом KEK (Key Exchange Key) и базами данных "db" (Signature Database) и "dbx" (Forbidden Signature Database). KEK отвечает за создание цепочки доверия между прошивкой и операционной системой, "db" содержит сертификаты и подписи для загрузчика и сторонних компонентов UEFI, а "dbx" включает отозванные подписи известных вредоносных компонентов.
Для совершения атаки достаточно сгенерировать новые ключи и сертификаты для KEK и db, после чего использовать попавший в открытый доступ тестовый ключ платформы для загрузки в UEFI-прошивку созданного KEK-сертификата. Загрузив в прошивку KEK-сертификат, можно использовать связанный с ним закрытый ключ для загрузки в БД db нового сертификата. После загрузки сертификата db связанный с ним закрытый ключ может применяться для заверения загружаемых EFI-компонентов.
Написать комментарий