資安研究人員檢視各供應商的GPU,發現了一個被稱為GPU.zip的旁路漏洞,如同該名稱所暗示,此漏洞與GPU的壓縮行為有關。攻擊者可以濫用此旁路漏洞洩漏視覺資料,資安人員實現GPU.zip概念性驗證,利用最新版本的Chrome瀏覽惡意網頁,便能夠竊取另一個網頁洩漏的像素,而這個行為違反了瀏覽器的安全模型。

由於傳輸資料的成本通常比處理資料更高,因此壓縮技術便常被用來解決記憶體牆(Memory Wall)的問題,這是指處理器的效能提升速度,快過記憶體存取速度的提升,因此處理器經常需要等待記憶體資料。當這種現象發生,壓縮技術便能派上用場,透過消除重複的資料模式,以更少的位元編碼相同的資料。

GPU圖形資料壓縮是現代GPU的一項功能,能夠節省記憶體頻寬並提高效能,而這項壓縮不需要軟體參與,研究人員提到,即使軟體不要求任何壓縮,現在的GPU也會對圖形進行無損壓縮,這個壓縮行為對軟體來說完全透明,也就是軟體無法得知GPU是否執行圖形壓縮。

當資料被壓縮時,會產生特定的記憶體存取模式和快取模式,資料與模式間存在相依性,也就是不同的原始資料,在壓縮後會產生不同的模式,攻擊者可以利用這些模式進行旁路分析,進而推測出原始資料的內容。

研究人員便是透過創建特定的圖形模式,觀察GPU壓縮圖形模式的方法,再根據壓縮結果,猜測出部分秘密資訊,像是瀏覽器中的像素值。由於壓縮行為是透明的,軟體不知道GPU背後的壓縮動作,因此軟體開發者可能認為,沒有明確壓縮指令時,GPU便不會進行壓縮,但實際上硬體的確會自行壓縮,這樣的認知差異就可能被攻擊者利用。

過去已知的壓縮旁路漏洞是由軟體可見的壓縮造成,只要透過在軟體停用壓縮或是額外措施緩解旁路洩漏風險就能緩解,但是當前GPU的壓縮行為軟體不可見,因此也更難解決。

在大多數的情況下,這個漏洞對終端用戶來說不危險,因為大多數敏感網站已經拒絕被其他來源的網站嵌入,所以也不容易受到利用GPU.zip所執行的像素竊取攻擊。但部分網站仍有影響,當一個已登入維基百科的使用者存取惡意網站,該網頁可能會利用GPU.zip攻擊知道該使用者的維基百科用戶名稱,不過目前大多數主流網站已有防護措施,因此一般使用者的日常瀏覽不太可能遭遇這種攻擊。

對開發人員來說,當網站會顯示使用者的敏感資訊,就應該配置網站拒絕被跨來源網站嵌入。資安人員在今年3月時向GPU供應商通報這項漏洞,包括AMD、Apple、Arm、Intel、Nvidia和Qualcomm,另外還有瀏覽器供應商Google,同時提供概念性驗證程式碼,不過,到目前尚無GPU供應商承諾提供修復程式,Google則仍在決定是否修補。

資安人員特別解釋,之所以這項攻擊容易在Chrome中被濫用,是因為Chrome允許跨來源iframe載入Cookie,且允許在iframe上渲染SVG過濾器,並把渲染任務委派給GPU,Firefox和Safari等其他不符合這三項標準的瀏覽器,便不容易受到攻擊。

熱門新聞

Advertisement