Shared processor caches are vulnerable to conflict-based side-channel attacks, where an attacker can monitor access patterns of a victim by evicting victim cache lines using cache-set conflicts. Recent mitigations propose randomized mapping of addresses to cache lines to obfuscate the locations of set-conflicts. However, these are vulnerable to new attacks that discover conflicting sets of addresses despite such mitigations, because these designs select eviction-candidates from a small set of conflicting lines. This paper presents Mirage, a practical design for a fully associative cache, wherein eviction candidates are selected randomly from all lines resident in the cache, to be immune to set-conflicts. A key challenge for enabling such designs in large shared caches (containing tens of thousands of cache lines) is the complexity of cache-lookup, as a naive design can require searching through all the resident lines. Mirage achieves full-associativity while retaining practical set-associative lookups by decoupling placement and replacement, using pointer-based indirection from tag-store to data-store to allow a newly installed address to globally evict the data of any random resident line. To eliminate set-conflicts, Mirage provisions extra invalid tags in a skewed-associative tag-store design where lines can be installed without set-conflict, along with a load-aware skew-selection policy that guarantees the availability of sets with invalid tags. Our analysis shows Mirage provides the global eviction property of a fully-associative cache throughout system lifetime (violations of full-associativity, i.e. set-conflicts, occur less than once in 10^4 to 10^17 years), thus offering a principled defense against any eviction-set discovery and any potential conflict based attacks. Mirage incurs limited slowdown (2%) and 17-20% extra storage compared to a non-secure cache.
翻译:共享进程缓冲器很容易受到冲突引发的侧通道攻击, 攻击者可以通过缓冲式冲突来通过驱逐受害者缓冲线来监测受害人的获取模式。 最近缓冲器建议随机绘制缓冲线地址图, 以掩盖设置冲突的地点。 然而, 这些容易受到新袭击, 发现相冲突的地址, 尽管这种缓解办法, 因为这些设计从一小串冲突线中选择了完全关联的缓冲器。 本文展示了“ 幻影 ”, 这是完全关联的缓冲器, 攻击者可以通过使用缓冲式缓冲式缓冲器来监测受害人的准入模式, 任意从缓冲式缓冲器中随机选择驱逐候选人, 避免设置冲突缓冲。 快速缓冲式缓冲器是一个关键挑战, 使大型共享缓冲器( 包含数万条缓冲线) 能够让这种设计成为缓冲式的缓冲器位图, 因为天真的设计方法需要通过所有居住线进行搜索。 奇观可以实现完全隐蔽状态, 同时保留实际的组合组合组合组合组合组合组合组合组合组合组合,, 透视视视( ) 10- 混和替换的缓冲式的缓冲式缓冲式的缓冲式的缓冲式的缓冲式的缓冲式的缓冲器),, 使用从标断断断路段断路段到从标断至可以让式的断断断断断路段,,,,,, 使用从标断路段内存系统可以让式的断路段,,,可以让让让让让让让让让让让让让让让让让让让让让让所有的断断断路, 。