国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于NDIS 中間層驅(qū)動的數(shù)據(jù)采集模塊研究與設計

2014-01-03 06:36麗,陳
電子測試 2014年8期
關鍵詞:中間層驅(qū)動程序數(shù)據(jù)包

曹 麗,陳 姝

(1.渤海大學,遼寧錦州,121000;2.遼寧省基礎測繪院,遼寧錦州,121000)

0 引言

在各種的網(wǎng)絡安全手段中,入侵檢測系統(tǒng)發(fā)揮著重要的作用。在這個過程中,入侵檢測技術也得到了迅速的發(fā)展,隨之入侵檢測算法也不斷涌現(xiàn)和完善。

在當今社會,隨著現(xiàn)代網(wǎng)絡技術的迅猛發(fā)展,現(xiàn)存的網(wǎng)絡入侵檢測系統(tǒng)正面臨著越來越嚴峻的挑戰(zhàn)。網(wǎng)絡的主機在不斷地增多,網(wǎng)絡的速度在飛速地提高,網(wǎng)絡的帶寬在不斷地增大。就需要配套的網(wǎng)絡入侵檢測系統(tǒng)。提高已有系統(tǒng)的入侵檢測的速度,減少已有系統(tǒng)的丟包率,成為現(xiàn)代網(wǎng)絡入侵檢測領域急待解決的問題。另外亟待解決的問題還有入侵檢測系統(tǒng)的誤報與漏報現(xiàn)象等。

目前網(wǎng)絡入侵檢測系統(tǒng)多數(shù)采用的是UNIX 平臺。在windows 平臺下的入侵檢測模型還不完善,本文描述了一個在windows 平臺下的網(wǎng)絡入侵檢測模型,使用NDIS 中間層驅(qū)動來實現(xiàn)數(shù)據(jù)的采集,引入?yún)f(xié)議分析技術來實現(xiàn)模塊的預處理,提高了檢測的速度,減少了漏報和誤報現(xiàn)象。優(yōu)化了應用程序與驅(qū)動程序之間的通信。

1 基于NDIS 技術的中間層驅(qū)動器

NDIS 技術支持協(xié)議驅(qū)動、中間層驅(qū)動、網(wǎng)絡接口卡驅(qū)動程序這三種類型的網(wǎng)絡驅(qū)動。因為存在NDIS 庫函數(shù),因此為NDIS 驅(qū)動程序提供了一個完整的運行環(huán)境,

在windows 平臺使用Winpcap 數(shù)據(jù)包截獲機制,在協(xié)議驅(qū)動層之下為中間層驅(qū)動程序,中間層驅(qū)動程序可以為系統(tǒng)提供更高的數(shù)據(jù)采集速度,具有不可繞開性和系統(tǒng)耦合度高等優(yōu)點。因此本文采用基于NDIS 中間層驅(qū)動的技術完成了入侵檢測中數(shù)據(jù)采集模塊的設計與實現(xiàn)。

如圖1 所示是目前最常用的公共入侵檢測框架模型?,F(xiàn)代網(wǎng)絡入侵檢測系統(tǒng)一般可以分為事件產(chǎn)生單元、事件分析單元、響應單元、事件數(shù)據(jù)庫單元這四個基本的工作單元。本文的檢測模型是在公共入侵檢測框架模型的基礎上設計和實現(xiàn)的。

圖1 入侵檢測模型的總體架構(gòu)

協(xié)議分析模塊在入侵檢測系統(tǒng)中占有舉足輕重的地位,是入侵檢測分析模塊的預處理部分,協(xié)議分析模塊的好壞直接影響檢測的結(jié)果,本文主要針對數(shù)據(jù)抓包模塊和協(xié)議分析模塊進行改進和優(yōu)化。本文采用的NDIS 中間層驅(qū)動實現(xiàn)了對數(shù)據(jù)采集模塊的優(yōu)化。采用協(xié)議分析模塊提高系統(tǒng)的準確性和快速性。

