ReViCe: Reusing Victim Cache to Prevent Speculative Cache Leakage
ReViCe: Reusing Victim Cache to Prevent Speculative Cache Leakage
复制标题
DOI:
10.1109/secdev45635.2020.00029
复制
发表时间:
2020-09
期刊:
影响因子:
--
通讯作者:
Sungkeun Kim;Farabi Mahmud;Jiayi Huang-;Pritam Majumder;Neophytos Christou;A. Muzahid;Chia-che Tsai;Eun Jung Kim
中科院分区:
文献类型:
--
作者:
Sungkeun Kim;Farabi Mahmud;Jiayi Huang-;Pritam Majumder;Neophytos Christou;A. Muzahid;Chia-che Tsai;Eun Jung Kim
Spectre and Meltdown attacks reveal the perils of speculative execution, a prevalent technique used in modern processors. This paper proposes ReViCe, a hardware technique to mitigate speculation based attacks. ReViCe allows speculative loads to update caches early but keeps any replaced line in the victim cache. In case of misspeculation, replaced lines from the victim cache are used to restore the caches, thereby preventing any cache-based Spectre and Meltdown attacks. Moreover, ReViCe injects jitter to conceal any timing difference due to speculative lines. Together speculation restoration and jitter injection allow ReViCe to make speculative execution secure. We present the design of ReViCe following a set of security principles and evaluate its security based on shared-core and cross-core attacks exploiting various Spectre variants and cache side channels. Our scheme incurs 2-6% performance overhead. This is less than the state-of-the-art hardware approaches. Moreover, ReViCe achieves these results with minimal area and energy overhead (0.06% and 0.02% respectively).