早些時候曝光的幽靈(Spectre)和熔毀(Meltdown)安全漏洞,給處理器的“推測執行”功能蒙上了一層陰影。 為了防止被惡意攻擊者用來竊取敏感數據,處理器廠商不得不推出了“可能對性能造成高達 30% 影響”的微代碼補丁。 好消息是,各大科技企業一直在努力降低這一問題的影響。比如微軟就計劃在 Windows 10 的下一個重大版本(19H1)中部署 Retpoline 。

Windows 10 19H1啟用Retpoline幽靈補丁性能

除了更新 CPU 微代碼,Retpoline 也是一種能夠緩解“2 號變種”(CVE-2017-5715)影響的軟件方案。 如有需要,它可以深入操作系統的內核、庫、以及特定的軟件程序中。

在 Windows 19H1 系統中,Alex Ionescu 發現‘Retpoline Kernel’功能已啟用。 Surface Pro 4 的文件系統基準測試表明,其傳輸速度有了很大的改善,尤其是小塊的文件。

簡而言之,如果說早前的補丁讓 處理器 性能“一夜縮回 5~10 年前”,那新方案將只會造成 1~2% 的影響。

Windows 10 19H1啟用Retpoline幽靈補丁性能

Windows 內核團隊專家 Mehmet Iyigun 解釋到:

19H1 的飛行測試,已經默認啟用 Retpoline 。它能夠極大地改善因為內核模式的非直接調用,對預取性能帶來的影響。

結合‘導入優化’,這套組合拳能夠將大多數場景下的‘噪音水平’(幽靈 v2 漏洞緩解措施對預取造成的影響)控制在極低的水平。

遺憾的是, 微軟 似乎沒有“向后移植”該修復程序的想法。

這意味著 Windows 10 用戶必須更新到該操作系統的最新版本,才能享受到性能恢復帶來的益處。

對于那些偏好‘經過充分測試的穩定版操作系統’的用戶來說,這顯然存在著一定的爭議。

微軟Windows/Azure內核團隊人員表示,

是的,我們在19H1版本中默認啟用了retpoline以及我們所謂的“導入優化”,以進一步減少由于內核模式中的間接調用而導致的性能影響。結合起來,這些將減少Spectre v2在大多數情況的影響。

從體驗上講,這意味著Spectre將不再使我們的處理器性能下降回到5到10年前水平,最終會導致修復Spectre漏洞僅產生1-2%的性能影響。