arXivDaily arXiv每日学术速递 周一至周五更新
北美退伍军人节(Veterans Day),12 日无更新
arXiv 2007.11818cs.ARcs.CR
收藏

Speculative Interference Attacks:打破隐形投机阴谋

Speculative Interference Attacks: Breaking Invisible Speculation Schemes

Mohammad Behnia, Prateek Sahu, Riccardo Paccagnella, Jiyong Yu, Zirui Zhao, Xiang Zou, Thomas Unterluggauer, Josep Torrellas, Carlos Rozas, Adam Morrison, Frank… 展开作者

Mohammad Behnia, Prateek Sahu, Riccardo Paccagnella, Jiyong Yu, Zirui Zhao, Xiang Zou, Thomas Unterluggauer, Josep Torrellas, Carlos Rozas, Adam Morrison, Frank Mckeen, Fangfei Liu, Ron Gabor, Christopher W. Fletcher, Abhishek Basak, Alaa Alameldeen

摘要:

针对推测性执行的最新安全漏洞(例如,Spectre)对处理器设计提出了重大挑战。这个广为人知的漏洞使用推测性执行通过更改缓存状态来获取受害者机密。结果,最近的计算机体系结构研究集中在试图阻止由于推测执行而引起的高速缓存状态的改变的不可见推测机制上。先前的工作已经在以适度的性能成本防止Spectre和其他漏洞方面取得了重大成功。在本文中,我们介绍了投机性干扰攻击,这表明,以前的隐形投机机制并不能完全阻止这些投机为基础的攻击。我们提出两个关键的观察。首先,错误推测的较年轻的指令可以改变较老的、绑定到退休的指令的定时,包括存储器操作。第二,改变存储器操作的定时可以改变该存储器操作相对于其他存储器操作的顺序,从而导致对高速缓存状态的持久改变。使用这些观察,我们证明(在其他攻击变种),秘密信息访问错误推测的指令可以改变绑定到退休负载的顺序。因此,即使存在不可见的推测机制,加载时序的变化也会在缓存中留下秘密相关的变化。我们表明,这个问题是不容易解决的:投机性干扰转换为持久的缓存状态变化的时间变化,和时间通常被忽略了许多基于缓存的防御。我们开发了一个框架来理解攻击,并展示了具体的概念验证攻击无形的投机机制。我们提供的安全定义足以阻止投机性干扰攻击,描述了一个简单的防御机制,具有较高的性能成本,并讨论未来的研究如何提高其性能。

英文摘要:

Recent security vulnerabilities that target speculative execution (e.g., Spectre) present a significant challenge for processor design. The highly publicized vulnerability uses speculative execution to learn victim secrets by changing cache state. As a result, recent computer architecture research has focused on invisible speculation mechanisms that attempt to block changes in cache state due to speculative execution. Prior work has shown significant success in preventing Spectre and other vulnerabilities at modest performance costs. In this paper, we introduce speculative interference attacks, which show that prior invisible speculation mechanisms do not fully block these speculation-based attacks. We make two key observations. First, misspeculated younger instructions can change the timing of older, bound-to-retire instructions, including memory operations. Second, changing the timing of a memory operation can change the order of that memory operation relative to other memory operations, resulting in persistent changes to the cache state. Using these observations, we demonstrate (among other attack variants) that secret information accessed by mis-speculated instructions can change the order of bound-to-retire loads. Load timing changes can therefore leave secret-dependent changes in the cache, even in the presence of invisible speculation mechanisms. We show that this problem is not easy to fix: Speculative interference converts timing changes to persistent cache-state changes, and timing is typically ignored by many cache-based defenses. We develop a framework to understand the attack and demonstrate concrete proof-of-concept attacks against invisible speculation mechanisms. We provide security definitions sufficient to block speculative interference attacks; describe a simple defense mechanism with a high performance cost; and discuss how future research can improve its performance.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