Skip to main content
QUICK REVIEW

[论文解读] Prevention of Microarchitectural Covert Channels on an Open-Source 64-bit RISC-V Core

Nils Wistoff, Moritz Schneider|arXiv (Cornell University)|May 1, 2020
Security and Verification in Computing参考文献 25被引用 11
一句话总结

本文提出了一种新的 RISC-V fence 指令 fence.t,使操作系统能够在上下文切换时刷新所有微架构状态,包括缓存有效位和替换策略等二级状态。在一款开源的 64 位 RISC-V 核心上进行评估,fence.t 仅带来 320 个周期的开销和可忽略的硬件成本,成功消除了五种已知的微架构侧信道,证明硬件辅助的时间保护在现代系统安全中既可行又必不可少。

ABSTRACT

Covert channels enable information leakage across security boundaries of the operating system. Microarchitectural covert channels exploit changes in execution timing resulting from competing access to limited hardware resources. We use the recent experimental support for time protection, aimed at preventing covert channels, in the seL4 microkernel and evaluate the efficacy of the mechanisms against five known channels on Ariane, an open-source 64-bit application-class RISC-V core. We confirm that without hardware support, these defences are expensive and incomplete. We show that the addition of a single-instruction extension to the RISC-V ISA, that flushes microarchitectural state, can enable the OS to close all five evaluated covert channels with low increase in context switch costs and negligible hardware overhead. We conclude that such a mechanism is essential for security.

研究动机与目标

  • 评估在开源 64 位 RISC-V 核心上是否存在微架构侧信道及其容量。
  • 评估在缺乏硬件支持的情况下,纯软件防御对这类侧信道的有效性,特别是其效率。
  • 证明仅重置一阶微架构状态(例如有效位)不足以防止侧信道泄露。
  • 设计并评估一种新的硬件指令 fence.t,以实现对可利用微架构状态的完全刷新。
  • 证明此类机制在现代操作系统中对原则性防御时序通道既实际又必要。

提出的方法

  • 作者实现了一种新的 RISC-V 指令 fence.t,允许操作系统有选择地刷新多个组件中的微架构状态,包括缓存、TLB、分支预测器和预取器。
  • fence.t 指令的设计不仅刷新主要状态(如缓存行中的有效位),还刷新二级状态,例如缓存替换策略的状态机。
  • 该机制被集成到 Ariane RISC-V 核心中,这是一个有序、64 位、面向应用的处理器,并使用自定义的侧信道测量框架进行评估。
  • 作者测量了 fence.t 的延迟和硬件成本,特别关注缓存刷新操作,并与现有的纯软件方法进行比较。
  • 他们评估了该指令在对抗五种已知微架构侧信道(包括基于缓存、TLB 和分支预测器的时序侧信道)方面的有效性。
  • 通过 FPGA 测量硬件资源利用率,以评估面积和功耗开销,确认影响极小。

实验结果

研究问题

  • RQ1已知的微架构侧信道是否可以在开源 64 位 RISC-V 核心上成功利用?
  • RQ2在现代 RISC-V 处理器上,仅通过软件缓解微架构时序侧信道是否既有效又高效?
  • RQ3仅重置一阶微架构状态(如有效位)是否足以防止侧信道泄露,还是二级状态仍可被利用?
  • RQ4一种新的硬件指令 fence.t 是否能提供一种完整且低开销的解决方案,用于刷新所有可利用的微架构状态?
  • RQ5将此类机制集成到真实 RISC-V 核心中,其性能和硬件成本影响如何?

主要发现

  • 在未经修改的 Ariane RISC-V 核心上,成功演示了五种已知的微架构侧信道——基于缓存、TLB、分支预测器和预取器的侧信道,其容量与 Intel 和 Arm 处理器上的相当。
  • 发现纯软件缓解策略成本过高且无效,尤其是在仅重置一阶状态(如有效位)的情况下。
  • 二级微架构状态(如控制缓存行替换策略的状态机)仍可被利用为侧信道,证明部分刷新是不够的。
  • 所提出的 fence.t 指令成功消除了所有五种侧信道,将泄露降低至测量精度以下。
  • fence.t 指令在 Ariane 核心上仅引入了 320 个周期的开销,对于典型 1 kHz 或更低的分区切换频率而言可忽略不计。
  • FPGA 上的硬件资源利用率显示 LUT 使用量增加不足 1%,表明面积和功耗开销极小。

更好的研究,从现在开始

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

无需绑定信用卡

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