中文

PMUSpill:性能监控单元中泄露 SGX 保护机密的计数器

密码学与安全 2022-07-26 v1

摘要

性能监控单元(PMU)是当前处理器上的重要硬件模块,它将处理器产生的事件计数到一组 PMU 计数器中。理想情况下,由已执行但结果未成功提交(瞬态执行)的指令触发的事件不应被记录。然而,本研究发现,由瞬态执行指令触发的部分 PMU 事件实际上会被 PMU 记录。基于此,我们提出 PMUSpill 攻击,使攻击者能够恶意泄露瞬态执行期间加载的机密数据。最大挑战在于如何将机密数据编码为 PMU 事件。我们构造了一个指令 gadget 来解决该挑战,其执行路径可由 PMU 计数器识别,从而表示机密数据的值。我们通过真实实验成功实施了 PMUSpill 攻击,泄露了存储在英特尔软件防护扩展(SGX)(英特尔处理器中的可信执行环境(TEE))中的机密数据。此外,我们通过遍历所有有效 PMU 计数器和指令,定位了存在漏洞的 PMU 计数器及其触发指令。实验结果表明,最多有 20 个 PMU 计数器可用于实施 PMUSpill 攻击。我们还提供了一些可能的基于硬件和软件的应对措施来缓解 PMUSpill 攻击,可用于增强未来处理器的安全性。

关键词

引用

@article{arxiv.2207.11689,
  title  = {PMUSpill: The Counters in Performance Monitor Unit that Leak SGX-Protected Secrets},
  author = {Pengfei Qiu and Yongqiang Lyu and Haixia Wang and Dongsheng Wang and Chang Liu and Qiang Gao and Chunlu Wang and Rihui Sun and Gang Qu},
  journal= {arXiv preprint arXiv:2207.11689},
  year   = {2022}
}