The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Мэтью Гаррет выступил с критикой реализации UEFI Secure Boot..."
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Отдельный RSS теперь доступен для каждого обсуждения в форуме и каждого минипортала.
. "Мэтью Гаррет выступил с критикой реализации UEFI Secure Boot..." +1 +/
Сообщение от Аноним (-), 06-Фев-13, 01:32 
> Кратко для титеретиков. Если ты можешь поставить свой ключ,

Вообще-то я обходил подобные по смыслу схемы уже давно, когда для линуксов оно даже на горизонте еще не маячило. Так что это я вас поучу тому как это работает, а не вы меня, увы, гражданин титиретик ;)

> то и вор тоже может поставить свой ключ

Не сможет. Для титиретиков сообщаю: eFuses в самсуневом проце прошиваются ОДИН раз. Их стирание не предусмотрено. Ну разве что проц в девайсе целиком заменять, но это довольно невкусно по цене получается. И вообще, гемор. Ибо перепайка высокоплотного BGA. Не то чтобы оно совсем невозможно, но замок меняется только вместе с дверью и половиной стены. Отлито единым блоком. Такая фигня.

Как это работает? В проце есть накристальный boot ROM, сформированный при производстве. Он неизменяемый и является неотъемлимым свойством проца. Вы никак не можете влиять на его логику. Потому что это не есть перепрограммируемая память. Этот boot ROM умеет грузиться с кучи разных периферийных интерфейсов. В зависимости от - NAND флеш, usb, или еше чего-нибудь. Зависит от того что туда напхал производитель и как сконфигурирует загрузку тот кто паял это в систему.

Кроме того, в проце есть однократно записываемые eFuses - небольшой блок однократно программируемой памяти, чаще всего это нечто наподобие ячеек flash или EEPROM. Но с одним невкусным отличием: не предусмотрено операции стирания. Это как правило однократно программируемая память в таких процах.

Что происходит при включении: проц запускается. Точкой входа является накристальный boot ROM. Оный минимально инициализирует периферию, осознает (по методам оговоренным в даташитах) с какого интерфейса будет загрузка и кроме всего прочего - проверяет состояние фьюзов. Если фьюзы не прописаны - считается что это non-secure boot и на дальнейшие проверки подписей забивается. Чистый проц с фабрики сам по себе не имеет владельца, что логично.

А вот если в фьюзах что-то записано - это считается за SHA-1(pubkey). Тогда производится попытка прочитать из выбранного интерфейса загрузки этот самый pubkey. Далее проверяется его SHA-1. Если совпало - ок, это ключ настоящего owner'а системы - грузимся дальше. Иначе загрузка стопается. После загрузки ключа - грузится первичный загрузчик. Первая часть кода которую уже может менять пользователь. При режиме секурной загрузки boot ROM проверит что этот код валидно подписан ранее упомянутым ключом (SHA-1 которого он уже проверил). Такая схема удостоверяет что тот кто первый вписал eFuses и является фактическим полноценным owner'ом такой системы. Далее его загрузчики могут по цепочке верифицировать следующие загрузчики, ядро ОС, ... .

Owner может в принципе поиграть в контролируемую демократию, сломав цепочку трастов в одном из загрузчиков и позволив оному догружать неподписанный код. Но это целиком на его совести, равно как и алгоритмы всего этого. А самый ранний контроль над железякой получает тот кто прописал в фьюзы sha1 своего публичного ключа. Заменить этот ключ нельзя (кроме случая когда вы коллизии в SHA-1 умеете генерить для произвольных данных). Потому что стирание в ефьюзах не предусмотрено.

Думается вот такаая вот одноразовость и не нравится сабжевому субъекту. Да, гугл где-то там потом ломает цепочку загрузки и дает метод грузануть код без подписи. Проблема в том что невозможно стать полным owner-ом такой железки, сделав так чтобы она слушалась только вас, вписав СВОЙ ключ как единственно доверяемый железкой. Как минимум железка продолжит доверять предыдущему владельцу. Как максимум - вас вообще в железку не пустят (как у эппла например).

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Мэтью Гаррет выступил с критикой реализации UEFI Secure Boot..., opennews, 05-Фев-13, 12:38  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру