亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于信息隱藏技術的木馬植入方法

        2018-10-16 02:56:16黃福鴻劉建毅
        計算機應用 2018年8期
        關鍵詞:木馬程序木馬線程

        張 茹,黃福鴻,劉建毅,祝 鋒

        (北京郵電大學 網(wǎng)絡空間安全學院, 北京 100876)(*通信作者電子郵箱937714569@qq.com)

        0 引言

        木馬技術[1]一種常用的網(wǎng)絡攻擊技術,由于其本身的技術優(yōu)勢及利益驅動得到了廣泛的應用。木馬在滲透到受控端系統(tǒng)內(nèi)部后可以建立一個穩(wěn)固的內(nèi)部攻擊點,為后續(xù)進一步的攻擊提供一個暢通無阻的安全通道,再由里及外、內(nèi)外結合,往往可以收到更好的攻擊效果。隨著黑客技術不斷發(fā)展,新型木馬和變種木馬不斷涌現(xiàn),深入研究各式各樣的木馬才能相應地進行防御,對保障國家網(wǎng)絡安全具有重要意義[2]。從1986年第一個真正意義上的木馬誕生到現(xiàn)在,木馬不斷更新?lián)Q代,攻擊方式也發(fā)生了巨大的變化。最新的木馬研究已從惡意的木馬程序擴展到基于集成電路的硬件木馬[3]研究,但比起已經(jīng)全面發(fā)展了多年的軟件木馬,硬件木馬尚處于起步階段。木馬表面形態(tài)千變?nèi)f化、各不相同,但總結其實質(zhì),所有木馬程序都包含三個階段:植入木馬、加載運行木馬和數(shù)據(jù)回傳。

        木馬植入是指利用各種途徑使木馬程序進入到目標主機。常用的植入手段有:社會工程學欺騙用戶下載執(zhí)行捆綁了木馬的正常文件;利用系統(tǒng)或者瀏覽器漏洞進行網(wǎng)頁掛馬,從而下載木馬JS腳本進行植入;將木馬程序偽裝成非可執(zhí)行文件圖標。文獻[4]展示了一種在WMV格式的視頻媒體文件中嵌入惡意鏈接,當播放此WMV格式視頻時鏈接到偽裝成DRM(Digital Rights Management)驗證的第三方掛馬網(wǎng)站,從而實現(xiàn)種馬的方法。

        第二個階段是運行加載木馬程序,建立與目標主機的通信通道和遠程控制權,延長木馬生命期。木馬程序需要對本身進行偽裝或者隱藏,常見的運行階段的木馬隱藏技術有:啟動隱藏、文件隱藏以及進程隱藏。文獻[5]提出了一種巧妙的啟動隱藏方法:關機時,修改注冊表中系統(tǒng)自動加載運行項,實現(xiàn)木馬開機啟動;開機時,木馬程序啟動成功后則恢復修改。測試表明該方法可以避開注冊表監(jiān)視工具Regsn、RegShot等的檢測。新一代木馬已經(jīng)實現(xiàn)DLL模塊化和遠程線程插入技術,即利用進程的線程調(diào)用函數(shù)LoadLibrary加載具有完整功能的DLL模塊,實現(xiàn)木馬植入[6-7]。

        木馬千方百計隱藏自身盜取數(shù)據(jù)的目的在于回傳數(shù)據(jù)。數(shù)據(jù)回傳階段常常用到端口隱藏、隱蔽通信等隱藏技術。計算機的端口多達256×256個,早期木馬植入后一般駐留在高端口。隨著端口復用技術的出現(xiàn),木馬程序利用系統(tǒng)已開放的常用端口如23、80端口實現(xiàn)通信[8]。有的木馬程序使用TCP/IP協(xié)議族中的其他協(xié)議如ICMP來進行數(shù)據(jù)和命令傳輸,由于ICMP是IP層的協(xié)議,在傳輸數(shù)據(jù)時并不使用端口,隱蔽性能更好。反彈端口[9]是木馬等間諜軟件一種常用的通信隱蔽方式,相對于服務器端的防火墻而言,從內(nèi)向外發(fā)起的連接是不被防火墻監(jiān)聽的,可輕易穿透防火墻和避過入侵檢測系統(tǒng)等安全機制的檢測,具有很強的隱蔽性。除了反彈端口進行隱蔽通信外,對通信信道進行隱藏也可有效防止防火墻查殺,維持木馬通信周期。TCP/IP協(xié)議中Option域、傳輸數(shù)據(jù)時不常用的域、傳輸數(shù)據(jù)時強制填充的域等都可以用來建立隱蔽信道。

        木馬程序通過各種隱藏手段隱匿在計算機之中盜取各種重要數(shù)據(jù),因此為了保護信息安全應運而生地出現(xiàn)了多種先進的木馬檢測技術。兩種比較主流的木馬檢測技術有基于特征碼檢測技術和基于主機行為的主動防御技術。

        基于特征碼檢測技術[10]通常是對木馬程序的特征碼進行掃描提取,并對比匹配病毒庫中已有的木馬特征碼,以此判斷文件是否為木馬?;谔卣鞔a檢測技術目前應用最為廣泛、實用,對已知惡意代碼檢測準確度非常高;然而它無法檢測出新品種木馬,具有嚴重滯后性,其檢測能力受到了新的挑戰(zhàn)。

        木馬程序通常有異于正常程序的危險行為,如對注冊表鍵值的修改、遠程進程的注入、特定API函數(shù)的調(diào)用等?;谥鳈C行為的主動防御技術[11-12]正是以程序的行為作為判斷的關鍵依據(jù),通過實時監(jiān)控程序的行為、檢測程序的異常行為進而發(fā)現(xiàn)隱蔽在系統(tǒng)中的木馬。文獻[13]通過分析注冊表修改、文件系統(tǒng)修改、端口啟動、進程創(chuàng)建、系統(tǒng)服務修改以及鍵盤記錄、屏幕捕獲等行為特征,結合啟發(fā)式檢測技術來檢測以上行為是否為木馬程序的行為。該方法的缺點是會把未知的操作列為非法操作,導致誤報率較高;而且實時監(jiān)控文件操作、注冊表更改會大量消耗系統(tǒng)資源,引起計算機卡頓,影響其他程序的正常運行。

        社交網(wǎng)絡[14]具有用戶數(shù)量眾多、媒介多元化、大數(shù)據(jù)量、信息開放的特點,這為木馬病毒等惡意代碼傳播提供了新途徑。信息隱藏作為主要的安全通信手段,在隱私保護中發(fā)揮了重要作用[15-16]。近年來,隱藏載體的研究從主流圖像文件等擴展到網(wǎng)絡上常見的音頻、視頻、文本等主流多媒體文件[17]。文獻[18]利用漢字的數(shù)學表達式,提出一種無載體的文本信息隱藏方法;周琳娜等[19]概述了近年來基于二值圖像的信息隱藏研究成果, 并對研究成果的魯棒性和隱藏容量等問題作了簡要的比較與總結;文獻[20]利用廣播信道中包含的大量音頻信息,提出了一種時頻調(diào)制的音頻信息隱藏算法,在經(jīng)過FM廣播信道后可保持96%以上的信息恢復率。視頻信息隱藏尚處于初級階段,經(jīng)典的視頻隱藏算法是邊界匹配法。文獻[21]采用直方圖平移技術將每個宏塊的運動矢量嵌入到相鄰宏塊的量化離散余弦變換(Discrete Cosine Transform, DCT)系數(shù)中,克服了最低有效位(Least Significant Bit, LSB)替換技術對載體宏塊的解碼重構質(zhì)量造成的不可逆損失,實現(xiàn)了可逆信息隱藏。新的網(wǎng)絡壞境下,信息隱藏的形態(tài)不斷發(fā)生變化,出現(xiàn)了適用于特定載體類型的半構造式信息隱藏、完全構造式信息隱藏和行為信息隱藏的基本形式。代表性隱藏方法有紋理合成信息隱藏、Marbling信息隱藏和指紋構造信息隱藏等[22]。

        當前社交網(wǎng)絡影響并改變了互聯(lián)網(wǎng)的通信結構,信息傳播從C/S架構一家獨大轉向C/S、B/S、P2P架構共存。P2P通信網(wǎng)絡中每個節(jié)點都是對等的,沒有傳統(tǒng)的服務器與客戶端的角色,極大地提高了網(wǎng)絡的隱蔽性及可擴展性。風靡全球的即時通信應用如MSN Message、微信、QQ等大量采用了P2P技術,用戶可以在線實時交流語音、文本、視頻、圖像等多媒體數(shù)據(jù)。無孔不入的黑客極可能利用信息隱藏技術在多媒體數(shù)據(jù)中植入木馬進行海量傳播,從而為隱私泄露提供新的載體和途徑。

        現(xiàn)有的基于圖片的木馬攻擊如Stegosploit,Graftor木馬等,僅是利用圖片來掛載相應的木馬程序或惡意DLL,在注入木馬時直接將惡意代碼注入圖片中,并未用到信息隱藏技術,很容易被檢測到木馬特征,在穿透審計的能力上明顯不足。其他利用了信息隱藏技術的木馬如Stegoloader,將木馬隱寫在圖片中,待系統(tǒng)檢測木馬結束后再進行釋放。該方法需要依靠惡意程序的傳播,僅僅將信息隱藏在隱藏木馬時使用,而在木馬運行后數(shù)據(jù)的回傳與傳統(tǒng)木馬回傳數(shù)據(jù)的方式類似,依然無法有效地穿透審計。這些木馬工具采用的都是端對端的C/S架構通信,受害目標和黑客之間直接相連,且回傳的信息都是公開的,易暴露傳輸內(nèi)容并被取證,控制端容易被溯源。因此,本文提出了一種利用信息隱藏來同時保護木馬注入和信息回傳的方法。借助隱寫術將木馬程序隱藏到圖像中,以一種非可執(zhí)行文件的形式突破現(xiàn)有防火墻的攔截入侵到目標主機;滲透成功后,盜取的數(shù)據(jù)同樣采用信息隱藏算法隱藏到JPEG載體圖像。本文的木馬并不主動進行端對端回傳數(shù)據(jù),而是建立在木馬集成的自動發(fā)博客腳本將載密多媒體文件上傳至社交網(wǎng)絡的基礎上,同時社交應用使用頻繁的受害者也較大可能主動外傳數(shù)據(jù)。攻擊者與受害者不存在直接的通信連接,利用了隱寫術的特點來隱藏整個通信過程。因此實現(xiàn)了對目標用戶、指定數(shù)據(jù)進行數(shù)據(jù)采集和盜取的一種隱蔽性更好、透明性更高的,防追蹤性能更好的信息盜取方案。同時,本文利用的JPEG圖像隱藏算法,不僅嵌入量較大,同時通信也較隱蔽,具有一定的抗取證作用,能降低木馬通信暴露的機率。

        1 信息隱藏算法設計

        1.1 JPEG圖像隱藏算法

        JPEG圖像是一種在網(wǎng)絡圖像傳送過程中流行且被廣泛使用的圖像文件格式,也是信息隱藏算法最實用的隱寫載體之一。JPEG圖像隱寫方案一般是將信息嵌入到載體圖像的DCT系數(shù)上。典型JPEG圖像隱寫算法有Jsteg、F5、OutGuess、MME等[23-25]。

        STC(Syndrome-Trellis Codes)框架使圖像信息隱藏研究大為改觀,目前主流信息隱藏方法大都是利用STC編碼并合理設計失真函數(shù),保證對載體的改變量最小[26-27]。文獻[28]結合STC編碼并據(jù)DCT系數(shù)大小關系設計失真函數(shù),設計了使用nsF5修改方式的單層嵌入方法以及使用加減一修改方式的雙層嵌入方法,實驗表明,單層嵌入方法安全性比nsF5高,雙層嵌入方法比nsF5抵抗檢測的能力更強。JPEG圖像格式采用的是有損壓縮,質(zhì)量因子不同時圖像顯示出的效果會有差異,攻擊者難以判斷圖像中的異常是較低的質(zhì)量因子還是嵌入隱藏信息所導致,不易引起懷疑。

        1.2 算法設計

        1.2.1 加密預處理

        私鑰隱寫系統(tǒng)是借用密碼學技術對秘密信息先加密、再隱藏。其定義如下,對于一個六元組:

        Σ=〈C,M,K,S,DK,EK〉

        (1)

        其中:C是所有可能載體對象的集合,M是所有可能秘密消息的集合,K是所有可能密鑰的集合。嵌入函數(shù)是:

        EK:C×M×K→S

        (2)

        提取函數(shù)是:

        DK:S×K→M

        (3)

        若滿足性質(zhì):對所有m∈M,c∈C和k∈K,恒有:DK(EK(c,m,k),k)=m,則稱該六元組為私鑰隱寫系統(tǒng)。本文使用混沌序列實現(xiàn)私鑰隱寫系統(tǒng)。Logistic混沌映射源于人口統(tǒng)計的動力學系統(tǒng),其系統(tǒng)方程如下:

        Xk+1=μ*xk(1-xk)

        (4)

        可以看出此系統(tǒng)方程為非線性迭代形式,當3.569 94<μ<4且0

        En=Mn⊕Xn

        (5)

        其中:Mn為明文序列,Xn為混沌序列,En為密文序列。

        1.2.2 JPEG圖像嵌入算法

        JPEG圖像大容量隱寫算法主要包括兩部分:JPEG圖像隱寫算法和JPEG圖像提取算法部分?;贘PEG圖像大容量隱寫算法包括四個模塊: JPEG圖像解碼模塊、秘密信息讀取模塊、隱寫模塊和載密JPEG圖像文件生成模塊。具體模塊關系如圖1所示。

        圖1 JPEG圖像嵌入算法模塊

        JPEG文件解碼模塊首先讀取M*N大小的JPEG圖片文件,調(diào)用libjpeg庫的接口函數(shù)讀取量化后的DCT系數(shù),并將讀取的DCT系數(shù)存儲在臨時文件中,核心函數(shù)如下:

        1)void jpeg_create_decompress(&srcinfo)

        功能描述:初始化解碼對象。

        輸入?yún)?shù):srcinfo表示JPEG解碼結構體。輸出參數(shù):無。

        2)void jpeg_stdio_src(&srcinfo, input_file)

        功能描述:初始化源數(shù)據(jù)。

        輸入?yún)?shù):srcinfo表示JPEG解碼結構體;input_file表示待解碼文件指針。輸出參數(shù):無。

        3)void jpeg_read_header(&srcinfo, TRUE)

        功能描述:讀取jpeg文件的頭信息

        輸入?yún)?shù):srcinfo表示JPEG解碼結構體;TRUE表是否需要圖片。輸出參數(shù):無

        4)(jvirt_barray_ptr *) jpeg_read_coefficients(&srcinfo)

        函數(shù)名:jpeg_read_coefficients

        功能描述:讀取圖片DCT系數(shù)。

        輸入?yún)?shù):srcinfo表示JPEG解碼結構體。輸出參數(shù):結構體指針。

        秘密信息讀取模塊讀取到DCT塊的個數(shù)為NDCT=?M/8」*?N/8」,進而確定圖像隱藏容量與待嵌入的秘密信息相比,判斷其大小是否可以實現(xiàn)隱藏。秘密信息長度嵌入到圖片DCT系數(shù)的LSB中,圖片的前64個字節(jié)用于隱藏秘密信息長度,在提取秘密信息時可以正確得到秘密信息的大小。

        隱寫模塊將掃描秘密信息以確定隱藏秘密信息中的哪個字節(jié)的哪個比特位,然后利用偽隨機數(shù)生成器生成隨機數(shù)來確定對哪個位置的DCT系數(shù)進行嵌入,最后將秘密信息的比特位替換該DCT系數(shù)的最低比特位以完成秘密信息的嵌入,核心函數(shù)如下:

        1)void setRangeAndSeed(unsigned long seed_1,unsigned long range_1)

        功能描述:通過用戶輸入密碼作為種子,各分組DCT數(shù)作為隨機數(shù)產(chǎn)生范圍,得到隨機數(shù)確定DCT系數(shù)嵌入位置。

        輸入?yún)?shù):seed_1表示隨機數(shù)產(chǎn)生數(shù)種子,這里將用戶輸入密碼作為種子;range_1表示隨機數(shù)產(chǎn)生范圍,這里為將DCT系數(shù)分組后,每組中DCT系數(shù)的數(shù)量;輸出參數(shù):無。

        2)unsigned long nextRandom()

        功能描述:前一次產(chǎn)生的偽隨機數(shù)作為參數(shù)輸入到該函數(shù),產(chǎn)生另一個隨機數(shù)。

        輸入?yún)?shù):class RandomGenerator中的變量。輸出參數(shù):偽隨機數(shù)。

        3)int getBitNo (bitno)

        功能描述:通過掃描秘密文件,確定隱藏哪個字節(jié)的哪個比特位,并且返回該比特位的值。

        輸入?yún)?shù):bitno表示對應秘密文件的比特數(shù)。輸出參數(shù):要隱藏秘密信息的比特位值。

        載密JPEG圖像生成模塊的主要功能是將被替換的DCT系數(shù)隱寫成載密JPEG圖像文件,其主要函數(shù)如下:

        1)void jpeg_create_compress(&dstinfo)

        功能描述:分配和初始化jpeg壓縮對象。

        輸入?yún)?shù):dstinfo表示jpeg壓縮結構體。輸出參數(shù):無。

        2)void jpeg_write_coefficients(&dstinfo,src_coef_arrays)

        功能描述:分配和初始化jpeg壓縮對象。

        輸入?yún)?shù):dstinfo表示jpeg壓縮結構體;src_coef_arrays表示替換后的DCT系數(shù)。輸出參數(shù):無。

        1.2.3 JPEG圖像提取算法

        基于JPEG提取算法包括兩個模塊:JPEG圖片解碼模塊和秘密信息提取模塊。具體模塊關系如圖2所示。

        圖2 JPEG圖像提取算法模塊

        JPEG文件解碼模塊首先讀取JPEG圖片文件,調(diào)用libjpeg庫的接口函數(shù)讀取量化后的DCT系數(shù),并將讀取的DCT系數(shù)存儲在臨時文件中,主要函數(shù)見1.2.2節(jié)的JPEG隱寫算法介紹。秘密信息提取模塊通過讀取載密圖像前64個字節(jié)DCT系數(shù)的最低比特位得到秘密信息文件的長度,并且通過偽隨機數(shù)產(chǎn)生器確定提取信息的位置,將該位置處的DCT系數(shù)的最低比特位提取出來寫入文件生成秘密信息文件,核心函數(shù)如下:

        函數(shù)名:int putBitNo(int n,int value)。

        功能描述:將載密DCT系數(shù)中提取出的秘密信息比特寫入文件。

        輸入?yún)?shù):n表示對應秘密文件的比特數(shù);value表示載密DCT系數(shù)提取出的秘密信息比特。輸出參數(shù):載密DCT系數(shù)提取出的秘密信息比特。

        1.3 算法性能分析

        本文的信息隱藏算法是基于JPEG圖像的DCT變換域設計的LSB隱寫算法,不需要對JPEG圖像進行深度解碼,計算復雜度低。為對比隱寫前后的載體圖像的相似程度,客觀評價標準以峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)為衡量,計算公式如下。

        具體測試數(shù)據(jù)見表1,本文算法的PSNR值均高于文獻[29]的經(jīng)典隱藏算法,同時均不小于40 dB,高于理想圖像視覺質(zhì)量要求的40 dB。從人眼視覺效果上看,兩種圖像沒有明顯區(qū)別,不可感知性好。同時本文算法在保證不影響載體質(zhì)量的前提下,嵌入容量大。以600×800像素、垂直水平采樣因子為(1∶1∶1)的圖片為例,圖片解碼后量化后的DCT系數(shù)的個數(shù)為100×75×64×3,理想情況下每個DCT系數(shù)都可隱藏數(shù)據(jù),最大的嵌入容量為100×75×64×3/8/1024,約為175 KB。由于滿嵌時不可感知性下降,實驗過程中,嵌入容量約為50 KB(約為有效數(shù)據(jù)的30%)時可保證不可感知性,因此本文算法具有透明性好、隱藏容量較大等優(yōu)點。通過stegodetect軟件對隱寫后的圖片進行隱寫檢測,檢出率約為3%,實驗驗證可以抵抗結構檢測和掛接檢測,有實用價值,可用于滿足于本文設計的木馬程序隱蔽通信。

        表1 對比算法針對不同載密圖像在不同信息嵌入量下的PSNR比較

        2 基于信息隱藏的木馬通信模型

        2.1 通信模型流程

        基于信息隱藏的木馬通信模型的示意圖如圖3所示:木馬攻擊方使用信息隱藏算法將木馬程序隱寫到JPEG圖像中,并上傳到網(wǎng)絡Web服務器;用戶使用社交網(wǎng)絡時被誘使點擊掛馬網(wǎng)頁,隱藏有木馬程序的圖像和木馬提取程序被投放到主機;一旦提取程序得以運行,木馬被提取釋放到主機并進行一系列的隱藏自身操作之后開始上線工作。木馬盜取的用戶私密數(shù)據(jù)仍然使用信息隱藏算法隱寫到圖像文件中,木馬集成的自動發(fā)博客腳本將載密多媒體文件上傳至社交網(wǎng)絡;同時受害者也較大概率將此類隱寫了私人信息的照片通過社交網(wǎng)絡如QQ分享給其他眾多好友,受害者與好友都十分可能上傳照片到公開的微信朋友圈、微博等,這無疑加大了泄密的可能性。黑客通過公開渠道獲取載密圖像提取出秘密信息。

        圖3 基于信息隱藏的木馬通信模型

        2.2 通信模型實現(xiàn)

        結合信息隱藏技術和木馬技術各自的特點,以實現(xiàn)數(shù)據(jù)采集為目的,發(fā)揮信息隱藏技術透明性高、不易被防火墻攔截的特點,設計了基于信息隱藏的木馬軟件。圖4展示了完整的基于信息隱藏的木馬通信模型的工作流程。

        圖4 基于信息隱藏的木馬通信模型的流程

        具體實現(xiàn)過程如下:

        1)木馬預處理:將木馬DLL程序采用一維混沌加密算法加密成密文,混沌系統(tǒng)參數(shù)作為密鑰。采用信息隱藏算法將保存所有木馬功能的DLL文件植入到JPEG圖片中,嵌入隱藏的DLL文件后,JPEG圖片的外觀和功能保持不變。

        2)誘導及植入木馬:將嵌入了木馬DLL程序的載體圖像上傳到搭建好的Web服務器,同時木馬提取程序的可執(zhí)行文件、可執(zhí)行木馬注入程序以普通文件格式上傳到Web服務器;誘導用戶訪問Web服務器對應的掛馬網(wǎng)站,相關文件被下載到用戶主機。

        3)木馬文件隱藏:木馬程序從帶有木馬的網(wǎng)站下載在到本地后,將會在本地存在兩個文件:一個可執(zhí)行文件用于木馬功能模塊的啟動,一個DLL文件保存有所有的木馬功能。將這兩個文件隱藏起來,可以大大增加木馬的潛伏性和生存期。文件的隱藏方式有多種,本文采用靈活輕便的更改文件屬性加修改注冊表的方式實現(xiàn)文件的隱藏。Windows操作系統(tǒng)中存在大量的支持系統(tǒng)運行的文件,通常情況下,用戶很少查看和修改這些文件,系統(tǒng)默認將這些文件設置為隱藏屬性并設置為不顯示隱藏文件。利用這個系統(tǒng)的默認特性,將木馬的兩個文件設置為隱藏屬性,并修改注冊表項:HKEY_LOCAL_MACHINESoftwareMicrosoftwindowsCurrentVersio-nexplorerAdvancedFolderHiddenSHOWALL的checkvalue鍵值便可以達到隱藏文件的目的。

        4)木馬激活:瀏覽器調(diào)用js腳本將木馬提取程序運行,之后根據(jù)嵌入位置等參數(shù)使用信息隱藏提取算法得到DLL文件并注入到正常的進程之中。本文選取遠程線程注入的方法來實現(xiàn)隱藏進程。遠程線程注入技術是通過特殊的內(nèi)核編程手段,打破進程的界限來訪問另一個進程的地址空間。在指定的進程中創(chuàng)建一個遠程線程,該線程可以訪問進程的地址空間,在已有進程的內(nèi)存空間里加載DLL文件。DLL并非可執(zhí)行文件,只有通過進程調(diào)用才能夠啟用,所以進程列表中不會出現(xiàn)DLL的痕跡,不容易被發(fā)現(xiàn)。

        線程注入過程的原理是采用Win32 API函數(shù)WriteProcessMemory和CreateRemoteThread將DLL的代碼直接復制到遠程進程空間,并用CreateRemoteThread執(zhí)行它。CreateRemoteThread函數(shù)建立一個遠程線程,調(diào)用LoadLibrary函數(shù)來加載指定的DLL。CreateRemoteThread函數(shù)使用方法如下:

        功能描述:建立遠程線程。

        輸入?yún)?shù):THandle表示遠程進程的句柄;Pointer表示線程安全描述字;DWORD表示線程棧大小,以字節(jié)表示;TFNThreadStartRoutine表示一個TFNThreadStartRoutine類型的指針,指向在遠程進程中執(zhí)行的函數(shù)地址;Pointer表示傳入?yún)?shù)的指針;DWORD表示創(chuàng)建線程的其他標志。輸出參數(shù):無。

        在Windows系統(tǒng)下,每個進程都擁有自己的地址空間,各個進程之間都是相互獨立的,要在遠程進程的內(nèi)存空間里申請一塊內(nèi)存空間寫入需要注入的DLL的路徑,需要用到的API函數(shù)有:

        ①OpenProcess,功能是打開目標進程,得到目標進程的操作權限;

        ②VirtualAllocEx,功能是用于在目標進程內(nèi)存空間中申請內(nèi)存空間以寫入DLL的文件名;

        ③WriteProcessMemory,功能是往申請到的空間中寫入DLL的文件名。

        有了以上介紹的關鍵Windows API函數(shù),通過以下流程即可實現(xiàn)遠程線程注入:

        ①調(diào)整權限,使程序可以訪問其他進程的內(nèi)存空間(EnableDebugPriv);

        ②得到遠程進程的HANDLE(OpenProcess);

        ③在遠程進程中為要注入的數(shù)據(jù)分配內(nèi)存(VirtualAllocEx);

        ④將注入DLL復制到本進程,實現(xiàn)函數(shù)DLL裝載過程(MapInjectFile);

        ⑤把DLL資源復制到分配的內(nèi)存中(WriteProcessMemory);

        ⑥用CreateRemoteThread啟動遠程的線程。

        實現(xiàn)線程注入后,木馬程序訪問系統(tǒng)注冊表,修改系統(tǒng)啟動加載項,將木馬程序的路徑和名稱添加到啟動自動運行程序的列表中。用戶下次啟動系統(tǒng)時將啟動加載項列表,木馬程序將自動運行,此時木馬程序就完成了植入過程。

        5)數(shù)據(jù)獲取及回傳:木馬程序每次都隨系統(tǒng)自動運行,不斷通過后臺進程獲取本地文檔和數(shù)據(jù),隨后利用大容量信息隱藏算法將這些分片數(shù)據(jù)隱藏到圖片中,接著運行自動發(fā)微博功能將載體圖像上傳至社交網(wǎng)絡;攻擊者從公開的社交網(wǎng)絡渠道獲取載密圖像,使用隱藏信息提取算法還原秘密數(shù)據(jù),最終實現(xiàn)文件和數(shù)據(jù)信息回傳到木馬控制端。

        3 實驗與分析

        3.1 實驗

        木馬程序運行在Windows XP操作系統(tǒng)下,使用一臺計算機運行Tomcat搭建輕量級掛馬網(wǎng)頁服務器,控制端程序運行在Windows XP、Windows 7操作系統(tǒng)下均可。各個工具及網(wǎng)絡的部署關系如圖5所示。

        圖5 網(wǎng)絡環(huán)境部署

        測試分三步執(zhí)行:先在局域網(wǎng)中部署一個小型網(wǎng)站作為掛馬網(wǎng)站,并上載隱藏了木馬的JPEG圖像等資源文件,用戶打開掛馬網(wǎng)站的鏈接,模擬實現(xiàn)掛馬過程以真實反映互聯(lián)網(wǎng)中的網(wǎng)頁掛馬的攻擊方式;木馬程序在目標機器中啟動后自動掃描目標文件夾下的秘密數(shù)據(jù),本文以DOC文件為測試文件,在本地使用JPEG隱藏算法將秘密數(shù)據(jù)隱寫到JPEG圖像文件中,通過社交網(wǎng)絡回傳至控制端;最后控制端發(fā)現(xiàn)木馬上線并接收數(shù)據(jù)(控制端界面如圖6),然后進行數(shù)據(jù)的提取、恢復。

        圖6 木馬控制端界面

        3.2 測試結果及性能分析

        木馬程序總文件大小為36 kb,inject.exe是啟動程序,troDLL主功能模塊大小148 kb。在分別安裝360殺毒、360安全衛(wèi)士、金山衛(wèi)士和騰訊電腦管家殺毒軟件情況下,除360殺毒、360安全衛(wèi)士外,其他軟件沒有對程序報警和攔截、控制端程序可收到木馬主機的IP地址,說明木馬程序可在金山衛(wèi)士和騰訊電腦管家相應版本下實現(xiàn)免殺功能并成功運行。查看主機注冊表信息,無明顯帶有“inject”字樣的注冊表項;查看系統(tǒng)C盤、D盤、system32文件夾,沒有查看到木馬程序的文件;使用任務管理器查看系統(tǒng)運行中的進程,沒有查看到木馬進程。如圖7所示,觀察木馬運行整個過程中CPU利用率波動情況,沒有觀察到持續(xù)性超過30%。

        3.3 新型木馬的檢測和防范方法分析

        本文提出的新型木馬在植入與加載階段運用了典型木馬技術,因此在引言中提到的已有成熟的木馬檢技術如基于動態(tài)行為、靜態(tài)特征相結合的木馬檢測方法在一定程度上能夠識別本文木馬的抗檢測對抗技術。然而本文的新型木馬有效地利用了隱寫術的特點來隱藏整個通信過程,現(xiàn)有的基于木馬回傳階段的如端口檢測、過濾分析網(wǎng)絡通信流量監(jiān)測等機制無法識別到這樣的通信渠道。計算機自身對信息管理本質(zhì)上是完全不設防的,無論是用戶還是木馬都可以擁有絕大多數(shù)文件的讀寫復制等訪問權限,本文的木馬就是通過掃描用戶的私人多媒體數(shù)據(jù),從而給了木馬可乘之機。因此,對多媒體文件、文件夾進行加密、設置讀寫權限等是一個有效防范方法,可以在一定程度上降低本文的木馬對數(shù)據(jù)進行盜取的機率。

        圖7 木馬運行過程CPU利用率波動圖

        4 結語

        以往的木馬通常采用端對端的通信方式,受害目標和黑客之間直接相連,且回傳的信息都是公開的,易暴露傳輸內(nèi)容,控制端容易被溯源。本文結合信息隱藏技術與木馬技術兩者的優(yōu)勢設計了一種基于信息隱藏的木馬植入途徑。該方法以JPEG圖像為載體進行信息隱藏,實驗結果顯示該方式具有較大的隱藏容量,而且保持了良好的透明性;將木馬技術與信息隱藏技術相結合,將木馬程序隱寫到JPEG圖像中進行投放,以一種非可執(zhí)行文件的形式突破現(xiàn)有防火墻的攔截入侵到目標主機,木馬盜取的數(shù)據(jù)經(jīng)過加密后隱藏到多媒體圖像當中,能提高木馬抗取證性能;新型木馬有效地利用了信息隱藏技術的優(yōu)勢來盜取數(shù)據(jù),并通過社交網(wǎng)絡多媒體共享行為實現(xiàn)木馬程序隱蔽通信,使木馬具有相當好的通信隱蔽性與防追蹤性能,能有效對抗已有的木馬檢測技術;最后通過分析指出,在社交網(wǎng)絡如微信、QQ等即時通信中,如果此類型木馬被利用,則可能造成用戶隱私泄露,并提出了一些檢測防范思路,以便更好地防范木馬的滲透和攻擊。

        猜你喜歡
        木馬程序木馬線程
        小木馬
        騎木馬
        殺滅木馬程序,幸福就會來臨
        至愛(2019年10期)2019-11-13 03:41:16
        小木馬
        旋轉木馬
        淺談linux多線程協(xié)作
        惡意木馬程序——Trojan_Generic
        木馬更加專業(yè)化網(wǎng)絡攻擊成主角
        Linux線程實現(xiàn)技術研究
        么移動中間件線程池并發(fā)機制優(yōu)化改進
        国产精品亚洲av高清二区| 欧美一级视频精品观看| 日韩亚洲欧美精品| 国产免费精品一品二区三| 久久精品中文少妇内射| 天天躁日日躁狠狠久久| 99热在线精品播放| 天堂视频一区二区免费在线观看| 亚洲一区第二区三区四区| 高h纯肉无码视频在线观看| 最新亚洲人成无码网www电影| 亚洲成a人片在线观看高清| 日韩av水蜜桃一区二区三区 | 丰满岳乱妇一区二区三区| 亚欧AV无码乱码在线观看性色| 日本最新一区二区三区免费看| 男女调情视频在线观看| 亚欧美日韩香蕉在线播放视频| 国产福利免费看| 亚洲男人的天堂在线播放| 精品久久久久久无码不卡 | 国产伪娘人妖在线观看| 一区二区三区四区在线观看日本| 色一情一乱一伦| 亚洲男人天堂2017| 亚洲精品女优中文字幕| 无码伊人66久久大杳蕉网站谷歌| 日韩成人大屁股内射喷水| 久久老子午夜精品无码| 亚洲国产国语对白在线观看 | 亚洲精品成人av观看| 国产精品高清国产三级国产av| 国产乱码卡二卡三卡老狼| 无码中文字幕加勒比一本二本| 亚洲精品国产一区av| 日韩午夜理论免费tv影院 | 免费毛片在线视频| 男女性生活视频免费网站| 成人欧美一区二区三区在线观看| 国产精品乱码在线观看| 在线播放中文字幕一区二区三区|