本文档属于类型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年Spectre和Meltdown漏洞曝光以来,CPU的安全隔离机制屡遭破坏。尽管云服务提供商和客户逐渐采用基于AMD SEV、Intel TDX和ARM CCA等平台的机密虚拟机技术,但这些技术仍无法完全抵御瞬态执行攻击。这些攻击通过共享CPU核心的微架构状态(如缓存、TLB等)泄露敏感信息,严重威胁云环境的安全性。
本研究旨在提出一种核心隔离(core gapping)的软件解决方案,通过确保不信任的代码不共享同一CPU核心,从而消除同核心的侧信道攻击和瞬态执行漏洞。研究的目标是在不依赖硬件修改的情况下,实现机密虚拟机的核心隔离,并评估其性能表现。
问题分析与背景研究
研究首先分析了瞬态执行攻击的现状及其对机密虚拟机的威胁,梳理了现有的硬件和软件缓解措施及其局限性。
核心隔离设计
提出了核心隔离机密虚拟机(core-gapped confidential VMs)的设计方案,包括:
原型实现
在ARM CCA平台上实现了一个原型系统,具体包括:
性能评估
在ARMv8硬件平台上对原型系统进行了性能测试,评估了核心隔离对CPU密集型、I/O密集型和网络密集型工作负载的影响。
CPU密集型工作负载
核心隔离虚拟机在CPU密集型工作负载下表现出与共享核心虚拟机相当的性能,甚至在某些情况下由于更高的局部性而略有提升。
I/O密集型工作负载
对于虚拟I/O(如virtio网络接口),核心隔离虚拟机的性能较差,延迟增加了2倍,吞吐量降低了30%-70%。然而,对于硬件虚拟化I/O(如SR-IOV网络接口),性能接近基线水平。
应用基准测试
核心隔离虚拟机在CPU密集型工作负载下表现优异,能够有效抵御瞬态执行攻击。尽管在虚拟I/O场景下存在性能开销,但随着硬件虚拟化I/O的普及,核心隔离虚拟机的性能有望进一步提升。
本研究提出了一种创新的核心隔离机制,能够有效抵御瞬态执行攻击对机密虚拟机的威胁。通过软件修改和性能优化,核心隔离虚拟机在CPU密集型工作负载下表现出色,为云计算环境的安全性提供了新的解决方案。