启用Retpoline解决“幽灵”漏洞补丁降低性能问题

去年初曝出的Intel、AMD和ARM处理器Meltdown(熔断)和Spectre(幽灵)内存崩溃漏洞让整个世界从恐慌中进入了2018年,虽然后来微软陆续推送了KB4090007等安全更新来修补此漏洞,但同时却带来了计算机性能下降的问题。后来Google开发的“Retpoline”修复方案则解决了性能下载问题,微软借鉴此方案,在前几天面向Win10 1809推送的KB4482887累积更新中也内置了Retpoline。但默认并没有启用,所以你需要按如下方法来启用Retpoline。

首先,因为微软目前仅向Win10 1809(2018年10月更新)推送了包含Retpoline的KB4482887安全更新,所以需要确认你已经升级到了该版本(版本号Build 17763.348,如何查看版本号)。如果你没有获取到KB4482887累积更新推送,可以到这里下载KB4482887累积更新离线安装包手动安装。

启用Retpoline的方法

然后打开注册表编辑器,定位至:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

PS:如何快速定位至注册表中某项

鉴于修改注册表有风险,所以建议修改前备份注册表(备份注册表的方法),或者创建系统还原点,以便出现问题时恢复。

在其下分别新建名为FeatureSettingsOverride和FeatureSettingsOverrideMask的DWORD(32位)值,数值数据均为 0x400 。

重启电脑后即成功启用Retpoline修复方案。

验证是否成功启用Retpoline

我们可以按如下方法检测是否已成功启用Retpoline:

以管理员身份运行Windows PowerShell,依次运行以下命令:

  • Install-Module -Name SpeculationControl
  • Set-ExecutionPolicy RemoteSigned
  • Import-Module SpeculationControl
  • Get-SpeculationControlSettings

如返回结果如下,则说明启用成功:

Speculation control settings for CVE-2017-5715 [branch target injection]

Hardware support for branch target injection mitigation is present: True

Windows OS support for branch target injection mitigation is present: True

Windows OS support for branch target injection mitigation is enabled: True

BTIKernelRetpolineEnabled : True

BTIKernelImportOptimizationEnabled : True

...

参考文档:Mitigating Spectre variant 2 with Retpoline on Windows

  • 微信扫码捐赠
  • 微信扫码捐赠
  • 如果帮到了您,您可以赞助我一下!
  • 支付宝扫码捐赠
  • 支付宝扫码捐赠
  • 不论多少,我都向您表示特别的感谢!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: