Andrey Konovalov,分​​享了一种禁用锁定的方法

安德烈·科诺瓦洛夫(Andrey Konovalov) Google软件工程师, 揭示了一种从以下位置远程禁用保护的方法 锁定 在Ubuntu提供的Linux内核中提供。 与哪个 表明保护方法无效,此外,他还提到他从理论上公开的方法也应该适用于Fedora内核和其他发行版(但尚未经过测试)。

对于那些不了解锁定的人, 他们应该知道,它是Linux内核的组成部分, 它的主要功能是限制系统内核中的root用户访问 和这个功能 已移至LSM模块 可以选择加载(Linux安全模块),其中 在UID 0和内核之间建立屏障,限制了某些底层功能。

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

关于锁定

该锁限制了对内核的根访问,并阻止了UEFI安全启动旁路路径。

例如,在锁定模式下,访问/ dev / mem,/ dev / kmem,/ dev / port,/ proc / kcore,debugfs,debug模式kprobes,mmiotrace,tracefs,BPF,PCMCIA CIS等,其中一些接口是限制以及CPU的ACPI和MSR寄存器。

当kexec_file和kexec_load调用被锁定,睡眠模式被禁止,PCI设备被限制使用DMA,禁止从EFI变量导入ACPI代码以及使用输入/输出端口进行操作时,包括更改中断号和I / O端口为串行端口。

可能有人知道 锁定是在Linux内核5.4中添加的, 但是它仍然以补丁程序的形式实现,或者通过发行版随附的内核上的补丁程序进行补充。

在此,发行版中提供的插件与嵌入式内核实现之间的区别之一是能够在对系统进行物理访问时禁用提供的锁定。

Ubuntu和Fedora使用组合键 Alt + SysRq + X 禁用锁定。 据了解,组合 Alt + SysRq + X 它只能与对设备的物理访问一起使用,并且在进行远程攻击和root访问时,攻击者将无法禁用该锁定。

锁定可以远程禁用

安德烈·科诺瓦洛夫(Andrei Konovalov)证明了 与键盘相关的方法 确认用户的物理状态无效。

萨尔瓦多 透露禁用锁的最简单方法是模拟Alt + SysRq + X 通过 / dev / uinput,但此选项最初被阻止。

至少还有两种替代方法 Alt + SysRq + X.

  • 第一种方法涉及使用接口 sysrq触发:为了进行模拟,只需在以下位置键入“ 1”即可启用此界面 / proc / sys /内核/ sysrq 然后在中输入“ x” / proc / sysrq触发.
    这个差距在31月的Ubuntu内核更新和Fedora XNUMX中得到了解决。 / dev / uinput,他们最初尝试阻止此方法,但是由于代码中的错误,阻止无法正常工作。
  • 第二种方法是通过USB / IP模拟键盘,然后从虚拟键盘发送Alt + SysRq + X序列。
    在内核中,默认情况下启用了Ubuntu提供的USB / IP,并且模块 usbip_核心 y vhci_hcd 必要时会提供所需的数字签名。
    攻击者可以通过在环回接口上运行网络控制器,然后使用USB / IP将其作为远程USB设备连接来创建虚拟USB设备。

已将指定的方法报告给Ubuntu开发人员,但尚未发布解决方案。

数据来源: https://github.com


发表您的评论

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

*

*

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