首页> 外文会议>ACM/IEEE Annual International Symposium on Computer Architecture >TimeCache: Using Time to Eliminate Cache Side Channels when Sharing Software
【24h】

TimeCache: Using Time to Eliminate Cache Side Channels when Sharing Software

机译:时间安全:使用时间来消除在共享软件时消除缓存侧通道

获取原文

摘要

Timing side channels have been used to extract cryptographic keys and sensitive documents even from trusted enclaves. Specifically, cache side channels created by reuse of shared code or data in the memory hierarchy have been exploited by several known attacks, e.g., evict+reload for recovering an RSA key and Spectre variants for leaking speculatively loaded data.In this paper, we present TimeCache, a cache design that incorporates knowledge of prior cache line access to eliminate cache side channels due to reuse of shared software (code and data). Our goal is to retain the benefits of a shared cache of allowing each process access to the entire cache and of cache occupancy by a single copy of shared software. We achieve our goal by implementing per-process cache line visibility so that the processes do not benefit from cached data brought in by another process until they have incurred a corresponding miss penalty. Our design achieves low overhead by using a novel combination of timestamps and a hardware design to allow efficient parallel comparisons of the timestamps. The solution works at all the cache levels without the need to limit the number of security domains, and defends against an attacker process running on the same core, on a another hyperthread, or on another core.Our implementation in the gem5 simulator demonstrates that the system is able to defend against RSA key extraction. We evaluate performance using SPEC2006 and PARSEC and observe the overhead of TimeCache to be 1.13% on average. Delay due to first access misses adds the majority of the overhead, with the security context bookkeeping incurred at the time of a context switch contributing 0.02% of the 1.13%.
机译:即使从受信任的环绕声,定时侧频道已被用于提取加密密钥和敏感文档。具体地,通过几种已知的攻击重复利用共享代码或数据中的共享代码或数据创建的高速缓存侧信道,例如,用于恢复RSA密钥和幽灵变体的Revict +重新加载,用于泄漏推测性加载的数据。本文,我们存在TimeCache,一种高速缓存设计,其包括先前缓存行访问的知识,以消除由于共享软件(代码和数据)的重用而消除高速缓存侧信道。我们的目标是通过单个共享软件副本保留允许每个进程访问整个缓存和缓存占用的共享缓存的好处。我们通过实施每次流程缓存行能见度来实现我们的目标,以便该进程不会从另一个过程所带来的缓存数据中受益,直到他们产生了相应的错误罚款。我们的设计通过使用时间戳和硬件设计的新组合实现了低开销,以允许时间戳的有效平行比较。解决方案在所有缓存级别工作,无需限制安全域的数量,并防止在另一个超线程上或在另一个核心上运行的攻击者进程。在GEM5模拟器中的实现演示了系统能够防止RSA密钥提取。我们使用Spec2006和Parsec评估绩效,并观察时间内容的开销平均为1.13%。由于第一次访问未命中,延迟增加了大部分开销,在上下文切换时产生的安全上下文簿记有助于1.13%的0.02%。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号