Цей процес запобіжить завантаження несертифікованого програмного забезпечення. Це може мати переваги, хоча я їх не бачу.
У вас є новий механізм захисту, який дозволяє контролювати, що можна, а що не можна завантажувати зі свого обладнання. Особливість безпеки. Ви не відчуваєте, що вам це потрібно, поки не пізно. Але я відволікаюсь.
Я прочитав нитку в списку розсилки Linux, коли співробітник Red hat просить Лінуса Торвальдса витягнути набір змін, який реалізує об'єкт для розбору бінарних файлів PE та здійснить складний набір дій, щоб ядро завантажувалося в режимі захищеного завантаження (наскільки я можу зрозуміти ).
Драйвери, як і ваша прошивка GPU, повинні бути підписані відповідно до Secure Boot, інакше це може бути ще один руткіт. Статус-кво полягає в тому, що ці драйвери підписані у форматі PE. Ядро може завантажуватися і без цього, але апаратне забезпечення не працюватиме. Розбір формату PE в ядрі - це просто технічно простіший вибір для цього, ніж просити кожного постачальника обладнання підписати свої краплі для кожного дистрибутива або створити для цього рамку користувача. Лінус вирішує не смоктати член Microsoft. Це не технічний аргумент.
Які переваги я отримаю за допомогою домашнього користувача UEFI та Secure Boot?
Найбільш помітна особливість - швидке завантаження UEFI. У мене є руки на декількох настільних логотипах Windows 8, і вони завантажуються так швидко, що я часто пропускаю спливати меню завантаження. Intel та OEM-виробники отримали досить багато техніки для цього.
Якщо ви є типом користувачів Linux, котрі ненавидіють ненажерливість та дублювання коду із захопленням, ви також можете захотіти керувати багатозавантажуваними пристроями на рівні прошивки та повністю позбутися завантажувачів. UEFI надає диспетчер завантаження, за допомогою якого ви можете завантажувати безпосередньо в ядро або вибирати для завантаження іншої ОС за допомогою меню прошивки. Хоча може знадобитися певний розмитнення.
Крім того, більш приваблива графіка під час завантаження та в меню прошивки. Краща безпека під час завантаження (Secure Boot). Інші функції (IPv4 / 6 netboot, 2TB + пристрої завантаження тощо) здебільшого призначені для корпоративних користувачів.
У будь-якому випадку, як сказав Лінус , BIOS / UEFI повинен "просто завантажити ОС і вийти звідти", а UEFI, безумовно, з'являється таким для домашніх користувачів із швидким завантаженням. Це, безумовно, робить більше речей, ніж BIOS під кришкою, але якщо ми говоримо про домашніх користувачів, їм це буде не байдуже.
Як здійснюється це підписання?
Теоретично двійковий код шифрується приватним ключем для створення підпису. Тоді підпис можна перевірити відкритим ключем, щоб довести, що двійковий файл підписується власником приватного ключа, потім двійковий підтверджений. Детальніше дивіться у Вікіпедії .
Технічно підписується тільки хеш двійкового файлу, а підпис вбудовується у двійковий файл із формою PE та додатковим подвійним форматом.
Процедуально відкритий ключ зберігається у вашій прошивці вашим OEM, і це від Microsoft. У вас є два варіанти:
- Створіть власну пару ключів та безпечно керуйте ними, встановіть власний відкритий ключ до вбудованого програмного забезпечення та підпишіть двійковий код своїм власним приватним ключем ( підписка від Ubuntu або pesign від Fedora) або
- Надішліть свій двійковий файл Microsoft і нехай він підпише його.
Хто може отримати підписи / довідки? Це заплачено? Чи може це бути публічним? (Він повинен бути доступний у вихідному коді Linux, чи не так?)
Оскільки підписи / сертифікати вбудовуються у двійкові файли, очікується, що їх отримають усі користувачі. Будь-який бажаючий може створити власну ЦА та створити сертифікат для себе. Але якщо ви хочете, щоб Microsoft створила сертифікат для вас, вам потрібно пройти Verisign, щоб перевірити свою особу. Процес коштує 99 доларів. Відкритий ключ знаходиться в прошивці. Приватний ключ знаходиться в безпеці Microsoft. Сертифікат знаходиться у підписаному двійковій справі. Немає вихідного коду.
Є Microsoft єдиним органом, що надає підписи? Чи не повинен бути незалежний фонд, який би їх забезпечував?
Технічна сторона є досить тривіальною, порівняно з процесом управління PKI, перевірки ідентичності, координації з кожним відомим постачальником OEM та обладнання. Це коштує дорого. Майкрософт має інфраструктуру (WHQL) та досвід для цього протягом багатьох років. Тому вони пропонують підписати бінарні файли. Будь-яка незалежна фундація може запропонувати одне і те ж, але ще ніхто цього не зробив.
З сесії UEFI на IDF 2013, я бачу, що компанія Canonical також почала вводити свій ключ до деяких програмних засобів планшетного ПК. Тож Canonical може підписувати власні бінарні файли, не проходячи через Microsoft. Але вони навряд чи підпишуть бінарні файли для вас, оскільки вони не знають, хто ви.
Як це вплине на відкриті джерела та вільні ядра, розробників ядрів / академічних ядер тощо.
Ваше вбудоване ядро не завантажиться під захищеним завантаженням, оскільки воно не підписане. Ви можете вимкнути його.
Модель довіри Secure Boot блокує деякі аспекти ядра. Наче ви не можете знищити своє ядро, написавши в / dev / kmem, навіть якщо ви зараз root. Ви не можете перезимувати на диск (працюючи вище за течією), оскільки немає можливості переконати, що зображення ядра не буде змінено на завантажувальний код під час відновлення. Ви не можете скинути ядро, коли ваше ядро панікує, тому що механізм kdump (kexec) може використовуватися для завантаження завантажувального коду (також працює над потоком). Вони суперечливі і не приймаються Лінусом до основного ядра, однак деякі дистрибутиви (Fedora, RHEL, Ubuntu, openSUSE, SUSE) все одно поставляються із власними патчами Secure Boot.
Особисто підписання модуля, необхідне для створення ядра Secure Boot, коштує 10 хвилин, а фактична компіляція займає лише 5 хвилин. Якщо я вимкну підпис модуля і ввімкнув кеш-пам'ять, на створення ядра потрібно лише одна хвилина.
UEFI - це зовсім інший завантажувальний шлях від BIOS. Прошивки UEFI не завантажуватимуть усі завантажувальні коди BIOS.
Іспанська група користувачів Linux під назвою Hispalinux подала скаргу на Microsoft з цього приводу на компанію Europan Comission.
Як було сказано вище, ніхто, окрім Microsoft, не почав займатися державною службою. Наразі немає жодних доказів наміру Microsoft робити якесь зло з цим, але також нічого не заважає Microsoft зловживати своєю фактичною монополією та відправлятися у владу. Тож, хоча групи користувачів FSF та Linux можуть не виглядати досить прагматично і насправді не сідати, щоб конструктивно вирішити проблеми, цілком потрібно, що люди чинять тиск на Microsoft і попереджають його про наслідки.
Чи варто мене турбувати? Я не відмовляюся від використання ні власного програмного забезпечення, ні програмного забезпечення, підписаного надійними компаніями. Я робив це досі, і хочу продовжувати так.
Причини прийняття безпечного завантаження:
- Це виключає реальний вектор атаки безпеки.
- Це технічний механізм, який дає користувачеві більше свободи контролювати своє обладнання.
- Користувачі Linux повинні зрозуміти безпечний механізм завантаження і діяти проактивно , перш ніж Microsoft стає занадто далеко від монополії безпечного завантаження політики .
UEFI
сама по собі не є великою проблемою, але безпечне завантаження може бути.