中文

Slice+Slice Baby: 瞬间生成最后一级缓存驱逐集

密码学与安全 2025-04-22 v2

摘要

寻找驱逐集(一组内存位置在缓存空间上发生竞争)是构建缓存攻击的关键步骤。在英特尔处理器上,由于切片化缓存设计,处理器会对物理地址进行哈希以确定内存位置在缓存中的存储位置,这使得识别争用地址面临主要挑战。虽然过去的研究表明哈希函数可以被逆转,但也表明它取决于攻击者不可知的物理地址位。在本工作中,我们在寻找驱逐集的技艺上作了三个主要贡献。首先,我们利用微观架构竞争机制通过比较内存访问时间来识别地址映射到的缓存切片。随后,我们利用已知的哈希函数既减少了我们切片识别方法的错误率,又减少工作量,通过外推到未测试的内存地址来推断切片映射。最后,我们展示了如何在面对非线性哈希函数时,将驱逐集信息在不同的页面偏移量之间传播。我们的贡献使得在 Intel i7-9850H 上实现 0.7 秒,在 i9-10900K 上实现 1.6 秒的整个 LLC 驱逐集生成,均使用非线性函数。这代表了与当前最先进技术相比,分别快 9 倍和 10 倍的显著性改进。

关键词

引用

@article{arxiv.2504.11208,
  title  = {Slice+Slice Baby: Generating Last-Level Cache Eviction Sets in the Blink of an Eye},
  author = {Bradley Morgan and Gal Horowitz and Sioli O'Connell and Stephan van Schaik and Chitchanok Chuengsatiansup and Daniel Genkin and Olaf Maennel and Paul Montague and Eyal Ronen and Yuval Yarom},
  journal= {arXiv preprint arXiv:2504.11208},
  year   = {2025}
}

备注

Added reference to the ID3 decision tree induction algorithm by J. R. Quinlan in Section 5.4