英偉達 GPU,被白帽黑客發(fā)現(xiàn)了嚴重漏洞。
通過一種名為 GPUHammer 的攻擊方式,可以讓 GPU 上跑的大模型,準確率從 80% 直接掉到 0.02%,可以說是渣都不剩。
多倫多大學的研究人員形容,這種攻擊就像在模型中引發(fā)災難性的腦損傷。
目前,研究人員已經(jīng)在英偉達 RTX A6000 上成功測試了這種攻擊,但不排除其他型號也可能受到影響。
英偉達這邊建議用戶實施一項防御措施,但這種措施會讓模型性能下降 10%。
那么,這個漏洞到底是怎么一回事呢?
不是 Bug,而是“物理攻擊”
GPUHammer 是首個成功攻擊 GPU 顯存的 Rowhammer 攻擊。它并不是通過代碼篡改模型文件,而是直接對你的顯存“物理動手”。
它屬于 Rowhammer 攻擊的一類:攻擊者通過反復“敲擊”內(nèi)存某一行,引發(fā)相鄰行中的比特翻轉(zhuǎn)(從 0 變成 1,從 1 變成 0),從而悄悄篡改數(shù)據(jù)。
以前 Rowhammer 只能攻擊 CPU 用的內(nèi)存,現(xiàn)在,GPU 也中招了。
在 GPUHammer 中,研究人員成功翻轉(zhuǎn)了深度學習模型中的權(quán)重指數(shù)位。
比如 FP16 浮點數(shù),只要翻轉(zhuǎn)一個關(guān)鍵位,指數(shù)就能飆升 16 倍 —— 模型準確率直接塌了。
在實驗中,研究人員對 AlexNet、VGG、ResNet 等經(jīng)典神經(jīng)網(wǎng)絡(luò)架構(gòu)發(fā)起了攻擊。
結(jié)果表明,即使是單個比特的翻轉(zhuǎn)也可能導致模型性能的徹底崩潰。在受到攻擊后模型的準確率就會從 80%(BaseAcc)直接暴跌至 0.1%(DegradedAcc.)。
在這種情況下,自動駕駛汽車可能會錯誤地識別交通標志,而在醫(yī)療 AI 情景中則可能發(fā)生誤診。
而在云機器學習平臺或 VDI 設(shè)置等共享 GPU 環(huán)境中,惡意租戶可能會對相鄰的工作負載發(fā)起 GPUHammer 攻擊,從而影響推理準確性或破壞緩存的模型參數(shù)。
可以說,GPUHammer 對 AI 時代的基礎(chǔ)設(shè)施有著毀滅性的打擊。
那么,有沒有什么辦法可以阻止這東西呢?
為了回應 GPUHammer 的攻擊,英偉達發(fā)布了一份安全通知。
英偉達提醒用戶可以開啟一項名為系統(tǒng)級糾錯碼(ECC)的保護措施。
ECC(糾錯碼)的原理是:在每段內(nèi)存數(shù)據(jù)旁邊,額外加幾位“校驗碼”。一旦有比特翻轉(zhuǎn),比如 0 變成了 1,ECC 就能自動識別并糾正。
不過它只能修復單個比特錯誤,遇上雙比特翻轉(zhuǎn),只能發(fā)出警告,沒法補救。
此外,ECC 還是一把“雙刃劍”,在緩解 GPUHammer 的同時,還會導致 GPU 性能的衰退。
研究團隊表示,系統(tǒng)一般默認禁用 ECC,因為它存儲在帶外的單獨內(nèi)存區(qū)域中,啟用它會導致 6.5% 的內(nèi)存開銷和減速。而在 A6000GPU 上啟用 ECC 會導致 12% 內(nèi)存帶寬損失,機器學習應用速度會降低 3%-10%。
別怕,你的游戲不會崩
不少網(wǎng)友在評論區(qū),發(fā)出了疑問:GPUHammar 不會影響我打游戲吧?
放心,研究團隊表明,雖然目前尚未發(fā)現(xiàn)影響 GPU 比特翻轉(zhuǎn)的根本原因,但不同的 GPU 配置、設(shè)計在受 Rowhammer 攻擊時有著明顯區(qū)別。
例如,RTX3080、A100 等芯片就采用了與 A6000 GDDR 完全不同的 DRAM 架構(gòu),這些架構(gòu)的存在使芯片避開了 Rowhammer 的影響。
而且,在未來的 GPU 的開發(fā)中,如果 GPU 集成了片上 ECC(on-die ECC),就可以糾正單位翻轉(zhuǎn),并默認檢測雙位翻轉(zhuǎn)。這就進一步使 Rowhammer 對 GPU 的攻擊更加困難。
此外,在云端環(huán)境中,NVIDIA 的 MIG 和機密計算(CC)技術(shù)通過內(nèi)存隔離,能有效阻止多租戶共享同一 DRAM 存儲,從而防止 Rowhammer 類攻擊生效。
不過,AI 越強大,盤外招也越隱蔽,GPUHammer 只是開始,未來模型的安全建設(shè)才剛剛開始。