Google提出Spectre軟體解決方案,且不影響電腦效能

Google提出Spectre軟體解決方案,且不影響電腦效能

ADVERTISEMENT

由於Spectre、Meltdown等資安漏洞的根源已經潛伏近20年,所以幾乎所有當代的電腦與中央處理器都籠罩在威脅之下。Google針對Spectre的第二型變種提出了軟體解決方案,只需透過新版編譯器重新編議程式,不需修改原始程式碼,就能將問題修正,並且不會對效能造成負面影響。

解決方案陸續出爐

簡單地說,目前的中央處理器與作業系統為了提升資安保障,會在各程式與使用者之間築起一道「牆」,讓彼此無法存取對方的記憶體資料。然而管理這些「牆」的中央處理器,卻存在著漏洞,讓惡意程式能夠翻牆讀取其他程式專屬的資料,舉例來說,惡意程式能夠透過漏洞竊取儲存於瀏覽器內的信用卡資訊。

這個漏洞可以分為3種不同的變種,其特徵分別如下:

變種1:bounds check bypass(CVE-2017-5753)
此漏洞會影響已編譯應用程式中的特定程序,可以用於Javascript瀏覽器攻擊。
變種2:branch target injection(CVE-2017-5715)
此漏洞能繞過Hypervisor虛擬機器,對雲端虛擬主機進行攻擊,可透過更新中央處理器微碼,或以軟體方式進行防護。
變種3:rogue data cache load(CVE-2017-5754)
攻擊者能夠透過特定程式碼存取原本沒有存取權限的記憶體。

而上述第一、第二種合稱為Spectre,第三種則稱為Meltdown。

自從Spectre、Meltdown的問題揭露以後,各大作業系統、瀏覽器等軟體,以及中央處理器主機板等硬體廠商,皆陸續釋出更新檔以修補漏洞,然而比較讓人頭痛的問題是,為了修補漏洞,可能需要犧牲許多效能做為代價。

Google提出Spectre軟體解決方案,且不影響電腦效能

無痛修正變種2漏洞

Google表示考量到修正問題可能會對效能帶來衝擊,所以面對第二型態的變種漏洞時,他們決定採取公司內技術基礎設施團隊(Technical Infrastructure)成員Paul Turner所研發的Retpoline技術,透過修改程式的二進位檔來防止攻擊。

Retpoline的原理是透過修改程式,確保攻擊者無法感染執行檔,如此一來不需禁止可疑的執行檔,或是改變硬體功能,就可以發揮防護的效果。重要的是,使用者不需修改程式碼,只需將現有的程式碼透過對應的編譯器重新編譯即可,能夠省下相當多部署時間。

根據Google的測試,在搭配其他如軟體分支預測提示(software branch prediction hints)等最佳化技術後,Retpoline幾乎不會造成效能耗損。Goolge也表示,他們從12月開始就將Retpoline套用至所有Google雲端平台服務,在整個更新的過程中,並沒有收到使用者回報發生與更新或效能相關的問題,因此更能印證不會對效能造成明顯影響。

Google提出Spectre軟體解決方案,且不影響電腦效能

Google除了將這個解決方案套用至旗下的基礎設施之外,也將編譯器以開源的方式公開分享,讓這項技術能夠保護更多人,對於Retpoline有興趣的讀者,也可以進一步閱讀白皮書

國寶大師 李文恩
作者

電腦王特約作者,專門負責硬派內容,從處理器、主機板到開發板、零組件,尖端科技都一手包辦,最近的研究計畫則包括Windows 98復活與AI圖像生成。

使用 Facebook 留言
發表回應
謹慎發言,尊重彼此。按此展開留言規則