LINUX.ORG.RU

Вопрос по Secure Boot

 


0

1

привет, ЛОР.
вопрос к знатокам, а то я чёт туплю.

вот допустим я включил секурбут, подписал ядро+initrd своим ключиком, который добавил в UEFI.
таким образом, по идее, защищаются от несанкционированной загрузки другой ОС?

но ведь злоумышленник может в том же UEFI отключить secure boot и загрузить что угодно.
пароль на биос? он разве не сбрасывается перемычкой/обесточиванием на ноуте?

как это вообще должно работать и от чего защищать? требуется пояснительная бригада.
ненужнист фирфокс @firkax не нужен.

таким образом, по идее, защищаются от несанкционированной загрузки другой ОС?

Таким образом защищаются от загрузки недоверенного загрузчика/операционки. Не только другой, но и модифицированной твоей.

но ведь злоумышленник может в том же UEFI отключить secure boot и загрузить что угодно.

Пароль на BIOS, датчик вскрытия корпуса, зашифрованный диск, TPM. Secureboot - один из компонентов защиты. От всего не убережет.

undef ★★★
()

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

anonymous
()

пароль на биос? он разве не сбрасывается перемычкой/обесточиванием на ноуте?

Про физический доступ уже написали выше, это от норкомана Себастиана, который сдаст в ломбард за 1/100 стоимости нового ноута, а там просто спишут как нерабочий.

В более-менее нормальных ноутах пароль на биос НЯЗ хранится в отдельной области EC, которая перезаписывается только на программаторе. Если интересно, призови @shalom_, он лучше скажет, у него опыта вагон с тележкой по этому вопросу.

Dimez ★★★★★
()
Последнее исправление: Dimez (всего исправлений: 1)
Ответ на: комментарий от anonymous

Современные флешки имеют специальную ногу. Ее можно резистором подтянуть и всё, никто в эту флешку уже ничего не запишет, пока ты резистор не уберёшь.

yars068 ★★★★★
()

SecureBoot защищает исполняемый файл, которому передаёт управление UEFI. Как правило это shim. Но может быть загрузчик (например grub или systemd-boot), или сразу ядро в формате UKI. Это всё, что он делает. Нужно тебе это или не нужно - тебе видней.

Например на моём компьютере SecureBoot это тот компонент, который обеспечивает расшифровку корневой файловой системы без ввода пароля. Т.е. в выключенном состоянии у меня файловая система зашифрована. Расшировать можно, зная пароль, или получив доступ к ключу в TPM. TPM отдаёт ключ, только если включен SecureBoot. С включенным SecureBoot можно загрузить только подписанное моим ключом ядро. Получается простая и защищённая от интересующих меня угроз система.

vbr ★★★★★
()
Ответ на: комментарий от vbr

С включенным SecureBoot можно загрузить только подписанное моим ключом ядро.

Тогда выходит так, что при обновлении ядра «Линукса» ты заново пересоздаёшь ключи и зашиваешь их в ТПМ? Это делается вручную в «Терминале»?

Enthusiast ★★★
()
Ответ на: комментарий от Enthusiast

Тогда выходит так, что при обновлении ядра «Линукса» ты заново пересоздаёшь ключи и зашиваешь их в ТПМ?

Нет. Ключ создан один раз и установлен в UEFI. Это делается в его настройках. При обновлении ядра оно подписывается тем же ключом, что и старое.

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 2)
Ответ на: комментарий от vbr

Нет. Ключ создан один раз. При обновлении ядра оно подписывается заново тем же ключом.

Тобой в «Терминале» или в УЕФИ? Указать-то файл нового ядра для переподписывания всё равно кто-то должен же.

Enthusiast ★★★
()
Последнее исправление: Enthusiast (всего исправлений: 1)
Ответ на: комментарий от anonymous

Я сохраняю ключ в TPM так (один раз при установке ОС):

systemd-cryptenroll --tpm2-device=auto --tpm2-pcrs=7 /dev/nvme0n1p2

PCR7: Secure Boot state; changes when UEFI SecureBoot mode is enabled/disabled, or firmware certificates (PK, KEK, db, dbx, …) changes.

Т.е. ключ отдаётся, если не поменялось состояние SecureBoot и не поменялись сертификаты. Это при обновлении ядра не меняется, поэтому ничего обновлять не надо. У тебя, вероятно, указан другой набор PCR, которые меняются при обновлении самого ядра. Это с одной точки зрения более безопасно (например с моей схемой можно сохранить старое подписанное ядро и в будущем загрузиться с него, если есть доступ к диску), с другой стороны, конечно, требует обновлять ключ при обновлении ядра.

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 2)