《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信与网络 > 设计应用 > 针对无线网络的入侵检测系统设计方法研究
针对无线网络的入侵检测系统设计方法研究
来源:微型机与应用2010年第19期
林海涛
(海军工程大学 电子工程学院,湖北 武汉 430033)
摘要: 从实际应用出发,提出了一种针对无线网络的入侵检测方法,给出了入侵检测系统的设计方案,扩展了系统管理员的安全管理能力(包括安全审计、监视、攻击识别和响应),具有较强的经济效益和借鉴意义。
Abstract:
Key words :

摘  要: 從實(shí)際應(yīng)用出發(fā),提出了一種針對(duì)無(wú)線網(wǎng)絡(luò)入侵檢測(cè)方法,給出了入侵檢測(cè)系統(tǒng)的設(shè)計(jì)方案,擴(kuò)展了系統(tǒng)管理員的安全管理能力(包括安全審計(jì)、監(jiān)視、攻擊識(shí)別和響應(yīng)),具有較強(qiáng)的經(jīng)濟(jì)效益和借鑒意義。
關(guān)鍵詞: 無(wú)線網(wǎng)絡(luò);入侵檢測(cè);傳輸協(xié)議;體系結(jié)構(gòu)

   隨著筆記本電腦、個(gè)人數(shù)字代理(PDA)以及3G通信等技術(shù)的發(fā)展,人們使用信息技術(shù)進(jìn)行通信聯(lián)系和交流的空間、靈活性得到不斷拓展。無(wú)線網(wǎng)絡(luò)尤其是3G網(wǎng)絡(luò)成為技術(shù)發(fā)展和社會(huì)應(yīng)用的新寵。各種類型的移動(dòng)數(shù)據(jù)終端以及多媒體終端得到廣泛應(yīng)用,促使傳統(tǒng)網(wǎng)絡(luò)由有線向無(wú)線、由固定向移動(dòng)、由單一業(yè)務(wù)向多媒體的發(fā)展。然而,這種擴(kuò)展給用戶帶來(lái)了更大的自由度的同時(shí),也帶來(lái)了安全上的挑戰(zhàn)。由于無(wú)線信道的開(kāi)放性和移動(dòng)設(shè)備在存儲(chǔ)能力、計(jì)算能力和供電方面的局限性,無(wú)線網(wǎng)絡(luò)面臨著更復(fù)雜的安全威脅和隱患[1]。如何構(gòu)造一個(gè)安全可靠的無(wú)線局域網(wǎng)已經(jīng)成為一個(gè)迫切需要解決的問(wèn)題。
1 IDS基本原理
 入侵檢測(cè)系統(tǒng)(IDS)是一種主動(dòng)保護(hù)自己免受攻擊的網(wǎng)絡(luò)安全系統(tǒng)。入侵檢測(cè)系統(tǒng)對(duì)網(wǎng)絡(luò)行為進(jìn)行實(shí)時(shí)檢測(cè),可以記錄和阻止某些網(wǎng)絡(luò)行為,被認(rèn)為是防火墻之后的第二道安全閘門,可與防火墻配合工作[2]。
 IDS掃描當(dāng)前網(wǎng)絡(luò)的活動(dòng),監(jiān)視和記錄網(wǎng)絡(luò)的流量,根據(jù)定義好的規(guī)則來(lái)過(guò)濾經(jīng)主機(jī)網(wǎng)卡的流量,并提供實(shí)時(shí)報(bào)警。入侵檢測(cè)系統(tǒng)至少應(yīng)包括3個(gè)功能模塊:提供事件記錄流的信息源、發(fā)現(xiàn)入侵跡象的分析引擎和基于分析引擎的響應(yīng)部件。公共入侵檢測(cè)框架CIDF闡述了一個(gè)入侵檢測(cè)系統(tǒng)的通用模型,即入侵檢測(cè)系統(tǒng)的四個(gè)組件:事件產(chǎn)生器、事件分析器、響應(yīng)單元和事件數(shù)據(jù)庫(kù),共通用模型如圖1所示。CIDF將需要分析的數(shù)據(jù)統(tǒng)稱為事件。

