Этот процесс предотвратит загрузку несертифицированного программного обеспечения. Это может иметь преимущества, хотя я их не вижу.
У вас есть новый механизм безопасности для управления тем, что может, а что нет, загружаться с вашего оборудования. Функция безопасности. Вы не чувствуете, что вам это нужно, пока не стало слишком поздно. Но я отвлекся.
Я прочитал ветку по списку рассылки Linux, в которой сотрудник Red Hat просит Линуса Торвальдса вытащить набор изменений, который реализует средство для анализа двоичных файлов PE, и выполнить сложный набор действий, чтобы позволить ядру загружаться в режиме безопасной загрузки (насколько я понимаю). ).
Драйверы, как и прошивка вашего GPU, должны быть подписаны в соответствии с Secure Boot, в противном случае это может быть еще один руткит. Статус-кво заключается в том, что эти драйверы подписаны в формате PE. Ядро может загрузиться без них в любом случае, но аппаратное обеспечение не будет работать. Разбор формата PE в ядре - технически более простой выбор для этого, чем просить каждого поставщика оборудования подписывать свои двоичные объекты для каждого дистрибутива или создавать для этого среду пользовательского пространства. Линус решает не сосать член Microsoft. Это не технический аргумент.
Какие преимущества я получу с UEFI и Secure Boot, как домашний пользователь?
Наиболее заметной особенностью является UEFI fast boot. Я взял в руки несколько рабочих столов с логотипом Windows 8, и они загружаются так быстро, что я часто скучаю по всплывающему меню загрузки. Intel и OEM-разработчики получили достаточно инженерии по этому вопросу.
Если вы относитесь к типу пользователей Linux, которые страстно ненавидят раздутость и дублирование кода , возможно, вы захотите управлять мультизагрузкой на уровне прошивки и вообще избавиться от загрузчиков. UEFI предоставляет менеджер загрузки, с помощью которого вы можете загружаться непосредственно в ядро или выбирать загрузку других ОС с помощью меню прошивки. Хотя, возможно, потребуется немного повозиться.
Также более изящная графика во время загрузки и в меню прошивки. Лучшая безопасность во время загрузки (Secure Boot). Другие функции (сетевая загрузка IPv4 / 6, загрузочные устройства емкостью 2 ТБ и т. Д.) В основном предназначены для корпоративных пользователей.
В любом случае, как сказал Линус , BIOS / UEFI должен «просто загрузить ОС и вытащить ее оттуда», и UEFI, безусловно, выглядит так же для домашних пользователей с быстрой загрузкой. Конечно, он делает больше вещей, чем BIOS под капотом, но если мы говорим о домашних пользователях, они не будут заботиться об этом.
Как это подписание сделано?
Теоретически, двоичный файл шифруется закрытым ключом для создания подписи. Затем подпись может быть проверена с помощью открытого ключа, чтобы доказать, что двоичный файл подписан владельцем закрытого ключа, а затем проверен двоичный файл. Смотрите больше в Википедии .
Технически, только хэш двоичного файла подписан, и подпись встроена в двоичный файл с форматом PE и дополнительным форматом twiddling.
Процедурно, открытый ключ хранится в вашей прошивке вашим изготовителем, и это от Microsoft. У вас есть два варианта:
- Сгенерируйте свою собственную пару ключей и управляйте ими надежно, установите свой собственный открытый ключ для прошивки и подпишите двоичный файл своим собственным закрытым ключом ( sbsign из Ubuntu или pesign из Fedora), или
- Отправьте свой бинарный файл в Microsoft и дайте им подписать его.
Кто может получить подписи / сертификаты? Это оплачено? Это может быть публично? (Это должно быть доступно в исходном коде Linux, не так ли?)
Поскольку подписи / сертификаты встроены в двоичные файлы, ожидается, что их получат все пользователи. Любой может настроить свой собственный CA и сгенерировать сертификат для себя. Но если вы хотите, чтобы Microsoft сгенерировала для вас сертификат, вам нужно пройти Verisign, чтобы подтвердить вашу личность. Процесс стоит 99 долларов. Открытый ключ есть в прошивке. Закрытый ключ находится в безопасности Microsoft. Сертификат находится в подписанном двоичном файле. Нет исходного кода.
Является ли Microsoft единственным органом, предоставляющим подписи? Разве не должно быть независимого фонда для их обеспечения?
Техническая сторона довольно тривиальна по сравнению с процессом управления PKI, проверки личности, координации с каждым известным производителем оборудования и OEM. Это дорогой. У Microsoft есть инфраструктура (WHQL) и опыт работы в течение многих лет. Поэтому они предлагают подписать двоичные файлы. Любой независимый фонд может сделать то же самое, но пока никто этого не сделал.
Я вижу, что с сессии UEFI на IDF 2013 Canonical также начала использовать свой собственный ключ для некоторых прошивок планшета. Таким образом, Canonical может подписывать свои двоичные файлы, не проходя через Microsoft. Но они вряд ли подпишут двоичные файлы для вас, потому что они не знают, кто вы.
Как это повлияет на открытый исходный код и бесплатные ядра, на любителей и академических разработчиков ядра и т. Д.
Ваше собственное ядро не будет загружаться под Secure Boot, потому что оно не подписано. Вы можете выключить это все же.
Модель доверия Secure Boot блокирует некоторые аспекты ядра. Как будто вы не можете уничтожить свое ядро, записав в / dev / kmem, даже если вы сейчас root. Вы не можете переходить в режим гибернации на диск (работающий в восходящем направлении), потому что нет способа гарантировать, что образ ядра не будет изменен на буткит при возобновлении. Вы не можете сбросить ядро, когда ваше ядро паникует, потому что механизм kdump (kexec) может быть использован для загрузки буткита (также работающего в апстриме). Они противоречивы и не принимаются Линусом в основное ядро, но некоторые дистрибутивы (Fedora, RHEL, Ubuntu, openSUSE, SUSE) в любом случае поставляются с собственными патчами Secure Boot.
Лично подпись модуля, необходимая для сборки ядра Secure Boot, стоит 10 минут, тогда как фактическая компиляция занимает всего 5 минут. Если я отключу подпись модуля и включу ccache, сборка ядра займет всего одну минуту.
UEFI - это совершенно другой путь загрузки по сравнению с BIOS. Весь загрузочный код BIOS не будет вызываться прошивкой UEFI.
Испанская группа пользователей Linux под названием Hispalinux подала жалобу на Microsoft по этому вопросу в Europan Comission.
Как уже говорилось выше, никто, кроме Microsoft, не пошел на государственную службу. В настоящее время нет никаких доказательств намерения Microsoft совершить какое-либо зло с этим, но также ничто не мешает Microsoft злоупотреблять своей фактической монополией и отправиться в энергетическое путешествие. Таким образом, хотя группы пользователей FSF и Linux могут выглядеть не совсем прагматично и на самом деле не садятся за конструктивное решение проблем, совершенно необходимо, чтобы люди давили на Microsoft и предупреждали ее о последствиях.
Должен ли я быть обеспокоен? Я отказываюсь использовать ни проприетарное программное обеспечение, ни программное обеспечение, подписанное проверенными компаниями. Я делал это до сих пор, и я хочу продолжать это.
Причины использования Secure Boot:
- Это устраняет реальный вектор атаки безопасности.
- Это технический механизм, который дает пользователю больше свободы в управлении своим оборудованием.
- Пользователи Linux должны понять безопасный механизм загрузки и действовать проактивно , прежде чем Microsoft становится слишком далеко от монополии безопасной загрузки политики .
UEFI
Само по себе это не большая проблема, но безопасная загрузка может быть.