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