gpt4 book ai didi

assembly - 与 Spectre #2 相比,LFENCE 真的没用吗?

转载 作者:行者123 更新时间:2023-12-04 09:47:39 30 4
gpt4 key购买 nike

有谁知道为什么建议 LFENCE 指令在 Spectre #1(边界检查绕过/越界读取)的情况下停止推测执行,但在 Spectre #2(分支目标注入(inject))的情况下没用?这两个 Spectre 漏洞都与推测执行有关,并且正在利用分支预测器。据我了解,在第一种情况下涉及通用预测器,在第二种情况下涉及间接调用预测器。如果我开始使用 LFENCE 来防止基于间接调用预测器的推测性执行以减轻 Spectre #2,它会有用吗?

最佳答案

来自 Spectre paper

7 Mitigation Options

The conditional branch vulnerability can be mitigated if speculative execution can be halted on potentially- sensitive execution paths.



这意味着如果你有类似的代码
if (security critical check)
execute critical code
else
do not execute critical code

那么您需要将序列化指令放在安全关键代码之前:
if (security critical check)
lfence
execute critical code
else
do not execute critical code

以避免对支票的猜测可能泄露信息。

在 Spectre #2 中,攻击者控制 CPU 推测执行将继续的“入口点”。推杆
lfence
critical code

没有帮助,因为攻击者不必导致预测以 lfence 为目标。 ,他们可以使它针对 critical code直接地。

关于assembly - 与 Spectre #2 相比,LFENCE 真的没用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48445290/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com