首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux内核如何处理只针对谱变体1而不是变体2修补的新芯片?

Linux内核如何处理只针对谱变体1而不是变体2修补的新芯片?
EN

Unix & Linux用户
提问于 2019-02-28 22:38:41
回答 1查看 432关注 0票数 6

芯片如何修补幽灵变体1和熔毁熔毁,如威士忌湖和琥珀湖,如何处理谱变体2?我在找一台新笔记本电脑。目前正在评估联想x390。它将与威士忌湖一起上市,该公司声称对熔毁和幽灵变体有硬件修复。

根据南德科技公司的说法

最大的性能标志是解决谱变体2。当软件修复时,英特尔预计性能将下降3%至10%,这取决于工作负载--在硬件修复时,英特尔表示性能下降要小得多,但预计新平台(比如Cascade Lake)将提供更好的整体性能。威士忌湖和琥珀湖都没有减轻v2的影响,但是威士忌湖对一些更危险的攻击(如v3和L1TF )进行了修复。威士忌湖也提供新的性能回收箱,因为该平台也在14++上,这将有助于提高性能和动力。

因此,我的问题是,如果在新的芯片(威士忌湖和琥珀湖),是否有什么在性能上得到的只是修复幽灵变体1和熔毁?他们只有2/3 CPU漏洞的硬件补丁会为内核提供硬件上的任何优势吗?或者Linux是否会应用同样严重的软件缓解措施来防止谱变体2的影响?

EN

回答 1

Unix & Linux用户

发布于 2019-03-01 21:19:51

这将是一个以情报为中心的答案。

请注意,在内核级别上,谱/熔毁缓解不是一个单一的整体块,但是每个谱/熔毁变量都有自己的缓解措施集。

熔毁

崩溃的内核级缓解称为页面表隔离。内核可以自己完成它,对性能有很大的影响。

如果processor+microcode提供进程上下文IDentifiers (PCID),甚至如果处理器中有INVPCID指令,则会有所帮助:根据微码在每个特定处理器模型上所能做的,安装熔毁修复的微码更新会增加其中一个或两个功能。Linux当然可以在可用的情况下使用它们,并且它们可以显著减少熔毁缓解对性能的影响。

当然,最好的情况是如果页面表完全不需要隔离,这显然就是崩溃的“硬件”修复的意思。

如果您认为您的系统足够安全,性能对您更重要,有一个选项可以关闭熔毁修复。

谱变式1

通过修补编译器以在特定情况下更仔细地处理指针,然后使用修补的编译器重新构建内核(和管理程序,如果有的话)和任何安全性关键的二进制文件,就可以缓解这一问题。这已经完成了。它为编译后的代码中的关键位置添加了一些额外的指令,这使得程序稍微大了一些,执行速度也慢了一些,但幸运的是,两者之间的差别通常很小。

据我所知,微码和处理器设计在这里做得不多:甚至连级联湖也只表示对此进行OS/VMM级别的修复。

谱变式2

这是一个棘手的问题,而且可能很难修复,因为真正的修复需要在CPU设计理论层面上进行一些创新。

即使没有CPU hardware+microcode的任何帮助,内核也可以实现重极化,即RETurn指令蹦床。这是一种汇编程序级的编程技术。与熔毁缓解一样,由于实现这一点会从系统性能中去除一个重要的部分,因此您可以选择禁用此缓解措施,因为您需要的性能比安全性更高。

CPU+microcode可以再次提供一些新的特性,从而使内核更容易减轻V2的影响:

  • 间接分支限制投机(IBRS),基本上是CPU分支预测器中的一种可切换模式,它防止用户空间代码在用户->内核模式转换过程中影响内核空间中的分支预测。
  • 间接分支预测障碍( IBPB ):基本上是一种新的CPU指令,它在影响IBPB指令后代码中的分支预测之前停止任何代码。
  • 单线程间接分支预测器(STIBP):阻止位于同一核上的超线程共享分支预测信息的方法。

Linux内核可以在适当的地方使用这些特性,以帮助最小化由于retpoline技术而造成的性能损失。

有关更多细节,请参见英特尔PDF.

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/503658

复制
相关文章

相似问题

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