針對英特爾本日發布的L1終端故障(L1 Terminal Fault,L1TF)漏洞 Google也在部落格宣布,在Compute Engine中採用主機隔離功能,能夠確保不同虛擬機器不會共享同一個核心,避開漏洞攻擊的可能性,還部署了監控服務偵測特定類型攻擊的發生。Google提醒,自行運作多租戶服務的用戶,最重要的是趕快更新系統映像檔。

這個L1終端故障攻擊手法,同屬於Google Project Zero團隊當初發現的推測執行旁路攻擊(Speculative Execution Side-Channel),相關的漏洞有三個,其中CVE-2018-3615與英特爾軟體保護擴充有關,CVE-2018-3620影響作業系統與系統管理模式,而第三個CVE-2018-3646則和虛擬化技術有關。Google提到,和過去的攻擊不同之處在於,新的L1TF變體透過攻擊處理器等級的資料結構來進行推測執行攻擊,而不是之前從程式控制流下手。

L1TF中的L1代表的意思是Level-1資料快取,這是用於加速記憶體存取的小型核心資源。核心的概念則包含了共享L1快取的處理單元,處理單元又稱為邏輯CPU或是超執行緒手足。

在Not-present狀態下發生的頁缺失(Page Fault),快取中的內容就可能被推測檢查出來,而且在缺失故障的推測檢查階段,駭客可以繞過確保快取只能由特定位置空間讀取的一般性保護機制,這些特定位置空間指的便是程序或是虛擬機器,所以L1TF攻擊代表著,在L1快取中載入的私密資料碎片,可能存在被共享該快取但不同程式或是虛擬機器讀取的風險。

Google提到,在虛擬化環境防禦這種攻擊並不容易,因為虛擬機器曝露了構成攻擊的所有狀態,也就是說駭客可以刻意直接配置自己的頁面表格到這些缺失中,並探測他們當前正在執行核心的快取。駭客要使用這些漏洞,需要以作業系統控制硬體資源中的實體或是虛擬處理器,因此沒有修補的作業系統可能遭到間接利用,而攻擊可行與否和這些作業系統操作記憶體映射的方法有關。

為了防範L1TF攻擊,Google Compute Engine採用了主機隔離功能,確保單一核心不被其他的虛擬機器共享,而這個隔離措施也同時完全刷新L1資料快取,以確保不同虛擬機器有序的排程造成的攻擊可能性。另外,Google也開發部署了新的基礎架構,讓他們監控主機是否存在特定類型的攻擊。

Google強調,這些緩解措施已經可以解決大多數Google雲端客戶的L1TF漏洞風險,他們也鼓勵用戶可以更新映像檔,以減少環境受到間接攻擊的可能性,特別是自己運作多租戶服務的客戶尤為重要。


Advertisement

更多 iThome相關內容