微软在 Windows 10 1809版本引入了 Retpoline 修复补丁。但是却不是默认开启的,本文将会简单的说明 Retpoline ,以及手动启用方法。
2019-03-07 请注意,当前版本会导致某些情况下出现性能下降!!!在微软重新发布前建议卸载 KB4482887
补丁
2019-03-20 官方已于 2019-03-12 日放出修复补丁 KB4489899
强烈建议安装
什么是 Retpoline 呢?
2018年1月4日,Google 在其安全博客上详细介绍了新技术 “Retpoline”,该技术能够以微不足道的处理器开销克服 Spectre 漏洞。它涉及在编译器编译时让间接分支跳转到不同的目标,减少易受攻击的乱序执行发生。虽然这项技术面向x86指令集开发,Google 工程师认为该技术也可以用于其他处理器。
简单来说,就是谷歌为了解决/减少目前 Meltdown 和 Spectre 漏洞补丁对性能产生的 5% - 30% 的影响,开发了名为 Retpoline 的基于软件的修复方案。Retpoline 方案旨在提高 Windows 和 Linux 平台中 Spectre Variant 2 的性能。
微软的一篇博客文章中表示,目前在 Windows 客户端设备上默认禁用此功能,当然该文章中也写明了启用方法。
需要注意的是, Retpoline 将会在 19H1 版本默认启用。下面我便会写出尝鲜办法。
启用方法
首先,以管理员身份打开命令提示符或 PowerShell 并输入以下内容。
1 |
|
接下来,重启计算机,重启完成后,以管理员身份运行 PowerShell 并输入以下内容
1 |
|
安装过程全部回复 Y,完成后,会返回一大堆信息,如果内容与下面一致即说明启用成功。
1 |
|
参考链接
Google, 성능저하 없이 Spectre 취약점을 패치할 수 있는 Retpoline 공개
Mitigating Spectre variant 2 with Retpoline on Windows
幽灵漏洞
Retpoline: a software construct for preventing branch-target-injection