本文引入?yún)f(xié)議分析模塊存在以下有點:其一:利用通信協(xié)議的結(jié)構(gòu)特性,可以準確地找到檢測域,快速有效的處理會話信息。其二:引入?yún)f(xié)議分析技術可以大大地減少誤診斷率和誤報率,協(xié)議分析技術和命令分析技術的有效結(jié)合,可以產(chǎn)生一個命令字符串,以此來判斷操作系統(tǒng)或應用系統(tǒng)在通信連接時是否存在惡意攻擊。其三:通過協(xié)議分析技術重裝數(shù)據(jù)包,可以檢測到存在IDS逃避技術的攻擊,因此大大降低了系統(tǒng)的漏檢率。提高了系統(tǒng)的準確率。其四:有效性和準確性的提高大大降低了系統(tǒng)資源的占有率,因此基于協(xié)議分析技術的IDS 系統(tǒng)具有低能耗的特點。

2 基于NDIS 技術的數(shù)據(jù)采集模塊的設計

2.1 驅(qū)動注冊

在現(xiàn)有的Windows 運行環(huán)境當中,下層的微端口驅(qū)動和上層的協(xié)議驅(qū)動這兩部分驅(qū)動,可以直接進行通信。首先我們可以利用中間層驅(qū)動入口函數(shù)Driver Entry,注冊中間層驅(qū)動程序,我們將中間層驅(qū)動程序加入到微端口驅(qū)動和協(xié)議驅(qū)動這兩個驅(qū)動的中間。中間層驅(qū)動入口函數(shù)Driver Entry 中,首先應調(diào)用NDIS 庫函數(shù)Minport***,為上層協(xié)議提供接口函數(shù),隨后我們需要為底層的微端口驅(qū)動提供一個接口函數(shù),所以我們需要調(diào)用Protocol***函數(shù),并在底層驅(qū)動程序上綁定中間層的驅(qū)動入口函數(shù)。其中的協(xié)議驅(qū)動函數(shù)包括:封包函數(shù)、綁定函數(shù)、PNP 函數(shù)和狀態(tài)函數(shù)這四個主要函數(shù)。

2.2 數(shù)據(jù)截獲實現(xiàn)

由于接收數(shù)據(jù)包和發(fā)送數(shù)據(jù)包的截獲方式比較類似,所以在本文中主要討論接收部分的研究方法。當我們需要在底層網(wǎng)絡進行傳輸數(shù)據(jù)時,下層微端口驅(qū)動需要調(diào)用被注冊的接收封包函數(shù)—Protocol Receive Packet 函數(shù)或者Protocol Receive 函數(shù),其中在程序中Pt Receive Packet 函數(shù)應該對應函數(shù)庫中的Protocol Receive Packet 函數(shù),Protocol Receive 函數(shù)在程序中應該對應函數(shù)庫中的Pt Receive 函數(shù)。在實際進行數(shù)據(jù)包的接收的過程中,由網(wǎng)卡的類型決定具體調(diào)用這兩個函數(shù)中的哪個函數(shù),Pt Receive 函數(shù)主要用于接收較為廉價環(huán)境下的數(shù)據(jù)包,例如Realtek RTL8139。而Pt Receive Packet 函數(shù)主要用于接收虛擬機環(huán)境及intel 網(wǎng)卡環(huán)境下的數(shù)據(jù)包。兩者接收數(shù)據(jù)包的形式不同,其中Pt Receive 函數(shù)可以接收不完整的數(shù)據(jù)包,而Pt Receive Packet 必須接收整個數(shù)據(jù)包。本文在windows 環(huán)境下分別利用Protocol Receive Packet 和Protocol Receive函數(shù)對數(shù)據(jù)包進行了截獲,以提高系統(tǒng)的兼容性。

如圖2 所示,為采用本文方法實現(xiàn)的抓包實驗結(jié)果,說明本文的方法可以在接收數(shù)據(jù)包時有效的完成抓包。提高了系統(tǒng)的準確性和有效性。并且由于本文通過調(diào)用被注冊的接收封包函數(shù)—Protocol Receive Packet 或者Protocol Receive,保證了本文方法的兼容性。

圖2 Protocol Receive Packet 和Protocol Receive 函數(shù)抓包效果圖

圖3 核心態(tài)協(xié)議下的輸出分析結(jié)果

3 協(xié)議分析模塊的設計

