У организации Linux Foundation возникли проблемы при попытке заверения UEFI-загрузчика ключом Microsoft, который позволяет применять такие загрузчики на системах, работающих на базе ОС Windows 8. О возникших трудностях рассказал разработчик ядра Linux Джеймс Боттомли (James Bottomley), который является членом координационной технического комитета Linux Foundation.
Напомним, что Linux Foundation приняла решение распространять от своего имени промежуточный заверенный ключом Microsoft загрузчик. Новая разработка Linux Foundation обеспечит работу любого дистрибутива на системах с активным по умолчанию режимом безопасной загрузки UEFI.
Изначально трудности возникли при первом входе в сервис для заверения загрузчиков и драйверов ключом Microsoft. Сервис позиционировался Linux Foundation в качестве средства для преодоления препятствий во время запуска систем от сторонних производителей на оборудовании, работающем на базе ОС Windows 8. На самом деле, процесс заверения выходит за рамки проверки соответствия загрузчика техническим требованиям. Перед тем как загрузить UEFI-загрузчик для формирования подписи требуется заключить специальный контракт, в котором указывается большое количество тонкостей и ограничений.
Среди ограничений следует выделить то, что в соглашении указываются не только особенности использования загрузчика и объектов, участвующих в проверке с использованием режима безопасной загрузки UEFI, но и связанные с ними компоненты. По мнению юристов, требование, указанные в соглашении, не принесут никакого вреда Linux Foundation, потому что компания не распространяет продукты. Однако другие компании могут оказаться в невыгодном положении. Помимо этого, контракт также содержит в себе список лицензий, которые не могут быть заверены ключом Microsoft. В частности, запрет касается исключительно драйверов на лицензии GPLv2, а также всего программного обеспечения на лицензии GPLv3 и на подобные лицензии.
Файл UEFI-загрузчика предлагается пользователям в формате CAB (Microsoft Cabinet), который подписан ключом Verisign. Этот архив создавался посредством свободной утилиты lcab и подписан программой osslsigncode. Оказалось, что для загрузки архива в сервис нужно использовать браузер с поддержкой плагина Silverlight, который работает только в Windows. На этот раз без Windows обойтись не удастся, так как с плагином Moonlight форма загрузки работать не будет.
Пройдя все предыдущие этапы загрузки, UEFI-загрузчик был добавлен для проверки, на что сервис выдал ошибку c непонятным номером. В результате проверки было установлено, что ошибка связана с тем, что исполняемый файл не является корректным Win32-приложением. В ответ им было заявлено, что это 64-разрядный UEFI-бинарник, после чего ответа не последовало. Повторная загрузка прошла стадию проверки, но привела к ошибке формирования подписи.
Несмотря на ошибку, подписанный файл стал доступен для загрузки и работал на платформах с режимом безопасной загрузки. В параметрах подписи было указано, что файл был подписан основным ключом Microsoft без возможности отзыва подписи. На вопрос в службу поддержки, был дан совет не использовать данный файл, так как он подписан неверно.
Сейчас Linux Foundation продолжает работу над формированием подписи и после того, как правильно заверенный UEFI-загрузчик будут разработан, он будет опубликован для общего использования на сайте компании.
Источник: SecurityLab
|