Да, я бы сказал, что ваше понимание верно.
Безопасная загрузка - это функция безопасности, реализованная аппаратно (т. Е. Непосредственно в вашем ЦП, хотя она также может быть реализована в прошивке UEFI). Это механизм проверки, который выполняется в первую очередь при включении компьютера. Некоторые известные ключи publi c хранятся в аппаратном обеспечении и используются для проверки подписи загрузчика перед его запуском. Затем процесс может повторяться через несколько этапов процесса загрузки, где каждый этап проверяет следующий этап до запуска ОС. Чтобы узнать больше, взгляните на эту страницу документации Debian о безопасной загрузке.
Блокировка ядра - это функция безопасности ядра Linux, которая Недавно был представлен в версии 5.4 в качестве дополнительного модуля безопасности. Как упомянуто в этой интересной статье от LWN , цель блокировки ядра состоит в том, чтобы провести различие между выполнением как root и возможностью запуска кода в режиме ядра. В зависимости от конфигурации блокировка ядра может отключить функции ядра, которые позволяют изменять работающее ядро или извлекать конфиденциальную информацию из пространства пользователя. Взгляните на соответствующее сообщение о фиксации , в котором эта функция была введена в Linux.
Взаимосвязь между безопасной загрузкой и блокировкой ядра можно объяснить этим очень важным рассмотрение (из той же статьи LWN, о которой говорилось выше):
Сторонники безопасной загрузки UEFI утверждают, что это разделение [т.е. блокировка ядра] необходимо; в противном случае обещание безопасной загрузки (что система будет выполнять доверенный код только в режиме ядра) не может быть выполнено. Закрытие путей, по которым привилегированный злоумышленник может выполнять произвольный код в режиме ядра, требует отключения ряда функций в ядре.
Другими словами, можно утверждать, что безопасная загрузка бесполезна, если ядро то, что проверено и запущено, может быть затем изменено пользовательскими процессами. Действительно, без надлежащей защиты ядра потенциальный злоумышленник может использовать привилегированные пользовательские процессы, чтобы изменить работающее ядро и, следовательно, разрушить всю модель безопасности системы.
С другой стороны, можно так же легко утверждать, что блокировка ядра бесполезна без безопасной загрузки, поскольку потенциальный злоумышленник может скомпрометировать загрузочную цепочку (например, изменить загрузчик или образ ядра на диске) и сделать машину Запустите модифицированное ядро при следующей загрузке.
Все это было (и остается) спорным топи c, и разные люди будут иметь разные мнения. Тем не менее, эти две функции не зависят друг от друга . Есть все еще допустимые случаи использования безопасной загрузки без блокировки ядра и наоборот, блокировки ядра без безопасной загрузки. В конечном итоге все зависит от вашей модели угроз .