【摘要】針對(duì)傳統(tǒng)分布式入侵檢測(cè)系統(tǒng)的缺陷,文章提出了一種適用于無(wú)線網(wǎng)絡(luò)通信環(huán)境的新型分布式入侵檢測(cè)系統(tǒng)模型,詳細(xì)介紹了其組成部分:邏輯檢測(cè)域、中心分析器、全局?jǐn)?shù)據(jù)庫(kù)和用戶接口。新模型提高了系統(tǒng)的整體檢測(cè)效率,有效地避免了中心分析器單點(diǎn)失效的問(wèn)題。
【關(guān)鍵詞】入侵檢測(cè) LDD 分布式攻擊 中心分析器 自舉
1 引言
隨著計(jì)算機(jī)技術(shù)的發(fā)展,入侵檢測(cè)系統(tǒng)(IDS,Intrusion Detection System)已經(jīng)作為網(wǎng)絡(luò)安全系統(tǒng)中的一個(gè)重要組成而受到業(yè)內(nèi)關(guān)注?,F(xiàn)有IDS系統(tǒng)的缺陷有三:一是IDS系統(tǒng)檢測(cè)能力局限在單一網(wǎng)絡(luò)架構(gòu),與其他IDS系統(tǒng)的協(xié)作能力低;二是檢測(cè)手段和數(shù)據(jù)的來(lái)源單一;三是無(wú)法檢測(cè)大規(guī)模分布式攻擊。分布式入侵檢測(cè)系統(tǒng)(DIDS,Distributed Intrusion Detection System)[1]由此應(yīng)運(yùn)而生。
DIDS主要檢測(cè)信息的協(xié)同處理與入侵攻擊的全局信息提取。AAFID[2]是一種分布式入侵檢測(cè)系統(tǒng)的高效框架,與早期的DIDS相比,它解決了負(fù)載平衡問(wèn)題,且采用分層結(jié)構(gòu),不同層次處理抽象程度不同的數(shù)據(jù),使得在系統(tǒng)各代理間通訊的數(shù)據(jù)量顯著減少。但AAFID也有其缺陷,如層次結(jié)構(gòu)復(fù)雜,控制較繁瑣,且沒(méi)有解決結(jié)構(gòu)上的單點(diǎn)失效問(wèn)題,尤其是如果處于較上層的節(jié)點(diǎn)失效,整個(gè)系統(tǒng)就會(huì)癱瘓;另外,處于下層的節(jié)點(diǎn)不能對(duì)入侵做出獨(dú)立的反應(yīng)。對(duì)此,本文提出了一種新型的DIDS系統(tǒng)模型結(jié)構(gòu),新模型可以檢測(cè)跨越多子網(wǎng)的入侵行為和分布式攻擊,避免了中心分析器單點(diǎn)失效的問(wèn)題,系統(tǒng)整體的檢測(cè)效率很高,更適用于無(wú)線網(wǎng)絡(luò)環(huán)境。
2 新型分布式入侵檢測(cè)系統(tǒng)結(jié)構(gòu)
新系統(tǒng)由邏輯檢測(cè)域(LDD)[3]、中心分析器、用戶接口、全局?jǐn)?shù)據(jù)庫(kù)[4]組成,如圖1所示。LDD是本地的入侵檢測(cè)系統(tǒng),負(fù)責(zé)監(jiān)視系統(tǒng)本身的網(wǎng)段,并能對(duì)一般的入侵行為進(jìn)行檢測(cè),而后根據(jù)預(yù)先定義的配置給出反應(yīng)措施。
另外為了解決單點(diǎn)失效問(wèn)題,NIDS設(shè)計(jì)有多個(gè)中心分析器,但最多只有一個(gè)處于活動(dòng)狀態(tài),其余中心分析器則作為冗余備份;一旦活動(dòng)的中心分析器失效,其余中心分析器就通過(guò)自舉策略競(jìng)爭(zhēng)使用權(quán)。用戶接口用來(lái)查詢LDD和中心分析器的檢測(cè)結(jié)果,修改它們的檢測(cè)策略,給系統(tǒng)管理員一個(gè)可視化的圖形接口。全局?jǐn)?shù)據(jù)庫(kù)主要用來(lái)存放檢測(cè)策略和結(jié)果。
2.1 邏輯檢測(cè)域
每個(gè)LDD負(fù)責(zé)監(jiān)視各自管轄的網(wǎng)段,且均能對(duì)主機(jī)和網(wǎng)絡(luò)進(jìn)行入侵檢測(cè)。它們通過(guò)數(shù)據(jù)采集模塊從網(wǎng)絡(luò)和主機(jī)上獲取數(shù)據(jù)包,并通過(guò)分析模塊進(jìn)行分析,如果檢測(cè)出入侵行為,則立刻做出反應(yīng);對(duì)于可疑行為,則提交給中心分析器,由中心分析器根據(jù)從各個(gè)網(wǎng)段收集的信息來(lái)最終判斷是否有入侵行為。其模塊組成如圖2所示,模塊組符合通用的入侵檢測(cè)框架規(guī)范[3]。
(1)數(shù)據(jù)采集模塊
解析和捕獲信道中傳送的數(shù)據(jù)包并將其格式化為事件,這是由系統(tǒng)中的NIDS數(shù)據(jù)采集模塊來(lái)實(shí)現(xiàn)的。在新系統(tǒng)中,檢測(cè)節(jié)點(diǎn)可獲取自身和相鄰部分節(jié)點(diǎn)的數(shù)據(jù)包,節(jié)點(diǎn)處理的數(shù)據(jù)量相對(duì)較小,可保證極低的丟包率并能加快分析模塊的處理速度,縮短系統(tǒng)響應(yīng)攻擊的時(shí)間。新系統(tǒng)采用這種獲取相鄰部分節(jié)點(diǎn)數(shù)據(jù)包的冗余設(shè)計(jì),彌補(bǔ)了由于單個(gè)節(jié)點(diǎn)遭受攻擊而無(wú)法檢測(cè)到攻擊信息的缺陷。
(2)分析模塊
NIDS分析模塊使用模式匹配、統(tǒng)計(jì)分析等技術(shù)來(lái)識(shí)別攻擊行為。它以網(wǎng)絡(luò)數(shù)據(jù)包作為分析數(shù)據(jù)源,在不丟包的情況下對(duì)包進(jìn)行分析,將入侵行為的特征碼歸結(jié)為協(xié)議的不同字段的特征值,將其與特征庫(kù)的特征碼進(jìn)行模式匹配。如果匹配成功,則表示檢測(cè)到了攻擊行為,反應(yīng)模塊就做出適當(dāng)?shù)捻憫?yīng)。
協(xié)議分析方法按照網(wǎng)絡(luò)協(xié)議的層次結(jié)構(gòu)進(jìn)行分析,首先分解各協(xié)議的首部并與協(xié)議樹(shù)按次序匹配,然后用數(shù)據(jù)報(bào)文的數(shù)據(jù)部分來(lái)匹配協(xié)議的入侵特征,用來(lái)與入侵規(guī)則匹配的報(bào)文比源報(bào)文的字節(jié)數(shù)要少。協(xié)議分析方法與模式匹配的原理是一致的,采取二者相結(jié)合的入侵檢測(cè)方式可以有效提高檢測(cè)效率。
HIDS分析模塊用于分析日志事件,對(duì)重點(diǎn)監(jiān)視的主機(jī)資源建立特征庫(kù)并通過(guò)模式匹配方法即時(shí)分析日志事件來(lái)檢測(cè)入侵信息。
(3)管理模塊
管理模塊有四個(gè)方面的功能:
◆ 獲取分析模塊送來(lái)的報(bào)警信息,并將其發(fā)送到反應(yīng)模塊進(jìn)行處理;
◆ 把整個(gè)邏輯域內(nèi)檢測(cè)到的無(wú)法確定的可疑事件,提交給中心分析器來(lái)處理;
◆ 把入侵信息通過(guò)反應(yīng)模塊發(fā)送到本地?cái)?shù)據(jù)庫(kù)服務(wù)器進(jìn)行保存;
◆ 通過(guò)通信模塊從用戶接口獲取LDD的配置信息。
(4)反應(yīng)模塊
反應(yīng)模塊按照預(yù)先配置的響應(yīng)行為來(lái)執(zhí)行反應(yīng)動(dòng)作:
◆ 對(duì)可能的入侵行為預(yù)警并通知系統(tǒng)管理員;
◆ 把入侵的信息記錄到本地?cái)?shù)據(jù)庫(kù);
◆ 對(duì)入侵行為進(jìn)行具體處理。為了避免誤判產(chǎn)生的負(fù)面影響,根據(jù)入侵行為的危害程度,可將具體的入侵處理分為結(jié)束對(duì)應(yīng)的入侵任務(wù)、斷開(kāi)連接、鎖定帳號(hào)、限制允許登陸范圍等級(jí)別。
(5)通信模塊
通信模塊是系統(tǒng)的重要組成部分。該模塊負(fù)責(zé)LDD跟活動(dòng)中心分析器以及用戶接口之間的通信。通信的內(nèi)容為一個(gè)五元組[5]:
〈通信內(nèi)容〉∷=(發(fā)送者,接收者,時(shí)間,數(shù)據(jù)長(zhǎng)度,數(shù)據(jù))
對(duì)于內(nèi)容較短的信息交互采用UDP協(xié)議包的形式,對(duì)于成塊的信息交互則采用TCP協(xié)議包的形式。
2.2 中心分析器
(1)功能
中心分析器負(fù)責(zé)從多個(gè)LAN收集數(shù)據(jù),并根據(jù)這些數(shù)據(jù)分析跨子網(wǎng)的分布式攻擊。一個(gè)單一的LAN可以根據(jù)地理位置和其他因素而分成多個(gè)子網(wǎng),并且每個(gè)子網(wǎng)都有各自的安全需求。子網(wǎng)上的LDD通過(guò)本地特征庫(kù)監(jiān)視著其上的數(shù)據(jù)信息,如果該LDD鑒別出入侵行為,則給出告警信息并寫(xiě)入日志。
(2)自舉
為了解決單點(diǎn)失效的缺陷,新模型通過(guò)控制臺(tái)來(lái)制定多個(gè)中心分析器,每個(gè)中心分析器都有其優(yōu)先級(jí)數(shù)。優(yōu)先級(jí)數(shù)最大的中心分析器處于活動(dòng)狀態(tài),其余處于空閑狀態(tài)。若LDD無(wú)法找到一個(gè)當(dāng)前活動(dòng)的中心分析器,就會(huì)向所有的中心分析器發(fā)布一個(gè)無(wú)法找到活動(dòng)中心分析器的消息。當(dāng)各中心分析器接收到消息后,空閑的中心分析器會(huì)自舉一個(gè)出來(lái),使其成為活動(dòng)的中心分析器(以下簡(jiǎn)稱CA)。
CA執(zhí)行競(jìng)爭(zhēng)協(xié)調(diào)者算法進(jìn)行自舉,過(guò)程如下:
◆CAi向所有優(yōu)先級(jí)數(shù)高于自己的CA發(fā)送要做協(xié)調(diào)者的消息。它將面臨兩種情況:一是在規(guī)定時(shí)間內(nèi)無(wú)回復(fù),那么CAi將自己作為協(xié)調(diào)者的消息發(fā)送給LDD和控制臺(tái)。二是CAi在規(guī)定時(shí)間內(nèi)收到反對(duì)回復(fù),則繼續(xù)等待一個(gè)時(shí)間T,如果沒(méi)收到消息,則認(rèn)為回復(fù)錯(cuò)誤,CAi重新開(kāi)始執(zhí)行競(jìng)爭(zhēng)協(xié)調(diào)者算法;如果收到消息“CAj是新的協(xié)調(diào)者”,CAi記下當(dāng)前的活動(dòng)CA是CAj。
◆如果CAi接到一個(gè)優(yōu)先級(jí)比它低的CA競(jìng)爭(zhēng)協(xié)調(diào)者的消息,則給對(duì)方一個(gè)適當(dāng)?shù)幕貜?fù),自己開(kāi)始執(zhí)行競(jìng)爭(zhēng)協(xié)調(diào)者算法。
◆當(dāng)一個(gè)擁有較高優(yōu)先級(jí)的CA排除故障恢復(fù)運(yùn)行時(shí),它可以重新執(zhí)行競(jìng)爭(zhēng)協(xié)調(diào)者算法,剝奪較低優(yōu)先級(jí)CA的協(xié)調(diào)者資格。
2.3 用戶接口
控制臺(tái)提供了一個(gè)友好的人機(jī)交互界面,讓系統(tǒng)管理員能方便地管理系統(tǒng)。用戶接口的功能包括四個(gè)方面:
(1)指定各LDD和中心分析器的配置庫(kù);
(2)從LDD和中心分析器獲得檢測(cè)日志;
(3)指定系統(tǒng)中活動(dòng)的中心分析器;
(4)顯示告警信息和圖形化的分析報(bào)告。
2.4 全局?jǐn)?shù)據(jù)庫(kù)
全局?jǐn)?shù)據(jù)庫(kù)保存各LDD和中心分析器的配置信息以及運(yùn)行中產(chǎn)生的日志。
3 結(jié)束語(yǔ)
本文提出了一種基于邏輯檢測(cè)域的入侵檢測(cè)系統(tǒng)模型。新模型的LDD分布在各受保護(hù)的子網(wǎng)段上,能通過(guò)分析模塊對(duì)本地主機(jī)和網(wǎng)絡(luò)進(jìn)行入侵檢測(cè),并能獨(dú)立做出處理。對(duì)于一些分布在各個(gè)子網(wǎng)上的分布式攻擊,新系統(tǒng)中的每個(gè)單獨(dú)的LDD只能檢測(cè)整個(gè)入侵行為的一部分,這時(shí)各個(gè)LDD會(huì)將其檢測(cè)到的可疑事件提交給中心分析器處理,中心分析器將會(huì)正確地判斷是否存在入侵行為。新模型中存在多個(gè)中心分析器,中心分析器通過(guò)自舉算法競(jìng)爭(zhēng)成為協(xié)調(diào)者,避免了單個(gè)中心分析器帶來(lái)的單點(diǎn)失效問(wèn)題,提高了整個(gè)系統(tǒng)的容錯(cuò)性,能夠更有效地檢測(cè)多種入侵攻擊,更適于無(wú)線網(wǎng)絡(luò)通信環(huán)境。
參考文獻(xiàn)
[1]薛靜鋒,寧宇鵬,閻慧. 入侵檢測(cè)技術(shù)[M]. 北京: 機(jī)械工業(yè)出版社,2004.
[2]Eugene H Spafford, Diego Zamboni. Intrusion Detection Using Autonomous Agents[J]. Computer Networks, 2000(34): 547-570.
[3]Porras P, Schnackenberg D, Staniford Chen S, et al. The Common Intrusion Detection Framework Architecture[EB/OL]. 2005. http://www.isi.edu/gost/cidf/drafts/architecture.txt.25(15): 1374-1391.
[4]Peng Ning, Sushil Jajodia, Xiaoyang Sean Wang. Design and Implementation of Decentralized Prototype System for Detecting Distributed Attacks[J]. Computer Communications,2002.
[5]P Ning, X S Wang, S Jajodia. Modeling Requests Among Cooperating Intrusion Detection Systems[J]. Computer Communications, 2000,23(17): 1702-1715.
[6]林昭文,趙毅德,馬嚴(yán). 基于Agent的分布式協(xié)作入侵檢測(cè)系統(tǒng)[J]. 計(jì)算機(jī)工程,2008,34(5): 150-152.★
【作者簡(jiǎn)介】
鐘再淳:碩士畢業(yè)于中山大學(xué)電子學(xué)系無(wú)線電物理專業(yè)?,F(xiàn)任職于中國(guó)電子科技集團(tuán)公司第七研究所,曾從事信道編碼及嵌入式硬件的研發(fā)工作,目前從事網(wǎng)絡(luò)信息安全管理及研究工作。