一種基于文件計算機網(wǎng)絡(luò)行為數(shù)據(jù)檢測系統(tǒng)的設(shè)計_第1頁
一種基于文件計算機網(wǎng)絡(luò)行為數(shù)據(jù)檢測系統(tǒng)的設(shè)計_第2頁
一種基于文件計算機網(wǎng)絡(luò)行為數(shù)據(jù)檢測系統(tǒng)的設(shè)計_第3頁
一種基于文件計算機網(wǎng)絡(luò)行為數(shù)據(jù)檢測系統(tǒng)的設(shè)計_第4頁
一種基于文件計算機網(wǎng)絡(luò)行為數(shù)據(jù)檢測系統(tǒng)的設(shè)計_第5頁
全文預(yù)覽已結(jié)束

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

一種基于文件計算機網(wǎng)絡(luò)行為數(shù)據(jù)檢測系統(tǒng)的設(shè)計

0惡意程序在網(wǎng)絡(luò)上的應(yīng)用隨著計算機網(wǎng)絡(luò)技術(shù)的發(fā)展和互聯(lián)網(wǎng)應(yīng)用的普及,網(wǎng)絡(luò)安全問題不僅與重要信息系統(tǒng)部門密切相關(guān),而且與普通網(wǎng)絡(luò)用戶密切相關(guān)。惡意程序(如后門、木馬等)不僅可以竊取用戶的重要信息,而且可以對用戶計算機進行強行控制,破壞計算機的硬盤數(shù)據(jù),甚至被不法分子作為犯罪工具,給用戶造成巨大的經(jīng)濟損失,影響社會安定。據(jù)國家互聯(lián)網(wǎng)應(yīng)急中心(CNCERT/CC)監(jiān)測數(shù)據(jù)顯示,惡意程序逐年在數(shù)量上呈幾何級數(shù)增長。因此,基于文件網(wǎng)絡(luò)通信行為檢測十分重要,不僅可以掌握其通信規(guī)律,而且可以根據(jù)其通信行為判定其危險等級,從而發(fā)現(xiàn)一些惡意程序,避免進一步給計算機用戶造成損失。1網(wǎng)絡(luò)郵件攔截原理1.1spi接口驅(qū)動網(wǎng)絡(luò)驅(qū)動Winsock是一種標(biāo)準(zhǔn)API,主要用于網(wǎng)絡(luò)中的數(shù)據(jù)通信,它允許兩個或多個應(yīng)用程序在同一臺機器或通過網(wǎng)絡(luò)相互通信。Winsock通信使用套接字概念,Socket和WSASocket兩個函數(shù)用于創(chuàng)建套接字。Winsock2是WindowsSockets的2.0版本,在該版本中引入了一種新的編程接口叫作服務(wù)提供者接口(ServiceProviderInterface,SPI)。SPI是對WinsockAPI的補充,它是一項對應(yīng)用程序的服務(wù),而非應(yīng)用程序。利用這種技術(shù)可以在Socket中插入一層,插入自己的DLL程序,整個替換掉原有系統(tǒng)的程序NDIS(NetworkDriverInterfaceSpecification)為網(wǎng)絡(luò)驅(qū)動的開發(fā)提供了一套標(biāo)準(zhǔn)的接口,對網(wǎng)絡(luò)驅(qū)動程序抽象了網(wǎng)絡(luò)的硬件實現(xiàn)。其中,NDISHook驅(qū)動程序的邏輯實現(xiàn)和NDIS中間層驅(qū)動程序一樣,但具體實現(xiàn)不同,它是為了降低編寫驅(qū)動程序難度的一種技術(shù)方法。NDISHook驅(qū)動程序使用“鉤子”來截獲由WindowsNDIS提供的服務(wù),可以掛接NDIS所提供的所有服務(wù)1.2適用于ndis的技術(shù)方法除了SPI技術(shù)和NDISHook技術(shù),還有很多數(shù)據(jù)包截獲技術(shù),比如NDIS中間層驅(qū)動、WinPcap技術(shù)等。這些技術(shù)或多或少地存在著某些缺陷,如果能夠?qū)⑵渲械膬煞N或多種技術(shù)結(jié)合起來實現(xiàn)數(shù)據(jù)包的截獲,可以取長補短,更好地完成網(wǎng)絡(luò)通信數(shù)據(jù)的采集2系統(tǒng)的設(shè)計和實現(xiàn)2.1信信息的變化不管采用哪種隱蔽技術(shù)的惡意程序,只要其進行網(wǎng)絡(luò)通信,就會造成系統(tǒng)網(wǎng)絡(luò)通信信息的變化,比如:流量增大、打開新的通信端口、新增加通信進程等。以惡意程序在網(wǎng)絡(luò)通信階段引起的系統(tǒng)變化為切入點,以惡意程序?qū)е碌南到y(tǒng)前后差異特征來判斷被檢測程序是否是惡意程序,這就是差異對比法檢測惡意程序的基本原理。2.2基于網(wǎng)絡(luò)管理的程序危險等級判定利用差異對比法的思想,首先將計算機中原始通信數(shù)據(jù)保存在一個表中,接下來啟動被檢測程序,此時的通信數(shù)據(jù)可能發(fā)生變化,稱為總的通信數(shù)據(jù)??偟耐ㄐ艛?shù)據(jù)與原始通信數(shù)據(jù)的差異就是被檢測程序啟動后引起的計算機系統(tǒng)網(wǎng)絡(luò)通信數(shù)據(jù)的變化,稱為網(wǎng)絡(luò)通信異動數(shù)據(jù)。最后按照自定義的判定規(guī)則,對異動數(shù)據(jù)進行判定,就可以得到基于網(wǎng)絡(luò)通信行為的被檢測程序危險等級。檢測模型如圖1所示。對網(wǎng)絡(luò)通信差量數(shù)據(jù)還需進一步判斷,才能得到被檢測程序危險等級。判定規(guī)則是依據(jù)惡意程序網(wǎng)絡(luò)通信階段的各種隱藏特性1)進行網(wǎng)絡(luò)通信的進程名與系統(tǒng)進程名相同,但其路徑不在system32目錄下,等級為高。2)進行網(wǎng)絡(luò)通信的進程名與系統(tǒng)進程名相似,等級為高。3)進程運行時自動發(fā)送電子郵件,等級為高。4)進程通信時只發(fā)SYN包而不接收,等級為高。5)進程使用常見漏洞端口通信,等級為中。6)進程打開一個通信端口并對端口進行監(jiān)聽,等級為中。7)進程使用ICMP協(xié)議進行通信,等級為中。8)進程主動向外進行連接,等級為中。規(guī)則1)、2)是基于惡意程序的進程隱藏原理進行檢測,規(guī)則3)基于惡意程序傳輸信息的方式進行檢測,規(guī)則4)基于SYN攻擊原理進行檢測,規(guī)則5)~7)基于通信端口特性進行檢測2.3基于ndishool的子研究系統(tǒng)優(yōu)化從功能上,系統(tǒng)分為三個模塊:應(yīng)用程序模塊、SPI模塊和NDISHook模塊。它們之間的相互聯(lián)系如圖2所示。SPI模塊利用SPI技術(shù)在應(yīng)用層抓包,然后對截獲的數(shù)據(jù)包按照數(shù)據(jù)包結(jié)構(gòu)進行解析處理,并將解析好的通信信息放置在內(nèi)存緩沖區(qū)。NDISHook模塊則利用網(wǎng)絡(luò)驅(qū)動程序,在網(wǎng)絡(luò)層截獲數(shù)據(jù)包并進行解析,然后將解析好的通信信息放置在另一內(nèi)存緩沖區(qū)中。應(yīng)用程序模塊首先從兩個緩沖區(qū)中讀出通信信息,然后根據(jù)時序求出異動數(shù)據(jù),并判定被檢測程序的危險等級。另外,SPI模塊還要通知NDISHook模塊增加或刪除通信端口,以防止重復(fù)截獲相同的網(wǎng)絡(luò)數(shù)據(jù)包。2.42.4.1核心態(tài)下網(wǎng)絡(luò)層的確定在網(wǎng)絡(luò)通信中,進程是通信的主體,截獲的數(shù)據(jù)包將隸屬于某個進程。因此,在截獲數(shù)據(jù)包的同時必須獲取相應(yīng)的進程信息。在應(yīng)用態(tài)使用GetModuleFileName函數(shù)就可以得到進程信息,比較容易實現(xiàn),但在核心態(tài)下的網(wǎng)絡(luò)層得到進程信息則比較困難。在核心態(tài)下,可以利用PsGetCurrentProcess得到進程信息結(jié)構(gòu)PEPROCESS,但是必須先判斷當(dāng)前的中斷請求級別(InterruptRequestLevel,IRQL),只有IRQL=PASSIVE_LEVEL才可調(diào)用該API,否則將出現(xiàn)藍屏死機故障。對于不滿足IRQL條件時,采取的策略是利用與IRQL無關(guān)的PsGetCurrentProcessId函數(shù)先得到進程ID,將進程ID送到應(yīng)用程序模塊后再通過進程ID去尋找進程名和路徑信息。2.4.2獲得域名信息1ndis網(wǎng)絡(luò)封包由于在應(yīng)用態(tài)獲取域名信息要容易一些,這里主要討論NDISHook模塊中獲取域名信息的方法。在NDIS接口中,網(wǎng)絡(luò)封包結(jié)構(gòu)使用NDIS_PACKET來表示。通過查看DDK對該結(jié)構(gòu)的定義可知,NDIS_PACKET中存在一個NDIS_BUFFER結(jié)構(gòu)的鏈表,封包數(shù)據(jù)就是用NDIS_BUFFER表示的。NDIS_BUFFER結(jié)構(gòu)中的VirtualAddress表示封包的緩沖區(qū)指針,Length表示VirtualAddress的長度,Next表示下一個封包緩沖區(qū)指針,這些封包緩沖區(qū)的數(shù)據(jù)加起來就是一個完整的網(wǎng)絡(luò)封包。NDIS在分包時也有一定的規(guī)律,每一個NDIS_BUFFER里通常保證是一個或幾個完整的協(xié)議頭部。例如:Windows2000Professional系統(tǒng)中NDIS_PACKET結(jié)構(gòu)的第一個NDIS_BUFFER保存著EthernetHeader、IPHeader和TCPHeader(UDPHeader或ICMPHeader),接著就是封包數(shù)據(jù)。值得注意的是,不同操作系統(tǒng)下NDIS分包規(guī)律不一樣,要正確解析網(wǎng)絡(luò)封包就必須先判斷操作系統(tǒng)的類型。圖3為包含域名信息的網(wǎng)絡(luò)層UDP包的結(jié)構(gòu)示意圖。由圖可知,要解析出UDP包中的域名信息,需要先得到該UDP包各個NDIS_BUFFER緩沖區(qū)的首地址,然后分析其內(nèi)部結(jié)構(gòu),計算域名偏移地址,從而得到域名信息。2密鑰代碼根據(jù)NDIS_PACKET分包特點以及包含DNS報文的UDP包結(jié)構(gòu),實現(xiàn)域名信息解析功能的主要代碼如下:2.4.3對計算機硬件驅(qū)動函數(shù)的調(diào)用IRQL是一個由Windows虛擬出來的概念,劃分在Windows系統(tǒng)下中斷的優(yōu)先級。處理器在一個IRQL上執(zhí)行線程代碼,在同一處理器上,線程只能被更高級別IRQL的線程中斷。每個由NDIS調(diào)用的驅(qū)動程序函數(shù)都運行在操作系統(tǒng)決定的IRQL下,IRQL常常取值為PASSIVE_LEVEL、DISPATCH_LEVEL或者DIRQL。驅(qū)動編程時不允許在高IRQL條件下調(diào)用低IRQL的API函數(shù)。例如,接收數(shù)據(jù)時調(diào)用的入口點函數(shù)ProtocolReceive要求的IRQL為DISPATCH_LEVEL,而處理數(shù)據(jù)時調(diào)用的計算機硬件驅(qū)動函數(shù)往往要求運行在IRQL為PASSIVE_LEVEL的級別上。于是,如果在函數(shù)ProtocolReceive里調(diào)用計算機硬件驅(qū)動函數(shù),就會引起藍屏死機現(xiàn)象。正確的做法是先判斷當(dāng)前的IRQL是否滿足函數(shù)的調(diào)用條件后再進行調(diào)用。3實驗與結(jié)果分析3.1系統(tǒng)破壞測試在Windows2000操作系統(tǒng)下,分別實現(xiàn)了檢測系統(tǒng)的三個模塊。由于檢測過程中被檢測程序可能對計算機系統(tǒng)造成破壞,測試工作是在虛擬機環(huán)境下進行的,虛擬機選擇的是目前使用最多的VMWareWorksation6.0。檢測系統(tǒng)運行后,首先得到的是計算機系統(tǒng)的原始通信信息,接著選擇被檢測程序并啟動被檢測程序,此時得到的為總的通信信息,通過差異對比可以得到通信的異動數(shù)據(jù),如圖4所示。3.2可疑程序檢測結(jié)果分析為了驗證檢測系統(tǒng)的檢測率,選擇了兩類測試樣本:一類是惡意程序樣本;另一類是正常程序樣本。測試結(jié)果的統(tǒng)計信息如表1、2所示。表1中的測試結(jié)果說明,本系統(tǒng)通過網(wǎng)絡(luò)通信行為途徑對可疑程序進行檢測的漏報率和誤報率較低、并且具有比較高的檢測精度。表2中的數(shù)據(jù)為三個檢測系統(tǒng)的對比測試數(shù)據(jù)。與本系統(tǒng)進行對比測試的工具軟件選擇了兩款,一個是NAI公司的Sniffer軟件,另一個是天網(wǎng)個人防火墻。通過表2對比發(fā)現(xiàn):Sniffer軟件能夠?qū)W(wǎng)絡(luò)通信進行檢測,但不能檢測其進程信息,沒有給出判定結(jié)果;天網(wǎng)個人防火墻既能檢測網(wǎng)絡(luò)通信,又能檢測其進程信息,但同樣沒有給出判定結(jié)果;本系統(tǒng)在網(wǎng)絡(luò)通信行為檢測方面功能最多,除具有通信檢測、進程信息檢測、給出判定結(jié)果功能外,還具有域名信息檢測和流量統(tǒng)計功能。4ndishoki網(wǎng)絡(luò)檢測在系統(tǒng)的測試過程中發(fā)現(xiàn),SPI技術(shù)與NDISHook技術(shù)相結(jié)合的數(shù)據(jù)包截獲方案達到了預(yù)期的效果,充分利用了SP

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論