來自美國多所大學的研究小組開發了一種新的旁道攻擊技術,可以讓他們重新創建在 GPU 上處理的視覺資訊。使用所提出的方法(名為 GPU.zip),攻擊者可以確定螢幕上顯示的資訊。除此之外,攻擊還可以透過網頁瀏覽器進行,例如,示範了在 Chrome 中開啟的惡意網頁如何取得有關在同一瀏覽器中開啟的另一個網頁時顯示的像素的資訊。
資訊外洩的根源在於現代 GPU 所使用的最佳化,它提供了圖形資料的壓縮。在所有測試過的整合 GPU(AMD、Apple、ARM、Intel、Qualcomm)和獨立 NVIDIA 顯示卡上使用壓縮時都會出現問題。研究人員發現,整合的英特爾和 AMD GPU 始終啟用圖形資料壓縮,即使應用程式沒有特別要求進行此類最佳化。使用壓縮會導致 DRAM 流量和快取負載與正在處理的資料的性質相關,可以透過側通道分析逐像素重建。
該方法相當緩慢;例如,在配備整合 AMD Ryzen 7 4800U GPU 的系統上,一次確定用戶在另一個選項卡中輸入維基百科的名稱的攻擊花費了 30 分鐘,並且能夠以 97% 的準確率確定像素的內容。在整合 Intel i7-8700 GPU 的系統上,類似的攻擊花了 215 分鐘,準確率為 98%。
透過瀏覽器進行攻擊時,目標網站會在iframe中循環打開,啟動渲染。為了確定要顯示什麼訊息,iframe 輸出被轉換為黑白表示,並應用 SVG 過濾器,該過濾器連續應用會引入和不會引入太多壓縮冗餘的掩碼。透過對參考樣本渲染時間變化的評估,可以確定某個位置是否存在暗像素或亮像素。使用類似的掩模版透過連續的逐像素檢查來重建整體影像。

GPU 和瀏覽器供應商在 3 月就已收到有關該問題的通知,但尚未有任何供應商發布修復程序,因為在非理想條件下,這種攻擊不太可能在實踐中進行,而且該問題更具理論意義。谷歌尚未決定是否在 Chrome 瀏覽器層面阻止攻擊。 Chrome 容易受到攻擊,因為它允許從另一個網站載入 iframe 而不清除 cookie,允許將 SVG 過濾器套用到 iframe,並將渲染委託給 GPU。 Firefox 和 Safari 並不受此影響,因為它們不符合這些標準。此攻擊也不適用於禁止透過 iframe 嵌入其他網站的網站(例如,透過將 X-Frame-Options HTTP 標頭設定為“SAMEORIGIN”或“DENY”,或透過使用 Content-Security-Policy 標頭設定存取設定)。
來源: opennet.ru
