论文标题
Cachefx:评估缓存安全性的框架
CacheFX: A Framework for Evaluating Cache Security
论文作者
论文摘要
在过去的二十年中,在计划之间共享资源的危险反复强调。已经设计了多个试图利用共享组件泄漏信息的侧渠攻击,主要针对共享的缓存组件。作为回应,研究界提出了多种旨在遏制侧渠道来源的缓存设计。借助多个竞争设计,需要评估针对每种设计提供的侧通道攻击的安全水平。 在这项工作中,我们提出了Cachefx,这是一个灵活的框架,用于评估和评估缓存设计对侧通道攻击的弹性。 Cachefx允许评估人员实施各种缓存设计,受害者和攻击者,并可以行使它们以通过缓存评估信息的泄漏。 为了证明Cachefx的功能,我们实施了多个缓存设计和替换算法,并设计了三个评估指标,这些指标衡量了缓存的不同方面:(1)由内存访问引起的熵; (2)建立驱逐集的复杂性; (3)防止密码攻击的保护。我们的实验强调,不同的安全指标为设计提供了不同的见解,从而使全面的分析强制性分析。例如,尽管驱逐设置的建筑物对于随机偏斜的卡车的最快是最快的,但这些卡车具有较低的驱逐熵和较高的实践攻击复杂性。我们的实验表明,所有非分区设计都允许有效的加密攻击。但是,在最先进的安全缓存中,基于驱逐的攻击比基于占用的攻击更难进行,这突出了需要在缓存设计中考虑后者的必要性。
Over the last two decades, the danger of sharing resources between programs has been repeatedly highlighted. Multiple side-channel attacks, which seek to exploit shared components for leaking information, have been devised, mostly targeting shared caching components. In response, the research community has proposed multiple cache designs that aim at curbing the source of side channels. With multiple competing designs, there is a need for assessing the level of security against side-channel attacks that each design offers. In this work we propose CacheFX, a flexible framework for assessing and evaluating the resilience of cache designs to side-channel attacks. CacheFX allows the evaluator to implement various cache designs, victims, and attackers, as well as to exercise them for assessing the leakage of information via the cache. To demonstrate the power of CacheFX, we implement multiple cache designs and replacement algorithms, and devise three evaluation metrics that measure different aspects of the caches:(1) the entropy induced by a memory access; (2) the complexity of building an eviction set; and (3) protection against cryptographic attacks. Our experiments highlight that different security metrics give different insights to designs, making a comprehensive analysis mandatory. For instance, while eviction-set building was fastest for randomized skewed caches, these caches featured lower eviction entropy and higher practical attack complexity. Our experiments show that all non-partitioned designs allow for effective cryptographic attacks. However, in state-of-the-art secure caches, eviction-based attacks are more difficult to mount than occupancy-based attacks, highlighting the need to consider the latter in cache design.