高性能GPU的購置成本通常在8000美元以上,這使得它們在雲計算環境中往往被數十名用戶共享使用。近期披露的三項新型攻擊技術表明,惡意用戶可通過對英偉達高性能GPU顯卡實施新型Rowhammer攻擊,從而獲得宿主機的完整root權限。
這些攻擊利用的是內存硬體對比特翻轉(bit flip)日益增加的脆弱性。所謂比特翻轉,是指儲存在內存中的0變為1,或1變為0的現象。2014年,研究人員首次證明,對一種名為DRAM的內存硬體進行高頻、快速的重複訪問(即"錘擊"操作),會產生電氣干擾,進而引發比特翻轉。次年,另一支研究團隊發現,通過針對存有敏感數據的特定DRAM行進行攻擊,攻擊者可利用這一現象將普通用戶權限提升至root級別,或繞過安全沙箱保護機制。上述兩項攻擊均針對第三代DDR(DDR3)DRAM。
在過去十年間,數十種新型Rowhammer攻擊相繼湧現,其能力不斷演進,主要包括以下幾個方向:
攻擊範圍擴展至更多DRAM類型,涵蓋具備糾錯碼保護的DDR3,以及採用目標行刷新機制和糾錯碼保護的DDR4等;
引入新型錘擊技術,如Rowhammer內存風水攻擊(feng shui)和RowPress技術,可精準定位存有敏感數據的極小內存區域;
利用上述技術實現跨本地網路攻擊、獲取安卓設備root權限,以及竊取2048位加密密鑰;
去年首次成功攻擊應用於英偉達高性能GPU的GDDR顯存。
最後一項成果證明了GDDR同樣存在Rowhammer攻擊的脆弱性,但實際效果較為有限——研究人員僅實現了8次比特翻轉,遠少於CPU DRAM上已實現的數量,且危害僅限於干擾目標GPU上運行的神經網路輸出結果。
近日,兩支相互獨立的研究團隊分別針對英偉達Ampere架構的兩款顯卡展示了全新攻擊手法,將GPU Rowhammer攻擊推向了一個全新且潛在危害更為嚴重的階段:通過GDDR比特翻轉,攻擊者可獲得對CPU內存的完全控制權,最終實現對宿主機的全面系統入侵。值得注意的是,該攻擊成立的前提條件是IOMMU內存管理功能處于禁用狀態,而這正是BIOS的默認設置。
論文《GDDRHammer:大幅干擾DRAM行——來自現代GPU的跨組件Rowhammer攻擊》的共同作者Andrew Kwong表示:"我們的研究表明,在CPU領域已被深入研究的Rowhammer攻擊,對GPU同樣構成嚴重威脅。通過我們的研究,我們展示了攻擊者如何通過在GPU上觸發比特翻轉,獲得對CPU全部內存的任意讀寫訪問權限,從而實現對整台機器的完全控制。"
4月4日更新:研究人員於近日披露了第三項Rowhammer攻擊,同樣針對RTX A6000顯卡,可實現權限提升並獲取root Shell訪問權限。研究人員指出,與前兩項攻擊不同,該攻擊即便在啟用IOMMU的情況下也能奏效。
研究人員解釋稱:"通過破壞GPU頁表,無特權的CUDA核心可獲得對GPU內存的任意讀寫能力,進而利用英偉達驅動程序中新發現的內存安全漏洞,將該能力轉化為CPU端的權限提升攻擊。最終結果是實現系統級的全面入侵,直至獲取root Shell訪問權限。與同期研究不同,該攻擊無需禁用IOMMU,使GPUBreach成為威脅性更強的攻擊手段。"
第一項攻擊為GDDRHammer,其名稱前四個字母既代表"圖形DDR顯存"(Graphics DDR),也寓意"大幅干擾DRAM行"(Greatly Disturbing DRAM Rows)。該攻擊適用於英偉達Ampere架構的RTX 6000顯卡,但對更新一代Ada架構的RTX 6000系列無效,原因在於後者採用了研究人員尚未完成逆向工程的新一代GDDR顯存。
GDDRHammer採用了新型錘擊模式和一種名為"內存按摩"(memory massaging)的技術,平均每個內存組可觸發129次比特翻轉,是去年GPUHammer成果的64倍。更為關鍵的是,GDDRHammer能夠操控內存分配器,打破GPU頁表的隔離機制。與CPU頁表類似,GPU頁表是儲存虛擬地址與物理DRAM地址映射關係的數據結構,負責隔離GPU上儲存的用戶數據。攻擊成功後,攻擊者將獲得對GPU內存的任意讀寫能力。
Q&A
Q1:什麼是Rowhammer攻擊?它的原理是什麼?
A:Rowhammer攻擊是一種利用DRAM內存硬體物理特性的攻擊方式。其原理是對特定內存行進行高頻、快速的重複訪問(即"錘擊"),由此產生電氣干擾,導致相鄰內存行中儲存的數據發生比特翻轉,即0變為1或1變為0。攻擊者可通過精準控制翻轉位置,篡改存有敏感數據的內存內容,從而實現權限提升、繞過安全沙箱等惡意目的。該攻擊最早於2014年被證實可行。
Q2:GDDRHammer攻擊與此前的GPUHammer攻擊有何區別?
A:GPUHammer是去年首次針對英偉達GPU GDDR顯存的Rowhammer攻擊,但效果有限,僅實現了8次比特翻轉,危害範圍也僅限於干擾神經網路的輸出結果。GDDRHammer則大幅提升了攻擊效能,平均每個內存組可觸發129次比特翻轉,是前者的64倍。更重要的是,GDDRHammer可進一步破壞GPU頁表隔離,進而獲得對CPU內存的完全讀寫控制權,最終實現對宿主機的全面入侵,危害程度遠超前代攻擊。
Q3:GPUBreach攻擊與另外兩項攻擊有什麼不同?
A:GPUBreach與GDDRHammer等攻擊的最大區別在於,它即便在IOMMU內存管理功能啟用的情況下也能成功實施,而其他兩項攻擊均要求IOMMU處于禁用狀態。GPUBreach通過破壞GPU頁表,使無特權的CUDA核心獲得GPU內存的任意讀寫能力,再結合英偉達驅動程序中新發現的內存安全漏洞,最終將攻擊鏈延伸至CPU端,實現系統級的全面入侵併獲取root Shell權限,威脅性更強。






