Skip to main content
QUICK REVIEW

[论文解读] RELOAD+REFRESH: Abusing Cache Replacement Policies to Perform Stealthy Cache Attacks

Samira Briongos, Pedro Malagón|arXiv (Cornell University)|Apr 12, 2019
Security and Verification in Computing参考文献 28被引用 26
一句话总结

本文提出 RELOAD+REFRESH,一种隐蔽的缓存攻击,利用英特尔 CPU(第 4 至第 8 代)中确定性的缓存替换策略,无需在受害者进程中引发缓存未命中即可监控其内存访问。通过精确预测和操控缓存集合的驱逐,该攻击实现了检测抵抗性,同时保持与当前最先进的方法(如 PRIME+PROBE)相当的准确性。

ABSTRACT

Caches have become the prime method for unintended information extraction across logical isolation boundaries. Even Spectre and Meltdown rely on the cache side channel, as it provides great resolution and is widely available on all major CPU platforms. As a consequence, several methods to stop cache attacks by detecting them have been proposed. Detection is strongly aided by the fact that observing cache activity of co-resident processes is not possible without altering the cache state and thereby forcing evictions on the observed processes. In this work, we show that this widely held assumption is incorrect. Through clever usage of the cache replacement policy it is possible to track a victims process cache accesses without forcing evictions on the victim's data. Hence, online detection mechanisms that rely on these evictions can be circumvented as they do not detect be the introduced RELOAD+REFRESH attack. The attack requires a profound understanding of the cache replacement policy. We present a methodology to recover the replacement policy and apply it to the last five generations of Intel processors. We further show empirically that the performance of RELOAD+REFRESH on cryptographic implementations is comparable to that of other widely used cache attacks, while its detectability becomes extremely difficult, due to the negligible effect on the victims cache access pattern.

研究动机与目标

  • 调查是否可以在不引发受害者可检测缓存未命中的情况下执行基于缓存的侧信道攻击。
  • 逆向分析第 4 至第 8 代现代英特尔处理器的最后级缓存(LLC)替换策略。
  • 开发一种分析和预测复杂真实 CPU 架构中缓存替换行为的方法论。
  • 设计并实现一种新型缓存攻击 RELOAD+REFRESH,实现对受害者内存访问模式的隐蔽监控,并具备高时间分辨率。
  • 证明当前依赖可观测缓存未命中活动的检测机制对这一新型攻击向量无效。

提出的方法

  • 开发了一种新颖的逆向工程方法,通过强制缓存未命中并观察实际驱逐行为来测试和验证替换策略。
  • 使用硬件性能计数器(HPCs)监控缓存未命中的模式,并将其与预测的驱逐候选者进行关联。
  • 发现英特尔的 LLC 使用基于访问历史和伪随机选择机制组合的确定性替换策略。
  • 设计了 RELOAD+REFRESH 攻击,通过精确控制时间和缓存集合,重新加载冲突地址并刷新受害者数据,而不会将其驱逐出缓存。
  • 在 AES 和 RSA 加密实现上执行了该攻击,通过观察缓存访问模式提取了秘密密钥。
  • 测量并对比了 RELOAD+REFRESH 与 PRIME+PROBE 和 FLUSH+RELOAD 的攻击性能,评估采样率和未命中次数。

实验结果

研究问题

  • RQ1是否可以逆向工程现代英特尔 CPU 的缓存替换策略,以高精度预测驱逐行为?
  • RQ2是否可能在不引发缓存未命中的情况下监控受害者的缓存访问,从而规避检测机制?
  • RQ3在分辨率和隐蔽性方面,RELOAD+REFRESH 与现有缓存攻击(如 PRIME+PROBE 和 FLUSH+RELOAD)相比表现如何?
  • RQ4RELOAD+REFRESH 对受害者缓存未命中率和执行行为的实际影响是什么?
  • RQ5RELOAD+REFRESH 是否能够从实际的加密实现(如 AES 和 RSA)中提取敏感信息?

主要发现

  • 与 FLUSH+RELOAD 和 PRIME+PROBE 的 1,000 次以上相比,RELOAD+REFRESH 在受害者上每 1000 次采样仅引发平均 145.6 次 L3 缓存未命中,几乎无法被检测到。
  • 在最大采样率下,该攻击在提取 RSA 解密期间乘法操作的准确率达到 93%,与 PRIME+PROBE 表现相当。
  • RELOAD+REFRESH 的平均采样间隔为 810 个周期,显著高于 PRIME+PROBE 的 280–1950 周期范围,但仍足以实现高分辨率定时。
  • 该攻击成功从 T-Table AES 实现和平方-相乘 RSA 变体中提取了密钥,证明了其实际可行性。
  • 本研究揭示,依赖缓存未命中监控的现有检测机制对避免引发此类未命中的攻击无效。
  • 作者逆向工程了英特尔第 4 至第 8 代 CPU 中使用的确定性替换策略,表明其基于访问历史和伪随机机制。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。