Speculative execution attacks leverage the speculative and out-of-order execution features in modern computer processors to access secret data or execute code that should not be executed. Secret information can then be leaked through a covert channel. While software patches can be installed for mitigation on existing hardware, these solutions can incur big performance overhead. Hardware mitigation is being studied extensively by the computer architecture community. It has the benefit of preserving software compatibility and the potential for much smaller performance overhead than software solutions. This paper presents a systematization of the hardware defenses against speculative execution attacks that have been proposed. We show that speculative execution attacks consist of 6 critical attack steps. We propose defense strategies, each of which prevents a critical attack step from happening, thus preventing the attack from succeeding. We then summarize 20 hardware defenses and overhead-reducing features that have been proposed. We show that each defense proposed can be classified under one of our defense strategies, which also explains why it can thwart the attack from succeeding. We discuss the scope of the defenses, their performance overhead, and the security-performance trade-offs that can be made.
翻译:投机性执行攻击利用现代计算机处理器中的投机性和失序性执行功能来获取不应执行的秘密数据或执行代码。 秘密信息可以通过秘密渠道泄漏。 虽然软件补丁可以对现有硬件安装,但这些解决方案可能会产生巨大的性能管理费用。 计算机架构界正在广泛研究硬件减少问题。 它的好处是保存软件兼容性,并且比软件解决方案更小得多的性能管理费用的潜力。 本文介绍了针对投机性执行攻击的硬件防御系统化。 我们显示,投机性执行攻击包括6个关键攻击步骤。 我们提出了防御战略,其中每一个战略都防止了重大攻击步骤的发生,从而防止了攻击的发生。 我们随后总结了20个拟议中的硬件防御和间接费用降低功能。 我们表明,提出的每一项防御可以按照我们的防御战略之一分类,这也解释了为什么它能够阻止攻击的失败。 我们讨论了防御范围、其性执行间接费用以及可以实现的安全性交易。