国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

基于客戶端蜜罐的木馬隱蔽通信檢測

學(xué)術(shù)研究A cademic R esearch基于客戶端蜜罐的木馬隱蔽通信檢測張 臣,王軼駿,薛 質(zhì)(上海交通大學(xué)信息安全工程學(xué)院,上海200240)[摘 要] 當(dāng)今流行的木馬程序開始采用隱蔽通信

學(xué)術(shù)研究

A cademic R esearch

基于客戶端蜜罐的木馬隱蔽通信檢測

張 臣,王軼駿,薛 質(zhì)

(上海交通大學(xué)信息安全工程學(xué)院,上海200240)

[摘 要] 當(dāng)今流行的木馬程序開始采用隱蔽通信技術(shù)繞過蜜罐系統(tǒng)的檢測。首先介紹木馬常用的隱蔽通信技術(shù)以及越來越流行的內(nèi)核層Rootkit 隱蔽通信技術(shù),并討論了現(xiàn)階段客戶端蜜罐對于惡意程序的檢測方式。針對蜜罐網(wǎng)絡(luò)通信檢測機(jī)制的不足,提出了一種有效的改進(jìn)方案,使用基于NDIS 中間層驅(qū)動的網(wǎng)絡(luò)數(shù)據(jù)檢測技術(shù)來獲取木馬通信數(shù)據(jù)包。該方案能夠有效檢測基于網(wǎng)絡(luò)驅(qū)動的Rootkit 隱蔽通信,提取木馬關(guān)鍵通信信息,以進(jìn)行對木馬行為的跟蹤和分析。[關(guān)鍵詞] 客戶端蜜罐;隱蔽通信;Rootkit;網(wǎng)絡(luò)協(xié)議驅(qū)動;網(wǎng)絡(luò)協(xié)議中間層驅(qū)動

[中圖分類號] TP393 [文獻(xiàn)標(biāo)識碼] A [文章編號] 1009-8054 (2011)02-0049-03

Detection of Trojan Covert Communication based on Client Honeypot

ZHANG Chen,WANG Yi-jun,XUE Zhi

(Institute of Information Security Engineering,Shanghai Jiaotong University,Shanghai 200240,China)[Abstract] Today's popular Trojans begin to use covert communication technology and bypass the detection of honeypot system. This paper first describes the common Trojan covert communication technologies and the growing popular kernel layer Rootkit covert communication technology,then discusses the current client honeypot detecting methods for malware. Aiming at the deficiency of Honeypot detection mechanisms for network communication,an effective improvement scheme is proposed,By using network traffic detection technology based on the NDIS intermediate driver,the Trojans date packets are acquired. This scheme could effectively detect Rootkit covert communication based on network driver and extract the key communication information for Trojan track and analysis.[Keywords] client honeypot;covert communication;Rootkit ;NDIS protocol driver;NDIS intermediate driver

0 引言

現(xiàn)在流行的木馬程序,都帶有文件和進(jìn)程隱藏功能以防止被檢測和查殺,但如果能捕獲木馬程序的網(wǎng)絡(luò)通信數(shù)據(jù)并進(jìn)行分析,提取其源目的地址和端口號等信息,便可以獲取木馬連接的相關(guān)信息,再結(jié)合反向域名查詢以及域名劫持等技術(shù)就可以有效對抗當(dāng)今流行的木馬,包括反彈式木馬。所以,現(xiàn)在越來越多的木馬程序開始利用隱蔽通信技術(shù)來繞過安全系統(tǒng)的檢測和過濾,而利用內(nèi)核層Rootkit技術(shù)來實(shí)現(xiàn)隱蔽通信已經(jīng)成為當(dāng)今流行木馬的發(fā)展方向。針對隱藏連接狀態(tài)的Rootkit 隱蔽通信技術(shù)可以通過捕獲木馬通信數(shù)據(jù)來檢測和分析木馬行為。因此,出現(xiàn)了另外一種Rootkit 隱蔽通信技術(shù),開發(fā)自定義的網(wǎng)絡(luò)驅(qū)動接口規(guī)范(NDIS)協(xié)議驅(qū)動而不使用傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議(TCP/收稿日期:2009-10-09

作者簡介:張臣,1986年生,男,碩士研究生,研究方向:網(wǎng)絡(luò)攻擊與防御;王軼駿,1980年生,男,講師,研究方向:網(wǎng)絡(luò)主動防御技術(shù)與操作系統(tǒng)安全機(jī)制;薛質(zhì),1971年生,男,教授,研究方向:計(jì)算機(jī)通信網(wǎng)、信息安全、網(wǎng)絡(luò)安全攻防與評測。

[1]

IP) 協(xié)議棧來傳輸數(shù)據(jù),從而躲避檢測系統(tǒng)對通信數(shù)據(jù)的捕獲。

1 隱蔽通信技術(shù)

隱蔽通信技術(shù)

[2]

使木馬客戶端和服務(wù)器端的通信更加隱蔽,

通常有如下幾種思想方法:

① 隱藏于已存在的通信量中;

② 利用常規(guī)協(xié)議的源和目的端口,如端口復(fù)用技術(shù);③ 通過加密或者隱寫技術(shù)不以明文傳送數(shù)據(jù);④ 使用內(nèi)核層Rootkit 技術(shù)隱蔽通信。1.1 協(xié)議域隱蔽通信技術(shù)

在TCP/IP協(xié)議中,有許多信息冗余,可以用來隱藏信息。特別是在協(xié)議頭格式定義中,有很多字段設(shè)計(jì)不嚴(yán)以致給建立隱蔽通道提供了機(jī)會。常見的協(xié)議利用技術(shù)有如下幾種:

① 域名系統(tǒng)(DNS)隱蔽通道。通過修改DNS 協(xié)議請求報(bào)文,添加木馬程序的通信數(shù)據(jù)到DNS 報(bào)文中;

② Internet控制報(bào)文協(xié)議(ICMP)隱蔽通道。將木馬程序的通信數(shù)據(jù)隱藏在ICMP 報(bào)文格式的選項(xiàng)數(shù)據(jù)字段進(jìn)行傳送。1.2 內(nèi)核層Rootkit 隱蔽通信技術(shù)

除了上述傳統(tǒng)的隱蔽通道技術(shù)外,當(dāng)今流行的木馬程序開

信息安全與通信保密 · 2011.2

49

,

學(xué)術(shù)研究

A cademic R esearch

始向操作系統(tǒng)底層發(fā)展。通過內(nèi)核層Rootkit 技術(shù)來隱藏網(wǎng)絡(luò)數(shù)據(jù)的通信,使得檢測軟件難以發(fā)現(xiàn)木馬程序的通信行為。

(1)分層過濾驅(qū)動[3]及掛鉤技術(shù)修改套接字通信訪問

分層過濾驅(qū)動是指掛載在常規(guī)驅(qū)動程序之上的自定義驅(qū)動程序,用以截獲和修改系統(tǒng)中傳輸?shù)臄?shù)據(jù),一般通過過濾和修改I/O請求報(bào)文(IRP)實(shí)現(xiàn)。內(nèi)核層Hook 技術(shù)是指先將用戶自定義的函數(shù)替代驅(qū)動程序中常規(guī)的分發(fā)函數(shù),執(zhí)行完成之后再跳轉(zhuǎn)回原來的函數(shù)。通過在網(wǎng)絡(luò)連接驅(qū)動程序上掛載過濾驅(qū)動或Hook 網(wǎng)絡(luò)連接驅(qū)動程序上的相關(guān)函數(shù),都可以修改系統(tǒng)顯示的網(wǎng)絡(luò)連接信息從而過濾木馬通信的連接信息。

(2) NDIS協(xié)議驅(qū)動木馬[4]

TCP/IP協(xié)議是常用的傳輸協(xié)議。發(fā)送數(shù)據(jù)時(shí),協(xié)議驅(qū)動程序會首先分配內(nèi)存,將應(yīng)用程序的數(shù)據(jù)復(fù)制到分配的內(nèi)存中,然后調(diào)用NDIS 函數(shù)將這些數(shù)據(jù)發(fā)送到下層驅(qū)動程序。協(xié)議驅(qū)動程序也提供下層接口用于接收數(shù)據(jù)包,之后將接收到的數(shù)據(jù)提交給應(yīng)用程序。編寫自己的NDIS 協(xié)議驅(qū)動[5]傳輸數(shù)據(jù)可以繞過應(yīng)用層相關(guān)的網(wǎng)絡(luò)數(shù)據(jù)嗅探技術(shù),能有效防止監(jiān)控軟件捕獲傳送的數(shù)據(jù),使其檢測不到任何通信流量。所以如果在木馬服務(wù)器和客戶端通信中直接使用自定義的NDIS 協(xié)議驅(qū)動發(fā)送和接收數(shù)據(jù)包,可以有效繞過應(yīng)用層以及傳輸驅(qū)動程序接口(TDI)層的嗅探技術(shù)。2 客戶端蜜罐網(wǎng)絡(luò)連接監(jiān)控

2.1 客戶端蜜罐現(xiàn)狀

當(dāng)今大多數(shù)的高交互客戶端蜜罐系統(tǒng)[6]主要通過檢測系統(tǒng)的文件,注冊表和進(jìn)程行為來判斷是否有惡意代碼執(zhí)行。然而對于網(wǎng)絡(luò)連接尤其是隱蔽通信則缺乏監(jiān)控或者監(jiān)控力度不夠,這樣將導(dǎo)致一些惡意行為無法被檢測。如果木馬服務(wù)端駐留在內(nèi)存中直接與客戶端進(jìn)行交互,那么上述檢測方法無法發(fā)現(xiàn)木馬。對于普通木馬程序,即使發(fā)現(xiàn)木馬行為也無法有效收集木馬的網(wǎng)絡(luò)通信數(shù)據(jù),因而無法對木馬程序的行為以及攻擊者來源進(jìn)行深入分析。Capture-HPC[7]是由美國蜜網(wǎng)(Honeynet)項(xiàng)目組發(fā)起的開源項(xiàng)目,在各種高交互客戶端蜜罐系統(tǒng)中,Capture-HPC是應(yīng)用最廣泛、功能最強(qiáng)大的客戶端蜜罐系統(tǒng)之一。由于其開源性易于研究分析,成為當(dāng)今高交互客戶端蜜罐的典型代表。

2.2 Capture-HPC網(wǎng)絡(luò)通信監(jiān)控

Capture-HPC 可用于查找網(wǎng)絡(luò)中的惡意網(wǎng)站及掛載木馬的網(wǎng)頁,其檢測機(jī)制基于VMware 虛擬機(jī)。當(dāng)Capture 客戶端與Web 服務(wù)器交互時(shí),Capture-HPC檢測虛擬操作系統(tǒng)的4種系統(tǒng)狀態(tài)變化:文件系統(tǒng)、注冊表、進(jìn)程和網(wǎng)絡(luò)連接。Capture-HPC 現(xiàn)有版本對于網(wǎng)絡(luò)連接的監(jiān)控是基于TDI 過濾驅(qū)動程序?qū)崿F(xiàn)的。通過將TDI 過濾驅(qū)動程序掛載在TCP 和UDP 的連接設(shè)備上,這樣所有通過TDI 的TCP 或UDP 網(wǎng)絡(luò)數(shù)據(jù)以及網(wǎng)絡(luò)連接狀態(tài)都可以被Capture-HPC 的監(jiān)控模塊記錄下來,從而實(shí)現(xiàn)50www.cismag.com.cn 對網(wǎng)絡(luò)連接的監(jiān)控。Capture-HPC實(shí)現(xiàn)了兩個(gè)TDI 過濾驅(qū)動程序分別監(jiān)控TCP 和UDP 的網(wǎng)絡(luò)連接,通過處理所有經(jīng)過TCP 和UDP 協(xié)議驅(qū)動的IRP 主分發(fā)函數(shù)并設(shè)置相關(guān)的回調(diào)例程來實(shí)現(xiàn)對網(wǎng)絡(luò)連接的監(jiān)控,過濾驅(qū)動掛載的實(shí)現(xiàn)機(jī)制如圖1所示。Capture-HPC 網(wǎng)絡(luò)連接的監(jiān)控機(jī)制是近期剛提出的改進(jìn)方案,雖然有所彌補(bǔ)長期以來網(wǎng)絡(luò)連接檢測的缺乏,但對于隱蔽通信的監(jiān)控力度仍然圖1 網(wǎng)絡(luò)連接監(jiān)控設(shè)備不夠。由于其網(wǎng)絡(luò)數(shù)據(jù)監(jiān)控技術(shù)基于TDI 驅(qū)動層,在TDI 層以下的內(nèi)核驅(qū)動層數(shù)據(jù)隱藏技術(shù),比如前面提到的自定義NDIS 協(xié)議驅(qū)動木馬就可以繞過該檢測機(jī)制。2.3 NDIS中間層驅(qū)動網(wǎng)絡(luò)通信監(jiān)控針對上述客戶端蜜罐系統(tǒng)網(wǎng)絡(luò)通信監(jiān)控機(jī)制方面的不足,提出在Capture-HPC 等高交互客戶端蜜罐系統(tǒng)中使用基于NDIS 中間層驅(qū)動[8]進(jìn)行網(wǎng)絡(luò)隱蔽通信監(jiān)控。2.3.1 NDIS中間層驅(qū)動原理及實(shí)現(xiàn)NDIS 中間層驅(qū)動程序一般位于NDIS 小端口驅(qū)動和NDIS 協(xié)議驅(qū)動之間,既與上層NDIS 協(xié)議驅(qū)動程序通信,又與下層NDIS 小端口驅(qū)動程序通信。NDIS中間層驅(qū)動程序的下邊界提供了協(xié)議入口點(diǎn)函數(shù),通過調(diào)用這些函數(shù)傳遞下層NDIS 小端口的請求,此時(shí)NDIS 中間層驅(qū)動下邊界模擬成NDIS 協(xié)議驅(qū)動程序;NDIS中間層驅(qū)動程序的上邊界提供了NDIS 小端口的入口指針,上層NDIS 協(xié)議驅(qū)動程序通過引用這些指針進(jìn)行通信,此時(shí)NDIS 中間層驅(qū)動上邊界模擬成NDIS 小端口驅(qū)動程序。NDIS 中間層驅(qū)動實(shí)現(xiàn)的關(guān)鍵步驟如下:① 使用NdisIMRegisterLayeredMiniport注冊NDIS中間層驅(qū)動上邊界小端口特征;② 使用NdisRegisterProtocol注冊NDIS中間層驅(qū)動下邊界協(xié)議特征;③ 使用NdisIMAssociateMiniport 關(guān)聯(lián)NDIS 中間層驅(qū)動上邊界接口與NDIS 中間層驅(qū)動下邊界接口,保存在同一內(nèi)核結(jié)構(gòu)體中;④ 使用PtBindAdapter 綁定NDIS 中間層驅(qū)動下邊界和下層的NDIS 小端口驅(qū)動從而實(shí)現(xiàn)網(wǎng)絡(luò)適配器設(shè)備的綁定;⑤ 使用NdisMRegisterDevice 初始化NDIS 中間層驅(qū)動上邊界,生成虛擬網(wǎng)絡(luò)適配器讓上層NDIS 協(xié)議驅(qū)動綁定。2.3.2 NDIS中間層驅(qū)動數(shù)據(jù)傳遞流程Windows 系統(tǒng)中網(wǎng)絡(luò)通信數(shù)據(jù)傳遞詳細(xì)流程如圖2所示。其中主要討論了網(wǎng)絡(luò)數(shù)據(jù)包通過NDIS 中間層驅(qū)動時(shí)的過程:當(dāng)NDIS 協(xié)議驅(qū)動程序發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包時(shí),NDIS中間層驅(qū)動程序?qū)⑦@些數(shù)據(jù)包傳遞到下層的NDIS 小端口驅(qū)動。當(dāng)下層

