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