x86 CPU中的硬件后门
x86处理器中的硬件后门
github.com/xoreaxeaxeax/rosenbridge // domas // @xoreaxeaxeax

rosenbridge项目揭示了部分台式机、笔记本电脑及嵌入式x86处理器中存在的硬件后门。
该后门允许环3(用户态)代码绕过处理器防护机制,自由读写环0(内核态)数据。尽管后门通常处于禁用状态(需环0权限才能启用),但研究发现,部分系统默认启用了该后门。
本代码库包含三类工具:检测处理器是否受影响的工具、关闭已存在后门的工具,以及用于发现和分析该后门的研究工具。
rosenbridge后门是嵌入在CPU主x86核心旁的小型非x86核心。它由一个**模型专用寄存器(MSR)**控制位启用,再通过一条"启动指令"触发激活。之后,需将命令封装为特殊格式的x86指令,发送给这个嵌入式核心。该核心会执行这些命令(我们称之为"深度嵌入式指令集"),全程绕过所有内存保护与权限检查。
尽管理论上后门需要内核级权限才能激活,但实际观察发现,部分系统默认启用了它,导致任何无权限代码都能修改内核。
rosenbridge后门与x86处理器中其他已知协处理器(如管理引擎Management Engine、平台安全处理器Platform Security Processor)完全不同:它的嵌入程度更深,不仅能访问CPU的全部内存,还可直接访问寄存器组与执行流水线。
目前认为,只有VIA C3系列处理器受此问题影响。该系列处理器主打工业自动化、销售终端、ATM机、医疗设备等场景,也应用于多款消费级台式机和笔记本电脑。
此漏洞影响范围有限:C3之后的处理器已移除该功能。
本项目作为案例研究与思想实验发布,旨在展示后门可能如何在日益复杂的处理器中产生,以及研究人员和终端用户如何识别这类功能。提供的工具与研究成果,为更深入的处理器漏洞研究奠定了基础。
检测CPU是否受影响:
git clone https://github.com/xoreaxeaxeax/rosenbridge
cd rosenbridge/util
make
sudo modprobe msr
sudo ./bin/check
上述工具必须在物理机(而非虚拟机)上运行,且目前处于**测试版(alpha)**阶段。在未搭载该后门的系统上运行,可能导致崩溃、内核 panic 或死机。
这些工具是针对特定处理器家族与核心设计的,若后门形式与研究样本存在细微差异,工具可能无法检测到。
部分系统默认启用后门,允许无权限代码未经授权获取内核级权限。若"检测CPU"步骤显示你的CPU存在漏洞,可安装以下脚本,在启动阶段早期关闭后门:
cd fix
make
sudo make install
reboot
请注意,即便安装了该脚本,拥有内核级权限的攻击者仍可重新启用后门。本脚本仅提供启动阶段修复漏洞的框架,需根据不同系统进行适配。
研究中大量使用sandsifter工具来发现未知指令。
asm:深度嵌入式指令集(DEIS)汇编器。可将自定义rosenbridge汇编代码转换为x86指令,在执行"启动指令"后,这些指令会将命令发送至隐藏核心。
esc:利用rosenbridge后门实现权限提升的概念验证工具。
fix:通过修改模型专用寄存器,尽可能修复受影响系统漏洞的简易方案。
fuzz:一套模糊测试工具,用于对x86核心与rosenbridge核心进行测试,以定位未知的"启动指令"和"桥接指令",并解析rosenbridge核心的指令格式。
deis:用于探索隐藏核心功能与作用的模糊测试工具。
exit:研究初期认为,部分处理器在执行完DEIS指令序列后,需要特定退出序列才能切换回x86核心。此目录包含用于搜索该退出序列的工具,但因后续发现部分处理器无需该序列而停用。
manager:一套Python工具,用于监控和管理分布式网络中多节点的模糊测试任务。
wrap:sandsifter模糊测试工具的精简版本,用于识别可将命令从x86核心发送至隐藏rosenbridge核心的桥接指令。
kern:一套辅助工具,用于监控内核内存与寄存器,追踪模糊测试的DEIS指令引发的变化。
lock:用于锁定或解锁rosenbridge后门的工具。
proc:从模糊测试日志中提取模式,识别DEIS指令行为类别的工具。
test:研究初期使用的工具,通过执行已知RISC指令,尝试识别隐藏核心的架构。
util:处于测试版(alpha)阶段的工具,用于检测处理器是否受rosenbridge后门影响。
(待补充:白皮书链接)
(待补充:幻灯片链接)
本项目呈现的细节与推论,均为作者基于研究得出的判断与观点。研究的开展与成果发布,旨在识别并修复上述CPU中存在的安全漏洞。VIA处理器以低功耗和优异的嵌入式设计闻名;我们认为,文中所述功能最初是为嵌入式市场打造的实用特性,仅因疏忽在早期部分型号中默认启用,不存在恶意设计意图。
rosenbridge项目由Christopher Domas(@xoreaxeaxeax)主导研究。