NDIS 小端口驅(qū)動向上發(fā)出接收包的指令時(shí),NDIS中間層驅(qū)動程序?qū)?/p> ,

這些指令消息傳遞給上層NDIS 協(xié)議驅(qū)動程序。圖2 網(wǎng)絡(luò)通信流程

在NDIS 中間層驅(qū)動程序內(nèi)部,是通過調(diào)用NDIS 庫提供的函數(shù)向網(wǎng)絡(luò)下層NDIS 驅(qū)動程序發(fā)送數(shù)據(jù)包。由于綁定關(guān)系是上層NDIS 協(xié)議驅(qū)動綁定NDIS 中間層驅(qū)動上邊界,NDIS中間層驅(qū)動上邊界再綁定NDIS 中間層驅(qū)動下邊界,NDIS中間層驅(qū)動下邊界最后綁定下層NDIS 小端口驅(qū)動。數(shù)據(jù)包從上層NDIS 協(xié)議驅(qū)動開始逐層往下傳遞直到最后到達(dá)下層NDIS 小端口驅(qū)動,然后通過I/O中斷將數(shù)據(jù)包發(fā)送到物理網(wǎng)卡。傳輸過程中每一層的操作方法類似,先進(jìn)行協(xié)議驅(qū)動自身需要的數(shù)據(jù)處理,然后調(diào)用NdisSend/NdisCoSendPackets往下發(fā)送數(shù)據(jù)包。NdisSend/NdisCoSendPackets實(shí)現(xiàn)過程是根據(jù)綁定的協(xié)議句柄調(diào)用下層協(xié)議的MpSend 函數(shù)。每層的數(shù)據(jù)包傳遞過程如圖3所示。

圖3 NDIS中間層驅(qū)動數(shù)據(jù)包流程

2.3.3 NDIS中間層驅(qū)動截獲通信數(shù)據(jù)

根據(jù)上述分析可知,NDIS中間層驅(qū)動模擬NDIS 小端口驅(qū)動直接與NDIS 協(xié)議驅(qū)動進(jìn)行交互。因此,只要NDIS 中間層驅(qū)動在木馬程序自定義的NDIS 協(xié)議驅(qū)動之下,便可以截獲木馬程序發(fā)送的任何通信信息。同時(shí)也可以截獲NDIS 協(xié)議驅(qū)動以上各層傳遞發(fā)送的網(wǎng)絡(luò)通信信息,而且只要將NDIS 中間層驅(qū)動與所有的NDIS 小端口驅(qū)動程序綁定就可以截獲來自網(wǎng)卡的任何數(shù)據(jù),無論是發(fā)往傳統(tǒng)的TCP/IP協(xié)議棧還是用戶自定義的

學(xué)術(shù)研究

A cademic R esearch

NDIS 協(xié)議棧。NDIS中間層驅(qū)動程序獲取數(shù)據(jù)包常用方式如下:

① 使用NdisAllocateMemoryWithTag分配內(nèi)存空間用以保存網(wǎng)絡(luò)數(shù)據(jù)包;

