SEC
SEC (Security phase) — самая первая стадия работы прошивки UEFI: тот код, который процессор начинает выполнять сразу после сброса. Именно с SEC начинается POST.
Название отражает суть: это единственная стадия, где прошивка может проверить саму себя до того, как что-либо ещё успело выполниться.
Что делает SEC
- Точка входа. Процессор после сброса всегда начинает с адреса
FFFFFFF0h— последние 16 байт адресного пространства (подробнее — в статье POST). Там лежит команда перехода на код SEC — его называют SEC core. - Проверка целостности прошивки. Если включён Intel Boot Guard или аналогичная технология, здесь проверяется подпись первого исполняемого модуля. Не сошлась — загрузка останавливается, и дальше ничего не выполняется.
- Временная память. Оперативной памяти ещё нет, поэтому SEC настраивает Cache-as-RAM — кэш процессора работает как память, чтобы было где держать стек и переменные.
- Минимальная подготовка процессора — базовые настройки, которые нужны, чтобы мог работать код на C, а не только на ассемблере.
- Передача управления. SEC формирует первые HOB (Hand-Off Blocks — структуры с описанием платформы) и передаёт управление стадии PEI.
Почему стадия называется «security»
Потому что проверять подписи имеет смысл только в самом начале. Если злоумышленник подменит прошивку, то все последующие проверки бессмысленны: проверяющий код уже скомпрометирован. SEC — последняя точка, где доверие ещё можно установить.
Отсюда и цепочка доверия целиком: SEC проверяет прошивку → прошивка (при включённом Secure Boot) проверяет загрузчик → загрузчик проверяет ядро.
Итог стадии
К концу SEC: процессор работает в защищённом режиме, есть временная память, прошивка проверена (если это настроено), сформированы HOB. Дальше начинается PEI — инициализация настоящего железа и оперативной памяти.
Комментарии
Пока комментариев нет.