一句话:首次分析缓存压缩的安全性,揭示可压缩性侧信道并提出 Pack+Probe 与 Safecracker 攻击,可在 10ms 内窃取密钥。
本文首次对缓存压缩进行安全性分析。作者发现,缓存行的可压缩性会泄露其内容信息,因而压缩缓存引入了一种隐蔽的新型侧信道:仅存储数据就会传递信息。为证明风险,作者提出 Pack+Probe 与 Safecracker 两种技术:前者让攻击者获知受害者缓存行的可压缩性,后者通过策略性修改邻近数据值来高效泄露秘密。在概念验证应用上的评估表明,在常见压缩缓存架构上,Safecracker 可在 10 毫秒内攻破密钥;若结合潜在的内存安全漏洞,还能泄露程序内存的很大一部分。作者讨论了关闭该侧信道的可能方法,并希望阻止不安全的缓存压缩技术进入主流处理器。
The hardware security crisis brought on by recent speculative execution attacks has shown that it is crucial to adopt a security-conscious approach to architecture research, analyzing the security of promising architectural techniques before they are deployed in hardware. This paper offers the first security analysis of cache compression, one such promising technique that is likely to appear in future processors. We find that cache compression is insecure because the compressibility of a cache line reveals information about its contents. Compressed caches introduce a new side channel that is especially insidious, as simply storing data transmits information about it. We present two techniques that make attacks on compressed caches practical. Pack+Probe allows an attacker to learn the compressibility of victim cache lines, and Safecracker leaks secret data efficiently by strategically changing the values of nearby data. Our evaluation on a proof-of-concept application shows that, on a common compressed cache architecture, Safecracker lets an attacker compromise a secret key in under 10ms, and worse, leak large fractions of program memory when used in conjunction with latent memory safety vulnerabilities. We also discuss potential ways to close this new compression-induced side channel. We hope this work prevents insecure cache compression techniques from reaching mainstream processors.