2 無(wú)線網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)架構(gòu)
2.1 入侵檢測(cè)體系結(jié)構(gòu)

 目前比較成熟的入侵檢測(cè)方法是異常檢測(cè)和誤用檢測(cè)兩種類型[3]。異常檢測(cè)是根據(jù)使用者的行為或資源使用狀況的正常程度來(lái)判斷是否入侵。異常檢測(cè)與系統(tǒng)相對(duì)無(wú)關(guān),通用性較強(qiáng),其主要缺陷是誤檢率較高。誤用檢測(cè)有時(shí)也稱為特征分析或基于知識(shí)的檢測(cè),根據(jù)已定義的入侵模式,判斷在實(shí)際的安全審計(jì)數(shù)據(jù)中是否出現(xiàn)這些入侵模式,這種檢測(cè)準(zhǔn)確度較高,檢測(cè)結(jié)果有明確的參照性,便于決策響應(yīng),缺陷是無(wú)法檢測(cè)未知的攻擊類型。無(wú)線網(wǎng)絡(luò)的IDS系統(tǒng),必須考慮兩者的互補(bǔ)性結(jié)合使用,如圖2所示。


 信息獲取和預(yù)處理層主要由主機(jī)探頭(HSensor)和網(wǎng)絡(luò)探頭(NSensor)組成。綜合分析決策層包含分析器(AnalysisSvr)和數(shù)據(jù)庫(kù)(DB),在獲取數(shù)據(jù)進(jìn)行預(yù)處理后,進(jìn)一步詳細(xì)分析和最后的決策融合,從而制訂響應(yīng)策略和方式??刂乒芾韺觿t是進(jìn)行人機(jī)交互、控制管理、報(bào)警融合以及態(tài)勢(shì)分析。
2.2 入侵單元檢測(cè)模型
 為滿足無(wú)線網(wǎng)絡(luò)的需要,入侵檢測(cè)與響應(yīng)系統(tǒng)應(yīng)采用分布式結(jié)構(gòu),且協(xié)同工作。網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)都參與入侵檢測(cè)與響應(yīng),每個(gè)節(jié)點(diǎn)檢測(cè)本地入侵,鄰近節(jié)點(diǎn)進(jìn)行協(xié)作檢測(cè)[4]。在系統(tǒng)的每個(gè)節(jié)點(diǎn)都有獨(dú)立的入侵檢測(cè)單元,每個(gè)單元能夠獨(dú)立運(yùn)行,監(jiān)測(cè)本地行為(包括用戶和系統(tǒng)的行為、節(jié)點(diǎn)間的通信行為),檢測(cè)來(lái)自本地的入侵,并發(fā)起響應(yīng)。這些入侵檢測(cè)單元共同組成無(wú)線網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng),如圖3所示。

 數(shù)據(jù)采集模塊采集實(shí)時(shí)審計(jì)數(shù)據(jù),這些數(shù)據(jù)包含系統(tǒng)和用戶在節(jié)點(diǎn)內(nèi)部的操作行為、通過(guò)該節(jié)點(diǎn)的通信行為以及在通信范圍內(nèi)、通過(guò)該節(jié)點(diǎn)可觀察到的其他通信行為。協(xié)作檢測(cè)模塊的作用是傳送鄰近節(jié)點(diǎn)之間的入侵檢測(cè)狀態(tài)信息,利用最近接收到的其他節(jié)點(diǎn)的狀態(tài)信息,計(jì)算出本節(jié)點(diǎn)的入侵檢測(cè)狀態(tài)[5]。協(xié)作檢測(cè)的步驟如圖4所示。

2.3 分析器概念模型與系統(tǒng)部署
 分析器概念模型如圖5所示。首先獲取來(lái)自主機(jī)探頭和網(wǎng)絡(luò)探頭的數(shù)據(jù)信息,然后采用特征檢測(cè)、異常檢測(cè)、統(tǒng)計(jì)分析、拒絕服務(wù)檢測(cè)等多種方法進(jìn)行并行分析,把分析的結(jié)果采用特定的融合算法進(jìn)行融合,從而得出分析結(jié)果。分析結(jié)果一方面通知控制管理層,另一方面通知響應(yīng)決策部分,驅(qū)動(dòng)響應(yīng)決策,并進(jìn)行物理定位。


 IDS系統(tǒng)部署時(shí),主機(jī)探頭安裝在客戶端操作系統(tǒng)上,而網(wǎng)絡(luò)探頭則根據(jù)其地理環(huán)境情況適當(dāng)布置,分析機(jī)盡可能地放在用戶內(nèi)部網(wǎng)絡(luò),降低分析機(jī)的風(fēng)險(xiǎn),系統(tǒng)應(yīng)該部署在電磁波干擾小的地方,避免由于輻射信號(hào)不穩(wěn)定而帶來(lái)的影響。
3 無(wú)線網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)核心模塊實(shí)現(xiàn)
 分布式入侵檢測(cè)系統(tǒng)分為3個(gè)部件,(1)探測(cè)器。對(duì)應(yīng)信息采集和預(yù)警層,下設(shè)探頭和數(shù)據(jù)采集模塊;(2)分析器對(duì)應(yīng)綜合分析決策層,下設(shè)協(xié)議解碼模塊、預(yù)處理模塊和檢測(cè)分析模塊;(3)控制管理器。對(duì)應(yīng)控制管理層,下設(shè)規(guī)則解析模塊、日志模塊和響應(yīng)報(bào)警模塊。本文將重點(diǎn)介紹數(shù)據(jù)預(yù)處理、數(shù)據(jù)檢測(cè)與分析和規(guī)則解析三個(gè)模塊。
3.1 數(shù)據(jù)預(yù)處理模塊
 預(yù)處理模塊對(duì)得到的數(shù)據(jù)包進(jìn)行預(yù)處理,一方面可發(fā)現(xiàn)入侵信息,另一方面為檢測(cè)分析模塊做最后的準(zhǔn)備。預(yù)處理模塊采用了插件技術(shù),可以很方便地增加功能,使系統(tǒng)具有可擴(kuò)展性。與預(yù)處理相關(guān)的函數(shù)以鏈表的形式存在于動(dòng)態(tài)鏈接庫(kù)中,如圖6所示。

 預(yù)處理函數(shù)是由控制管理器來(lái)配置的。控制中心將配置規(guī)則和預(yù)處理函數(shù)一起傳送到各檢測(cè)引擎,檢測(cè)引擎在進(jìn)行規(guī)則解析時(shí),自行識(shí)別預(yù)處理指令,并作相應(yīng)的處理。在IP報(bào)文的首部包含了分片和重組的信息,如圖7所示。

 (1)Identification:唯一標(biāo)識(shí)發(fā)送端的一個(gè)IP報(bào)文,如果需要分片,則所有分片具有相同的標(biāo)識(shí),這樣目標(biāo)主機(jī)便能夠根據(jù)源主機(jī)的IP地址以及該標(biāo)識(shí)來(lái)組合報(bào)文;(2)R:保留未用;(3)D:“不分片”位,置為1,則IP層不將數(shù)據(jù)報(bào)分片,只有為0時(shí)才允許分片;(4)F:“更多分片”位,為1表示后面還有數(shù)據(jù)報(bào)的更多分片,為0則表示這是數(shù)據(jù)報(bào)的最后一個(gè)分片;(5)Fragment Offset:分片偏移,指出該分片數(shù)據(jù)在原始數(shù)據(jù)報(bào)文(未分片前)相對(duì)于起點(diǎn)的位置,實(shí)際位置為偏移值乘以8,如為0則表示這是分片后的第一個(gè)信息包,放在組合后分組的最前面。
 IP重組的函數(shù)中定義了每一個(gè)分片的結(jié)構(gòu)為:
   Struct IpFrag
    {
      dint offset; //IP分片的偏移值
      int end:  //分片的最后字節(jié)
      int len;  //分片的長(zhǎng)度
      u char mff; //更多的分片標(biāo)志
      unsigned char *ptr; //指向分片包中的數(shù)據(jù)
      struct IpFrag *ipf next; //鏈接的下一個(gè)分片
    };
 這些分片形成一個(gè)單向鏈表,表示一個(gè)尚未組裝完的分片隊(duì)列,它屬于一個(gè)IP報(bào)文,而分片鏈表的頭指針?lè)旁贗pHeader結(jié)構(gòu)中:
    struct IpHeader
    {
      struct IpFrag; //第一個(gè)IP分片
      int len; //報(bào)文長(zhǎng)度
      struct timer list timer; //定時(shí)器
      u_char Proto; //協(xié)議類型
      u_short Ip_ttl; //生存時(shí)間
      u_short id;  //IP標(biāo)識(shí)
      struct in addr Ip-Src,Ip_Dst;  //IP報(bào)文的源,目的IP地址
      struct IpHeader *next; //下一個(gè)IP報(bào)文
   };
   IpHeader描述還未收到全部分片報(bào)文結(jié)構(gòu),多個(gè)IpHeader構(gòu)成的鏈表形成一個(gè)重裝鏈表,等待其他分片到達(dá)后重裝。
3.2 數(shù)據(jù)檢測(cè)分析模塊
 檢測(cè)分析模塊對(duì)預(yù)處理模塊提交的數(shù)據(jù),運(yùn)用匹配算法和規(guī)則庫(kù)中的規(guī)則進(jìn)行比較分析,從而判斷是否有入侵行為。檢測(cè)分析模塊是檢測(cè)引擎的核心,它將從數(shù)據(jù)采集模塊傳來(lái)的數(shù)據(jù)順著規(guī)則鏈表與入侵規(guī)則進(jìn)行比較,如果匹配成功,則說(shuō)明檢測(cè)到了入侵,同時(shí)產(chǎn)生報(bào)警。其流程如圖8所示。

