某些x86 CPU中的硬件后门
摘要
安全研究人员Domas揭示了rosenbridge,这是VIA C3 x86 CPU中的一个硬件后门,允许非特权代码绕过处理器保护并访问内核内存。该存储库提供了检查并缓解此漏洞的工具。
查看缓存全文
缓存时间: 2026/08/08 08:16
xoreaxeaxeax/rosenbridge 来源:https://github.com/xoreaxeaxeax/rosenbridge
project:rosenbridge:x86 CPU 中的硬件后门 github.com/xoreaxeaxeax/rosenbridge // domas // @xoreaxeaxeax
概述
project:rosenbridge 揭示了部分台式机、笔记本电脑和嵌入式 x86 处理器中的硬件后门。该后门允许 ring 3(用户态)代码绕过处理器保护,自由读写 ring 0(内核态)数据。虽然该后门通常处于禁用状态(需要 ring 0 执行才能启用),但我们发现它在某些系统上默认启用。此仓库包含用于检查您的处理器是否受影响、若存在后门则将其关闭的工具,以及用于发现和分析该后门的研究与工具。
后门
rosenbridge 后门是一个小型非 x86 核心,嵌入在 CPU 主 x86 核心旁边。它通过一个模型特定寄存器(MSR)控制位启用,并通过一条_启动指令_(launch-instruction)触发。随后,嵌入式核心接收包装在特殊格式化 x86 指令中的命令。该核心执行这些命令(我们称之为“深度嵌入指令集”),绕过所有内存保护和权限检查。虽然该后门本应需要内核级访问权限才能激活,但在某些系统上观察到它默认启用,允许任何非特权代码修改内核。rosenbridge 后门与 x86 CPU 上其他公知的协处理器(如管理引擎或平台安全处理器)完全不同;它比任何已知协处理器嵌入得更深,不仅能访问 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(https://github.com/xoreaxeaxeax/sandsifter)工具在此研究中被广泛用于发现未知指令。
-
asm 深度嵌入指令集(DEIS)的汇编器。它将用自定义 rosenbridge 汇编语言编写的程序转换为 x86 指令,这些指令在_启动指令_之后执行,将命令发送到隐藏的 CPU 核心。
-
esc 使用 rosenbridge 后门进行特权提升的概念验证。
-
fix 通过模型特定寄存器更新,在受影响系统上尽可能关闭漏洞的粗略概要。
-
fuzz 用于对 x86 和 rosenbridge 核心进行模糊测试的工具集合,以隔离未知的_启动指令_和_桥接指令_,并解析 rosenbridge 核心的指令格式。
-
deis 用于探索隐藏 CPU 核心效果和能力的模糊测试器。
-
exit 据认为,在某些处理器上,需要在 DEIS 序列结束时使用退出序列切换回 x86 核心。此目录包含研究早期用于搜索退出序列的工具,但在发现某个处理器不需要此类序列后被放弃。
-
manager 一组 Python 工具,用于监控和管理分布在工作节点网络上的模糊测试任务。
-
wrap 精简版 sandsifter 模糊测试器,用于识别将命令从 x86 核心发送到隐藏 rosenbridge 核心的桥接指令。
-
kern 一组辅助工具,用于监控内核内存和寄存器,以检测由模糊测试的 DEIS 指令引起的变化。
-
lock 用于锁定或解锁 rosenbridge 后门的工具。
-
proc 一种从模糊测试日志中识别模式,以判断 DEIS 指令行为类别的工具。
-
test 研究早期使用的工具,通过执行已知 RISC 指令来尝试识别隐藏核心的架构。
-
util 一个 alpha 状态工具,用于检测处理器是否受 rosenbridge 影响。
参考文献
(TODO:白皮书链接)
(TODO:幻灯片链接)
免责声明
本工作中呈现的细节和含义是作者根据所述研究得出的推断和意见。此项研究的开展和提供旨在识别并修复所述 CPU 上公认的安全漏洞。VIA 处理器以其低功耗和卓越的嵌入式设计而闻名;我们相信所描述的功能是出于善意,作为嵌入式市场的有用特性而创建,并在某些早期处理器世代中无意间保持启用。不暗示任何恶意意图。
作者
project:rosenbridge 是 Christopher Domas(@xoreaxeaxeax (https://twitter.com/xoreaxeaxeax))的一项研究工作。
相似文章
利用有缺陷的主板管理控制器,数千台服务器可被植入后门
Black Hat大会上展示的研究揭示了来自主要服务器制造商的基板管理控制器中存在十多个新漏洞,扫描显示数以万计暴露于互联网的BMC仍存在严重漏洞,其中一些是十年之久的旧漏洞。
NX位不仅仅关乎安全
一位开发者描述了在postmarketOS的ARM64裸机虚拟机管理程序中调试一个复杂bug的过程,涉及指令缓存一致性问题和与NX位相关的硬件特定行为。
利用超长中断攻破系统管理模式
一种新的攻击技术通过使用一个极其耗时的单条指令使处理器核心失同步,从而攻破x86 CPU的系统管理模式(SMM)安全,使攻击者能够在另一个核心仍处于受保护环境之外时执行SMM代码。针对Zen 3 Ryzen处理器的概念验证(PoC)已提供。
BareMetal RAM Dumper – 用于冷启动攻击实验的裸机x86工具
一个用于通过冷启动攻击将系统RAM转储到引导介质的裸机x86工具,对安全研究和实验有用。
DRAM 意面化
一种安全研究工具,利用 AMD CPU 上的 DRAM 地址加扰来解锁隐藏的平台功能(如 PSP、SMM、C6 和微码),展示了深度的硬件级攻击。