示意圖,與新聞事件無關。

圖片來源: 

Google

上周由Google Project Zero揭露CPU 3項漏洞讓所有電腦產業及客戶陷入一場忙亂。最令人為難的是,漏洞修補完成後會影響電腦及伺服器的效能。不過Google指出該公司卻能在不影響Google Cloud客戶系統效能下完成漏洞修補。Google也公佈了其中祕訣所在。 

引起這次安全漏洞風暴的是CPU「推測執行」的設計瑕疵,衍生3項漏洞,其中CVE-2017-5753和CVE-2017-5715為Spectre,而CVE-2017-5754為Meltdown(分別稱為變種1、2、3)。Google 在去年6月即已通知英特爾、AMD及ARM等CPU廠商。

Google Cloud Platform副總裁Ben Treynor Sloss指出,早在去年的9月就開始修補Google Cloud及Gmail、Google Drive和搜尋等服務的變種1、3漏洞。他表示,透過不斷的效能調校,對Google雲端沒有任何明顯效能影響。

但變種2就較棘手,因為一開始唯有關閉CPU裏主要提升效能的功能一途,嚴重衝擊效能。Google表示,不但多項應用效能大幅降低,使用同一CPU核心的應用還會彼此影響而發生效能不一致的情形。最後Google技術基礎架構團隊成員發展出名為Retpoline,這是一種創新的軟體二進位修改(software binary modification)技術,避免了分支目標注入(branch-target injection)。利用這個方法可不必關閉CPU的推測執行和其他功能,又確保不會被攻擊者利用。 

Google利用Retpoline的修補方法,從compile-time解決第2變種漏洞問題,不需修改源碼。之後,配合軟體層的最佳化作法像是軟體分支預測進行測試,顯示這種作法幾乎不會造成效能損失。 

隨後Google將這個方法部署到Google Cloud基礎架構,還分享給合作夥伴,並將Retpoline開源出來。而在12月,所有3個變種的防護都在Google Cloud Platform完成部署,而在整個升級期間也沒有人知道,因為沒有一家客戶發出支援工單。 

他指出這批漏洞可能是十年來最困難、最不好修復的漏洞,需要軟體堆疊中許多層的修改,以及廣泛的產業合作。也因為修補漏洞的影響面之廣及複雜性之高,促使Google Project Zero少數提早在90天寛限期滿之前公佈。 


Advertisement

更多 iThome相關內容