← 返回信息流
AI 资讯Hacker News·3 天前

MIT研究人员自研操作系统以深入探究芯片工作原理

原标题:To study how chips work, MIT researchers built their own operating system

速览

麻省理工学院(MIT)的研究人员构建了一个定制的操作系统,用于深入研究芯片的工作机制。这一举措旨在通过软件层面的控制来揭示硬件底层的运行逻辑。该研究为优化芯片设计和提升系统效率提供了新的视角。

AI 深度解读

MIT 打造操作系统内核 Fractal:为芯片研究提供“电子显微镜”

背景

在计算机安全领域,研究人员若要深入理解现代处理器内部究竟在发生什么,特别是为了评估 Spectre 和 Meltdown 等侧信道攻击的可行性,通常面临巨大的实验障碍。现有的通用操作系统(如 macOS 或 Linux)并非为这种底层硬件研究而设计。

研究人员往往需要在这些操作系统之上运行实验,手动修补内核,并祈祷修改后的代码能稳定运行。这种方法存在显著缺陷:

  1. 不稳定性与不可复现性:操作系统自身的调度、中断和地址空间管理会向测量数据中注入大量“噪音”,导致实验结果模糊不清。
  2. 平台限制:在 Apple 平台上,这种手动修补内核的方式正面临被弃用的风险。

为了解决这一长期困扰硬件安全研究者的问题,麻省理工学院计算机科学与人工智能实验室(CSAIL)的研究团队决定构建一个全新的操作系统内核——Fractal。该内核旨在将硬件本身作为研究对象,提供极其纯净的实验环境。

核心内容

Fractal 的设计哲学:裸机运行与特权级并发

Fractal 是一个从零开始编写的操作系统内核,其核心创新在于“倒置”了传统的实验模型。它直接在裸机(bare metal)上启动,不运行其他软件,从而消除了操作系统层面的干扰。

Fractal 引入了一项名为**多特权级并发(multi-privilege concurrency)的技术。通过一种名为外层内核线程(outer kernel thread)**的新构造,Fractal 允许单个实验在运行时切换特权级,同时在相同的地址空间中执行相同的指令。外层内核线程位于用户进程的内存中,但以内核特权级执行。

这种设计使得研究人员可以在几乎没有任何背景噪音的情况下进行测量。与 macOS 或 Linux 下因中断和调度活动而模糊的测量数据不同,Fractal 能提供平坦的基线和清晰的信号。正如项目领导者、EECS 博士生 Joseph Ravichandran 所言:“这就像电子显微镜。如果你只有手持放大镜,只能看到一点点;但有了电子显微镜,我们才能真正讨论细节。”

在 Apple M1 上的发现

利用 Fractal 提供的纯净环境,MIT 团队对 Apple 的 M1 处理器进行了深入分析,并取得了多项突破性发现:

  1. 验证并细化了 CSV2 规范的行为: Apple M1 实现了 ARM 的 CSV2 规范,旨在防止一个特权级的代码引导另一个特权级的推测执行。Fractal 证实,对于间接分支预测器的执行阶段,该保护机制是有效的:用户模式程序无法通过间接分支预测器引导内核推测执行特定目标。

  2. 发现新的侧信道漏洞: 尽管执行阶段受到保护,但研究发现 CPU 在保护机制生效前,仍会将目标指令获取到指令缓存中。这种获取行为可通过侧信道观察到,意味着用户代码仍然可以影响内核跨特权级边界拉取到缓存中的内容。这一模式也出现在分配了不同地址空间标识符(ASID)的进程之间。

  3. 首次证实 Apple Silicon 存在“Phantom”推测攻击: “Phantom”是一类误预测攻击,此前仅在 AMD 和 Intel 处理器上被证明存在。在 Phantom 攻击中,普通指令(包括空操作 no-op)可能被 CPU 误解释为分支,从而触发程序从未请求过的推测行为。Fractal 首次在 Apple Silicon 上提供了此类攻击的证据,显示 Phantom 获取跨特权级和地址空间均能成功,尽管执行阶段仍被阻断。

  4. 推翻关于条件分支预测器的旧结论: 之前的研究曾报告称,M1 的性能核心存在跨特权级训练,而效率核心则没有。Fractal 的实验推翻了这一结论,证明条件分支预测器在两种核心类型上均没有任何特权级隔离。之前的结论很可能是 macOS 在系统调用期间悄悄在线程间迁移核心所导致的假象。Ravichandran 指出:“对我们来说,这是一个真正的独立变量。你改变特权级,其他什么都不变。唯一能解释攻击是否成功的因素就是特权级。”

工具属性与生态系统

Fractal 不仅仅是一次性的实验工具,而是被设计为基础设施。它支持 x86_64ARM64RISC-V 架构,代码量超过 31,000 行。为了降低研究者的迁移成本,Fractal 提供了熟悉的 POSIX 系统调用、C 库,并移植了 vim、GCC 和 dash shell 等标准工具。

MIT 团队已将 M1 的发现披露给 Apple 的产品安全团队。值得注意的是,Apple 的工程师也审查了 Fractal 本身。

关键要点

  • 解决实验噪音问题:Fractal 通过裸机启动和多特权级并发技术,消除了通用操作系统带来的调度、中断等背景噪音,为硬件研究提供了“电子显微镜”般的清晰度。
  • Apple M1 安全新发现
    • 证实了 M1 在间接分支预测执行阶段的保护有效。
    • 发现了跨特权级的指令缓存获取侧信道。
    • 首次证实 Apple Silicon 存在此前仅在 x86 上发现的“Phantom”推测攻击。
    • 纠正了关于 M1 条件分支预测器特权隔离的既有错误认知。
  • 通用性与兼容性:Fractal 支持 x86_64、ARM64 和 RISC-V,并兼容 POSIX 标准及常用开发工具,旨在成为可复用的研究基础设施,而非单一实验脚本。
  • 学术与工业界互动:研究成果已在 IEEE Symposium on Security and Privacy 上发表,并得到了 Apple 安全团队的关注与审查。

意义与影响

Fractal 的出现标志着微架构安全研究方法论的一次重要转变。

  1. 提升研究的可信度与准确性: 南加州大学助理教授 Mengyuan Li 评价道:“Fractal 是一项强有力的架构贡献,它将通常临时的微架构逆向工程工作流程转变为可复用的研究基础设施。通过减少软件噪音并赋予研究者在特权级边界更紧密的控制,它使得难以进行的硬件实验变得更容易解释。”

  2. 推动社区标准化: 项目领导者 Joseph Ravichandran 希望 Fractal 能像 QEMU 和 FFmpeg 在其领域中的地位一样,成为微架构研究的共享基础设施。通过提供清晰的信号和严格的控制(如确保在正确的核心和系统上运行),整个社区的研究结果将变得更加可靠和准确。

  3. 深化对现代处理器内部机制的理解: 随着 CPU 设计日益复杂,传统的黑盒测试方法已不足以揭示潜在的安全漏洞。Fractal 提供了一种白盒式的观测手段,使得研究人员能够以前所未有的粒度剖析处理器行为,这对于防范下一代侧信道攻击至关重要。

这项工作由 NSF、美国空军科学研究办公室以及 DARPA 赞助的 ACE 项目部分支持,展示了学术界与工业界在保障计算基础设施安全方面的深度合作潜力。

查看原文 →news.mit.edu