代 銓
?
木馬隱藏技術(shù)分析
代 銓
中國石油大學,山東 青島 264000
首先介紹了木馬的原理和特征,然后對木馬所實現(xiàn)的功能做了簡單的介紹,最后從木馬的文件隱藏,進程隱藏和通信隱藏三個方面著重進行了分析。
木馬;木馬隱藏;通信隱藏
木馬,是一種通過潛入對方電腦進非法操作的計算機成程序,是目前黑客慣用的一種攻擊手段,和一般的惡意軟件不同,木馬不主動進行自我復(fù)制和傳播,破壞其他程序,然而,木馬的潛伏性是超前的,為了看起來和正常程序一樣,在進入系統(tǒng)之前,對自身的程序進行了偽裝,使被感染的系統(tǒng)看起來一切正常,從而嚴重威脅計算機網(wǎng)絡(luò)安全[1]。
一個完整的木馬程序包含兩部分內(nèi)容,服務(wù)端和控制端,服務(wù)端程序是通過遠程計算機網(wǎng)絡(luò)植入對方電腦,而黑客通過客戶端進入運行了服務(wù)端的受控電腦,通常運行了服務(wù)端的計算機會生成一個類似于系統(tǒng)文件的進程,此時端口被暗中打開,電腦中保存的各類數(shù)據(jù)(比如QQ密碼,網(wǎng)絡(luò)游戲密碼等)會向控制端進行發(fā)送,黑客也可以通過這些暗中打開的端口進入目標電腦,此時,電腦中更多的隱私將會遭受更大的泄露。
木馬一般具有以下特征:
(1)隱藏性,隱藏性是木馬的最顯著特征,比如,改寫進程名稱使其和系統(tǒng)文件高度相似,隱藏在任務(wù)管理器中的進程,減少程序大小,減少暗中打開端口的流量。
(2)自動運行性,可以隨電腦啟動而啟動,比如潛入啟動配置文件win.ini,winstart。Bat等,有的也可嵌入正常軟件,隨軟件的運行而啟動。
(3)欺騙性:木馬為了防止被發(fā)現(xiàn),通常偽裝成為系統(tǒng)中本身存在的文件,比武將文件名中的“O”改為“0”,“1改為I”等容易混淆是非的字符,或者有的系統(tǒng)中本身的文件名也可被木馬直接套用,只不過是保存在不同的系統(tǒng)路徑下,另外,有的木馬將自己改裝成為ZIP壓縮文件,當用戶解壓時,直接運行。四、自我恢復(fù)性。目前大多數(shù)木馬程序的功能模塊已不是單一的組件構(gòu)成,而是自動復(fù)制到電腦其他路徑做備份,在子木馬或者主木馬被刪除時,都可以再自動生成[2]。
木馬的作用不僅限于竊取密碼,對文件進行操作。一個功能強大的木馬程序,一旦潛入計算機系統(tǒng),黑客對于受控計算機的操作就如同和自己自己的一樣。木馬的功能主要分為以下幾個方面:
竊取密碼。這是早期木馬最根本的一個功能,大多數(shù)木馬具有鍵盤按鍵記錄功能,一旦木馬植入計算機,任何輸入鍵盤的密碼將很容易被竊取,然而并沒有鼠標記錄功能,所以,通過鼠標適當?shù)脑熳鱽砀淖儞翩I順序可以有效的防止密碼泄露。此外,木馬程序也可以記錄其他的明文以及緩存Cache記錄。
遠程監(jiān)控。攻擊者可以對目標電腦進行屏幕圖像截取,從而監(jiān)控目標系統(tǒng)的操作,當需要時,還能通過輸入指令,對受控計算機的鼠標和鍵盤進行操作。早年的“灰鴿子”就有遠程視頻監(jiān)控的功能,并且還可以對語音進行監(jiān)聽和發(fā)送[3]。
修改注冊表。被植入服務(wù)端的電腦,其注冊表的信息,主鍵、子鍵等可以被控制端任意的修改,刪除,新建等,就像操作自己的電腦一樣。
系統(tǒng)操作。這項功能不但可以控制服務(wù)端的鍵盤、鼠標等基本操作,還可以斷開服務(wù)端的網(wǎng)絡(luò)連接,關(guān)閉或者重啟操作系統(tǒng),甚至發(fā)送信息,以此來達到控制目的。
木馬為了規(guī)避殺毒軟件,防止被發(fā)現(xiàn),增加生命周期,通常在進入系統(tǒng)后會以各種方法隱藏其行蹤,木馬的隱藏能力直接決定了木馬的攻擊效果。主要分為三種方式:文件隱藏、進程隱藏、通信隱藏。
3.1 文件隱藏
文件隱藏是指木馬程序通過偽裝目標磁盤文件,讓用戶在表面上難以辨別出木馬程序,通常的文件隱藏方法如下:
(1)嵌入宿主文件。采用此方法的木馬主要是嵌入到系統(tǒng)文件中,當啟動系統(tǒng)時,木馬隨即啟動,有的也是捆綁到某個應(yīng)用程序中,當此程序被用戶使用時,木馬也跟隨啟動。除此之外,目前嵌入在壓縮文件ZIP中的木馬也比較常見,解壓文件的同時,木馬程序也被釋放運行了[4]。
(2)修改文件屬性。木馬程序一般會把自身的文件類型設(shè)置為隱藏,并且只讀。這樣做的目的主要是防止用戶發(fā)現(xiàn),并且保證自身的文件內(nèi)容不會被修改。很多木馬會把文件釋放到windows或者windowssystem32等系統(tǒng)目錄下,而且會修改此文件的生成日期,以此來迷惑用戶。
(3)文件替換。也叫DLL技術(shù),是木馬程序發(fā)展的一種比較新的技術(shù)產(chǎn)物。這種技術(shù)的精髓所在是將系統(tǒng)原來的DLL替換為木馬DLL,將原來的DLL修改并保存為其他名稱,并且過濾進程對此系統(tǒng)DLL函數(shù)的調(diào)用,對于正常的調(diào)用,木馬DLL直接轉(zhuǎn)發(fā)給原來的系統(tǒng)DLL,當接到特殊的調(diào)用時,木馬DLL就行行相關(guān)的操作。如圖1-1所示。這種木馬既沒有增加新的系統(tǒng)文件,沒有創(chuàng)建新的進程,也沒有打開新的端口,因此其隱蔽性是極強的,為長期隱藏在電腦中奠定了很好基礎(chǔ)。
圖1-1 特洛伊DLL示意圖
3.2 進程隱藏
打開任務(wù)管理器,查看是否有可疑的進程,這是檢查木馬程序最簡單直接的方法,木馬程序經(jīng)過更新?lián)Q代,此種方法已經(jīng)不能有效的阻止木馬入侵了,進程隱藏就是防止用戶通過這種軟件發(fā)現(xiàn)木馬的存在,增加了木馬的生存周期。
最簡單的進程隱藏方式就是把木馬程序的文件名改為和系統(tǒng)高度相似的名稱,比如Exp1orer.exe,利用數(shù)字“1”和字母“I”和特別相像,SVCH0ST.EXE,利用數(shù)字 “0”和字母“o”的相似性,來迷惑用戶。在計算機系統(tǒng)內(nèi),由于存在很多個SVCHOST.EXE進程,因此這種改寫也增加了迷惑性。然而,對經(jīng)驗豐富的用戶使用此種招式就很難發(fā)揮其功效了,當前主流的更高一級的技術(shù)主要分為以下兩種:API鉤子技術(shù)和DLL技術(shù)。
(1)API鉤子(HOOK)技術(shù)。API鉤子,也稱API HOOK技術(shù),此技術(shù)可以讓任務(wù)管理器等進程軟件不顯示木馬程序的進程列表,然而木馬程序卻真實存在于系統(tǒng)之中。所以它所實現(xiàn)的進程隱藏屬于偽隱藏。API(application programming interface)是Windows提供的應(yīng)用編程接口,其作用是應(yīng)用程序可以對系統(tǒng)進行操控。鉤子(hook)實際上是處理消息的一段程序,當被HOOK的某一事件(比如API函數(shù)調(diào)用),一旦接受到特定的指令,那么進行HOOK的程序就會取得此條指令的控制權(quán),可以任意修改,轉(zhuǎn)發(fā),或者結(jié)束指令。一般而言,鉤子服務(wù)器(負責鉤子鉤子驅(qū)動器的植入和卸載,一般為EXE文件)和鉤子驅(qū)動器(負責具體的API調(diào)用攔截和操作,一般為DLL文件)組成了API HOOK[5]。
(2)DLL嵌入技術(shù)。如果,木馬程序直接不產(chǎn)生進程,那么用戶想要找出破綻就非常困難了,DLL技術(shù)正是采用了這種手段,并且達到了真正的進程隱藏, DLL不獨立運行,而是加載在某個進程的線程當中,所以在進程列表中,并不會發(fā)現(xiàn)木馬DLL,而是顯示那個進程,通過Rundll32.exe來運行DLL是最簡單的方法,但是很容易被發(fā)現(xiàn)。更高端一點的則是利用木馬DLL替換系統(tǒng)本來的DLL,當函數(shù)轉(zhuǎn)發(fā)器收到正常的調(diào)用時,依然會轉(zhuǎn)發(fā)給原來的DLL,當只有收到特定消息時,才會進行攔截。DLL嵌入技術(shù)脫離了木馬監(jiān)聽端口的老舊模式,最大的優(yōu)點在于,通過端口監(jiān)視的方法進行查殺,因為新的端口并沒有被打開。并且通過一般的殺毒軟件掃描文件的形式也并不能有效的清除,因為并沒有產(chǎn)生新的文件。這種方法幾乎沒有征兆,所以其隱蔽性是極高的。
3.3 通信隱藏
木馬的通信隱藏方法有以下2種:
(1)端口隱藏。一般來講,木馬植入主機后,會選擇1024等高端口上駐留,也有部分木馬采用端口復(fù)用技術(shù),選擇常用端口,比如80端口來進行通信,并不打開新的端口,當收到正常的HTTP請求時,仍然交于web服務(wù)器處理,只有當收到約定的數(shù)據(jù)包時,才調(diào)用木馬。(2)反向連接技術(shù)。這種技術(shù)的突破點在于利用了防火墻的一個破綻,防火墻主要是對于進入主機的文件或者鏈接進行嚴格的過濾,但是對于主機主動向外界的鏈接卻幾乎不進行過濾,和普通的木馬不同,反彈端口型木馬采用的采用的是反向鏈接的編程方法,即:服務(wù)器端(被控制端)采用主動端口,客戶端(控制端)采用的是被動端口,被植入反彈木馬服務(wù)器端的計算機定時檢測控制端的上線情況,一旦發(fā)現(xiàn)控制端上線,立即彈出端口連接控制端打開的端口,這種連接還能突破內(nèi)網(wǎng)與外部建立連接。
隨著計算機網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)安全已經(jīng)成為人們不得不考慮的一個因素,木馬植入手段多樣化以及比較強的隱蔽性,對計算機系統(tǒng)的危害性隨之提升,在此背景下,本文對木馬的隱藏技術(shù)進行了深入分析,將有助于采用有效的方式來減少木馬的危害。
[1]藺聰,黑麗霞.木馬的植入與隱藏技術(shù)分析[J].信息安全與通信保密,2008(7):53-55.
[2]王曉燕.計算機病毒傳播模型及檢測研究[D].武漢:華中師范大學,2011.
[3]蔡洪民等.特洛伊木馬攻擊分析與檢測技術(shù)研究[J].計算機安全,2007(4):53-56.
[4]蓋凌云等.木馬隱蔽技術(shù)分析及檢測[J].中國現(xiàn)代教育裝備,2007(5):77-79.
[5]周宇曉.網(wǎng)絡(luò)木馬病毒的防范探討[J].科技信息,2008(35):12-15.
Analysis of Trojan horse hiding technology
Dai Quan
China University of Petroleum,Shandong Qingdao 264000
The Principles and features of Trojans is discussed first in the text,and the function of Trojans is also descrbed,F(xiàn)inally Trojan file hiding, process hiding and communications hiding are focused on this three aspects of the hidden analyzed.
Trojans;Trojan hiding;Communication Hiding
TP393.08
A
1009-6434(2016)09-0037-03
代銓(1990—),男,漢族,籍貫為山東省青島市,當前職務(wù)為集團客戶中心,當前職稱為助理工程師,學歷本科,研究方向為電子與通信工程。