Безопасная загрузка
Безопасная загрузка — это функция единого расширяемого интерфейса встроенного ПО (UEFI), который требует проверки всех компонентов встроенного ПО низкого уровня и программного обеспечения перед загрузкой. Во время загрузки безопасная загрузка UEFI проверяет подпись каждой части программного обеспечения загрузки, включая драйверы встроенного по UEFI (также называемые опциональными ПЗУ), приложения EFI, а также драйверы и двоичные файлы операционной системы. Если подписи действительны или являются доверенными для изготовителя оборудования (OEM), компьютер загружается, а встроенное ПО обеспечивает управление операционной системой.
Компоненты и процессы
Безопасная загрузка зависит от следующих критических компонентов.
- Ключ платформы (PK) — устанавливает отношение доверия между владельцем платформы (Майкрософт) и встроенным ПО. Открытая половина ключа — PKpub, а частная половина — PKpriv.
- База данных ключей регистрации ключей (KEK) — устанавливает отношение доверия между операционной системой и встроенным ПО платформы. Открытая половина ключа — PKpub, а частная половина — PKpriv.
- База данных сигнатур содержит дайджесты для доверенных подписантов (открытых ключей и сертификатов) программного обеспечения и модулей кода программного обеспечения, имеющих право взаимодействовать с встроенным ПО платформы.
- Отозванные базы данных подписей (dbx) — содержит отозванные дайджесты модулей кода, которые определены как вредоносные, уязвимые, скомпрометированные или ненадежные. Если хэш находится в базе данных подписей и в базе данных отозванных подписей, база данных отозванных подписей преобладает.
На следующем рисунке и в этом процессе объясняется, как обновляются эти компоненты.
ИЗГОТОВИТЕЛЬ хранит дайджесты Secure Boot на неразрешенной оперативной памяти компьютера (NV-RAM) во время производства.
- База данных подписей заполняется подписями или хэшами изображений приложений UEFI, загрузчиками операционной системы (например, microsoft Operating System Loader или Boot Manager) и драйверами UEFI, доверенными.
- Dbx отозванных подписей заполняется дайджестами модулей, которые больше не являются доверенными.
- База данных ключа регистрации ключей (KEK) заполняется ключами подписывания, которые можно использовать для обновления базы данных сигнатур и отзыва базы данных сигнатур. Базы данных могут быть изменены с помощью обновлений, подписанных правильным ключом или через обновления физически представленным полномочным пользователем с помощью меню встроенного ПО.
- После добавления баз данных, субд и баз данных KEK и завершения проверки встроенного ПО и тестирования OEM блокирует встроенное ПО от редактирования и создает ключ платформы (PK). Ключ PK можно использовать для подписывания обновлений KEK или для отключения безопасной загрузки.
На каждом этапе процесса загрузки вычисляются дайджесты встроенного ПО, загрузчика, операционной системы, драйверов ядра и других артефактов цепочки загрузки и сравниваются с допустимыми значениями. Встроенное ПО и программное обеспечение, обнаруженные ненадежным, не могут загружаться. Таким образом, могут быть заблокированы низкоуровневые атаки вредоносных программ или предварительной защиты от вредоносных программ.
Безопасная загрузка на парке Azure
Сегодня каждый компьютер, подключенный и развернутый на подсистеме вычислений Azure для размещения рабочих нагрузок клиентов, поступает из производственных этажей с включенной безопасной загрузкой. Целевые средства и процессы выполняются на каждом этапе в конвейере сборки оборудования и интеграции, чтобы гарантировать, что включение безопасной загрузки не будет отменено случайно или злонамеренным намерением.
Проверка правильности дайджестов баз данных db и dbx гарантирует следующее.
- В одной из записей базы данных находится загрузчик
- Сигнатура bootloader действительна
- Узел загружается с доверенным программным обеспечением
Проверив сигнатуры KEKpub и PKpub, мы можем подтвердить, что только доверенные стороны имеют разрешение на изменение определений того, какое программное обеспечение считается доверенным. Наконец, убедившись в том, что безопасная загрузка активна, мы можем проверить, применяются ли эти определения.
Следующие шаги
Чтобы узнать больше о том, что мы делаем для обеспечения целостности и безопасности платформ, ознакомьтесь со следующими статьями: