48

Я много слышал о том, как Microsoft реализует безопасную загрузку UEFI в Windows 8. По-видимому, он предотвращает запуск "неавторизованных" загрузчиков на компьютере, чтобы предотвратить появление вредоносных программ. Free Software Foundation проводит кампанию против безопасной загрузки, и многие люди в Интернете говорят, что Microsoft "захватывает власть", чтобы "ликвидировать бесплатные операционные системы".

Если я получу компьютер с предустановленной Windows 8 и Secure Boot, смогу ли я установить Linux (или другую ОС) позже? Или компьютер с безопасной загрузкой работает только с Windows?

1 ответ1

70

Прежде всего, простой ответ на ваш вопрос:

  • Если у вас планшет ARM под управлением Windows RT (например, Surface RT или Asus Vivo RT), вы не сможете отключить безопасную загрузку или установить другие ОС. Как и многие другие планшеты ARM, эти устройства будут работать только на той ОС, с которой они поставляются.

  • Если у вас не-ARM компьютер под управлением Windows 8 (например, Surface Pro или любой из множества ультрабуков, настольных компьютеров и планшетов с процессором x86-64), вы можете полностью отключить Secure Boot или установить свои собственные ключи. и подпишите свой собственный загрузчик. В любом случае, вы можете установить стороннюю ОС, такую как дистрибутив Linux, FreeBSD или DOS, или что угодно.


Теперь перейдем к деталям того, как на самом деле работает вся эта функция защищенной загрузки: о безопасной загрузке много дезинформации, особенно от Free Software Foundation и подобных групп. Из-за этого было сложно найти информацию о том, что на самом деле делает Secure Boot, поэтому я постараюсь объяснить. Обратите внимание, что у меня нет личного опыта разработки безопасных загрузочных систем или чего-либо подобного; это то, чему я научился, читая онлайн.

Прежде всего, безопасная загрузка - это не то, что придумало Microsoft. Они первыми широко его внедрили, но не придумали. Это часть спецификации UEFI, которая в основном является более новой заменой старого BIOS, к которому вы, вероятно, привыкли. UEFI - это в основном программное обеспечение, которое взаимодействует между ОС и оборудованием. Стандарты UEFI создаются группой под названием « Форум UEFI », в состав которой входят представители компьютерной индустрии, включая Microsoft, Apple, Intel, AMD и несколько производителей компьютеров.

Второй по важности момент: включение защищенной загрузки на компьютере не означает, что компьютер никогда не сможет загрузить другую операционную систему. Фактически, в собственных требованиях Microsoft Windows к сертификации оборудования говорится, что для систем, не относящихся к ARM, вы должны иметь возможность отключить безопасную загрузку и изменить ключи (чтобы разрешить использование других ОС). Подробнее об этом позже.

 

Что делает Secure Boot?

По сути, это предотвращает атаку вредоносных программ на ваш компьютер через последовательность загрузки. Вредоносное ПО, которое проникает через загрузчик, может быть очень трудно обнаружить и остановить, поскольку оно может проникать в низкоуровневые функции операционной системы, делая ее невидимой для антивирусного программного обеспечения. Все, что на самом деле делает Secure Boot, это то, что он проверяет, что загрузчик из надежного источника, и что он не был подделан. Думайте об этом как о всплывающих крышках на бутылках с надписью «не открывайте, если крышка открыта или пломба была повреждена».

Кнопка всплывает, когда оригинальная печать сломана

На верхнем уровне защиты у вас есть ключ платформы (PK). В любой системе есть только один PK, и он устанавливается OEM-производителем во время производства. Этот ключ используется для защиты базы данных KEK. База данных KEK содержит ключи обмена ключами, которые используются для изменения других баз безопасной загрузки. Может быть несколько KEK. Затем существует третий уровень: авторизованная база данных (db) и запрещенная база данных (dbx). Они содержат информацию о центрах сертификации, дополнительных криптографических ключах и изображениях устройств UEFI для разрешения или блокировки соответственно. Чтобы разрешить запуск загрузчика, он должен быть криптографически подписан ключом, который находится в базе данных, а не в базе данных.

Ключ платформы> KEK> (Разрешенные хэши / запрещенные хэши)
Образ из сборки Windows 8: защита пред-ОС среды с помощью UEFI

Как это работает в реальной системе Windows 8 Certified

OEM-производитель генерирует свой собственный PK, а Microsoft предоставляет KEK, который требуется OEM-мастеру для предварительной загрузки в базу данных KEK. Затем Microsoft подписывает загрузчик Windows 8 и использует свой KEK для помещения этой подписи в Авторизованную базу данных. Когда UEFI загружает компьютер, он проверяет PK, проверяет KEK Microsoft, а затем проверяет загрузчик. Если все выглядит хорошо, то ОС может загрузиться.

