Гостевая статья Безопасная загрузка UEFI

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

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

c73435eff4cd185ca4671.png



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

Таблица 2-1: Использование ключей в безопасной загрузке UEFI

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. База данных также может обновляться во время выполнения. Она может быть прочитана любым человеком, но может быть записана только после аутентификации данных.

Проверка

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

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

5b491bc2da851be7c1a34.png



На рисунке 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, и новая база данных безопасности образа вступит в силу при следующей загрузке. Если проверка не проходит, новые данные безопасности образа игнорируются.

 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!