← 文章 / 芯片硬件
Hacker News 7小时前 · 2026-08-09 02:04:46 · 2 阅读

部分 x86 CPU 中存在的硬件后门

:x86 CPU 中的硬件后门

github.com/xoreaxeaxeax/rosenbridge // domas // @xoreaxeaxeax

概述

rosenbridge 项目揭示了部分台式机、笔记本以及嵌入式 x86 处理器中存在的硬件后门。

该后门允许 ring 3(用户态)代码绕过处理器保护机制,任意读写 ring 0(内核)数据。虽然该后门在默认情况下通常是关闭的(启用它需要 ring 0 执行权限),但我们发现某些系统上它是默认开启的。

本仓库提供了用于检测你的处理器是否受影响、关闭该后门的工具,以及用于发现和分析该后门的研究资料和工具。

关于后门

rosenbridge 后门是嵌入在 CPU 主 x86 核旁边的一个小型非 x86 核。它通过一个模型特定寄存器(MSR)的控制位启用,随后通过一条启动指令进行切换。之后,主核向这个嵌入式核发送以特殊格式封装的 x86 指令作为命令。该核执行这些命令(我们称之为"深度嵌入式指令集"),绕过所有内存保护和特权检查。

虽然该后门本应需要内核级别权限才能激活,但据观察,某些系统上它是默认开启的,这使得任何非特权代码都能修改内核。

rosenbridge 后门与 x86 CPU 上其他已知的公开协处理器(如 Management Engine 或 Platform Security Processor)完全不同;它比任何已知协处理器都更为深度嵌入,不仅能访问 CPU 的全部内存,还能访问其寄存器文件和执行流水线。

受影响系统

据信只有 VIA C3 系列 CPU 受此问题影响。C 系列处理器的目标市场包括工业自动化、POS、ATM、医疗设备,以及各类消费级台式机和笔记本电脑。

展望

该漏洞的影响范围有限:C3 之后的 CPU 代际已不再包含此特性。

本文以案例研究和思想实验的形式发布,展示了后门如何在日益复杂的处理器中出现,以及研究人员和终端用户如何识别此类特性。此处提供的工具和研究为进一步深入的处理器漏洞研究提供了起点。

检测你的 CPU

检测你的 CPU 是否受到影响:

git clone https://github.com/xoreaxeaxeax/rosenbridge
cd rosenbridge/util
make
sudo modprobe msr
sudo ./bin/check

提供的工具必须在裸机上运行(不能在虚拟机中),目前处于 alpha 状态。对于不含后门的系统,它可能导致崩溃、内核恐慌或系统挂起。

此处提供的工具针对特定的处理器系列和核心设计;不幸的是,如果后门与研究中的形式有任何细微差异,这些工具就会漏检。

关闭后门

某些系统的后门默认处于启用状态,允许无特权代码未经授权获得内核级别访问权限。如果"检测你的 CPU"中的步骤表明你的 CPU 存在漏洞,可以安装一个脚本,在启动过程的早期关闭后门:

cd fix
make
sudo make install
reboot

请注意,即便如此,拥有内核级别访问权限的攻击者仍可重新启用后门。该脚本提供了一个在启动过程中修复此问题的思路,但需要针对不同系统进行适配。

工具与技术

研究中广泛使用了 sandsifter 工具来发现未知指令。

  • asm

    深度嵌入指令集(DEIS)的汇编器。它将使用自定义 rosenbridge 汇编语言编写的程序转换为 x86 指令,这些指令在 启动指令 之后执行时,会将命令发送到隐藏的 CPU 核心。

  • esc

    利用 rosenbridge 后门进行权限提升的概念验证。

  • fix

    在受影响的系统上关闭漏洞的粗略思路,通过模型特定寄存器(MSR)更新在最大程度上进行修复。

  • fuzz

    一组用于对 x86 核心和 rosenbridge 核心进行模糊测试的工具,目的是定位未知的 发射指令(launch-instruction)和 桥接指令(bridge-instruction),并解析 rosenbridge 核心的指令格式。

    • deis

      用于探索隐藏 CPU 核心效果与能力的模糊测试工具。

    • exit

      据推测,在某些处理器上,DEIS 序列结束后需要执行一段退出序列才能切回 x86 核心。该目录包含研究早期用于搜索退出序列的工具,但后来发现某款处理器并不需要这样的序列,相关工作便被放弃。

    • manager

      一组 Python 工具,用于监控和管理分布在多台工作机上的模糊测试任务。

    • wrap

      基于 sandsifter 模糊测试工具精简而成的版本,用于识别将指令从 x86 核心发送至隐藏 rosenbridge 核心的桥接指令。

  • kern

    一组辅助工具,用于监控内核内存和寄存器,捕捉模糊测试生成的 DEIS 指令所引发的变化。

  • lock

    用于锁定或解锁 rosenbridge 后门的工具。

  • proc

    从模糊测试日志中识别模式、归纳 DEIS 指令行为类别的工具。

  • test

    研究早期使用的工具,通过执行已知的 RISC 指令来尝试推断隐藏核心的架构。

  • util

    用于检测某款处理器是否受 rosenbridge 影响的工具,目前处于 alpha 阶段。

参考资料

(TODO:链接到白皮书)

(TODO:链接到演示文稿)

免责声明

本文所述的细节与推论均为作者基于相关研究得出的推断和观点。研究的目的在于识别并修复所述 CPU 上存在的一个安全漏洞。VIA 处理器以低功耗和在嵌入式设计中的出色表现而闻名;我们认为所述功能最初是出于善意、面向嵌入式市场打造的一项实用特性,只是在某些早期型号的处理器上未被正确关闭。本文并不暗示任何恶意意图。

作者

project:rosenbridge 是 Christopher Domas (@xoreaxeaxeax) 发起的研究项目。

原始来源: Hacker News

评论 (0)