Linux 内核将引入安全锁定功能
经过多年以来的无数次审查、讨论和代码重写,Linus Torvalds 通过了一项 Linux 内核新的安全功能,它被称为“锁定”(lockdown)。
这项新功能将作为 LSM(Linux Security Module,Linux 安全模块)包含在即将发布的 Linux kernel 5.4 中。由于存在破坏现有系统的风险,因此该功能是可选的,并非默认开启。
这一新的锁定功能主要是为了防止 root 帐户篡改内核代码,从而在用户态进程和代码之间划清界限。启用该功能后,即便是 root 帐户也无法访问某些内核功能,从而保护操作系统免受受损的 root 帐户影响。
Linus Torvalds 表示,启用锁定模块后,各种内核功能都会受到限制。其中包括对内核功能的访问限制;对 /dev/mem 的读写操作的阻止;对 CPU MSR 访问的限制;以及防止系统进入睡眠状态等等。
锁定功能支持两种不同模式,可用于激活不同级别的限制。“完整性”(integrity)模式将禁止用户修改正在运行的内核功能。另一种“机密性”(confidentiality)模式则会禁止用户从内核中提取机密信息。
内核锁定功能的研究始于 2010 年代初期,由现在的 Google 工程师 Matthew Garrett 牵头。该功能背后的想法是创建一种安全机制,以防止具有特权的用户(甚至是“root”帐户)篡改内核的代码。
在那个时候,即使 Linux 系统采用了安全启动机制,恶意软件仍然可以通过滥用具有特殊提升特权的驱动程序和 root 帐户等来篡改内核代码。多年以来,许多安全专家一直在要求 Linux 内核支持一种更有效的方式来限制 root 帐户,并提高内核安全性。