MicroScope, and microarchitectural replay attacks in general, take advantage of the characteristics of speculative execution to trap the execution of the victim application in an infinite loop, enabling the attacker to amplify a side-channel attack by executing it indefinitely. Due to the nature of the replay, it can be used to effectively attack security critical trusted execution environments (secure enclaves), even under conditions where a side-channel attack would not be possible. At the same time, unlike speculative side-channel attacks, MicroScope can be used to amplify the correct path of execution, rendering many existing speculative side-channel defences ineffective. In this work, we generalize microarchitectural replay attacks beyond MicroScope and present an efficient defence against them. We make the observation that such attacks rely on repeated squashes of so-called "replay handles" and that the instructions causing the side-channel must reside in the same reorder buffer window as the handles. We propose Delay-on-Squash, a technique for tracking squashed instructions and preventing them from being replayed by speculative replay handles. Our evaluation shows that it is possible to achieve full security against microarchitectural replay attacks with very modest hardware requirements, while still maintaining 97% of the insecure baseline performance.
翻译:微子系统,以及微子系统重现一般攻击,利用投机性执行的特征,将受害者应用的执行置于无限环状中,使攻击者能够通过无限期地执行侧道攻击,从而通过执行它来扩大侧道攻击。由于重放的性质,它可以有效地攻击可信赖的安全执行环境(安全飞地),即使在不可能进行侧道攻击的条件下,也可以有效地攻击可信赖的安全环境(安全飞地)。与此同时,与投机性的侧道攻击不同,微子系统可以用来扩大正确的执行路径,使许多现有的投机性侧道防御无效。在这项工作中,我们把微子系统重播攻击的范围扩大到微子系统之外,并对他们提出有效的防御。我们观察到,这种攻击依靠所谓的“重弹手”反复的壁壁壁壁,造成侧道的指示必须和把手放在相同的重新命令缓冲窗口中。我们提议了延时,一种追踪压式指令并防止它们被重新弹用投机性重的侧道防御的技术。我们的评价显示,在进行稳妥的微级攻击的同时,我们仍有可能用稳重的硬的硬的硬的硬的底底要求来完成。