導(dǎo)讀:當(dāng)然,執(zhí)行這類攻擊,也有著幾項(xiàng)前提。首先,受害設(shè)備上必須被安裝了間諜軟件程序,這種惡意代碼可以嵌入一個(gè)無害的應(yīng)用程序。
加州大學(xué)河濱分校的研究人員,發(fā)現(xiàn)了三種可能被黑客利用 GPU、來攻破用戶安全與隱私防線的方法。這些技術(shù)可用于監(jiān)視瀏覽器活動(dòng)、竊取密碼、以及向基于云端的應(yīng)用程序發(fā)起攻擊。研究報(bào)道中描述的第一項(xiàng),指出了 GPU 旁路攻擊導(dǎo)致的渲染不安全:“計(jì)算機(jī)科學(xué)家們認(rèn)為這是可行的,并且描述了他們?nèi)绾瓮ㄟ^對 Nvidia GPU 進(jìn)行反向工程,將圖形渲染和計(jì)算機(jī)堆棧都拉下水”。
英偉達(dá)發(fā)布的新卡皇(圖自:Nvidia 官網(wǎng))
論文原標(biāo)題為《渲染也不安全:計(jì)算機(jī)旁路攻擊是可行的》(Rendered Insecure: GPU Side Channel Attacks are Practical)。其聲稱,這是人們首次成功地對 GPU 發(fā)起旁路攻擊。
當(dāng)然,執(zhí)行這類攻擊,也有著幾項(xiàng)前提。首先,受害設(shè)備上必須被安裝了間諜軟件程序,這種惡意代碼可以嵌入一個(gè)無害的應(yīng)用程序。
其次,攻擊者必須擁有可以分析 GPU 內(nèi)存分配機(jī)制的機(jī)器學(xué)習(xí)方法。然后,間諜軟件和機(jī)器學(xué)習(xí)程序才可以利用現(xiàn)有的圖形 API(如 OpenGL 或 WebGL)發(fā)起攻擊。
換言之,一旦用戶打開了惡意應(yīng)用程序,它就會調(diào)用 API 來分析 GPU 正在呈現(xiàn)的內(nèi)容(比如網(wǎng)頁信息)。GPU 的存儲器和性能計(jì)數(shù)器被其所監(jiān)視,并饋送給機(jī)器學(xué)習(xí)算法,以解釋數(shù)據(jù)和創(chuàng)建網(wǎng)站的指紋。
加州大學(xué)河濱分校指出,鑒于渲染對象數(shù)量和尺寸的不同,每個(gè)網(wǎng)站在 GPU 內(nèi)存利用率方面都會留下獨(dú)特的痕跡。在多次加載同一個(gè)網(wǎng)站時(shí),這個(gè)信號的樣式幾乎時(shí)一致的,而且不受緩存的影響。
研究人員稱,通過這種‘網(wǎng)站指紋識別方法’,他們已經(jīng)能夠?qū)崿F(xiàn)很高的識別準(zhǔn)確率。借助這項(xiàng)技術(shù),黑客可監(jiān)控受害者的所有網(wǎng)絡(luò)活動(dòng)。
研究配圖:旁路攻擊解析
更糟糕的是,這一漏洞還允許攻擊者從 GPU 數(shù)據(jù)中提取密碼。
當(dāng)用戶鍵入密碼字符時(shí),整個(gè)文本框會被發(fā)送到 GPU 進(jìn)行渲染。每一次的擊鍵,都會發(fā)生這樣的數(shù)據(jù)傳遞。
如此一來,憑借完善的密碼學(xué)習(xí)技術(shù),只需監(jiān)控 GPU 內(nèi)存中持續(xù)的分配事件、并參考間隔時(shí)間,理論上攻擊者就可以做到這點(diǎn)。
論文中描述的第三種技術(shù)(攻擊基于云端的應(yīng)用程序),則比上述兩種方法要復(fù)雜一些。攻擊者可以在 GPU 上啟動(dòng)惡意的計(jì)算型工作負(fù)載,與受害者的應(yīng)用程序一起運(yùn)行。
根據(jù)神經(jīng)網(wǎng)絡(luò)的參數(shù)、緩存、內(nèi)存、以及功能單元上(隨時(shí)間而不同的)爭用強(qiáng)度和模式,可以產(chǎn)生可測量的信息泄露。
攻擊者在性能計(jì)數(shù)器的追蹤上使用了基于機(jī)器學(xué)習(xí)的分類,以此提取受害者的私密神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),如深層神經(jīng)網(wǎng)絡(luò)特定層中的神經(jīng)元數(shù)量。
萬幸的是,在團(tuán)隊(duì)向 Nvidia 通報(bào)了他們的研究結(jié)果后,該公司表示將向系統(tǒng)管理員推出一個(gè)補(bǔ)丁,以便他們可以禁止從用戶級進(jìn)程訪問性能計(jì)數(shù)器。
同時(shí),研究團(tuán)隊(duì)還向 AMD 和英特爾安全團(tuán)隊(duì)通報(bào)了同樣的事情,以便它們評估這些漏洞是否會在自家產(chǎn)品上被利用。