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