② 使用NdisQueryPacket 根據(jù)NDIS_PACKET包描述符獲取NDIS 數(shù)據(jù)包緩沖區(qū)鏈表頭;

③ 使用NdisQueryBufferSafe 循環(huán)遍歷NDIS 數(shù)據(jù)包緩沖區(qū)鏈表,復(fù)制網(wǎng)絡(luò)數(shù)據(jù)包到已分配的內(nèi)存空間。

捕獲到NDIS 網(wǎng)絡(luò)數(shù)據(jù)包后,便能對數(shù)據(jù)包進(jìn)行過濾、分析和處理。通過對木馬程序發(fā)送和接收的數(shù)據(jù)包進(jìn)行檢測,可以判斷分析木馬程序的行為以及攻擊來源。實(shí)驗(yàn)證明NDIS 中間層驅(qū)動可以有效截獲用戶自定義NDIS 協(xié)議驅(qū)動發(fā)送的數(shù)據(jù)包,而該類數(shù)據(jù)包能夠繞過一般的嗅探軟件。

3 結(jié)語

基于NDIS中間層驅(qū)動的網(wǎng)絡(luò)數(shù)據(jù)檢測機(jī)制能有效對抗Rootkit隱蔽通信技術(shù)。對一般的木馬程序,無論是基于內(nèi)核態(tài)還是用戶態(tài),其網(wǎng)絡(luò)通信都很難繞過該檢測機(jī)制,除非攻擊者自己編寫網(wǎng)

卡驅(qū)動。然而網(wǎng)卡驅(qū)動與網(wǎng)絡(luò)適配器關(guān)系緊密,編寫復(fù)雜也不易實(shí)現(xiàn)通用性。但基于NDIS 中間層驅(qū)動的網(wǎng)絡(luò)數(shù)據(jù)檢測技術(shù)僅防范了隱蔽通信的一個(gè)方面,對前面提到的利用協(xié)議域的數(shù)據(jù)隱藏技術(shù)、數(shù)據(jù)加密及隱寫技術(shù)等應(yīng)用層的隱蔽通道檢測,是今后完善高交互客戶端蜜罐對木馬網(wǎng)絡(luò)隱蔽通信檢測的主要研究方向。

參考文獻(xiàn)

[1] HOLUND Greg,BUTLER James. Rootkit:Subverting theWindows Kernel[M]. [s.l.]:Addison Wesley Professional,2006:281-344.

[2] BAISHAKHI Ray,SHIVAKANT Mishra. Secure and ReliableCovert Channel[C]//ACM. Proceedings of The 4th Annual Workshop on Cyber Security and Information Intelligence Research. New York: ACM Publications,2008:01-03.[3] 張帆,史彩成. 驅(qū)動開發(fā)技術(shù)詳解[M]. 北京:電子工業(yè)出版社,2009:506-520.

[4] 楊志程,舒輝,董衛(wèi)宇. 基于NDIS 隱蔽通信技術(shù)的木馬病毒分析[J]. 計(jì)算機(jī)工程,2008,34(10):147-149.[5] 劉敬軒,戴英俠. 基于NDIS 的IPSec VPN客戶端的設(shè)計(jì)與實(shí)現(xiàn)[J]. 信息安全與通信保密,2006 (12):191-194.[6] 樊迅,王軼駿. 客戶端蜜罐原理及應(yīng)用研究[J]. 信息安全與通信保密,2009(03):69-71.

[7] STEENSON R,SEIFERT C. Capture Client Honeypot[DB/OL].(2007-09-22) [2008-04-05]. h t t p s ://p r o j e c t s . h o n e y n e t . o r g /c a p t u r e -h p c . [8] 譚文,

楊瀟,邵堅(jiān)磊. 寒江獨(dú)釣—Windows內(nèi)核安全編程[M].

北京:電子工業(yè)出版社,2009:435-483.

信息安全與通信保密 · 2011.2

51

標(biāo)簽: