Lockdown,Linux内核的新采用,用于限制对内核的根访问

Linux内核

最近有消息传出 Linus Torvalds采用了一个新组件,该组件将包含在“ Linux 5.4”内核的未来版本中。 这个新组件的名称是 David Howells提出的“锁定” (以前曾在Red Hat Kernel中实现此组件的人)和Matthew Garrett(Google开发人员)。

锁定的主要功能是限制root用户对系统内核的访问 和这个功能 已移至LSM模块 可以选择加载(Linux安全模块),其中 在UID 0和内核之间建立屏障,限制了某些底层功能。

这样就可以使锁定功能基于策略,而不是对机制中的隐式策略进行硬编码, 因此,Linux安全模块中包含的锁为实现提供了一个简单的策略 供一般使用。 此策略提供了可通过内核命令行控制的粒度级别。

这种对Nucleus的访问保护是由于以下事实:

如果攻击者由于攻击成功以根特权执行了代码,则他也可以在内核级别执行其代码,例如,用kexec替换内核或通过/ dev / kmem读取和/或写入内存。

此活动最明显的结果可能是绕过UEFI安全启动或恢复在内核级别存储的机密数据。

最初, 根目录限制功能是在加强经过验证的引导保护的背景下开发的 长期以来,发行版一直使用第三方补丁来阻止UEFI安全启动旁路。

与此同时, 由于存在分歧,此类限制未包含在核心的核心构成中 实施过程中,担心会破坏现有系统。 “锁定”模块包含发行版中已使用的补丁,这些补丁以独立的子系统的形式处理,该子系统不与UEFI安全启动绑定。

启用后,各种内核功能将受到限制。 因此,依赖于低级硬件或内核访问的应用程序可能会因此停止工作,因此,如果没有事先进行适当的评估,则不应启用此功能。 莱纳斯·托瓦尔兹(Linus Torvalds)评论。

在锁定模式下,限制对/ dev / mem,/ dev / kmem,/ dev / port,/ proc / kcore,debugfs,debugfs,debugfs kprobes,mmiotrace,tracefs,BPF,PCMCIA CIS(安全的卡信息)和某些ACPI的访问和CPU MSR寄存器,kexec_file和kexec_load调用被阻止,禁止睡眠模式,限制将DMA用于PCI设备,禁止从EFI变量导入ACPI代码,使用端口I / O进行操作,包括更改中断号和I / O端口不允许为串行端口。

默认情况下,锁定模块不处于活动状态。 它是在kconfig中指定SECURITY_LOCKDOWN_LSM选项时创建的,并由内核参数“ lockdown =“,控制文件“ / sys / kernel / security / lockdown”或编译选项LOCK_DOWN_KERNEL_FORCE_ *激活,可以采用以下值: “诚信”和“机密”。

在第一种情况下, 允许从用户空间更改内核的功能被锁定, 在第二种情况下,除此之外,还禁用了可用于从内核提取机密信息的功能。

请务必注意,锁定仅限制了常规内核访问功能, 但是它不能防止利用漏洞进行修改。 为了在Openwall项目使用漏洞利用时阻止对工作内核的更改,正在开发一个单独的LKRG(Linux内核运行时防护)模块。

锁定功能已在许多子系统上进行了重要的设计审查和评论。 这段代码已经在Linux-next中使用了几周,并在此过程中应用了一些修复程序。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   01x01

    根本不应该是神。 它应该是所有强大的。
    但似乎他们想限制合法用户Root的权利来支持他们
    当使用“安全马戏团”来限制使用和管理的自由时,我们走得很糟。
    当内核仅是windolais和Macais气象学的副本时,我们就走了