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