中文

Spectre 挥之不去:侧信道与推测执行的剖析

编程语言 2019-02-15 v1 密码学与安全

摘要

Spectre 与 Meltdown 攻击的近期发现不仅是计算机安全领域,也是编程语言领域的一个分水岭时刻。本文探讨推测侧信道攻击及其对编程语言的影响。这些攻击通过微体系结构侧信道泄露信息,我们表明这些侧信道并非 mere bug,实际上位于优化的基础之中。我们确定了三个开放问题:(1) 发现侧信道,(2) 理解推测漏洞,以及 (3) 缓解它们。对于 (1),我们引入一个数学元模型,阐明仿真与 CPU 中侧信道的来源。对于 (2),我们引入一个具有推测语义的体系结构模型来研究最近发现的漏洞。对于 (3),我们探索并评估软件缓解措施,并针对该模型证明其中一种是正确的。我们的分析得益于针对 Chrome 中生产级 JavaScript 虚拟机 V8 的大量攻击性研究与防御性实现工作。对真实硬件建模的直接扩展表明,这些漏洞对有效、高效的缓解提出了巨大挑战。作为我们工作的结果,我们现在认为当今硬件上的推测漏洞击败了所有语言强制的机密性,且没有已知全面的软件缓解措施,因为我们发现不可信代码可以构造一个通用读取 gadget,通过侧信道读取同一地址空间中的所有内存。面对这一现实,我们已将 Chrome 网页浏览器和 V8 的安全模型转向进程隔离。

关键词

引用

@article{arxiv.1902.05178,
  title  = {Spectre is here to stay: An analysis of side-channels and speculative execution},
  author = {Ross Mcilroy and Jaroslav Sevcik and Tobias Tebbi and Ben L. Titzer and Toon Verwaest},
  journal= {arXiv preprint arXiv:1902.05178},
  year   = {2019}
}

备注

26 pages