為應對處理器安全漏洞,美國時間1月8日,蘋果發(fā)布iOS、Safari和macOS三款軟件的安全更新,這三款軟件的最新版本分別為iOS 11.2.2、Safari 11.0.2和macOS High Sierra 10.13.2 ,其中macOS還有一個補?。⊿upplemental Update),用戶可以在蘋果官網下載。在發(fā)布這三款軟件安全更新說明中,蘋果表示:“為保護消費者,在調查未發(fā)生及補丁未準備好之前,蘋果沒有泄露、討論或確認這些安全問題。”據ZDNET報道,微軟為防止處理器漏洞而推出的最新更新導致部分AMD處理器系統(tǒng)崩潰。ZDNET稱,若干用戶在微軟論壇抱怨AMD Althon系統(tǒng)在更新了Windows 10安全補丁以后,系統(tǒng)爆出0x800f0845錯誤,之后不斷重啟嘗試更新或恢復系統(tǒng)。英特爾CEO科再奇在CES展上就人們關心的處理器安全漏洞做出回應,他說:
“預計在一周內,英特爾發(fā)布的更新將覆蓋過去5年內推出的90%以上產品,而針對其它產品的更新,將在今年一月底前發(fā)布。英特爾相信,這些安全更新對性能的影響在很大程度上取決于具體的工作負載。我們預計某些工作負載相對其它來說受到的影響會更大一些,英特爾將繼續(xù)與整個產業(yè)界一起協(xié)作,逐漸把對這些工作負載所帶來的影響減少到最低?!?
科再奇演講再一次證實,為防范幽靈(Spectre)或熔斷(Meltdown,也譯作熔毀)而打的補丁,確實會影響系統(tǒng)性能,只是影響比例根據應用狀況不同而有變化,有些影響甚微可視為無影響,但有些影響相對較大。
在英特爾1月4日的新聞稿中,蘋果、亞馬遜、谷歌和微軟都表示,
針對處理器漏洞的安全更新對性能影響很小甚至沒有影響。
具體測試結果包括:
蘋果:“我們的 GeekBench 4 基準測試以及 Speedometer、JetStream 和 ARES-6 等常見的 Web 瀏覽基準測試表明,2017 年 12 月的更新沒有顯著降低 macOS 和 iOS 設備的性能?!?
微軟:“絕大多數 Azure 客戶不會感受到此次更新對性能的影響。我們已經優(yōu)化了 CPU 和磁盤 I/O 路徑,在采納更新后沒有看到對性能產生明顯的影響?!?
亞馬遜:“我們沒有觀察到這對絕大多數 EC2 工作負載的性能有產生實際的影響?!?
谷歌:“在包括云基礎設施在內的大多數工作負載上,我們看到對性能的影響可以忽略不計?!?
但一些第三方測試結果并不支持影響甚微的說法。theregister引用部分社交媒體上行業(yè)專家觀點,稱補丁對Python和AWS部分應用性能影響較大。


引自theregister
Redhat 針對服務器的Linux 7企業(yè)版更新中,對英特爾“Haswell” Xeon E5 v3,“Broadwell” Xeon E5 v4,和“Skylake” Xeon SP處理器進行了測試。結果顯示,依據應用不同,性能下降從1%到19%不等。
英國網站TheNextPlatform的Timothy Prickett Morgan根據RedHat的測試結果進行推算,他表示,絕大多數企業(yè)數據中心都有大量虛擬化環(huán)境(the heavily virtualized environment),這種虛擬環(huán)境應用對補丁相對敏感,拉高了性能下降比例。如果假定服務器應用性能下降均值在10%左右,現在全球每年服務器市場在600億美元左右,10%的性能損失就是60億美元。這兩種漏洞影響的處理器至少有三到四代產品,全球存量約為4000萬臺。不考慮折舊,影響到的整個服務器市場累積規(guī)模在250億美元左右,即便考慮折舊,處理器安全漏洞造成的服務器應用損失也在百億美元以上。
當然,Timothy Prickett Morgan的算法值得商榷,但性能下降帶來的經濟損失無疑真實存在的,而且數目不會小。
中科院計算所工程師黃博文在果殼網發(fā)表的文章《你用了高性能CPU,我就可以窺探你的密碼》也提到了他對現在解決方案影響系統(tǒng)性能的看法:
針對熔毀漏洞,目前已有的技術手段主要是通過軟件層次將內核頁表與用戶頁表盡可能地隔離,這種技術的一個實現方案叫KAISER,其變種已經被各大操作系統(tǒng)采用作為熔毀漏洞的臨時補救措施。這種技術方案會提高用戶態(tài)與內核態(tài)的切換開銷,快速系統(tǒng)調用的初步測試證明,內核系統(tǒng)調用的速度降低到了原先的42%,而利用現代處理器的PCID特性進行優(yōu)化后,能夠恢復到57%的水平。具體的應用程序下降幅度取決于用戶程序與內核交互的頻繁程度,linxu kernel開發(fā)人員的測試結果從10%~20%+不等,PCID能夠彌補大約5%-7%的性能。
針對幽靈漏洞,目前沒有很好的防御方式,linux的發(fā)行版之一suse最近公開的一個安全更新顯示,AMD和Intel已經向相關OS廠商推送了一個微碼更新,這個微碼更新會關閉分支預測來暫時封堵幽靈漏洞。由于分支預測對性能影響巨大,即便分支預測只被關閉一部分也很容易造成性能衰退二代左右的幅度,如果整個分支預測器都被關閉,CPU性能將退回2000年以前的水平。對于這個更新是否將被應用,相關從業(yè)人士正在持續(xù)跟進關注。
黃博文對TechSugar表示,將分支預測器完全關閉,CPU性能退回2000年以前水平并非夸大其詞,雖然十幾年來半導體工藝進步提高了主頻,但是關閉分支預測相當于掐斷指令供應(instruction supply),沒有分支預測,指令級并行度就不再起作用,“再好的并行架構,都要有指令喂進去才能發(fā)揮作用。所以,關掉分支預測功能的高主頻現代CPU,實測性能將與開分支預測的低主頻90年代CPU差不多?!?
黃博文指出,雖然提供完全關閉分支預測選項的代碼已經推送,但他不認為這種方案會真去實施,因為這樣處理對性能影響實在太大。
當前,熔斷攻擊方式已經有明確案例演示,幽靈攻擊方式尚沒有熔斷方式研究得透徹,但不少專家表示,幽靈攻擊潛在風險更大,更難防御。如果最嚴重情況必須采用關閉分支預測來解決的話,對全球信息產業(yè)的影響就不是只有幾百億美元,性能拖回到2000年之前,造成的損失至少在數千億美元以上。
當然,當前全球各個主要相關廠商正在研究各種預防措施,最快迭代安全補丁以降低對性能的影響,而且黃博文告訴TechSugar,他了解到最新狀況是“分支預測不會被全關,而且可能會引入定時沖刷分支預測器記錄表之類方法?!?
據悉,美國已經有針對英特爾的數起集體訴訟,如果風險擴散,不知道是否有其他廠商也會被卷入。
1994年,英特爾為處理奔騰除法錯誤,付出了4.75億美元的代價,前一年英特爾營收為79.7億美元。2017年,據Gartner估算,英特爾銷售額為577億美元。

往期回顧

蘋果、高通、IBM均承認處理器有被攻擊風險
英特爾處理器被爆存嚴重漏洞,AMD或被波及
全都中招,各方詳解史上最大安全漏洞
也說英特爾猜測執(zhí)行的漏洞
詳解Intel漏洞怎么拿到內核數據的