中文

CacheSquash:使缓存具备预测感知能力

密码学与安全 2025-05-09 v2 硬件体系结构

摘要

预测是实现高CPU性能的关键手段,但也导致了Spectre类攻击,这些攻击仍是需要在不产生显著性能开销的情况下缓解的重大挑战。这些攻击通常经历三个阶段:访问、传输和接收。它们通常利用缓存时序侧信道在传输和接收阶段发作:通过预测访问敏感数据(访问),改变缓存状态(传输),然后利用缓存时序攻击(如Flush+Reload)来提取密钥(接收)。我们的关键观察是,Spectre攻击仅要求传输指令执行并向缓存层次结构发送请求即可。它无需在检测到误预测(并清除错误预测的指令)之前完成,因为内存返回的数据到达缓存后仍会改变缓存状态。我们提出了一种新型缓解措施,CacheSquash,通过取消误预测的内存访问来实现。一旦发生清除,便向缓存层次结构发送取消请求,向下级传播,从而防止尚未收到响应的缓存发生状态更改。这最小化了缓存状态的变化,从而降低了Spectre攻击成功的可能性。我们在gem5上实现CacheSquash,并表明它能够有效阻止实际的Spectre攻击,几乎没有性能开销。

关键词

引用

@article{arxiv.2406.12110,
  title  = {CacheSquash: Making caches speculation-aware},
  author = {Hossam ElAtali and N. Asokan},
  journal= {arXiv preprint arXiv:2406.12110},
  year   = {2025}
}