Если я куплю компьютер с Windows 8 и Secure Boot, смогу ли я установить Linux?

48

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

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

nhinkle
источник

Ответы:

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. Есть еще один вариант - все еще использовать Secure Boot. и запустить ОС, отличную от 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, позволяющим пользователям отключать безопасную загрузку или менять ключи, если они того пожелают.

nhinkle
источник
4
>> «Прежде всего, безопасная загрузка - это не то, что разработала Microsoft. ... Это часть спецификации UEFI, которая в основном является более новой заменой старого BIOS, к которому вы, вероятно, привыкли. ... UEFI стандарты создаются группой под названием «Форум UEFI», в состав которой входят представители компьютерной индустрии, в том числе Microsoft, Apple ... «Итак, что вы имеете в виду: Secure Boot - это не то, что Microsoft придумала сама по себе
mcalex
@mcalex Полагаю, это справедливая оценка.
nhinkle
2
Это удивительно хорошо сделанное объяснение. Я думал, что знаю Secure Boot, но я многому научился из этого ответа. Я горжусь этим.
Харша К
4
+1 < Ivo Style > Возможно, вам следует написать в блоге об этом @nhinkle; -) </ Ivo Style >
Тамара Вийсман
2
Меня беспокоит не Microsoft , а производители. Конечно, ARM устройства по- прежнему можно было бы рассматривать как игрушки в настоящее время , но различные ARM платформы имеют прийти ужасный длинный путь в последние несколько лет, и я могу легко представить себе день , когда люди используют их для более чем просто смотреть видео на YouTube ... Отказ от возможности обновления или замены ОС теперь кажется недальновидным. Тем не менее, спасибо, что написали это - это определенно помогает прояснить, что есть, а что нет проблем с Secure Boot.
Shog9