Разработчик ядра Linux Мэтью Гаррет разместил в сети первый общедоступный загрузчик, позволяющий запускать дистрибутивы Linux на компьютерах с Windows 8 и прошивкой UEFI.
Загрузчик-«прокладка», получивший название shim, подписан официальным ключом Microsoft и доступен для свободного использования в любых сборках Linux, авторы которых не могут себе позволить или не хотят проходить сертификацию в Microsoft.
Напомним, что в ноябре прошлого года разразился скандал по поводу стратегии Microsoft, которая потребовала от OEM-производителей компьютеров с прошивкой UEFI, желающих получить сертификат совместимости с Windows 8, в обязательном порядке активировать в прошивке опцию безопасной загрузки (Secure Boot).
Принцип работы Secure Boot заключается в том, что UEFI проверяет наличие сертификатов безопасности перед тем, как загрузить те или иные компоненты операционной системы, и разрешает загрузку только тех из них, которые подписаны официальным ключом от Microsoft, стоимость которого составляет $99. Из этой категории выпадают загрузчики большинства дистрибутивов Linux, за исключением Fedora и Ubuntu, а также SUSE, которые уже обзавелись собственными ключами. Активисты Open Source под руководством члена команды Fedora Мэтью Гаррета (Matthew Garret), недавно ушедшего из Red Hat, инициировали кампанию против Secure Boot, результатом которой стал выпуск общедоступного загрузчика, подписанного ключом Microsoft, для использования в любительских сборках Linux.
Загрузчик shim реализован аналогично Secure Boot-загрузчикам Fedora и SUSE: он запускается первым, предоставляя микропрограмме UEFI необходимый ключ, и после сверки сертификата передает управление загрузчику дистрибутива. Последний, в свою очередь, должен быть подписан личным ключом, сгенерированным авторами сборки. В случае, если личный ключ отсутствует или неизвестен shim, загрузка приостанавливается.
Для использования shim создателю дистрибутива необходимо поместить его в загрузочном каталоге на UEFI-разделе вместе со штатным загрузчиком дистрибутива. Затем нужно сгенерировать два ключа - закрытый и публичный, первым из которых требуется подписать штатный загрузчик, а вторым - установочный носитель, с которого будет инсталлироваться дистрибутив. При загрузке с носителя пользователю будет предложено меню выбора ключей, в котором он должен выбрать публичный ключ. Если ключ окажется верным, загрузка продолжится. Такая реализация укладывается в концепцию UEFI Secure Boot, позволяя запускать сторонние ОС и одновременно предотвращая загрузку руткитов и буткитов в случае заражения.
Поскольку shim передает управление загрузчику, подписанному авторским ключом, создатели дистрибутива теоретически могут создать неограниченно длинную цепочку верификации ключей. Например, заверить можно не только загрузчик, но и само ядро Linux и загружаемые модули.
Однако, по словам Мэтью Гаррета, столь серьезные предосторожности вовсе не обязательны, так как конечный пользователь «уже заявляет о своем доверии», выбирая публичный ключ для штатного загрузчика. Загрузчик Гаррета опередил аналогичную инициативу от Linux Foundation.
Фонд поддержки Linux в настоящее время пытается создать Secure Boot-загрузчик на базе efitools, позволяющий передавать управление неподписанным штатным загрузчикам дистрибутива. Код загрузчика уже готов, однако процесс по неизвестным причинам застопорился на стадии получения ключа у Microsoft. «Мы все еще ожидаем, пока Microsoft вернет нам подписанный загрузчик», - сообщает лидер проекта, активист Linux Foundation Джеймс Боттомли (James Bottomley).
>>> Подробности