核心態(tài)與用戶態(tài)組成了協(xié)議分析模塊,在內(nèi)核態(tài)的實現(xiàn)過程中,本文根據(jù)TCP/IP 協(xié)議的格式來定義各種協(xié)議的結(jié)構(gòu),其中的函數(shù)包括struct _IP_PACKET 函數(shù)、struct _udphdr 函數(shù)和struct _tcphdr 函數(shù)等。

為了進行驗證,本文用debugview 調(diào)試輸出工具查看我們實驗的輸出結(jié)果,如圖3 所示。說明本文采用的方法是在核心態(tài)分析中得到了正確的輸出結(jié)果。

關于用戶態(tài)協(xié)議分析模塊,本文沒有進行深入的研究與實現(xiàn),因為用戶態(tài)協(xié)議分析模塊涉及到應用層協(xié)議的具體分析,所以本文沒有進行深入討論。為了證明本文的方法具有普遍性和兼容性,除了對以上幾個模塊進行實現(xiàn),本文對傳輸層以下的常用攻擊,利用本文的協(xié)議分析機制進行了檢測,取得了較好的效果。

land 攻擊是當今網(wǎng)絡中拒絕服務攻擊中的典型類型,它具有向目標機發(fā)送源IP 地址的特點,以及目的IP 地址為目標機地址的TCP SYN 發(fā)送報文的特點,按照上面的特點目標機就會對自身不斷地發(fā)送ACK 報文。因此,會導致接收的封包數(shù)量超過系統(tǒng)的極限值,引起整個系統(tǒng)信息壅塞,甚至會導致系統(tǒng)的崩潰。

其檢測程序段如下所示:

If(p_ip->proto == 6&& p_ip-> sourceIP== p_ip-> destIP)

{DbgPrint("This is a land attack packet");}

類似的我們還可以對其它幾種攻擊進行檢測,比如WinNuke攻擊以及TCP 標志位錯誤等攻擊形式。

4 結(jié)論

本文提出了一種基于NDIS 的入侵檢測模型,對數(shù)據(jù)包截獲模塊和協(xié)議分析模塊進行了設計和實現(xiàn)。并在debugview 調(diào)試輸出工具中查看了輸出結(jié)果,輸出結(jié)果顯示本文采用的方法其丟包率與Ethereal 持平。但本文采用的方法優(yōu)化了應用程序與驅(qū)動程序之間的通信,實現(xiàn)了核心態(tài)協(xié)議分析機制與現(xiàn)代網(wǎng)絡技術的有效結(jié)合,有效的提高了網(wǎng)絡入侵檢測的速度,并且進一步降低了系統(tǒng)的漏檢率,并且基于協(xié)議分析技術的IDS 系統(tǒng)具有低能耗的特點。在windows 平臺下,實現(xiàn)了基于NDIS 的中間層驅(qū)動的數(shù)據(jù)采集模塊的研究與設計。

[1] Microsoft Corporation.Microsoft Windows XP DDK [Z],2001.

[2] Mark E.Russinovich, David A. Solomon.Microsoft Windows Internals,Fourth Edition:[M],Microsoft Press, 2005.

[3] 宋維.一種分布式入侵檢測基礎架構(gòu)的設計與實現(xiàn)[D],沈陽:東北大學,2006.

[4] 楊智君等.基于NDIS 網(wǎng)絡中間層驅(qū)動程序的網(wǎng)絡檢測器,吉林:吉林大學學報,2006

猜你喜歡
中間層驅(qū)動程序數(shù)據(jù)包
二維隱蔽時間信道構(gòu)建的研究*
Zn-15Al-xLa中間層對鎂/鋼接觸反應釬焊接頭性能影響
民用飛機飛行模擬機數(shù)據(jù)包試飛任務優(yōu)化結(jié)合方法研究
一種十七股子午胎鋼絲簾線
SmartSniff
計算機硬件設備驅(qū)動程序分析
鎳基高溫合金TLP擴散焊中間層材料研究進展
B含量對IC10合金TLP焊接用中間層材料及接頭組織的影響
基于MPC8280的CPU單元與內(nèi)部總線驅(qū)動程序設計
妙用鼠標驅(qū)動