分享自:

使用核心隔离的机密虚拟机阻止瞬态执行攻击

期刊:ACM International Conference on Architectural Support for Programming Languages and Operating SystemsDOI:10.1145/3622781.3674190

本文档属于类型a,即报告了一项原创性研究。以下是对该研究的详细学术报告:


作者及机构

本研究的主要作者为Charly Castes(来自EPFL和Google,瑞士洛桑)和Andrew Baumann(来自Google,瑞士苏黎世)。该研究发表于2024年4月27日至5月1日在美国加州拉霍亚举行的第29届ACM国际编程语言与操作系统架构支持会议(ASPLOS ‘24)上,并收录于ACM的会议论文集中。


学术背景

研究领域

本研究属于计算机体系结构与安全领域,特别是针对云计算环境中的虚拟机(VM)安全性问题。研究聚焦于瞬态执行攻击(transient-execution attacks)和CPU漏洞机密虚拟机(Confidential VMs, CVMs)的威胁。

研究动机

自2018年SpectreMeltdown漏洞曝光以来,CPU的安全隔离机制屡遭破坏。尽管云服务提供商和客户逐渐采用基于AMD SEV、Intel TDX和ARM CCA等平台的机密虚拟机技术,但这些技术仍无法完全抵御瞬态执行攻击。这些攻击通过共享CPU核心的微架构状态(如缓存、TLB等)泄露敏感信息,严重威胁云环境的安全性。

研究目标

本研究旨在提出一种核心隔离(core gapping)的软件解决方案,通过确保不信任的代码不共享同一CPU核心,从而消除同核心的侧信道攻击和瞬态执行漏洞。研究的目标是在不依赖硬件修改的情况下,实现机密虚拟机的核心隔离,并评估其性能表现。


研究流程

研究步骤

  1. 问题分析与背景研究
    研究首先分析了瞬态执行攻击的现状及其对机密虚拟机的威胁,梳理了现有的硬件和软件缓解措施及其局限性。

  2. 核心隔离设计
    提出了核心隔离机密虚拟机(core-gapped confidential VMs)的设计方案,包括:

    • 将虚拟机CPU(vCPU)绑定到特定的物理核心,避免与其他虚拟机或宿主机代码共享核心。
    • 通过修改可信固件(如ARM的RMM)实现核心隔离,确保虚拟机退出时不会将控制权交还给不信任的宿主机。
  3. 原型实现
    在ARM CCA平台上实现了一个原型系统,具体包括:

    • 修改ARM的可信固件(RMM)以支持核心隔离。
    • 开发跨核心的远程过程调用(RPC)机制,用于处理虚拟机退出事件。
    • 优化中断管理,减少虚拟机退出的频率。
  4. 性能评估
    在ARMv8硬件平台上对原型系统进行了性能测试,评估了核心隔离对CPU密集型、I/O密集型和网络密集型工作负载的影响。

研究对象与样本

  • 研究对象:基于ARM CCA平台的机密虚拟机。
  • 样本规模:实验使用了16个物理核心的服务器,测试了不同核心数量下的性能表现。

实验方法

  • CPU密集型工作负载:使用CoreMark-Pro基准测试评估核心隔离的性能。
  • I/O密集型工作负载:通过NetPipe和Redis基准测试评估网络和存储I/O的性能。
  • 应用基准测试:使用Linux内核构建和Redis服务器测试实际应用的性能。

创新方法

  • 核心隔离机制:通过软件修改实现核心隔离,无需硬件支持。
  • 跨核心RPC:开发了异步RPC机制,减少虚拟机退出的延迟。
  • 中断管理优化:将部分中断处理委托给可信固件,减少虚拟机退出的频率。

主要结果

数据与结论

  1. CPU密集型工作负载
    核心隔离虚拟机在CPU密集型工作负载下表现出与共享核心虚拟机相当的性能,甚至在某些情况下由于更高的局部性而略有提升。

  2. I/O密集型工作负载
    对于虚拟I/O(如virtio网络接口),核心隔离虚拟机的性能较差,延迟增加了2倍,吞吐量降低了30%-70%。然而,对于硬件虚拟化I/O(如SR-IOV网络接口),性能接近基线水平。

  3. 应用基准测试

    • Redis服务器在核心隔离虚拟机下的吞吐量提高了约10%,但延迟略有增加。
    • Linux内核构建的性能与共享核心虚拟机相当。

结论

核心隔离虚拟机在CPU密集型工作负载下表现优异,能够有效抵御瞬态执行攻击。尽管在虚拟I/O场景下存在性能开销,但随着硬件虚拟化I/O的普及,核心隔离虚拟机的性能有望进一步提升。


研究意义与价值

科学价值

  • 提出了一种新的软件解决方案,通过核心隔离消除瞬态执行攻击的威胁。
  • 为机密虚拟机的安全性提供了理论支持和实践验证。

应用价值

  • 为云服务提供商提供了一种可行的安全增强方案,能够在不修改硬件的情况下提升机密虚拟机的安全性。
  • 为未来的CPU设计和虚拟机技术提供了新的研究方向。

研究亮点

  1. 核心隔离机制:通过软件修改实现核心隔离,无需硬件支持,具有较高的实用性和可扩展性。
  2. 性能优化:通过跨核心RPC和中断管理优化,显著减少了虚拟机退出的开销。
  3. 广泛适用性:研究不仅适用于ARM平台,还可推广到Intel TDX和AMD SEV等其他机密虚拟机平台。

其他有价值的内容

  • 研究还探讨了核心隔离在Intel TDX和AMD SEV平台上的适用性,并提出了相应的设计思路。
  • 通过实验验证了核心隔离虚拟机在多种工作负载下的性能表现,为实际部署提供了参考。

总结

本研究提出了一种创新的核心隔离机制,能够有效抵御瞬态执行攻击对机密虚拟机的威胁。通过软件修改和性能优化,核心隔离虚拟机在CPU密集型工作负载下表现出色,为云计算环境的安全性提供了新的解决方案。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com