3.3 規(guī)則解析模塊
 規(guī)則解析模塊將從控制中心傳送過(guò)來(lái)的規(guī)則按照一定的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)在規(guī)則庫(kù)中,作為對(duì)入侵行為進(jìn)行判斷分析的知識(shí)庫(kù)。在該模塊的設(shè)計(jì)中,本文采用動(dòng)態(tài)生成鏈表的方式構(gòu)建規(guī)則的語(yǔ)法樹(shù),把所選擇的規(guī)則存儲(chǔ)在數(shù)據(jù)檢測(cè)器所在的主機(jī)內(nèi)存中,規(guī)則鏈表的結(jié)構(gòu)如圖9所示。

 第一層是具有相同處理動(dòng)作(Alert(警告),Log(記錄),Pass(忽略))的節(jié)點(diǎn),以RuleListNode結(jié)構(gòu)表示。其次,是在具有相同處理動(dòng)作的基礎(chǔ)上,按照不同的協(xié)議類型(IP, TCP, ICMP和UDP)再分成幾條鏈表。而在每條鏈表中,具有相同源IP地址、目的IP地址、源端口和目的端口的規(guī)則頭節(jié)點(diǎn)RuleTreeNode構(gòu)成了結(jié)構(gòu)圖的第二層。以下的幾層由具有相同源IP地址、目的IP地址、源端口和目的端口所對(duì)應(yīng)的規(guī)則選項(xiàng)節(jié)點(diǎn)即tTreeNode組成。例如在一組規(guī)則中有45條檢測(cè)CGI-BIN探測(cè)活動(dòng)的規(guī)則,而它們都具有相同的源/目的IP地址及端口號(hào),則它們?cè)阪湵碇锌梢詫⑦@些共同屬性壓縮到一個(gè)單獨(dú)的RuleTreeNode節(jié)點(diǎn)中,而每個(gè)不同的屬性(規(guī)則選項(xiàng))保存在與RuleTreeNode節(jié)點(diǎn)相連的OptTreeNode節(jié)點(diǎn)中。這樣的結(jié)構(gòu)方式,將大大有助于提高檢測(cè)速度。
    建立規(guī)則鏈表的流程如下:首先讀取規(guī)則文件,檢查規(guī)則文件是否存在并可讀,然后依次讀取每一條規(guī)則,同時(shí)進(jìn)行多行規(guī)則的整理;對(duì)規(guī)則進(jìn)行解析,按類型進(jìn)行分支處理,并用相應(yīng)的規(guī)則語(yǔ)法表示,建立規(guī)則語(yǔ)法樹(shù);最后進(jìn)行一些完善操作,如連接所有的動(dòng)態(tài)規(guī)則,進(jìn)行規(guī)則樹(shù)的完整性檢查。其中解釋規(guī)則并將其添加到規(guī)則鏈表的流程如圖10所示。

     作為個(gè)人通信的一個(gè)重要的組成部分,無(wú)線局域網(wǎng)在現(xiàn)實(shí)及未來(lái)的社會(huì)生活中將得到廣泛的應(yīng)用。無(wú)線入侵檢測(cè)技術(shù)也將必然隨著計(jì)算機(jī)技術(shù)的發(fā)展而發(fā)展,隨著無(wú)線網(wǎng)絡(luò)的普及和移動(dòng)設(shè)備的性能的提高而得到進(jìn)一步的發(fā)展。下一步將在本文研究的基礎(chǔ)上,重點(diǎn)解決入侵檢測(cè)系統(tǒng)的應(yīng)用瓶頸問(wèn)題,以大幅度提升檢測(cè)準(zhǔn)確性以及大量應(yīng)用網(wǎng)絡(luò)環(huán)境下的系統(tǒng)性能。
參考文獻(xiàn)
[1] 張丙凡,李永忠,范智勇.多元化入侵檢測(cè)技術(shù)[J].計(jì)算機(jī)仿真,2009,26(11):141-144.
[2] 張耀輝.入侵檢測(cè)在高速網(wǎng)絡(luò)環(huán)境下的技術(shù)研究[J].長(zhǎng)沙通信職業(yè)技術(shù)學(xué)院學(xué)報(bào),2009,8(4):27-30.
[3] 李旺,吳禮發(fā),胡谷雨.分布式網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)NetNumen的設(shè)計(jì)與實(shí)現(xiàn)[J].軟件學(xué)報(bào),2002,13(8):1723-1728.
[4] 伍愛(ài)平,施月玲.分布式入侵檢測(cè)中的數(shù)據(jù)融合模型[J].計(jì)算機(jī)與數(shù)字工程,2007,35(4):97-99.
[5] 程玉青,梅登華,陳龍飛.基于數(shù)據(jù)挖掘的入侵檢測(cè)系統(tǒng)模型[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009,19(12):123-166.
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。