為應(yīng)對處理器安全漏洞,美國時間1月8日,蘋果發(fā)布iOS、Safari和macOS三款軟件的安全更新,這三款軟件的最新版本分別為iOS 11.2.2、Safari 11.0.2和macOS High Sierra 10.13.2 ,其中macOS還有一個補?。⊿upplemental Update),用戶可以在蘋果官網(wǎng)下載。在發(fā)布這三款軟件安全更新說明中,蘋果表示:“為保護消費者,在調(diào)查未發(fā)生及補丁未準備好之前,蘋果沒有泄露、討論或確認這些安全問題?!睋?jù)ZDNET報道,微軟為防止處理器漏洞而推出的最新更新導(dǎo)致部分AMD處理器系統(tǒng)崩潰。ZDNET稱,若干用戶在微軟論壇抱怨AMD Althon系統(tǒng)在更新了Windows 10安全補丁以后,系統(tǒng)爆出0x800f0845錯誤,之后不斷重啟嘗試更新或恢復(fù)系統(tǒng)。英特爾CEO科再奇在CES展上就人們關(guān)心的處理器安全漏洞做出回應(yīng),他說:
“預(yù)計在一周內(nèi),英特爾發(fā)布的更新將覆蓋過去5年內(nèi)推出的90%以上產(chǎn)品,而針對其它產(chǎn)品的更新,將在今年一月底前發(fā)布。英特爾相信,這些安全更新對性能的影響在很大程度上取決于具體的工作負載。我們預(yù)計某些工作負載相對其它來說受到的影響會更大一些,英特爾將繼續(xù)與整個產(chǎn)業(yè)界一起協(xié)作,逐漸把對這些工作負載所帶來的影響減少到最低?!?
科再奇演講再一次證實,為防范幽靈(Spectre)或熔斷(Meltdown,也譯作熔毀)而打的補丁,確實會影響系統(tǒng)性能,只是影響比例根據(jù)應(yīng)用狀況不同而有變化,有些影響甚微可視為無影響,但有些影響相對較大。
在英特爾1月4日的新聞稿中,蘋果、亞馬遜、谷歌和微軟都表示,
針對處理器漏洞的安全更新對性能影響很小甚至沒有影響。
具體測試結(jié)果包括:
蘋果:“我們的 GeekBench 4 基準測試以及 Speedometer、JetStream 和 ARES-6 等常見的 Web 瀏覽基準測試表明,2017 年 12 月的更新沒有顯著降低 macOS 和 iOS 設(shè)備的性能。”
微軟:“絕大多數(shù) Azure 客戶不會感受到此次更新對性能的影響。我們已經(jīng)優(yōu)化了 CPU 和磁盤 I/O 路徑,在采納更新后沒有看到對性能產(chǎn)生明顯的影響?!?
亞馬遜:“我們沒有觀察到這對絕大多數(shù) EC2 工作負載的性能有產(chǎn)生實際的影響?!?
谷歌:“在包括云基礎(chǔ)設(shè)施在內(nèi)的大多數(shù)工作負載上,我們看到對性能的影響可以忽略不計。”
但一些第三方測試結(jié)果并不支持影響甚微的說法。theregister引用部分社交媒體上行業(yè)專家觀點,稱補丁對Python和AWS部分應(yīng)用性能影響較大。
引自theregister
Redhat 針對服務(wù)器的Linux 7企業(yè)版更新中,對英特爾“Haswell” Xeon E5 v3,“Broadwell” Xeon E5 v4,和“Skylake” Xeon SP處理器進行了測試。結(jié)果顯示,依據(jù)應(yīng)用不同,性能下降從1%到19%不等。
英國網(wǎng)站TheNextPlatform的Timothy Prickett Morgan根據(jù)RedHat的測試結(jié)果進行推算,他表示,絕大多數(shù)企業(yè)數(shù)據(jù)中心都有大量虛擬化環(huán)境(the heavily virtualized environment),這種虛擬環(huán)境應(yīng)用對補丁相對敏感,拉高了性能下降比例。如果假定服務(wù)器應(yīng)用性能下降均值在10%左右,現(xiàn)在全球每年服務(wù)器市場在600億美元左右,10%的性能損失就是60億美元。這兩種漏洞影響的處理器至少有三到四代產(chǎn)品,全球存量約為4000萬臺。不考慮折舊,影響到的整個服務(wù)器市場累積規(guī)模在250億美元左右,即便考慮折舊,處理器安全漏洞造成的服務(wù)器應(yīng)用損失也在百億美元以上。
當(dāng)然,Timothy Prickett Morgan的算法值得商榷,但性能下降帶來的經(jīng)濟損失無疑真實存在的,而且數(shù)目不會小。
中科院計算所工程師黃博文在果殼網(wǎng)發(fā)表的文章《你用了高性能CPU,我就可以窺探你的密碼》也提到了他對現(xiàn)在解決方案影響系統(tǒng)性能的看法:
針對熔毀漏洞,目前已有的技術(shù)手段主要是通過軟件層次將內(nèi)核頁表與用戶頁表盡可能地隔離,這種技術(shù)的一個實現(xiàn)方案叫KAISER,其變種已經(jīng)被各大操作系統(tǒng)采用作為熔毀漏洞的臨時補救措施。這種技術(shù)方案會提高用戶態(tài)與內(nèi)核態(tài)的切換開銷,快速系統(tǒng)調(diào)用的初步測試證明,內(nèi)核系統(tǒng)調(diào)用的速度降低到了原先的42%,而利用現(xiàn)代處理器的PCID特性進行優(yōu)化后,能夠恢復(fù)到57%的水平。具體的應(yīng)用程序下降幅度取決于用戶程序與內(nèi)核交互的頻繁程度,linxu kernel開發(fā)人員的測試結(jié)果從10%~20%+不等,PCID能夠彌補大約5%-7%的性能。
針對幽靈漏洞,目前沒有很好的防御方式,linux的發(fā)行版之一suse最近公開的一個安全更新顯示,AMD和Intel已經(jīng)向相關(guān)OS廠商推送了一個微碼更新,這個微碼更新會關(guān)閉分支預(yù)測來暫時封堵幽靈漏洞。由于分支預(yù)測對性能影響巨大,即便分支預(yù)測只被關(guān)閉一部分也很容易造成性能衰退二代左右的幅度,如果整個分支預(yù)測器都被關(guān)閉,CPU性能將退回2000年以前的水平。對于這個更新是否將被應(yīng)用,相關(guān)從業(yè)人士正在持續(xù)跟進關(guān)注。
黃博文對TechSugar表示,將分支預(yù)測器完全關(guān)閉,CPU性能退回2000年以前水平并非夸大其詞,雖然十幾年來半導(dǎo)體工藝進步提高了主頻,但是關(guān)閉分支預(yù)測相當(dāng)于掐斷指令供應(yīng)(instruction supply),沒有分支預(yù)測,指令級并行度就不再起作用,“再好的并行架構(gòu),都要有指令喂進去才能發(fā)揮作用。所以,關(guān)掉分支預(yù)測功能的高主頻現(xiàn)代CPU,實測性能將與開分支預(yù)測的低主頻90年代CPU差不多?!?
黃博文指出,雖然提供完全關(guān)閉分支預(yù)測選項的代碼已經(jīng)推送,但他不認為這種方案會真去實施,因為這樣處理對性能影響實在太大。
當(dāng)前,熔斷攻擊方式已經(jīng)有明確案例演示,幽靈攻擊方式尚沒有熔斷方式研究得透徹,但不少專家表示,幽靈攻擊潛在風(fēng)險更大,更難防御。如果最嚴重情況必須采用關(guān)閉分支預(yù)測來解決的話,對全球信息產(chǎn)業(yè)的影響就不是只有幾百億美元,性能拖回到2000年之前,造成的損失至少在數(shù)千億美元以上。
當(dāng)然,當(dāng)前全球各個主要相關(guān)廠商正在研究各種預(yù)防措施,最快迭代安全補丁以降低對性能的影響,而且黃博文告訴TechSugar,他了解到最新狀況是“分支預(yù)測不會被全關(guān),而且可能會引入定時沖刷分支預(yù)測器記錄表之類方法。”
據(jù)悉,美國已經(jīng)有針對英特爾的數(shù)起集體訴訟,如果風(fēng)險擴散,不知道是否有其他廠商也會被卷入。
1994年,英特爾為處理奔騰除法錯誤,付出了4.75億美元的代價,前一年英特爾營收為79.7億美元。2017年,據(jù)Gartner估算,英特爾銷售額為577億美元。
往期回顧
蘋果、高通、IBM均承認處理器有被攻擊風(fēng)險
英特爾處理器被爆存嚴重漏洞,AMD或被波及
全都中招,各方詳解史上最大安全漏洞
也說英特爾猜測執(zhí)行的漏洞
詳解Intel漏洞怎么拿到內(nèi)核數(shù)據(jù)的