Безопасная загрузка в Windows 8: собственный UEFI> Только для проверенного загрузчика ОС> Запуск ОС / UEFI запускает только проверенный загрузчик ОС / вредоносное ПО не может переключить загрузчик
Образ из сборки Windows 8: защита пред-ОС среды с помощью UEFI

 

Откуда появляются сторонние ОС, такие как Linux?

Во-первых, любой дистрибутив Linux может выбрать создание KEK и попросить OEM-производителей включить его в базу данных KEK по умолчанию. Тогда они будут иметь столько же контроля над процессом загрузки, как Microsoft. Проблемы с этим, как объяснил Мэтью Гарретт из Fedora, заключаются в том, что а) было бы трудно заставить каждого производителя ПК включать ключ Fedora, и б) это было бы несправедливо по отношению к другим дистрибутивам Linux, поскольку их ключ не был бы включен. и меньшие дистрибутивы не имеют столько OEM-партнерств.

Что Fedora решила сделать (и другие дистрибутивы следуют этому примеру), так это использовать службы подписи Microsoft. В этом сценарии требуется заплатить 99 долларов Verisign (Центру сертификации, который использует Microsoft) и предоставляет разработчикам возможность подписать свой загрузчик с помощью Microsoft KEK. Поскольку Microsoft KEK уже будет на большинстве компьютеров, это позволяет им подписывать загрузчик, чтобы использовать безопасную загрузку, не требуя своего собственного KEK. В итоге он становится более совместимым с большим количеством компьютеров и в целом обходится дешевле, чем настройка собственной системы подписи и распределения ключей. Есть несколько подробностей о том, как это будет работать (с использованием GRUB, подписанных модулей ядра и другой технической информации) в вышеупомянутом сообщении в блоге, которое я рекомендую прочитать, если вы заинтересованы в подобных вещах.

Предположим, вы не хотите иметь дело с регистрацией в системе Microsoft, или не хотите платить 99 долларов, или просто недовольны крупными корпорациями, начинающимися с буквы M. Есть еще один вариант - все еще использовать безопасную загрузку. и запустить ОС, отличную от Windows. Сертификация оборудования Microsoft требует, чтобы OEM-производители позволяли пользователям вводить свою систему в «пользовательском» режиме UEFI, где они могут вручную изменять базы данных Secure Boot и PK. Систему можно перевести в режим настройки UEFI, где пользователь может даже указать свой собственный PK и подписать загрузчики самостоятельно.

Более того, собственные требования Microsoft по сертификации обязывают OEM-производителей включать метод отключения Secure Boot в системах без поддержки ARM. Вы можете отключить безопасную загрузку! Единственными системами, в которых вы не можете отключить безопасную загрузку, являются системы ARM, работающие под управлением Windows RT, которые работают аналогично iPad, где вы не можете загружать пользовательские ОС. Хотелось бы, чтобы можно было сменить ОС на устройствах ARM, но справедливо сказать, что Microsoft придерживается отраслевого стандарта в отношении планшетов.

 

Так что безопасная загрузка не является злой по своей сути?

Так что, как вы можете надеяться, Secure Boot не является злом и не ограничивается использованием только с Windows. Причина, по которой FSF и другие люди так расстроены, заключается в том, что он добавляет дополнительные шаги к использованию сторонней операционной системы. Дистрибутивам Linux может не нравиться платить за использование ключа Microsoft, но это самый простой и экономичный способ заставить Secure Boot работать на Linux. К счастью, Secure Boot легко отключить и можно добавлять различные ключи, что позволяет избежать необходимости иметь дело с Microsoft.

Принимая во внимание все больше и больше вредоносных программ, безопасная загрузка кажется разумной идеей. Это не злой заговор, чтобы захватить весь мир, и он гораздо менее страшен, чем некоторые эксперты в области свободного программного обеспечения.

злой логотип UEFI

Дополнительное чтение:


TL; DR: безопасная загрузка предотвращает заражение вашей системы вредоносным ПО на низком, необнаруживаемом уровне во время загрузки. Любой может создать необходимые ключи, чтобы заставить его работать, но трудно убедить производителей компьютеров распространять ваш ключ среди всех, так что вы можете альтернативно выбрать оплату Verisign за использование ключа Microsoft для подписи ваших загрузчиков и заставить их работать. Вы также можете отключить безопасную загрузку на любом компьютере, отличном от ARM.

Последняя мысль, касающаяся кампании FSF против безопасной загрузки: некоторые из их проблем (т. Е. Затрудняет установку бесплатных операционных систем) актуальны до определенной степени. Заявление о том, что ограничения «не позволят кому-либо загружать что-либо, кроме Windows», является явно ложным по причинам, показанным выше. Кампания против UEFI/Secure Boot как технологии близорука, дезинформирована и вряд ли будет эффективной в любом случае. Более важно убедиться, что производители действительно следуют требованиям Microsoft, позволяющим пользователям отключать безопасную загрузку или менять ключи, если они того пожелают.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .