首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分支预测器刷新指令是一个完整的谱修正吗?

分支预测器刷新指令是一个完整的谱修正吗?
EN

Security用户
提问于 2018-01-04 13:20:23
回答 1查看 1.3K关注 0票数 8

据我所知,谱的工作主要是利用分支预测状态。边界检查旁路和分支目标注入是同一枚硬币的两个面,是投机执行与分支预测器的交互。

现在,当我听到这个消息时,我想我们需要一条指令来清除分支预测器状态。这样的指令可以在将上下文从用户空间切换到内核空间时使用,反之亦然,或者在两个用户空间进程之间使用。

显然不是只有我一个人参与。对于幽灵到底有多坏?和Mark提出的同样的问题,马克有一个很好的答案。这也是在真实世界技术论坛上提出的。

然而,这是对幽灵的完全修复吗?对于那些需要在运行同样可信代码的用户空间进程中运行不可信代码的VM(如JVM)呢?指令能否帮助确保这些越南船民的安全?

EN

回答 1

Security用户

回答已采纳

发布于 2018-01-04 23:11:17

一个预测-冲洗指令是必要的,但不足以保护免受幽灵.A 对幽灵攻击的全面保护需要两件事

  1. 在上下文切换上刷新分支预测器状态。这防止了一个进程通过赋予每个进程自己的分支预测器状态来攻击另一个进程。但是,它并不阻止进程的沙箱组件(例如JIT编译的Javascript)攻击同一进程的其他组件。
  2. 分支预测器状态必须考虑分支指令的完整地址(目前,为了节省空间,只使用低阶位)。这将防止进程自身受到攻击,因为进程的不同部分必须有不同的地址。但是,它并不阻止一个进程攻击另一个进程,因为不同的进程可能使用相同的地址。
票数 7
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/176678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档