进入、退出、页错误、泄露:测试微架构泄露的隔离边界
摘要
CPU提供虚拟化和特权级别等隔离机制来保护软件。然而这些机制主要关注架构层面的隔离,通常忽略了微架构侧信道,以Meltdown和Foreshadow为例。因此,软件必须通过临时的微架构补丁来补充架构防御,随着新攻击的出现和防御措施的提出,这些补丁不断演变。这种被动方法使得确保完全隔离成为一项艰巨的任务,并留下了错误和疏忽的空间。
我们通过开发一种工具来解决这个问题,该工具对虚拟机、内核和进程等安全域之间的微架构隔离进行压力测试,目标是检测隔离边界中的缺陷。该工具扩展了基于模型的关系测试(MRT)方法,以支持跨域信息泄露的检测。我们设计了一个新的测试用例生成器和执行沙箱来处理多域执行,新的泄露模型来编码预期泄露,以及新的分析技术来管理非确定性。
我们使用这个工具对六款x86-64 CPU进行了深入的测试活动,检测不同隔离边界的泄露。测试活动暴露了四个新的泄露,并证实了许多已知的泄露,整个活动中仅有两个误报。这些结果显示了当前隔离机制中的关键差距,并验证了检测微架构缺陷的强大方法。因此,这种方法使得处理器设计能够从被动修补转向主动安全验证。
评论
已接受于IEEE SP 2025;因禁运延迟;将出现在IEEE SP 2026
主题
密码学与安全(cs.CR)
引用为
arXiv:2507.06039 [cs.CR] (或此版本的arXiv:2507.06039v1 [cs.CR])
https://doi.org/10.48550/arXiv.2507.06039
提交历史
来自:Oleksii Oleksenko [查看邮箱] [v1] 2025年7月8日星期二 14:41:18 UTC(155 KB)