早些時候曝光的幽靈(Spectre)和熔毀(Meltdown)安全漏洞,給處理器的“推測執(zhí)行”功能蒙上了一層陰影。 為了防止被惡意攻擊者用來竊取敏感數(shù)據(jù),處理器廠商不得不推出了“可能對性能造成高達(dá) 30% 影響”的微代碼補丁。 好消息是,各大科技企業(yè)一直在努力降低這一問題的影響。比如微軟就計劃在 Windows 10 的下一個重大版本(19H1)中部署 Retpoline 。
除了更新 CPU 微代碼,Retpoline 也是一種能夠緩解“2 號變種”(CVE-2017-5715)影響的軟件方案。 如有需要,它可以深入操作系統(tǒng)的內(nèi)核、庫、以及特定的軟件程序中。
在 Windows 19H1 系統(tǒng)中,Alex Ionescu 發(fā)現(xiàn)‘Retpoline Kernel’功能已啟用。 Surface Pro 4 的文件系統(tǒng)基準(zhǔn)測試表明,其傳輸速度有了很大的改善,尤其是小塊的文件。
簡而言之,如果說早前的補丁讓 處理器 性能“一夜縮回 5~10 年前”,那新方案將只會造成 1~2% 的影響。
Windows 內(nèi)核團隊專家 Mehmet Iyigun 解釋到:
19H1 的飛行測試,已經(jīng)默認(rèn)啟用 Retpoline 。它能夠極大地改善因為內(nèi)核模式的非直接調(diào)用,對預(yù)取性能帶來的影響。
結(jié)合‘導(dǎo)入優(yōu)化’,這套組合拳能夠?qū)⒋蠖鄶?shù)場景下的‘噪音水平’(幽靈 v2 漏洞緩解措施對預(yù)取造成的影響)控制在極低的水平。
遺憾的是, 微軟 似乎沒有“向后移植”該修復(fù)程序的想法。
這意味著 Windows 10 用戶必須更新到該操作系統(tǒng)的最新版本,才能享受到性能恢復(fù)帶來的益處。
對于那些偏好‘經(jīng)過充分測試的穩(wěn)定版操作系統(tǒng)’的用戶來說,這顯然存在著一定的爭議。
微軟Windows/Azure內(nèi)核團隊人員表示,
是的,我們在19H1版本中默認(rèn)啟用了retpoline以及我們所謂的“導(dǎo)入優(yōu)化”,以進一步減少由于內(nèi)核模式中的間接調(diào)用而導(dǎo)致的性能影響。結(jié)合起來,這些將減少Spectre v2在大多數(shù)情況的影響。
從體驗上講,這意味著Spectre將不再使我們的處理器性能下降回到5到10年前水平,最終會導(dǎo)致修復(fù)Spectre漏洞僅產(chǎn)生1-2%的性能影響。