SEC

UEFI

SEC (Security phase) — самая первая стадия работы прошивки UEFI: тот код, который процессор начинает выполнять сразу после сброса. Именно с SEC начинается POST.

Название отражает суть: это единственная стадия, где прошивка может проверить саму себя до того, как что-либо ещё успело выполниться.

Что делает SEC

  1. Точка входа. Процессор после сброса всегда начинает с адреса FFFFFFF0h — последние 16 байт адресного пространства (подробнее — в статье POST). Там лежит команда перехода на код SEC — его называют SEC core.
  2. Проверка целостности прошивки. Если включён Intel Boot Guard или аналогичная технология, здесь проверяется подпись первого исполняемого модуля. Не сошлась — загрузка останавливается, и дальше ничего не выполняется.
  3. Временная память. Оперативной памяти ещё нет, поэтому SEC настраивает Cache-as-RAM — кэш процессора работает как память, чтобы было где держать стек и переменные.
  4. Минимальная подготовка процессора — базовые настройки, которые нужны, чтобы мог работать код на C, а не только на ассемблере.
  5. Передача управления. SEC формирует первые HOB (Hand-Off Blocks — структуры с описанием платформы) и передаёт управление стадии PEI.

Почему стадия называется «security»

Потому что проверять подписи имеет смысл только в самом начале. Если злоумышленник подменит прошивку, то все последующие проверки бессмысленны: проверяющий код уже скомпрометирован. SEC — последняя точка, где доверие ещё можно установить.

Отсюда и цепочка доверия целиком: SEC проверяет прошивку → прошивка (при включённом Secure Boot) проверяет загрузчик → загрузчик проверяет ядро.

Итог стадии

К концу SEC: процессор работает в защищённом режиме, есть временная память, прошивка проверена (если это настроено), сформированы HOB. Дальше начинается PEI — инициализация настоящего железа и оперативной памяти.

Смотрите также

  • UEFI — общая картина стадий
  • PEI — следующая стадия
  • POST — инициализация железа, началом которой является SEC
Оценка статьи 0

Комментарии

Пока комментариев нет.