Google剖析L1TF漏洞攻擊,強調已有雲計算漏洞防堵對策

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

Google剖析L1TF漏洞攻擊,強調已有云計算漏洞防堵對策

這個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漏洞風險,他們也鼓勵用戶可以更新鏡像文件,以減少環境受到間接攻擊的可能性,特別是自己運行多租戶服務的客戶尤為重要。


分享到:


相關文章: