现代操作系统内置了大量防御机制来抵御安全漏洞。但如果这些防御机制可以被移除,会发生什么?这样做将能清晰地观察到运行该操作系统的芯片,同时也会暴露出通常被操作系统所掩盖的硬件漏洞。
一款名为Fractal的全新手工编码操作系统正是提供了这种清晰视角的工具。Fractal由麻省理工学院计算机科学与人工智能实验室(CSAIL)的研究人员从零开始构建,专为探测运行它的芯片架构而设计。今年5月,该操作系统在旧金山举办的2026年IEEE安全与隐私研讨会上正式亮相,并成功揭露了苹果M1芯片中一个此前未知的安全漏洞。
编写Fractal的CSAIL博士生Joseph Ravichandran表示,这款操作系统的灵感来源于2022年研究Arm CPU漏洞Pacman时遇到的重重障碍。
"我们通过自定义内核补丁和内核扩展等技术开辟了道路,"Ravichandran解释道,"但这些方法只是部分解决方案。我们真正的目标,始终是拥有一个完全自定义的操作系统,从而让这些变通手段变得不再必要。"
为何需要专用操作系统
研究人员在探索硬件漏洞时,需要精确了解数据在芯片上是如何存储和传输的。他们通过编写测试代码来触发芯片的特定行为,再分析结果以还原芯片的代码执行方式。然而,Windows或macOS等传统操作系统内置了各种防御机制和功能,会对代码执行过程及内存管理产生干扰。
"我为安全硬件设计课程开发了许多实验练习,"Ravichandran说,"看到学生们遇到的困难,再结合我自己在研究中的亲身经历,我意识到必然存在更好的方法。"
Fractal的诞生正是对这一问题的直接回应。它并非对传统操作系统进行打补丁或加以利用,而是完全替换设备原有的操作系统,以一个专注于安全研究的定制化替代方案取而代之。
然而,编写一个操作系统绝非易事。Fractal综合使用了汇编语言、C语言和C++等多种编程语言从头编写。Ravichandran于2024年6月启动开发工作,并在当年年底完成了第一个版本,此后又历经数月测试。调试是其中最为艰难的环节——为非原生支持该系统的硬件构建自定义操作系统,意味着常规调试工具全部失效。
"在让Fractal运行于Apple Silicon的漫长过程中,很长一段时间里,我得到的唯一反馈只有机器正面的电源指示灯,"Ravichandran回忆道,"这盏灯亮着,说明代码在运行;如果熄灭,则意味着机器因某种原因崩溃了。"
Fractal的三大核心功能
Fractal为研究人员提供了三项关键功能。
第一项,也是最核心的功能,是多特权级并发。在传统操作系统上,跨特权级比较芯片行为极为困难——特权级控制着程序对系统资源的访问权限,切换特权级会同时改变内存布局、CPU分支预测器状态等众多参数,这些变化会引入额外变量,导致测试结果产生偏差。Fractal能够在保持其他参数不变的前提下,跨特权级并发运行测试,从而获得更为纯净的测试结果。
第二项功能是协作式多任务处理,这是对传统操作系统中抢占式多任务处理的一种替代方案。抢占式多任务处理对于现代操作系统至关重要,用于协调可能同时处于活跃状态的数十乃至数百个任务,但它也可能在操作系统认为其他任务更为优先时中断当前测试,从而引入噪声干扰。Fractal的协作式多任务处理一旦启用,允许用户自行指定代码的执行顺序,且不会受到任何中断。
第三项功能是Fractal的内存系统,称为gmap。在传统操作系统中,程序通过虚拟地址访问内存,这些地址由操作系统映射到实际硬件,而映射关系可能在不同测试之间发生变化。gmap则以镜像方式将内存位置映射到各线程和任务中,消除了又一个干扰变量。
上述三项功能的共同核心理念是控制与清晰。"Fractal的目标,是尽可能准确地告诉你硬件实际的运行方式,"Ravichandran说,"借助Fractal获取的信息,研究人员将能更好地理解硬件本身的行为,而不受操作系统的干扰。"
揭露苹果M1的幽灵推测漏洞
为了展示Fractal的实际能力,Ravichandran将目标锁定在苹果M1芯片上——选择这款芯片主要是因为它是现有的测试硬件。
借助Fractal,研究人员首次找到了Apple Silicon受到一种"幽灵推测(Phantom speculation)"影响的证据。在某些情况下,这种漏洞可以让攻击者短暂地将芯片引导至攻击者选择的执行路径。幽灵推测此前已被证实存在于AMD和英特尔的硬件中,但从未在苹果M1上得到证实——直到此次研究才终于得到确认。
不过,该漏洞的实际危害可能较为有限。Fractal的测试表明,虽然苹果M1上可以发生幽灵推测的指令预取,但相关指令从未被实际执行。Ravichandran表示,他不便推测该漏洞在实际环境中可能被如何利用,同时已将相关情况披露给苹果公司。
Fractal目前主要在配备苹果M1芯片的Mac Mini上进行测试,同时也支持多款英特尔及AMD PC、树莓派,以及部分较新的Apple Silicon设备,如搭载苹果M4芯片的Mac Mini。Fractal以MIT许可证授权,作为开源操作系统免费提供下载。Ravichandran已将内核代码发布至Github,完整实验配置则上传至Zenodo,更多详细信息可在Fractal官方网站上获取。
Ravichandran期待看到其他研究人员如何利用Fractal探索更多微架构。"我现在的目标,是让这个系统走向世界,让更多研究人员从中受益,"他说,"我希望Fractal能发展成为一个社区项目,吸引其他从这一研究方法中获益的实验室共同参与贡献。"
Q&A
Q1:Fractal操作系统是什么?它有什么用途?
A:Fractal是由麻省理工学院CSAIL研究人员从零开发的一款定制化操作系统,专为硬件安全研究设计。它通过完全替换设备原有操作系统,消除传统操作系统对芯片行为的干扰,让研究人员能更精准地观测和分析芯片的实际运行方式,从而发现隐藏的硬件漏洞。
Q2:Fractal是如何在苹果M1芯片上发现漏洞的?
A:Fractal通过其多特权级并发和精细化内存管理功能,首次在苹果M1芯片上证实了"幽灵推测(Phantom speculation)"漏洞的存在。该漏洞此前仅在AMD和英特尔处理器中被发现。测试结果显示,虽然M1会发生相关指令的预取行为,但这些指令并不会被实际执行,因此实际危害相对有限。该漏洞已被披露给苹果公司。
Q3:Fractal操作系统支持哪些硬件平台?如何获取?
A:Fractal目前支持搭载苹果M1芯片的Mac Mini、多款英特尔及AMD PC、树莓派,以及部分较新的Apple Silicon设备(如搭载M4芯片的Mac Mini)。Fractal以MIT许可证授权,完全开源免费,内核代码已发布至Github,完整实验配置可在Zenodo上获取,更多信息可访问Fractal官方网站。
好文章,需要你的鼓励
牛津大学提出PHYSIFORMER,一种扩散变换器模型,通过三维网格顶点轨迹直接在世界坐标空间预测刚性与弹性物体的物理运动,一次性生成全序列轨迹,超越自回归基线。
随着医疗数据数字化与互操作性的进步,跨机构纵向患者数据的研究应用成为可能。本研究通过对20位领域专家的访谈,识别出8种数据收集方法,涵盖智能手机应用、结构化数据导出、区域/全国研究查询及聚合数据源等。研究发现,各方法均有其优缺点,无单一最优方案。参与者中介交换方式可绕过复杂治理安排,但存在数据缺口;全国性网络尚不支持研究查询。公共政策的持续推进将对该领域发展起关键作用。
研究发现主流奖励模型对同等质量答案给出差异悬殊的分数,并提出"奖励聚类"算法通过蒙特卡洛随机失活将连续分数离散化,在不重训模型的前提下有效减少AI训练中的奖励作弊现象。