GhostCache 的新型缓存侧信道攻击

一种名为 GhostCache 的新型缓存侧信道攻击。它最大的特点是完全不需要使用计时器,就能窃取敏感信息,绕过了当前很多针对传统侧信道攻击的防护措施。

🔍 核心原理:利用缓存的"弱一致性"

现代处理器的L1缓存分为指令缓存(L1I)和数据缓存(L1D)。在RISC-V和ARM架构的很多芯片中,这两部分缓存之间存在"弱一致性":

  • 表现 :当内存中的数据被修改后,数据缓存会更新,但指令缓存里的旧内容不会自动失效

  • 漏洞:攻击者可以利用这个"不同步"的窗口,通过精心设计的操作来探测缓存状态的变化,从而推断出受害者程序的执行路径或数据。

💥 攻击能力与实际危害

研究团队基于上述原理,构建了攻击原语,并在真实场景中演示了三种危害严重的攻击:

  1. 网站指纹攻击 :通过监控浏览器渲染网页时触发的缓存变化,可以识别用户正在访问哪个网站,在测试芯片上准确率超过90%

  2. 内核数据泄露 :利用内核中存在的特定代码模式(gadget),可以跨权限边界(从用户态)窃取内核数据,准确率同样超过90%

  3. 窃取加密密钥:针对RSA等加密算法,通过探测其密钥相关的条件分支所触发的缓存路径,可以逐步重建出完整的私钥。

📱 影响广泛的处理器

该攻击影响广泛,已在多款商用和开源处理器上得到验证:

  • 商用处理器:包括 ARM Cortex-A53/A76、Apple M1/M4、SiFive U74/P550。

  • 开源RISC-V处理器:包括香山(XiangShan)、Rocket-Chip、SonicBOOM。

🛡️ 防御措施

文章提到,一个有效的缓解措施是在进行安全域切换(如进程切换、进入内核)时,主动刷新指令缓存,以消除残留状态。该发现已获得包括ARM、SiFive及香山团队在内的业界认可。

如果你想进一步了解某个特定方面,比如攻击的具体技术细节或对某款芯片的影响,我可以为你提供更详细的说明。

-----------------详细介绍-------------------------------

在处理器体系结构快速演进、RISC-V与ARM等新兴架构广泛落地的背景下,微架构侧信道安全问题日益成为体系结构设计的重要挑战。尽管近年来主流芯片逐步限制高精度计时器访问,以缓解传统缓存侧信道威胁,但这些防护是否足以应对新微架构特性带来的攻击面,仍存巨大不确定性。我们提出了GhostCache------一类无需计时器与性能计数器的缓存侧信道攻击原语,揭示了RISC-V与ARM处理器中普遍存在的L1缓存(L1$)的弱一致性导致的侧信道风险,并首次在多款商用与开源RISC-V处理器上实验证明了此类攻击的可行性。

