Skip to main content
QUICK REVIEW

[论文解读] Your Processor Leaks Information - and There's Nothing You Can Do About It

Qian Ge, Yuval Yarom|arXiv (Cornell University)|Dec 14, 2016
Security and Verification in Computing参考文献 41被引用 12
一句话总结

本文证明,现代x86和ARM处理器即使在操作系统的刷新机制下,仍会通过微架构时序通道(如缓存、分支预测器和预取器)固有地泄露信息。作者表明,即使应用了所有已知的缓解措施,残留的高容量通道依然存在,证明当代主流处理器若无硬件级别的状态分区或刷新支持,无法抵御此类侧通道攻击。

ABSTRACT

Timing channels are information flows, encoded in the relative timing of events, that bypass the system's protection mechanisms. Any microarchitectural state that depends on execution history and affects the rate of progress of later executions potentially establishes a timing channel, unless explicit steps are taken to close it. Such state includes CPU caches, TLBs, branch predictors and prefetchers; removing the channels requires that the OS can partition such state or flush it on a switch of security domains. We measure the capacities of channels based on these microarchitectural features on several generations of processors across the two mainstream ISAs, x86 and ARM, and investigate the effectiveness of the flushing mechanisms provided by the respective ISA.We find that in all processors we studied, at least one significant channel remains. This implies that closing all timing channels seems impossible on contemporary mainstream processors.

研究动机与目标

  • 调查在现代x86和ARM处理器上是否可以完全关闭微架构时序通道。
  • 测量由缓存、TLB、分支预测器和预取器等特性引发的时序通道容量。
  • 评估现有操作系统级别刷新机制在关闭这些通道方面的有效性。
  • 识别在已知对策下仍可被利用的微架构特性。
  • 主张当前指令集架构(ISA)不足以支持安全系统设计,并呼吁扩展硬件-软件合约。

提出的方法

  • 在x86和ARM处理器上实现针对所有已知缓存微架构特性的隐蔽时序通道。
  • 在多个处理器代际上测量开启与关闭操作系统级别刷新机制时的通道容量。
  • 分析指令预取行为及其在形成残留通道中的作用。
  • 评估分支目标缓冲区和分支历史缓冲区作为持久性时序通道源的有效性。
  • 使用探测技术结合置信区间量化通道容量和残留泄漏。
  • 评估现有ISA机制(如wbinvd)的局限性以及缺乏选择性缓存刷新的问题。

实验结果

研究问题

  • RQ1在现代x86和ARM处理器上,是否可以使用已知的操作系统级别刷新技术完全消除微架构时序通道?
  • RQ2在当代处理器上应用所有已知缓解措施后,残留通道容量是多少?
  • RQ3哪些微架构组件(如分支预测器、预取器)在刷新后仍可被利用?
  • RQ4为何残留通道依然存在,特别是在I-Cache和分支历史结构中?
  • RQ5当前ISA在多大程度上支持对依赖历史的微架构状态进行安全分区或刷新?

主要发现

  • 在所有测试的x86和ARM处理器上,即使进行了完整的操作系统级别刷新,仍至少存在一个显著的时序通道。
  • x86的分支目标缓冲区提供了一个无法通过现有技术缓解的时序通道。
  • x86的分支历史缓冲区以及更新的ARM平台也提供了一个无法修补的时序通道。
  • 在x86和ARM上均存在明显的I-Cache残留通道,其成因是指令预取。
  • 即使在完全缓解的情况下,Skylake上的TLB隐蔽通道仍保有0.11比特的残留容量,基线为0.06比特。
  • 本研究结论为:目前尚无任何已知机制能完全关闭所有微架构时序通道,导致当前主流处理器在机密工作负载中本质上不安全。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。