MIRAGE:采用实用全相联设计缓解基于冲突的缓存攻击
摘要
共享处理器缓存易受基于冲突的侧信道攻击,攻击者可通过利用缓存组冲突驱逐受害者的缓存行来监视受害者的访问模式。近期的缓解方案提出将地址到缓存行的映射随机化,以混淆组冲突的位置。然而,这些方案易受新攻击的威胁,此类攻击可在上述缓解措施下仍发现冲突地址集合,因为这些设计从一小部分冲突行中选择驱逐候选。本文提出 Mirage,一种实用的全相联缓存设计,其中驱逐候选从缓存中所有驻留行随机选取,从而对组冲突免疫。在大型共享缓存(包含数万条缓存行)中实现此类设计的一个关键挑战是缓存查找的复杂性,因为朴素设计可能需要搜索所有驻留行。Mirage 通过解耦放置与替换,使用从标签存储到数据存储的基于指针的间接寻址,使新装入的地址可全局驱逐任意随机驻留行的数据,从而在保持实用组相联查找的同时实现全相联。为消除组冲突,Mirage 在偏斜相联标签存储设计中配置额外的无效标签,行可无组冲突地装入,并配合负载感知的偏斜选择策略以保证含无效标签的组可用。我们的分析表明,Mirage 在系统生命周期内提供全相联缓存的全局驱逐特性(全相联性违背即组冲突发生频率低于每 10^4 至 10^17 年一次),从而针对任何驱逐集发现及任何潜在的基于冲突的攻击提供原则性防御。与非安全缓存相比,Mirage 仅带来有限减速(2%)和 17–20% 的额外存储开销。
引用
@article{arxiv.2009.09090,
title = {MIRAGE: Mitigating Conflict-Based Cache Attacks with a Practical Fully-Associative Design},
author = {Gururaj Saileshwar and Moinuddin Qureshi},
journal= {arXiv preprint arXiv:2009.09090},
year = {2021}
}
备注
Accepted to appear in USENIX Security 2021. This camera-ready version has an updated Security discussion (Sec-5, Sec-6) and Appendix (new Gem5 results) compared to previous Arxiv version