柏林工業(yè)大學(xué)(TU Berlin)研究人員描述了一種電壓故障攻擊,表明AMD的安全加密虛擬化(SEV)技術(shù)可能無法為云環(huán)境中的機(jī)密數(shù)據(jù)提供適當(dāng)?shù)谋Wo(hù)。這項(xiàng)研究成果在柏林工業(yè)大學(xué)(TU Berlin)的一個(gè)團(tuán)隊(duì)本周發(fā)表的一篇《One Glitch to Rule Them All: Fault Injection Attacks Against AMD's Secure Encrypted Virtualization》論文中進(jìn)行了詳細(xì)論述。
AMD處理器易受電壓故障攻擊,AMD公司的EPYC處理器采用了SEV技術(shù),該技術(shù)旨在保護(hù)虛擬機(jī)及其存儲(chǔ)的數(shù)據(jù)不受內(nèi)部威脅,比如提高權(quán)限的問題,如惡意管理員。SEV通常用于云環(huán)境。
SEV旨在通過加密虛擬機(jī)的內(nèi)存來保護(hù)機(jī)密數(shù)據(jù),加密密鑰使用AMD的安全處理器(SP),一種專用的安全協(xié)處理器。這應(yīng)該確保只有SP可以訪問內(nèi)存加密密鑰,而可以由威脅參與者控制的管理程序則不可以。
然而,柏林工業(yè)大學(xué)的研究人員表明,攻擊者可以通過對SP發(fā)起電壓故障注入攻擊,獲得對sev保護(hù)的虛擬機(jī)內(nèi)存內(nèi)容的訪問權(quán)。
為了按照預(yù)期工作,集成電路需要在特定的溫度、時(shí)鐘穩(wěn)定性、電磁場和電源電壓范圍內(nèi)工作。有目的地操縱其中一個(gè)參數(shù)被稱為故障攻擊。這種攻擊需要對芯片進(jìn)行物理訪問,但它們對于獲取敏感信息、繞過安全檢查或?qū)崿F(xiàn)任意代碼執(zhí)行都很有用。
在他們的電壓故障攻擊中,研究人員表明,通過操縱AMD芯片的輸入電壓,他們可以在SP的ROM引導(dǎo)加載程序中誘發(fā)一個(gè)錯(cuò)誤,從而使他們獲得完全的控制。他們描述了由于SEV未能適當(dāng)?shù)乇Wo(hù)潛在的敏感信息免受惡意內(nèi)部人員的攻擊而給云環(huán)境帶來的風(fēng)險(xiǎn)。
研究人員在他們的論文中解釋說:“我們展示了一個(gè)能夠物理訪問目標(biāo)主機(jī)的對手,是如何植入一個(gè)定制的SEV固件,該固件使用SEV的調(diào)試API調(diào)用來解密VM的內(nèi)存?!薄按送?,我們證明了故障攻擊能夠提取背書密鑰( endorsement keys)。背書密鑰在SEV的遠(yuǎn)程認(rèn)證機(jī)制中起著核心作用,可用于發(fā)起遠(yuǎn)程攻擊。即使沒有物理訪問目標(biāo)主機(jī)的攻擊者也可以使用提取的背書密鑰攻擊sev保護(hù)的虛擬機(jī)。通過偽造認(rèn)證報(bào)告,攻擊者可以偽裝成虛擬機(jī)遷移的有效目標(biāo),從而獲得對虛擬機(jī)數(shù)據(jù)的訪問?!?/p>
進(jìn)行此類攻擊所需的硬件很容易獲得,而且價(jià)格低廉,但研究人員表示,他們花了4個(gè)小時(shí)來準(zhǔn)備一個(gè)系統(tǒng),這大大降低了現(xiàn)實(shí)世界環(huán)境中的風(fēng)險(xiǎn)。
雖然這不是第一個(gè)專注于電壓故障攻擊或攻擊AMD的SP和SEV的研究項(xiàng)目,研究人員說,據(jù)他們所知,這是第一個(gè)影響所有AMD EPYC cpu (Zen 1, Zen 2和Zen 3)的攻擊。
研究人員向AMD報(bào)告了他們的發(fā)現(xiàn),并提出了一些可以在未來cpu中實(shí)現(xiàn)的緩解措施。
研究人中央論文最后給出了防范該類攻擊的緩解措施,“我們認(rèn)為可以采取兩種不同的策略來減輕我們的攻擊。一方面,可以嘗試阻止對手實(shí)現(xiàn)代碼執(zhí)行(第7.2.1節(jié))(基于軟件和硬件的不同的檢測和防御)。另一方面,可以嘗試保護(hù)架構(gòu)密鑰不被提取,即使對手設(shè)法實(shí)現(xiàn)代碼執(zhí)行(第7.2.2節(jié))?!?/p>
《安全周刊》稱已經(jīng)聯(lián)系了AMD求證及評論,如果該公司作出回應(yīng),將更新本文。*更新澄清,研究人員花了4個(gè)小時(shí)準(zhǔn)備一個(gè)系統(tǒng)來應(yīng)對攻擊。