運行于顯卡(GPU)的Rootkit木馬和鍵盤記錄器問世
如今木馬后門已完全可以運行在電腦的顯卡中,這種獨特的運行方式增強了它們的隱匿性,同時還大大提高了惡意行為的執(zhí)行性能。
基于GPU的惡意軟件
最近,開發(fā)人員發(fā)布了兩款概念驗證性的惡意軟件——Jellyfish rootkit和Demon鍵盤記錄器,這兩款惡意軟件的運行并不是利用電腦的CPU,而是利用圖像處理器GPU。這種惡意軟件能夠利用GPU實現(xiàn)比特幣挖礦機,性能更高。
兩名匿名開發(fā)者對該Rootkit(木馬后門)的描述:
“Jellyfish是一個基于Linux的用戶態(tài)GPU rootkit概念驗證項目,它利用了Jynx(CPU)中的LD_PRELOAD技術(shù)和Khronos組織開發(fā)的OpenCL API(可以利用GPU)。目前代碼支持AMD和NVIDIA顯卡,并且使用AMD APPSDK的接口是可以兼容Intel的GPU的。”
關(guān)于Demon鍵盤記錄器,開發(fā)者并沒有提供進一步的信息,這個鍵盤記錄器是2013年一篇論文中所描述的惡意代碼的POC,這篇論文的題目為“You Can Type, but You Can’t Hide: A Stealthy GPU-based Keylogger.”。其中,論文中陳述道:
“我們提出一種新的方法來實現(xiàn)隱秘的鍵盤記錄器:利用顯卡作為鍵盤記錄器的運行環(huán)境,并對這種方法的可能性進行了探索。該方法的關(guān)鍵點是通過DMA直接從GPU監(jiān)聽系統(tǒng)的鍵盤緩沖器,除了頁表之外,無需對內(nèi)核代碼或數(shù)據(jù)結(jié)構(gòu)進行hook或修改。
對該方法原型實現(xiàn)的評估表明,基于GPU的鍵盤記錄器可以有效地記錄用戶所有的鍵盤敲擊信息,并可以將信息存儲在GPU的內(nèi)存空間中,甚至可以當場分析記錄的數(shù)據(jù),而運行時間開銷可以忽略不計。”
功能特性
該惡意軟件都能夠在不Hook操作系統(tǒng)內(nèi)核進程的情況下運行,所以它的運行并不會引起懷疑。
GPU惡意軟件的優(yōu)點如下:
1、網(wǎng)絡(luò)上還沒有分析GPU惡意軟件的工具;
2、可以通過DMA(直接內(nèi)存存取)監(jiān)聽主機CPU內(nèi)存;
3、GPU可以用于快速的數(shù)學計算;
4、關(guān)閉之后惡意內(nèi)存仍然存留于GPU內(nèi)。
這兩款惡意軟件的運行需要滿足以下條件:
1、安裝了OpenCL驅(qū)動或ICDS
2、Nvidia或AMD顯卡(英特爾支持AMD SDK)
3、改變rootkit/kit.c文件中的第103行,將其中的服務(wù)器IP改成你想監(jiān)視的GPU客戶端所在機器的IP
游戲玩家成潛在受害者
專家們強調(diào),盡管Jellyfish rootkit能躲避現(xiàn)實的防御系統(tǒng),但它要求感染的主機要有一個獨立顯卡。因為許多電腦并沒有獨立顯卡,這樣的條件可能會極大地限制惡意軟件的感染量。不過,在某些條件下將能夠滿足這種要求,例如游戲玩家或視頻愛好者的電腦就很可能含有獨立顯卡。