FineArt News

Meltdown(熔毀)和Spectre(幽靈) 漏洞技術分析

Google Project Zero安全團隊在一月三日,揭露了所發現的CPU推測執行(Speculative Execution)的漏洞。影響範圍以Intel為主、AMD 受影響較小(官方說法)。其受影響的OS涵蓋:WindowsLinuxmacOSAndroid 等。在Cloud Service 則是Amazon AWSMicrosoft AzureGoogle CloudTencent CloudAlibaba Cloud以及其他私有雲環境,舉凡:VMWare …都需要加以安全檢視。

最終處理方案:US-CERT 已經做出最忠肯的答案,更換CPU可能是最佳處置方案,但是現階段不論政府或企業都很難大規模更換,這不是只有CPU更換而已,可能還包含了主機板與記憶體內的整合更換,將是超大的開銷支出,只能相信CPU廠商、作業系統商、雲端廠商、瀏覽器軟體商全力修補。目前Meltdown還可以修補方式補救,減損少量效能達到該有的防守。而Spectre 目前暫時沒有解法,但是入侵方式也相對難度較高,透過JavaScript 的入侵竊取模式並不容易。meltspectre

融毀(Meltdown):CVE編號CVE-2017-5753和CVE-2017-5715,幽靈(Spectre):CVE編號CVE-2017-5754。這兩個攻擊,允許程式access內存記憶體,各應用程式,作業系統的敏感信息(如:帳號密碼)會被竊取。熔毀透過硬體CPU,以低權限用戶的應用程式去存取屬於高權限或是系統管理員等級的內存,從而造成數據洩露或竊取。

Meltdown透過Dump方式,順利將原本加密的或是圖安全保護的訊息內容明文方式取出,在防守上不可能將瀏覽器停用,或勢將作業系統關閉,所以近期的修訂暫時放在OS與瀏覽器的修訂上。技術層面上,每一個具備亂序執行的 Intel 處理器都有影響,即1995年後的處理器,排除 Itanium 和 Atom 系列。

Specter則是破壞了不同應用程式間的隔離。風險在speculative execution,CPU以speculative execution未來有用的數據並且執行。這種竊取技術需要提前準備好狀態下才有機會執行。簡言之,Intel沒有很安全將低權限的process & access內核內存分開使用,意味攻擊者可以透過惡意應用程式,取得被隔離的敏感資料。

以Google Chrome為例,就將某些Flag 下的參數進行Disable或是直接升級到新版的瀏覽器,不論是Chrome或是Firefox…等都已經公開進行修訂。在資安技術人員,已經公開POC相關程式(相關POC程式目前是透過Apple Mac進行的,可再修改到Windows 平台再驗證試試,網址:https://github.com/gkaindl/meltdown-poc),檢視利用此漏洞的POC程式,以Meltdown為主的記憶體Dump的驗證,此外,利用meltdown 的竊取技術也被揭露開來,研究人員已經做了充份的分析,可以參照(https://meltdownattack.com/)。

在政府與民間單位,以雲端服務,最常使用的虛擬化技術,是我關注另一個高風險入侵點,利用虛擬機管理員建立的KVM Guest OS以最高權限執行,能以1500Bps速度讀取主系統的核心記憶體。可預測的是網站惡意程式,或是APT惡意程式都有機會利用此漏洞,將技術延伸看,其實許多IDE逆向工程技術,可能也有機會應用到,確實值得關注。與其說是漏洞不如說,有人利用CPU核心的程序,找到可以利用分析資訊的途徑,還是需要依賴CPU廠商進行底層複雜的修訂才是緩解。