Добавление Secure Boot ключа для безопасной загрузки МСВСфера ОС на системах с UEFI

Глоссарий

  • BIOS — Basic Input/Output System, базовая система ввода/вывода;

  • UEFI — Unified Extensible Firmware Interface, единый расширяемый интерфейс прошивки;

  • Secure Boot — безопасная загрузка;

  • MOK — Machine Owner Key, ключ владельца компьютера (пользовательский ключ).

Область применения

Технология UEFI Secure Boot применяется в основном на современных персональных компьютерах (ПК), автоматизированных рабочих местах (АРМ), серверах, планшетных компьютерах и других электронных вычислительных машинах (ЭВМ).

Загрузка с включенным режимом Secure Boot имеет некоторые преимущества — UEFI Secure Boot (в отличие от функционала BIOS) помогает защититься от вредоносных программ до загрузки операционной системы.

В случае загрузки с отключенным Secure Boot, после включения ЭВМ может произойти запуск вредоносного EFI-приложения с любого устройства, подключенного к USB-порту, например, с USB-накопителя. В результате чего в ЭВМ может проникнуть зловредное программное обеспечение (ПО), исполняемое в кольце защиты центрального процессора (ЦП), которое недоступно антивирусу в операционной системе.

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

Принцип работы технологии Secure Boot заключается в проверке электронной цифровой подписи (ЭЦП) EFI-приложения перед его выполнением при запуске ЭВМ относительно ключей, находящихся в хранилищах UEFI Secure Boot (PK, KEK, DB и DBX).

Управление Secure Boot

Отключение Secure Boot

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

Включение Secure Boot

Для использования Secure Boot необходимо удостовериться, что значение переменной Secure Boot Mode установлено в Standard. Это необходимо сделать после того, как будет установлен MOK.

Проверить включение Secure Boot можно в Setup Utility в меню Security.

Меню **Security**

Меню Security

Режимы Secure Boot

В Setup Utility для Secure Boot можно задать два режима работы — Standard или Custom.

  • Режим Standard служит для запуска загрузчиков, подписанных корпорацией Microsoft (запуск Windows), а также загрузчиков Shim для запуска Linux и других ОС, имеющих соответствующую подпись (МСВСфера ОС работает в режиме Standard после установки MOK).

  • Режим Custom предназначен для управления работой Secure Boot вручную. В этом режиме необходимо установить MOK.

Режимы работы Secure Boot

Режимы работы Secure Boot

Примечание: Если вы планируете устанавливать и использовать в ОС проприетарные драйверы nVidia, загруженные с сайта nvidia.com вручную, то необходимо удалить ключи Secure Boot. В этом режиме Secure Boot можно оставить включенным, но проверка запускаемых загрузчиков производиться не будет и, соответственно, система не будет защищена. Использование проприетарных драйверов nVidia будет рассмотрено в отдельной статье.

Удалить ключи Secure Boot

Удалить ключи Secure Boot

Добавление сертификатов МСВСфера ОС в хранилище ЭЦП Secure Boot

Добавить сертификат можно тремя различными способами:

  • используя утилиту mokutil

  • используя метод Enroll EFI Image в Setup Utility

  • используя метод добавления сертификата в хранилище Secure Boot при запуске ОС

Создание резервной копии хранилища ЭЦП UEFI Secure Boot

Перед изменениями Secure Boot в Setup Utility рекомендуется создать резервную копию хранилищ, таких как Platform Key (PK), Key Exchange (KEK), Authorized Signatures (db) и Forbidden Signatures (dbx). Для этого можно использовать интерфейс Setup Utility (возможность зависит от конкретной реализации UEFI).

Создание резервной копии

Создание резервной копии

Для сохранения резервной копии необходимо иметь на диске раздел, на котором создана файловая система FAT32. В системах с UEFI обычно имеется раздел диска (таблица разделов GPT) с типом 1, EFI System, C12A7328-F81F-11D2-BA4B-00A0C93EC93B, который отформатирован FAT.

Хранилища ЭЦП Secure Boot

Secure Boot имеет несколько хранилищ сертификатов:

  • Platform Key (PK) — содержит сертификат производителя оборудования;

  • Key Exchange (KEK) — содержит сертификат корпорации Microsoft (для обновления DB и DBX);

  • Authorized Signatures (DB) — содержит разрешенные сертификаты;

  • Forbidden Signatures (DBX) — содержит отозванные сертификаты (чёрный список).

Сертификат МСВСфера ОС необходимо добавить как MOK.

Установка сертификата

С помощью mokutil

Установка производится c помощью утилиты mokutil, установленной в операционную систему. Если у вас уже установлена МСВСфера ОС и вы хотите настроить загрузку Secure Boot, то установить mokutil и RPM-пакет, содержащий сертификаты МСВСфера ОС, можно следующей командой:

dnf install mokutil sphere-sb-certs

Если планируется устанавливать МСВСфера ОС в режиме Secure Boot Standard, то для импортирования сертификата можно воспользоваться загрузочным образом MSVSphere-9.2-x86_64-arm.iso <https://repo1.msvsphere-os.ru/msvsphere/9/isos/x86_64/>.

До загрузки с ISO необходимо включить режим Secure Boot Custom с включённым режимом запроса исполнения загружаемого файла (зависит от реализации UEFI Secure Boot) или произвести очистку всех ключей.

Далее импортировать MOK и установить ключи по умолчанию (MOK после этой процедуры должен остаться в UEFI). После чего можно включать режим Secure Boot Standard и проводить установку МСВСфера ОС в обычном режиме.

Если была произведена очистка ключей, желательно после установки МСВСфера ОС запустить следующую команду для обновления сигнатур в DB и DBX (для повышения безопасности системы):

fwupdtool update

Установка сертификата производится следующей командой:

mokutil --import /usr/share/pki/sb-certs/secureboot-ca-x86_64.cer

После чего следует перезагрузиться и проверить корректность импортирования сертификата командой:

mokutil --list-enrolled

С помощью метода Enroll EFI Image в Setup Utility

Установить сертификат можно методом импортирования сертификата из файла, который подписан сертификатом МСВСфера ОС (возможность использования этого метода зависит от конкретной реализации UEFI).

Установка сертификата с помощью метода Enroll EFI Image

Установка сертификата с помощью метода Enroll EFI Image

С помощью добавления сертификата в хранилище Secure Boot при запуске ОС

Установить сертификат также можно методом добавления сертификата в DB предварительно включив режим запроса исполнения загружаемого файла в Secure Boot (возможность использования зависит от конкретной реализации UEFI).

Установка сертификата с помощью добавления сертификата в хранилище

Установка сертификата с помощью добавления сертификата в хранилище

После нажатия клавиши A (Append Image`s Cert to DB) происходит добавление сертификата в DB и последующие загрузки системы (если не изменится сертификат) будут происходить без запросов.