Зачем нужна безопасная загрузка, если уже есть блокировка UEFI?

450
chzzh

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

С тех пор единственный способ получить доступ к образу ядра и загрузить мой вредоносный код - это атака Evil Maid через сброс пароля UEFI. Но если мы можем получить доступ к материнской плате, зачем нам нужна спецификация Secure Boot?

-4
@chzzh Вы должны взглянуть на https://superuser.com/help/dont-ask. Ваш конкретный вопрос был: «Но если мы можем получить доступ к материнской плате, зачем нам нужна спецификация Secure Boot?» Вне чата это не место для обсуждения. jdwolf 5 лет назад 1
@jdwolf Это была вторая часть моего вопроса, в которой Secure Boot указывался как блокиратор последовательности загрузки, чего, как оказалось, нет. chzzh 5 лет назад 0

3 ответа на вопрос

3
Daniel B

Безопасная загрузка не запрещает физическому злоумышленнику доступ к системе. Это разработано, чтобы препятствовать тому, чтобы программное обеспечение управляло процессом загрузки, проверяя криптографическую целостность загрузчика. Подумайте, голубая таблетка .

Шаги загрузки отвечают за проверку кода следующего шага. Сама Secure Boot касается только самого первого шага.

Злоумышленнику не требуется доступ к настройке UEFI или изменение конфигурации загрузки. Они просто заменили исполняемый файл UEFI, который настроен на запуск. Блокировка паролем при настройке UEFI ничего не делает с этим.

С другой стороны, Secure Boot проверяет исполняемый файл UEFI с использованием криптографических методов. Это обнаружит это изменение и откажется загружаться.

Чтобы обеспечить надежную загрузку и работу, весь код режима ядра должен быть подписан. Это относится к 64-разрядным версиям Windows, в которых также применяются подписи драйверов устройств.

Операционные системы или программное обеспечение, которое они запускают, не являются безопасными. В большинстве случаев невозможно достичь формально доказуемой безопасности. Таким образом, злоумышленники всегда смогут получить достаточный доступ для выполнения привилегированных операций, таких как замена загрузчика.

Это на самом деле более уместный способ выразить это. UEFI защищает программное обеспечение, которое будет взаимодействовать с самим собой. (включая такие вещи, как опция roms, а не только загрузчик). Однако я не согласен с тем, что с физическими атаками ничего не поделаешь. Это, безусловно, может быть частью системы, которая предотвращает это. jdwolf 5 лет назад 1
Вы смотрите на неправильный вектор атаки. Ни одна операционная система не является безопасной. И их никогда не будет. Вот почему была создана Secure Boot: для обеспечения целостности программного обеспечения. Daniel B 5 лет назад 1
Я полагаю, что вы отвечали на chzzh, я не правильно? jdwolf 5 лет назад 0
@jdwolf Да, другие комментарии были удалены. Daniel B 5 лет назад 0
1
jdwolf

UEFI определяет способ хранения ключей и как использовать эти ключи для проверки цифровой подписи как части процесса загрузки изображения EFI, а также аутентифицированных переменных UEFI, которые могут использоваться ОС.

Разработчик должен полностью определить, как разрешить перевод машины в режим настройки. Это может быть установлено производителем один раз, и пользователь никогда не сможет изменить его, или его можно изменить в меню UEFI. В других случаях CMOS должен быть сброшен для повторного входа в режим настройки. Другие требуют пароль для включения безопасной загрузки. В других случаях вход в режим настройки является частью системы внешнего управления.

Способ входа в режим настройки и перенастройка безопасной загрузки выходит за рамки спецификации.

0
djsmiley2k

Если ОС не проверяет блокировку, то блокировка бессмысленна.

То, что вы должны сделать, это иметь ОС, которая не загружается, если только это не является правильным в части UEFI процесса загрузки.

Похожие вопросы