Synth Daily

部分 x86 处理器中存在硬件后门

一个名为 rosenbridge 的硬件后门在部分 x86 处理器中被发现。这个后门允许低权限的用户程序绕过系统保护,直接读写核心的内核数据。尽管通常需要内核权限才能启用,但在某些系统上它被发现是默认开启的。此漏洞主要影响威盛(VIA)的 C3 系列 CPU,目前已被视为一个研究案例,展示了复杂处理器中可能存在的安全风险。

后门是什么?

rosenbridge 后门是在 CPU 主核心旁边嵌入的一个小型的、非 x86 架构的“微型核心”。攻击者可以通过它绕过所有内存保护和权限检查。

  • 激活方式: 通过一个特定的“模型专用寄存器”(MSR)控制位来启用,再通过一个特殊的启动指令进行触发。
  • 执行命令: 激活后,这个微型核心会接收包裹在特殊格式 x86 指令中的命令,并直接执行它们。
  • 核心风险: 它允许处于最低权限“ring 3”(用户态)的代码,直接读取和写入最高权限“ring 0”(内核态)的数据。

尽管该后门本应需要内核级访问权限才能激活,但在某些系统上它被发现是默认启用的,这使得任何非特权代码都能修改内核。

这个后门与英特尔管理引擎(ME)或 AMD 平台安全处理器(PSP)等其他已知的协处理器完全不同。它被嵌入得更深,不仅能访问 CPU 的所有内存,还能访问其寄存器文件和执行管道。

哪些系统受到影响?

目前认为,只有威盛(VIA)的 C3 系列 CPU 受到此问题的影响。

这些处理器主要面向特定市场,例如:

  • 工业自动化设备
  • 销售终端(POS)机
  • 自动取款机(ATM)
  • 医疗硬件
  • 部分消费级台式机和笔记本电脑

后续影响与展望

这个漏洞的影响范围是有限的,因为 C3 之后的 CPU 已不再包含此功能。这项研究主要作为一个案例和思想实验,旨在:

  • 展示后门如何在日益复杂的处理器中产生。
  • 探索研究人员和最终用户如何识别此类隐藏功能。

这里提供的工具和研究为更深入的处理器漏洞研究提供了一个起点。

如何检查你的 CPU

研究人员提供了一个 alpha 阶段的工具来检查你的 CPU 是否受影响。

警告: 该工具必须在实体机上运行(不能在虚拟机中),并且尚不稳定。在不包含该后门的系统上运行,可能会导致系统崩溃、内核恐慌或挂起

如果你了解风险并希望尝试,可以执行以下步骤:

  1. 克隆代码库: git clone https://github.com/xoreaxeaxeax/rosenbridge
  2. 进入目录: cd rosenbridge/util
  3. 编译: make
  4. 加载 MSR 模块: sudo modprobe msr
  5. 运行检查工具: sudo ./bin/check

如何关闭后门

如果检查工具显示你的 CPU 存在漏洞,并且后门是默认开启的,你可以安装一个脚本,在系统启动早期关闭它。

  1. 进入修复目录: cd fix
  2. 编译: make
  3. 安装: sudo make install
  4. 重启: reboot

请注意,即使安装了此补丁,拥有内核级访问权限的攻击者仍然可以重新启用该后门。这个脚本只是一个基础修复方案,可能需要根据不同系统进行调整。

研究中使用的工具与技术

这项研究使用了多种自定义工具来发现和分析后门:

  • sandsifter: 用于发现未知 CPU 指令的实用程序。
  • asm: 一个为该后门的“深度嵌入指令集”(DEIS)编写的汇编器。
  • esc: 一个利用 rosenbridge 后门进行权限提升的概念验证工具。
  • fuzz: 用于模糊测试 x86 和 rosenbridge 核心的工具集合,以分离出未知的指令。
  • lock: 用于锁定或解锁 rosenbridge 后门的实用程序。
  • util: 用于检测处理器是否受 rosenbridge 影响的 alpha 版工具。