CacheOut攻擊困擾Intel:發現更多洩露數據的 CPU 設計缺陷

當心CacheOut(緩存逐出)攻擊!


CacheOut攻擊困擾Intel:發現更多洩露數據的 CPU 設計缺陷


英特爾近日發佈了一份處理器數據洩露安全公告,描述了兩個芯片架構缺陷,其中一個它之前試圖修復了兩次。


備忘錄INTEL-SA-00329介紹了兩個安全漏洞:CVE-2020-0548(名為向量寄存器採樣)等級為2.8,嚴重級別低,和CVE-2020-0549(名為L1D逐出採樣,L1Des)洩露,等級為6.5,嚴重級別中。


這些缺陷會導致特權信息可能被洩露,這個問題在多租戶雲環境中尤為嚴峻。比如說,服務器託管公司DigitalOcean的服務器之前警告:該問題“意味著不懷好意的人理論上可以使用Droplet來推斷同一個物理主機上另一個Droplet使用的部分數據。”


簡而言之,非授權用戶或系統上的惡意軟件可以利用設計缺陷來窺視應禁止訪問的私密數據,比如密碼和密鑰。與Meltdown和Spectre一樣,我們還沒有看到外面任何大規模惡意利用這些漏洞的情況,不過這不是說就可以忽視這些漏洞。


這些最新漏洞中較嚴重的漏洞CVE-2020-0549被研究人員命名為CacheOut,他們在該論文(https://cacheoutattack.com/CacheOut.pdf)中詳細介紹了這個安全問題。


CacheOut攻擊困擾Intel:發現更多洩露數據的 CPU 設計缺陷

這些研究人員是美國密歇根大學的Stephan van Schaik、Marina Minkin、Andrew Kwong和Daniel Genkin以及美國阿德萊德大學、Oz和Data61的Yuval Yarom。荷蘭阿姆斯特丹大學的一組研究人員也研究了這個問題:Alyssa Milburn、Sebastian Österlund、Pietro Frigo、Kaveh Razavi、Herbert Bos和Cristiano Giuffrida。


另一組計算機科學研究人員:奧地利格拉茨技術大學的Moritz Lipp、Michael Schwarz、Daniel Gruss以及比利時魯汶大學的Jo Van Bulck另行發現了CVE-2020-0549(即CacheOut),因為該漏洞與他們及其他人在去年5月披露的一系列旁道攻擊有關。


該類漏洞對於Intel而言名為微架構數據採樣(MDS),對於研究人員而言名為ZombieLoad和cpu.fail。


MDS讓本地系統上的攻擊者可以推斷保存在處理器內部結構中的敏感數據,比如存儲緩衝區、填充緩衝區和加載緩衝區。英特爾的微碼修復程序使用VERW指令和L1D_FLUSH命令來覆蓋存儲緩衝區裡面的值,以防止緩衝區數據被讀取。


但英特爾在5月份發佈的初始修復程序失敗了。去年11月有媒體報道,暗中竊聽的ZombieLoad變種利用了英特爾的事務同步擴展(TSX)異步中止(TAA)機制。面對因Meltdown和Foreshadow接受修復的英特爾芯片,該漏洞甚至照樣可以鑽空子。11月份推出了另一版修復程序,現在該修復程序本身也需要修復,因為它對該類漏洞只能起到部分緩解的作用。


Daniel Gruss稱:“問題在於,基於VERW的緩解措施尚不完整。攻擊者仍可以對從L1D緩存中被逐出的數據發動MDS攻擊。”


CacheOut論文詳細介紹了“一種瞬態執行攻擊,能夠繞過英特爾的緩衝區覆蓋對策,還讓攻擊者可以選擇從CPU的L1數據緩存中讀取哪些緩存集。”


覆蓋對策不起作用的原因是,CacheOut在受害者可以讀取其數據之前從L1緩存中逐出了受害者的數據。


van Schaik、Minkin、Kwong、Genkin和Yuval在其論文中聲稱,他們可以利用自己的攻擊手法來破壞進程隔離,並使用OpenSSL從受害者處恢復AES密鑰和明文,從而對Linux內核的地址空間佈局隨機化(ASLR)進行非隨機化處理,並從內核恢復秘密的棧金絲雀值(stack canary),並且破壞在同一個物理核心上運行的兩個虛擬機之間的隔離。他們還聲稱,這種攻擊手法在打有最新Meltdown補丁的一些CPU上有效。


易受攻擊的英特爾CPU數量眾多。研究人員表示,英特爾客戶可能會受到影響,除非他們使用的是2018年第四季度之後發佈的CPU,但這純屬偶然。2019年及以後發佈的一些處理器內置了部分緩解措施。


他們在CacheOut網站上提到這個TSX漏洞時聲稱:“對於2018年第四季度之後發佈的一定數量的處理器而言,英特爾在解決名為TSX異步中止(TAA)的前一個問題時無意中設法部分緩解了這個問題。”


研究人員表示,AMD不受CacheOut的影響。雖然Arm和IBM的芯片都有類似英特爾TSX的功能,但這些研究人員不知道這些公司的任何芯片是否易受攻擊。


與此同時,為了應對CVE-2020-0548和CVE-2020-0549,英特爾認為它會“向我們的客戶和合作夥伴發佈英特爾處理器微碼更新,這是我們常規的英特爾平臺更新流程的一部分。英特爾建議使用受影響的英特爾處理器的用戶與系統製造商和系統軟件供應商聯繫,並第一時間更新到最新版本的微碼更新。”


因此,記得檢查更新。禁用TSX也有所幫助(請參閱CacheOut論文的第9節)。


分享到:


相關文章: