安全启动和内核锁定之间有任何关系吗?

问题描述 投票:0回答:1
Secure引导取决于内核签名,因此Bootloader将检查(内核/单映像应用程序)签名,如果有效会调用内核启动函数。

lostdown是另一个功能,“锁定代码的旨在允许内核在启动早期锁定 - 早期足够早,我们还没有能力。内核内存 lockdown通过启动参数/sysfs控制在内核进行身份验证后进行 有效 我的理解正确吗?

SO在禁用安全启动时,锁定功能仍应工作。

是的,我会说您的理解是正确的。

SecureBoot
是硬件中实现的安全功能(即直接在您的CPU中,尽管也可以在UEFI固件中实现)。这是一种验证机制,是在计算机上供电的第一件事。一些已知的公共密钥存储在硬件中,并用于在运行引导加载程序之前验证其签名。然后可以通过引导过程的多个阶段重复该过程,每个阶段都会验证以下一个阶段,直到启动OS。要了解更多信息,请查看有关Secure Boot的Debian文档的第

KernelLockdown

是Linux内核的安全功能,该功能最近在5.4版中作为可选的安全模块引入。如

中提到的LWN

的有趣文章所述,内核锁定的目的是强制在运行作为根和以内核模式运行代码的能力之间的区别。根据配置,内核锁定可以禁用内核的功能,该功能允许修改运行内核或从用户空间中提取机密信息。看看将功能引入Linux的相关提交消息

security linux-kernel bootloader lockdown linux-security-module
1个回答
5
投票

uefi安全启动的范围维持这种分离[即内核锁定]是必要的;否则,安全启动的承诺(系统只能在内核模式下运行可信的代码)。关闭特权攻击者可以在内核模式下运行任意代码的路径,需要在内核中禁用许多功能。

换句话说,有人可能会说,如果经过验证并可以通过用户领域进程修改运行的内核,则安全启动是没有用的。确实,如果没有适当的内核硬化,潜在的攻击者可以利用特权的用户领域流程来改变运行的内核,从而拆除系统的整个安全模型。 另一方面,一个人可以很容易地争辩说内核锁定是没有用的,没有安全启动,因为潜在攻击者可以损害启动链(例如,修改启动加载程序或磁盘上的内核图像),并使机器在机器上运行了修改后的内核下一个靴子 没有,两个特征是彼此独立的。在没有内核锁定的情况下,仍然有有效的安全启动用例,反之亦然,无需安全启动。这最终都取决于您的threst模型。 正如其他注释中指出的那样,UEFI Secure Boot和Linux的锁定是互补的,

largely

,但并非完全独立。 perkernel_lockdown(7),“在启用EFI的X86或ARM64机器上,如果系统启动处于EFI安全启动模式。”

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.