骑士团队博士研究生金宇为第一作者的论文,题为《GhostCache: Timer- and Counter-Free Cache Attacks Exploiting Weak Coherence on RISC-V and ARM Chips 》[1],发表于国际信息安全顶级会议2025 ACM SIGSAC Conference on Computer and Communications Security (CCS '25)。

Q1

用户态还是特权态权限攻击?

用户态。

Q2

窃取数据是跨进程还是跨域?

跨进程,跨域均可。

Q3

最大危害程度?

实现高精度网页指纹攻击,从内核泄露数据,窃取RSA加密库密钥。

Q4

影响到的处理器?

多款商用ARM和RISC-V芯片,以及开源RISC-V处理器。

Q5

防御措施?

安全区域切换时刷新指令缓存。

Q6

披露?

得到了业界包括ARM安全团队在内的广泛认可,开源领域香山团队的感谢,也在国际上获得了SiFive(RISC-V架构主要推动厂商)首个公开漏洞报告感谢[2]。

01

研究简介

在过去的十多年中,随着对微架构级别性能优化的深入,侧信道攻击不断演化并出现了越来越多的变种,它们通常依赖高精度计时器或各种硬件计数器来区分缓存或者其他微架构状态,以实现秘密信息的泄露。然而在ARM与RISC-V等新兴架构中,硬件已经开始将高精度计时器视为潜在的攻击面,并默认限制其在用户态的使用。尽管如此,这些限制并不足以从根本上阻止攻击者,因为微架构中仍存在大量未被公开的行为与边缘特性,而它们恰恰可以被恶意利用,从而构建不依赖计时器的攻击路径。

随着计时器访问被限制,研究者开始探索免计时的攻击替代方式。例如部分研究使用逻辑运算、反复访问或统计放大方法,试图在无需计时器的情况下营造可观测的差异,但这些方法通常依赖特定的硬件设计条件,难以在通用的现代处理器架构尤其是RISC-V平台上稳定使用。此外,这些方法多数仍然依赖数据缓存,而数据缓存的行为与程序数据密切相关,容易受到过多噪声与不可控因素影响,使攻击可靠性降低。

本研究的目标便是探索在缺乏计时器这一传统信息来源的情况下,是否仍然能够利用处理器内部的结构特性实施有效的侧信道攻击。

在RISC-V与ARM架构中,L1缓存(L1)可以采用弱一致性方式实现,即L1指令缓存(L1I)不会因为数据缓存的修改而自动失效。这意味着如果攻击者修改了一段指令对应的内存,那么数据缓存会更新,而指令缓存依旧包含旧值,需要显式指令才会使其失效。本应由编译器或程序开发者确保的数据和指令的一致性,与可控的自修改机制结合时,为侧信道攻击提供了一个绕过计时器的观察窗口。

图1. 强弱一致性缓存相关机制逆向与利用

团队系统分析了多款RISC-V与ARM架构芯片在真实环境下的微架构特性,发现:

  • 多款商用与开源RISC-V/ARM芯片均采用弱一致性L1指令缓存(L1I$)。

  • L1I与L1D的同步需依赖软件指令(如FENCE.I / IC IVAU)。

  • 该弱一致性行为可被攻击者利用,在完全不使用计时器/计数器的前提下观察缓存状态变化。

这一发现意味着:即使禁用了所有计时器,微架构仍可能暴露敏感信息。

02

GhostCache

无需计时器的指令缓存侧信道原语

GhostCache的核心挑战在于:传统指令缓存攻击通常依赖精确计时,而计时器被严格限制后,必须寻找一种无需时间信息、但仍能区分缓存状态的机制。

经过系统性的实验和分析,我们确定了基于弱一致性自修改代码的第一个攻击原语Modify+Recall。其思想非常直接:首先执行某段代码使其缓存在L1指令缓存中,随后修改该代码,使数据缓存中的内容与指令缓存中的内容不一致,接着让受害者执行某些函数。如果期间该缓存行被受害者的指令驱逐,那么再执行这段代码时,处理器会从数据缓存加载新内容,从而执行不同的指令。攻击者仅根据执行结果即可判断该缓存行是否被驱逐,因此无需任何计时器。

图2. 利用弱一致性构造数据不一致以实现微架构缓存行状态观测(Modify+Recall)

除了Modify+Recall,通过进一步的实验和分析,研究还提出了第二个攻击原语Call+ModifyCall,用于规避处理器中存在的噪声机制,可更稳定多实现缓存观测。

图3. 新攻击原语Call+ModifyCall

03

构建隐蔽通信

跨线程、跨特权、跨核心

在成功构建无需计时器的指令缓存攻击原语之后,我们进一步探索GhostCache在更复杂场景中的适用性,尤其是跨线程、跨进程、跨特权级乃至跨核心环境下的行为。

图4. 构建4种不同的免计时的隐蔽信道

在单线程环境中,我们发现由于指令缓存与数据缓存之间的一致性完全由软件控制,攻击者可利用Modify+Recall或Call+ModifyCall在同一线程内部传递信息,从而验证攻击的基本可行性。

在跨线程与跨进程场景中,我们发现操作系统在执行上下文切换时通常不会主动刷新指令缓存。在ARM和RISC-V架构中,L1指令缓存既不会因为线程切换而被清空,也不会因进入不同用户态进程而完全重置,这意味着攻击者和受害者即使处于不同的线程或进程中,只要共享同一CPU核心,就能通过对特定缓存集合的竞争关系来建立通信。

跨越用户态与内核态的边界对于传统缓存攻击而言更具挑战性,因为内核具有更高的执行权限,且其指令可能不易受到攻击者控制。然而,我们观察到不同系统调用在执行过程中会访问特定的函数路径,而这些路径映射到固定的指令缓存集合。因此,用户态进程只需通过不断触发某类系统调用,就能在内核态造成可预测L1I$驱逐。只要用户态在返回后利用GhostCache原语检测缓存状态,即可捕获内核控制流信息。

跨核心隐蔽信道更具挑战性,因为L1指令缓存一般为每个核心独享,不会被其他核心直接访问或修改。然而,在ARM A76架构中,我们意外发现ICIVAU这一通常用于显式指令缓存失效的指令,在某些实现上会跨核心生效。这意味着一个核心上的进程可以通过执行ICIVAU操作,使得另一个核心上的指令缓存行失效,从而在不同核心之间建立同步机制和通信信道。

在对隐蔽信道进行系统评估后,我们发现GhostCache在各种场景下均能实现高稳定性与低噪声。例如,在单线程环境中,GhostCache的带宽可达到1.68MB/s,误码率仅为0.01%,远高于传统Prime+Probe类攻击能达到的带宽。在跨线程场景,带宽维持在数KB/s,并能够有效支持网站指纹攻击。在跨特权边界场景中,GhostCache能够在几十KB/s的带宽下泄露内核路径信息,而在跨核心场景中,则可达到十KB/s左右的通信速率。这些能力充分展示了GhostCache不仅理论上可行,而且在真实系统中具备高度实用性。

04

真实场景攻击

网站指纹、内核数据泄露、密钥重建

01

免计时的网站指纹攻击

通过监控浏览器渲染各网站过程中触发的指令缓存逐出模式,我们能够在ARM Cortex-A76上实现超过90%的100分类准确率,在RISC-V P550上亦能达到较高的识别能力。

图5. 不同架构芯片的不同网站的

指纹可视化

02

内核数据泄露

除了控制流导致的泄露之外,在本研究中,我们还提出了利用函数指针间接调用形成的L1I$指令泄露gadget,这类gadget在受害代码中存在。传统Spectre研究主要集中于数据缓存泄露(DC gadgets),忽略了指令缓存中同样存在可被滥用的泄露机制。我们在Linux内核中找到真实存在的此类gadget,并利用GhostCache成功泄露内核数据,准确率可超过90%。

图6. 利用Spectre实现内核数据泄露

03

密钥重建

我们利用GhostCache对常见的RSA加密过程发起了跨上下文攻击。RSA实现通常包含密钥依赖的条件分支,而这些分支对应的指令路径会映射到不同的L1I$集合。攻击者可通过影响操作系统的调度机制,然后利用简单操作循环捕获这些路径差异,在缺乏计时器的情况下逐步恢复私钥。

图7. 现代密码库(MbedTLS,v3.5.2)中的秘密相关分支

05

影响范围

GhostCache影响的处理器包括至少:

  • 商用处理器(6款):

    • ARM Cortex-A53/A76

    • Apple M1/M4

    • SiFive U74/P550

  • 开源RISC-V处理器(3款):

    • Rocket-Chip

    • SonicBOOM

    • 香山(XiangShan)

研究团队已按安全规范向多家厂商负责任披露,获得香山团队,ARM PSIRT与SiFive的确认与感谢。

06

讨论与总结

我们的研究表明,基于弱一致性的指令缓存一致性差异能够形成足以取代计时器的缓存观测机制;其次,我们在ARM与RISC-V架构的九款处理器上验证了GhostCache的通用性,证明其并非单架构或特定实现相关的攻击,而是导致侧信道风险的普遍问题;最后,我们通过构造网站指纹攻击、Spectre指令泄露gadget以及RSA密钥恢复攻击,展示了GhostCache在真实世界中的严重安全影响。我们的研究为理解现代处理器安全性提供了新的视角。

GhostCache的出现再次提醒我们,除了硬件预取、推测执行、推测转发等优化细节,弱一致性也可以成为攻击者的立足点。未来的硬件安全设计需要尝试在性能、复杂性与安全性之间找到新的平衡,而开源硬件生态(例如RISC-V)则必须鼓励更全面的微架构文档公开,以便研究者能够在更早阶段识别并缓解潜在风险。

相关推荐
mubei-1232 小时前
TF-IDF / BM25:经典的传统信息检索算法
人工智能·检索算法
databook2 小时前
回归分析全家桶(16种回归模型实现方式总结)
人工智能·python·机器学习
天竺鼠不该去劝架2 小时前
传统财务管理瓶颈:财务机器人如何提升效率
大数据·数据库·人工智能
zhongerzixunshi2 小时前
“首版次高端软件”:国产工业软件皇冠上的明珠
人工智能·云计算
virtaitech2 小时前
【免费申请】趋动科技OrionX社区版开放:GPU池化神器
人工智能·科技·gpu·池化技术·永久免费
WZGL12302 小时前
“近邻+数智”:解码智慧养老的温情答案
大数据·人工智能·科技·生活·智能家居
elangyipi1232 小时前
2025 搜索优化新革命:GEO 正在悄然取代 SEO?
前端·人工智能
Toky丶2 小时前
QLoRA Efficient Finetuning of Quantized LLMs
人工智能·chatgpt
丝斯20112 小时前
AI学习笔记整理(39)——自然语言处理算法之词向量 Word2vec
人工智能·学习·自然语言处理