各大供應(yīng)商的GPU都容易受到新的像素竊取攻擊
四所美國(guó)大學(xué)的研究人員在周二發(fā)表的一篇論文中演示表明,六家主要供應(yīng)商的GPU都容易受到一種新發(fā)現(xiàn)的攻擊,這種攻擊讓惡意網(wǎng)站可以讀取其他網(wǎng)站顯示的用戶名、密碼及其他敏感的可視化數(shù)據(jù)。
跨源攻擊允許來(lái)自一個(gè)域(比如example.com)的惡意網(wǎng)站有效地讀取來(lái)自example.org或另一個(gè)不同域的網(wǎng)站顯示的像素,然后,攻擊者可以重新構(gòu)建像素,讓他們可以查看后一個(gè)網(wǎng)站顯示的單詞或圖像。這種泄漏違反了一個(gè)關(guān)鍵的安全原則,該原則構(gòu)成了保護(hù)互聯(lián)網(wǎng)的最基本的安全邊界之一,這個(gè)原則就叫同源策略(same origin policy),它要求托管在一個(gè)網(wǎng)站域上的內(nèi)容與所有其他網(wǎng)站域隔離開來(lái)。
優(yōu)化帶寬是有代價(jià)的
GPU.zip(這種概念驗(yàn)證攻擊的名稱)始于一個(gè)惡意網(wǎng)站,該網(wǎng)站將一個(gè)指向它想要讀取的某個(gè)網(wǎng)頁(yè)的鏈接放在iframe中,而iframe是一種常見(jiàn)的HTML元素,允許網(wǎng)站嵌入廣告、圖像或托管在其他網(wǎng)站上的其他內(nèi)容。通常情況下,同源策略會(huì)阻止任何一個(gè)網(wǎng)站查看另一個(gè)網(wǎng)站的源代碼、內(nèi)容或最終的可視化產(chǎn)品。研究人員發(fā)現(xiàn),內(nèi)部GPU和獨(dú)立GPU都用來(lái)提高性能的數(shù)據(jù)壓縮充當(dāng)了側(cè)信道,他們可以濫用這條側(cè)信道繞過(guò)限制,逐個(gè)竊取像素。
GPU.zip若要奏效,必須將惡意頁(yè)面加載到Chrome或Edge瀏覽器中。當(dāng)這些瀏覽器處理攻擊頁(yè)面時(shí),F(xiàn)irefox和Safari在工作方式方面的底層差異阻止攻擊得逞;另一個(gè)要求是,在iframe中鏈接的頁(yè)面不能被配置為拒絕被跨源網(wǎng)站嵌入。
當(dāng)HTML被嵌入到惡意網(wǎng)站上的iframe中時(shí),可能導(dǎo)致安全威脅,這是十多年來(lái)公開的秘密。大多數(shù)網(wǎng)站通過(guò)X-Frame-Options或Content-Security-Policy標(biāo)頭限制跨源嵌入顯示用戶名、密碼及其他敏感內(nèi)容的頁(yè)面,然而并非所有網(wǎng)站都這么做。維基百科就是一個(gè)例子,它顯示賬戶登錄者的用戶名,如果一個(gè)人在訪問(wèn)一個(gè)他不信任的網(wǎng)站時(shí)想要保持匿名,而如果該網(wǎng)站包含的iframe含有指向https://en.wikipedia.org/wiki/Main_Page的鏈接,可能會(huì)被拒絕。
各大供應(yīng)商的GPU都容易受到新的像素竊取攻擊
圖1. 對(duì)用戶去匿名化處理的像素竊取概念驗(yàn)證(PoC),運(yùn)行時(shí)打開的其他標(biāo)簽播放視頻?!癎round Truth”是受害者iframe(以“Yingchenw”登錄維基百科)?!癆MD”是在Ryzen 7 4800U上30分鐘后的攻擊結(jié)果,準(zhǔn)確率為97%?!癐ntel”是在i7-8700上215分鐘后的攻擊結(jié)果,準(zhǔn)確率高達(dá)98%。
研究人員表明了GPU.zip如何允許他們?yōu)镻oC創(chuàng)建的一個(gè)惡意網(wǎng)站逐個(gè)竊取用戶維基百科用戶名的像素。攻擊適用于蘋果、英特爾、AMD、高通、Arm和英偉達(dá)提供的GPU。在AMD的Ryzen 7 4800U上,GPU.zip花了約30分鐘來(lái)渲染目標(biāo)像素,準(zhǔn)確率達(dá)到了97%,在運(yùn)行英特爾i7-8700的系統(tǒng)上顯示時(shí),攻擊需要215分鐘才能重建像素。
研究人員分析的所有GPU都使用專有的壓縮形式來(lái)優(yōu)化PC、手機(jī)或顯示目標(biāo)內(nèi)容的其他設(shè)備的內(nèi)存數(shù)據(jù)總線中的可用帶寬。壓縮方案因廠商而異,沒(méi)有文檔記錄,因此研究人員對(duì)每種壓縮方案進(jìn)行了逆向工程處理,從而獲得的一種方法使用SVG(可縮放矢量圖形)圖像格式,在存在壓縮的情況下最大化黑白目標(biāo)像素之間的DRAM流量差異。雖然論文討論了GPU.zip,因?yàn)樗m用于iGPU或內(nèi)部GPU,但這種技術(shù)同樣適用于獨(dú)立或離散GPU。
研究人員在論文中寫道:我們演示了攻擊者可以利用基于iGPU的壓縮信道,在使用SVG過(guò)濾器的瀏覽器(截至2023年4月的最新版Google Chrome)中執(zhí)行跨源像素竊取攻擊,即使SVG過(guò)濾器是在恒定時(shí)間實(shí)施的。原因在于,攻擊者可以根據(jù)瀏覽器中的單個(gè)秘密像素,創(chuàng)建高度冗余或高度非冗余的模式,由于這些模式由iGPU處理,它們不同程度的冗余導(dǎo)致無(wú)損壓縮輸出依賴秘密像素,依賴數(shù)據(jù)的壓縮輸出直接轉(zhuǎn)換為依賴數(shù)據(jù)的DRAM流量和依賴數(shù)據(jù)的緩存占用。
因此我們表明,即使在最被動(dòng)的威脅模型下(攻擊者只能使用瀏覽器中的粗粒度計(jì)時(shí)器觀察模式的粗粒度冗余信息,并且缺乏自適應(yīng)選擇輸入的能力),單個(gè)像素也可能被泄露。我們的概念驗(yàn)證攻擊在一系列設(shè)備(包括電腦和手機(jī))上得逞,這些設(shè)備來(lái)自眾多硬件廠商,采用不同的GPU架構(gòu)(英特爾、AMD、蘋果和英偉達(dá))。令人驚訝的是,我們的攻擊在離散GPU上也得逞了,我們的初步結(jié)果表明這些架構(gòu)上還存在軟件透明壓縮。
現(xiàn)在是個(gè)威脅?可能不是,但是……
數(shù)據(jù)壓縮是提高軟硬件性能的一項(xiàng)常見(jiàn)特性。它使用復(fù)雜運(yùn)算來(lái)表示文件或數(shù)據(jù)塊中的冗余,并縮減其擁有的位數(shù),壓縮也是一種常見(jiàn)的側(cè)信道,成為過(guò)去十年中幾次攻擊的原因,比如用于解密一些HTTPS流量的CRIME(壓縮比信息泄露變得容易)漏洞,針對(duì)HTTPS加密的另一種攻擊BREACH(全稱通過(guò)超文本自適應(yīng)壓縮進(jìn)行的瀏覽器偵察和泄露),2018年名為VORACLE的攻擊,以及在2021年針對(duì)存儲(chǔ)器壓縮的實(shí)用時(shí)序側(cè)信道攻擊。
如前所述,GPU.zip僅在惡意攻擊者網(wǎng)站被加載到Chrome或Edge中時(shí)有效。原因是:要使攻擊有效,瀏覽器必須:
1.允許跨源iframe與cookie一同被加載
2.允許在iframe上渲染SVG過(guò)濾器
3.將渲染任務(wù)委托給GPU
谷歌的代表沒(méi)有表明該公司是否計(jì)劃改變Chrome的行為以回應(yīng)研究結(jié)果。
與此同時(shí),英特爾的代表在一封電子郵件中表示,這家芯片制造商“評(píng)估了研究人員提供的發(fā)現(xiàn)結(jié)果,確定根本原因不在我們的GPU上,而在第三方軟件上?!?/p>
眼下,GPU.zip更多的是一種好奇而不是真正的威脅,但前提是Web開發(fā)人員適當(dāng)?shù)叵拗泼舾许?yè)面不被跨源網(wǎng)站嵌入。如果最終用戶想要檢查頁(yè)面是否實(shí)施了此類限制,應(yīng)該查找源頭中的X-Frame-Options或Content-Security-Policy標(biāo)頭。為此:
1.打開網(wǎng)頁(yè)
2.打開開發(fā)者控制臺(tái)
3.重新加載網(wǎng)頁(yè)
4.進(jìn)入到網(wǎng)絡(luò)標(biāo)簽,檢查主文檔請(qǐng)求
5.查看X-Frame-Options或Content-Security-Policy是否在這里被設(shè)置
檢查www.gmail.com可以看到X-Frame-Options被設(shè)置為SAMEORIGIN(同源)。
然而,檢查https://en.wikipedia.org/wiki/Main_Page卻發(fā)現(xiàn)沒(méi)有設(shè)置這樣的標(biāo)頭。
明年5月在舊金山將舉行第45屆IEEE安全與隱私研討會(huì),雖然GPU.zip目前構(gòu)成的威脅很小,但研究和令人驚訝的發(fā)現(xiàn)對(duì)設(shè)計(jì)軟硬件的人來(lái)說(shuō)仍然很重要。
文章翻譯自:https://arstechnica.com/security/2023/09/gpus-from-all-major-suppliers-are-vulnerable-to-new-pixel-stealing-attack/如若轉(zhuǎn)載,請(qǐng)注明原文地址