• XSS.stack #1 – первый литературный журнал от юзеров форума

UEFI Безопасная загрузка

tabac

CPU register
Пользователь
Регистрация
30.09.2018
Сообщения
1 610
Решения
1
Реакции
3 333
Безопасная загрузка UEFI - это функция, определенная в Спецификации UEFI. Она гарантирует, что только действительный код прошивки стороннего производителя может быть запущен в среде прошивок Производителя Оригинального Оборудования (ПОО). Безопасная загрузка UEFI предполагает, что микропрограммное обеспечение системы является доверенной организацией. Любой микропрограммный код стороннего производителя не является доверенным, включая системный загрузчик, установленный Поставщиком Операционной Системы (ПОС), и периферийные устройства, предоставляемые Независимым Поставщиком Оборудования (НПО). Конечный пользователь может выбрать регистрацию и отзыв записей в базе данных UEFI Secure Boot в рамках управления политикой проверки.

UEFI Secure Boot включает в себя две части - проверку загрузочного образа и проверку обновлений базы данных безопасности образа. На Рисунке 2-1 показан процесс проверки безопасной загрузки UEFI. Таблица 2-1 показывает базу данных по безопасности ключей/изображений, используемую в UEFI "Безопасная загрузка".

c73435eff4cd185ca4671.png

Рисунок 2-1: Безопасная загрузка UEFI

Table 2-1: Key Usage in UEFI Secure Boot

09d142cb0df86dae93c58.png

Безопасная проверка загрузочного изображения UEFI
Таблица 2-2: Безопасная проверка изображения загрузки UEFI
cabae7871c04c5743d93e.png

В Таблице 2-2 показаны компоненты, участвующие в UEFI безопасной проверке загрузочных изображений.

Подпись
В UEFI Secure Boot, UDI - это любой программный код прошивки 3-й части, включая загрузчик ОС, ПЗУ PCI опции или инструмент оболочки UEFI. Поставщик компонентов должен подписать эти компоненты закрытым ключом и опубликовать открытый ключ.

Хранилище с открытым ключом
OEM-производитель или конечный пользователь может зарегистрировать открытый ключ в качестве CDI (UEFI Secure Boot Image Security Database). База данных находится в аутентифицированной переменной UEFI. База данных также может обновляться во время выполнения. Она может быть прочитана любым человеком, но может быть записана только после аутентификации данных. См. таблицу 2 ниже.

Проверка
Во время загрузки TP (Процедура проверки образа) проверяет UDI (код прошивки стороннего производителя), в соответствии с CDI (UEFI Secure Boot Image Security Database) в соответствии с политикой. Если проверка проходит, UDI преобразуется в CDI и выполняется код прошивки стороннего производителя. Если верификация не проходит, код прошивки стороннего производителя отбрасывается.

На рисунке 2-2 показан поток верификации с использованием db/dbx.

5b491bc2da851be7c1a34.png

Рисунок 2-2: Поток проверки изображения
На рисунке 2-3 показан верификационный поток, вводящий dbt. Требуется дополнительная проверка на основе подписи dbx.

c4c703c29a64df42b9c6b.png

Рисунок 2-3: Проверка изображения с базой данных подписей временных меток Аутентифицированная переменная проверка UEFI (обновление политики)
Таблица 2-3: Аутентифицированная переменная проверка UEFI
9a013b605aceeb6c1cf96.png

В таблице 2-2, CDI (UEFI Secure Boot Image Security Database) обновляется. Сама база данных находится в области UEFI Authenticated Variable (Аутентифицированная переменная). В таблице 2-3 показан компонент, участвующий в аутентифицированной переменной UEFI.

Подпись
Чтобы обновить существующую базу данных безопасности образов новая база данных безопасности образов должна быть подписана, если включена функция безопасной загрузки UEFI.

Хранение с открытым ключом
Открытый ключ подписанта должен быть занесен в прошивку системы. Это то же самое, что и открытый ключ, используемый для UEFI Secure Boot Image Verification. База данных хранится в аутентифицированной переменной UEFI.

Верификация
Во время обновления и во время выполнения, TP (Authenticated Variable Verification Procedure) проверяет UDI (новую базу данных безопасности образа), в соответствии с CDI (UEFI Secure Boot Image Security Database) в соответствии с политикой. Если проверка пройдена, то UDI преобразуется в CDI, и новая база данных безопасности образа вступит в силу при следующей загрузке. Если проверка не проходит, новые данные безопасности образа отбрасываются.

Для подробной информации о потоке аутентифицированных переменных смотрите раздел "Реализация

Аутентифицированные переменные в SMM с белой бумагой EDK II".
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх