云安全的噩夢:BadRAM攻擊
在黑客圈中,有一個廣為流傳的說法:“一旦攻擊者獲得了設備的物理訪問權限,任何安全措施都是擺設?!边@一觀點在傳統(tǒng)計算環(huán)境下站得住腳。因為無論是手機、計算機還是其他設備,只要攻擊者能夠物理操控硬件,成功破解或入侵只是時間問題。
在云計算時代,隨著本地硬件的消失,對物理訪問攻擊的恐懼似乎煙消云散了。如今,世界上最敏感的數(shù)據(jù)——例如健康記錄、金融賬戶信息和機密法律文件等,往往存儲在距離數(shù)據(jù)所有者千里之外的云服務器中。
但是,云計算依然面臨物理訪問攻擊,因為負責服務器日常維護的云計算中心管理員,以及執(zhí)法人員和黑客都可能訪問云服務器。
AMD硬件加密的信任危機:BadRAM攻擊
為了應對新的安全挑戰(zhàn),芯片制造商在其硬件設計中引入了保護措施,試圖確保即便服務器被物理篡改或感染惡意軟件,通過虛擬機傳輸?shù)拿舾袛?shù)據(jù)仍無法在未獲得加密密鑰的情況下被訪問。AMD的SEV-SNP(Secure Encrypted Virtualization和Secure Nested Paging)技術正是其中的代表。然而,12月5日,一個國際研究團隊公布了一項名為“BadRAM”的概念驗證攻擊,成功突破了AMD這項技術的防線。
該漏洞由比利時魯汶大學(KU Leuven)、德國呂貝克大學和英國伯明翰大學的研究人員共同發(fā)現(xiàn),漏洞編號為CVE-2024-21944。
BadRAM漏洞的核心原理
現(xiàn)代服務器通常采用雙列直插式內(nèi)存模塊(DIMM),其基本單元是存儲二進制信息的電容器。存儲器控制器需要從DIMM的SPD芯片中讀取內(nèi)存容量和配置信息。BadRAM正是利用了SPD芯片未鎖定的安全漏洞,通過簡單的硬件或軟件修改欺騙處理器。
BadRAM攻擊首先篡改商用動態(tài)隨機存取存儲器(DRAM)模塊上的SPD(串行存在檢測)芯片,讓內(nèi)存容量在啟動時虛假報告為實際容量的兩倍。攻擊者僅需花費10美元購買硬件(如Raspberry Pi)或通過軟件操作,在幾分鐘內(nèi)完成對內(nèi)存模塊的欺騙性配置。被篡改的SPD芯片會持續(xù)報告虛假內(nèi)存容量,進而讓處理器在訪問加密內(nèi)存時誤入“幽靈地址”(Ghost Memory),這些地址實際上映射到真實的內(nèi)存區(qū)域。
研究人員發(fā)現(xiàn),這種攻擊可以繞過AMD SEV-SNP的加密保護,甚至能夠偽造遠程驗證報告,將后門程序插入任何SEV保護的虛擬機中,而不會觸發(fā)任何警報。
BadRAM攻擊的步驟如下:
- 內(nèi)存模塊篡改:篡改SPD芯片以報告虛假容量,制造“幽靈地址”。
- 幽靈地址映射:通過操作系統(tǒng)忽略虛假內(nèi)存地址的高半部分,僅使用低半部分。
- 內(nèi)存保護繞過:利用別名地址訪問受保護的內(nèi)存區(qū)域,從而讀取和修改敏感數(shù)據(jù)。
- 偽造驗證報告:通過替換虛假的成功驗證哈希,掩蓋對虛擬機的后門入侵。
研究團隊的報告指出,攻擊者可以輕松定位這些“幽靈地址”,從而訪問SEV-SNP原本應保護的內(nèi)存區(qū)域,進而對虛擬機的完整性進行惡意操控。
未來隱患與對策
AMD在收到漏洞報告后迅速向受影響的客戶發(fā)布了固件補丁,并建議使用鎖定SPD芯片的內(nèi)存模塊,同時加強物理安全措施。AMD在聲明中指出,利用這一漏洞需要物理訪問或操作系統(tǒng)內(nèi)核權限,因此建議用戶遵循最佳安全實踐。
盡管BadRAM攻擊目前主要針對AMD SEV-SNP技術,但研究人員警告,這一設計缺陷可能擴展到其他系統(tǒng)。他們呼吁在系統(tǒng)設計時全面考慮DRAM的潛在風險,并應用類似AMD更新中提供的緩解措施。研究人員總結道:“雖然當前的對策能夠有效應對,但更高級的硬件攻擊可能繞過這些措施,這需要進一步研究以評估潛在影響。”
值得注意的是,研究人員對與AMD SEV-SNP對標的英特爾SGX技術也進行了測試,發(fā)現(xiàn)經(jīng)典版SGX(現(xiàn)已停產(chǎn))確實允許讀取受保護區(qū)域,但不允許寫入。然而,當前的英特爾可擴展SGX和英特爾TDX處理器不允許讀取或寫入。