Организация Linux Foundation выпустила решение для поддержки UEFI Secure Boot в любых дистрибутивах

9 февраля 2013 года

Джеймс Боттомли (James Bottomley), известный разработчик ядра Linux, входящий в координационный технический комитет Linux Foundation, объявил о доступности для свободного использования нового универсального загрузчика, подписанного ключом Microsoft и позволяющего организовать загрузку любых дистрибутивов Linux в режиме UEFI Secure Boot на системах, изначально поставляемых с Windows 8.

Загрузчик рассчитан на выполнение первой фазы загрузки с последующей передачей управления штатному загрузчику дистрибутива с проверкой его корректности по контрольной сумме, сохраняемой в процессе установки дистрибутива в специальной служебной области UEFI. Несмотря на то, что такие дистрибутивы, как Fedora и Ubuntu уже подготовили свои решения для загрузки на системах UEFI Secure Boot, небольшие проекты или дистрибутивы управляемые сообществом лишены возможности прохождения длительного процесса заверения загрузчика в сервисе Microsoft (организация Linux Foundation потратила более трёх месяцев на урегулирование разных формальностей и попутно возникающих проблем). Представленный Linux Foundation загрузчик может быть без ограничений использован любыми дистрибутивами, у которых нет ресурсов или желания заверения собственного решения ключом Microsoft.

Напомним, что для сертификации оборудования на совместимость с Windows 8, компания Microsoft требует обязательной активации по умолчанию режима безопасной загрузки UEFI, блокирующего загрузку систем, не имеющих заверенной цифровой подписи. Вариант поставки собственного проверочного ключа связан с большими организационными трудностями, потребовавшими бы согласования с каждым OEM-производителем вопроса включения проверочного ключа в прошивку, что неизбежно отразилось бы в появлении оборудования, которое не поддерживает Linux. Возможность заверения только первичного загрузчика, без формирования подписей для ядра и драйверов, укладывается в требования спецификации UEFI Secure Boot, которая нацелена главным образом на защиту начальной стадии загрузки, до запуска ядра.

Код(недоступная ссылка) загрузчика и связанного с ним инструментария поставляется под лицензией GPL. Для загрузки доступно два заверенных ключом Microsoft EFI-компонента PreLoader.efi и HashTool.efi. Также создан готовый образ для быстрой организации загрузки систем с USB-накопителей. Файл KeyTool.efi с реализацией инструмента для управления ключами был отклонён компанией Microsoft из-за выявления возможности обхода ограничений безопасности UEFI на одной из UEFI-платформ, содержащей ошибку в своей реализации. До того, как проблема будет устранена, KeyTool.efi можно использовать с его ручной верификацией по хешу.

В отличие от ранее опубликованного загрузчика Shim, созданного Мэтью Гарретом (Matthew Garrett), заверенного ключом Microsoft и также рассчитанного на загрузку сторонних дистрибутивов, решение Linux Foundation выполнено в виде UEFI-расширения и имеет более универсальный характер. В частности, если Shim может передавать управление таким загрузчикам, как GRUB, то продукт Linux Foundation может быть использован совместно с более сложными загрузчиками, такими как Gummiboot.

В отличие от GRUB, Gummiboot непосредственно не запускает Linux, а использует для запуска ОС механизмы UEFI (силами UEFI производится динамическое определение наличия пригодных для загрузки систем и передача им управления через UEFI вызов BootServices-LoadImage()). При активном режиме UEFI Secure Boot при таком подходе используется штатный механизм UEFI для проверки валидности загружаемых через BootServices-LoadImage() компонентов, т.е. ядро должно иметь валидную цифровую подпись (например, должно быть заверено ключом Microsoft). В связи с этим, системы с загрузчиком Gummiboot не могут работать с загрузчиком Shim (Архивная копия от 30 июня 2020 на Wayback Machine).

Суть работы загрузчика Linux Foundation сводится к перехвату функций UEFI по проверке валидности образа и предоставление собственного обработчика, который для проверки неизменности ядра и Gummiboot задействует подтверждённые пользователем хэши, вместо верификации по проверочным ключам. Для реализации данной идеи в загрузчике были использованы методы, воплощённые инженерами проекта SUSE в загрузчике Shim 0.2 и позволяющие сохранять параметры заслуживающих доверия компонентов (проверочные хэши) в базе "MOKs" (Machine Owner Keys). Таким образом, вместо формирования официальных цифровых подписей разработчикам дистрибутивов теперь достаточно создать и сохранить в MOK хэши допустимых к загрузке компонентов.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Организация Linux Foundation выпустила решение для поддержки UEFI Secure Boot в любых дистрибутивах», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.