幾天前,一組研究人員發布了有關 第一次 Rowhammer 攻擊 這 已成功定向至 la GDDR6 顯存 GPU,特別是 NVIDIA A6000。
該技術, 被稱為 GPUHammer允許操縱 GPU DRAM 中的單一比特,只需更改參數中的一位,即可大幅降低機器學習模型的準確性。這些比特翻轉允許惡意 GPU 用戶在共享的、分時環境中操縱其他用戶的 GPU 資料。
到現在為止, 將 Rowhammer 應用於視訊記憶體被認為是不切實際的 由於多項技術限制,GDDR 晶片中儲存單元的實體佈局難以映射,存取延遲比傳統 DRAM 慢四倍,而且更新率明顯更高。此外,還存在專有的保護機制,以防止電荷過早丟失,而逆向工程需要專門的設備。
為了克服這些障礙, 研究人員開發出一種針對 GDDR DRAM 的新型逆向工程技術他們使用低階 CUDA 程式碼,透過特定的最佳化來執行攻擊,從而強化對特定儲存單元的訪問,從而創造有利於位元操作的條件。成功的關鍵在於實現高度組織化的平行計算,從而放大對相鄰單元的壓力。
攻擊如何運作?
進攻 利用 DRAM 中的物理弱點, 對記憶體行進行密集存取(稱為“錘擊”) 可以引起相鄰行的改變儘管該漏洞於 2014 年被發現,並在 CPU DDR 記憶體中進行了廣泛研究,但將其移植到 GPU 上迄今為止仍是一個挑戰,原因如下:
- GDDR6 的高存取延遲(比 DDR4 高出 4 倍)。
- 記憶體物理分配的複雜度。
- 存在專有且記錄不全的緩解措施,例如 TRR。
Rowhammer 是一種硬體漏洞,快速啟動一行記憶體會導致相鄰行發生位元翻轉。自 2014 年以來,該漏洞已在 CPU 和基於 CPU 的記憶體(例如 DDR3、DDR4 和 LPDDR4)中廣泛研究。然而,由於關鍵的 AI 和機器學習工作負載現在在雲端的獨立 GPU 上運行,評估 GPU 記憶體遭受 Rowhammer 攻擊的脆弱性至關重要。
儘管存在這些障礙, 研究人員成功應用逆向工程 關於 CUDA 中的虛擬/實體記憶體分配, 他們開發了一種識別特定 DRAM 記憶體庫的方法 並使用多個線程和warp優化並行訪問,最大限度地提高錘擊率而不會造成額外的延遲。
概念驗證表明,深度神經網路 (DNN) 模型權重(特別是 FP16 指數)的單位元翻轉,就能使 ImageNet 影像分類模型的 Top-1 準確率從 80% 降至 0,1%。這項發現對於在共享 GPU 環境中運行 AI 工作負載的資料中心和雲端服務而言,是一個警告訊號。
緩解措施和限制
NVIDIA 已確認漏洞並建議啟用 ECC 支援。 (糾錯碼)使用指令 nvidia-smi -e 1。雖然 這項措施可以糾正錯誤 單比特, 這意味著性能損失高達 10%。 並且可用記憶體減少 6,25%。它也無法防禦未來涉及多次位元翻轉的攻擊。
我們確認,搭載 GDDR6000 顯存的 NVIDIA A6 GPU 存在 Rowhammer 位元波動。其他 GDDR6 GPU(例如 RTX 3080)在我們的測試中未出現位元波動,這可能是由於 DRAM 供應商、晶片特性或溫度等工作條件的差異所造成的。我們也沒有在搭載 HBM 顯存的 A100 GPU 上觀察到任何波動。
該團隊強調 GPUHammer 目前僅在配備 GDDR6000 的 A6 GPU 上進行了驗證,而不是在 A100(HBM)或 RTX 3080 等型號上。但是,由於這是可擴展的攻擊,因此鼓勵其他研究人員在不同的 GPU 架構和模型上複製和擴展分析。
最後,如果您有興趣了解更多信息,可以查閱詳細信息 以下鏈接。