缓存替换策略的安全分析
1. 引言
现代计算机架构为了提高面积、能源和成本效率,会在不同程序之间共享物理资源,像缓存、分支预测单元、动态随机存取存储器(DRAM)和磁盘等都是常见的共享资源。然而,这种共享却带来了安全隐患。即便程序在逻辑层面是完全隔离的,但共享物理资源往往意味着一个程序的资源使用模式可能会被另一个程序观察到,这就形成了一个可被利用来提取或传输敏感信息的侧信道。
虽然这类漏洞早在几十年前就已被知晓,但随着一系列高效侧信道攻击的出现,其严重性愈发凸显。CPU 缓存就是遭受大量攻击的共享资源之一。从安全角度看,理想的做法是通过设计完全消除缓存中的侧信道,或者在不同方访问缓存之间进行刷新。但遗憾的是,这些保守方法会在一定程度上牺牲共享带来的性能优势。在许多实际场景中,设计者会选择较为折中的方案,以在保证“足够”安全程度的同时实现高性能。不过,目前虽然有大量关于评估不同缓存设计对性能影响的研究,但缺乏评估缓存安全性能的既定指标,这使得在缓存设计领域难以做出合理决策。
为了解决这个问题,本文提出了一种新颖的方法来量化缓存(特别是缓存替换策略)的安全性,旨在回答以下两个问题,这两个问题涵盖了共享缓存的程序之间隔离的两个自然方面:
- 问题 1(Q1) :缓存会吸收多少关于计算的信息?
- 要回答这个问题,面临两个挑战。一是要确定一个有意义的度量标准来衡量给定缓存状态中所包含的信息;二是要刻画可能引发不同缓存状态的计算集合。为了对缓存架构的安全性做出断言(而非针对在缓存架构上运行的特定程序的安全性),这种刻画需要涵盖足够广泛的程序类别。
- 问题 2(Q2) :攻击者能从缓存
超级会员免费看
订阅专栏 解锁全文
1273

被折叠的 条评论
为什么被折叠?



