Организация 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 хэши допустимых к загрузке компонентов.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.