彭志豪 邱建華
摘要:分析了幾種典型的分布式入侵檢測(cè)系統(tǒng)模型,針對(duì)當(dāng)前入侵檢測(cè)系統(tǒng)的不足提出了一種基于移動(dòng)Agent的分布式入侵檢測(cè)系統(tǒng)模型,該系統(tǒng)將新型分布式處理技術(shù)移動(dòng)Agent與入侵檢測(cè)融為一體,實(shí)現(xiàn)了基于該模型的分布式入侵檢測(cè)系統(tǒng),并提出了進(jìn)一步的研究方向。
關(guān)鍵詞:入侵檢測(cè)系統(tǒng);分布式;移動(dòng)Agent
1 引言
隨著網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)的復(fù)雜化和大型化,系統(tǒng)的弱點(diǎn)和漏洞將趨向于分布式,而早期的IDS都是集中式IDS[1,2,3],包括基于主機(jī)和基于網(wǎng)絡(luò)的IDS,他們的顯著特點(diǎn)是在固定數(shù)量的場(chǎng)地進(jìn)行數(shù)據(jù)分析。同時(shí),由于被監(jiān)視的主機(jī)和網(wǎng)絡(luò)數(shù)量的不斷增加,網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜性日益增加,網(wǎng)絡(luò)資源一般都呈分布式的,而入侵活動(dòng)也逐漸具有協(xié)作性,集中式的IDS逐漸暴露出其局限性,如何將基于主機(jī)和網(wǎng)絡(luò)的IDS各自的優(yōu)勢(shì)結(jié)合起來(lái),這就是分布式IDS產(chǎn)生的原因。
2 分布式IDS與Agent技術(shù)
2.1 Agent技術(shù)及其在分布式IDS中的應(yīng)用
Agent可定義為[4]:“在某種特定環(huán)境下,能連續(xù)、自主地完成某項(xiàng)工作的軟件實(shí)體。它能根據(jù)環(huán)境的變化,靈活、智能地做出反應(yīng),并且可能從經(jīng)驗(yàn)中獲得學(xué)習(xí)?!睂gent技術(shù)用在入侵檢測(cè)中,是一種新的入侵檢測(cè)模式。Agent有靜態(tài)和動(dòng)態(tài)之分,靜態(tài)Agent總是固定在單一的平臺(tái)上,它只能訪問(wèn)本地?cái)?shù)據(jù),并將結(jié)果返回給用戶,從而大大的降低網(wǎng)絡(luò)通信量。而移動(dòng)Agent能夠在一個(gè)平臺(tái)上掛起,并移動(dòng)到另一平臺(tái)上,避免了在網(wǎng)絡(luò)中傳輸大量的數(shù)據(jù)。
分布式IDS系統(tǒng)一般采用多個(gè)Agent,每個(gè)Agent完成一項(xiàng)特定的功能,各Agent間通過(guò)通信互相協(xié)作來(lái)完成入侵檢測(cè)。由干Agent是獨(dú)立運(yùn)行的實(shí)體,因此可以在不改變其他部件且不需要重新啟動(dòng)IDS的情況下就能加入、刪除和重新配置Agent,也可以用一組Agent來(lái)分別完成簡(jiǎn)單的功能,彼此交換信息以得出更復(fù)雜的結(jié)果。
2.2 分布式IDS的研究現(xiàn)狀及不足
目前,比較典型的分布式IDS有美國(guó)普渡大學(xué)開(kāi)發(fā)的應(yīng)用自治Agent的分布式入侵檢測(cè)結(jié)構(gòu)[5](AAFID),日本的IPA(Information-Technology Promotion Agency)開(kāi)發(fā)的一種網(wǎng)絡(luò)IDS[6]-IDA(Intrusion Detection Agent System),清華大學(xué)設(shè)計(jì)了一種基于自治Agent的分布式IDS結(jié)構(gòu)CoIDS[7](Cooperative IDS),以及早期的基于網(wǎng)絡(luò)活動(dòng)行為圖的入侵檢測(cè)模型(GrIDS)等。表1是對(duì)一些典型的分布式IDS系統(tǒng)特征的對(duì)比,可以看出盡管分布式IDS的研究取得了很大的進(jìn)展,但仍存在一些問(wèn)題需要解決或改進(jìn),主要有如下幾個(gè)方面:(1)系統(tǒng)的安全性和互操作性比較低;(2)部分系統(tǒng)采用分布式組件收集信息(如NADIR,AAFD等),數(shù)據(jù)經(jīng)過(guò)過(guò)濾等簡(jiǎn)單處理后傳輸?shù)街醒雴我恢鳈C(jī)上集中處理,即數(shù)據(jù)收集分布式,數(shù)據(jù)處理集中式,由于待處理的數(shù)據(jù)量巨大,大大減緩了系統(tǒng)的檢測(cè)速度,系統(tǒng)的響應(yīng)速度也十分有限;(3)系統(tǒng)的分布式組件常采用層次結(jié)構(gòu)進(jìn)行組織或借助黑板機(jī)制進(jìn)行通訊(如AAFID,IDA等),一旦高層節(jié)點(diǎn)或控制中心遭到攻擊毀壞,系統(tǒng)將不能正常的工作,因而存在一定程度的單點(diǎn)失效問(wèn)題;(4)移動(dòng)Agent的采用在一定程度上解決了上述問(wèn)題,可以使重要的部件在系統(tǒng)中遷移,從而避開(kāi)入侵者的攻擊。因而我們提出并設(shè)計(jì)了一種基于移動(dòng)Agent的分布式入侵檢測(cè)系統(tǒng)(MADIDS)。
3 基于移動(dòng)Agent的分布式入侵檢測(cè)系統(tǒng)(MADIDS)
3.1 MADIDS系統(tǒng)工作模型
系統(tǒng)將入侵檢測(cè)系統(tǒng)中的Agent采用分布式結(jié)構(gòu)進(jìn)行組織,并利用移動(dòng)Agent的安全機(jī)制進(jìn)行通訊。移動(dòng)Agent技術(shù)的發(fā)展和應(yīng)用為克服目前使用靜態(tài)構(gòu)件本質(zhì)上的缺陷提供了可能性。移動(dòng)性和自治性應(yīng)用到入侵檢測(cè)機(jī)制中,實(shí)現(xiàn)了“哪里有入侵哪里有檢測(cè)”的系統(tǒng)模型。不僅能實(shí)現(xiàn)全網(wǎng)絡(luò)范圍內(nèi)的入侵檢測(cè)功能,具有良好的移植性;而且對(duì)網(wǎng)絡(luò)系統(tǒng)和主機(jī)的資源占用較低,減少了出現(xiàn)網(wǎng)絡(luò)瓶頸的可能。MADIDS系統(tǒng)工作模型如圖1所示:
MADIDS系統(tǒng)主要由三大功能模塊組成,分別為數(shù)據(jù)收集模塊、分析協(xié)作模塊以及管理控制模塊。數(shù)據(jù)收集模塊主要對(duì)來(lái)自主機(jī)日志和審計(jì)數(shù)據(jù)以及截獲的網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行智能分析和預(yù)處理,處理后的數(shù)據(jù)作為分析協(xié)作模塊的數(shù)據(jù)來(lái)源。分析協(xié)作模塊對(duì)可疑時(shí)間進(jìn)行檢測(cè),判斷是否有入侵行為發(fā)生,并檢測(cè)結(jié)果對(duì)目標(biāo)主機(jī)采取相應(yīng)的措施和報(bào)警處理。這是入侵檢測(cè)系統(tǒng)中最重要的模塊,主要由靜態(tài)Agent和移動(dòng)Agent兩部分組成,入侵檢測(cè)的任務(wù)主要由它們來(lái)完成。管理控制模塊主要負(fù)責(zé)系統(tǒng)的初始化操作及與用戶進(jìn)行人機(jī)交互。
3.2 MADIDS系統(tǒng)實(shí)現(xiàn)
模型的實(shí)現(xiàn)采用IBM Aglets-基于Java的移動(dòng)Agent平臺(tái)為Agent提供執(zhí)行環(huán)境,使其可以按具體的遷移機(jī)制在被監(jiān)控的主機(jī)系統(tǒng)之間移動(dòng)并執(zhí)行入侵檢測(cè)任務(wù)。系統(tǒng)使用Agent通信語(yǔ)言(ACL)作為Agent間交互的語(yǔ)言,Agent之間的通訊采用Aglets的Agent傳輸協(xié)議(Agent Transfer Protocol,ATP)來(lái)完成,它是一個(gè)通用的移動(dòng)Agent協(xié)議,可以支持不同系統(tǒng)中的移動(dòng)Agent的通信過(guò)程,而且具有強(qiáng)大的網(wǎng)絡(luò)功能。系統(tǒng)工作流程如圖2所示:
(1)每個(gè)目標(biāo)節(jié)點(diǎn)的傳感器對(duì)系統(tǒng)日志或網(wǎng)絡(luò)進(jìn)行監(jiān)控,搜索入侵可疑行為;
(2)如果傳感器發(fā)現(xiàn)了可疑行為,立刻通知管理檢測(cè)器,同時(shí)該節(jié)點(diǎn)的Agent守護(hù)進(jìn)程自動(dòng)產(chǎn)生跟蹤Agent,并激活與該入侵可疑行為相關(guān)的信息收集與學(xué)習(xí)Agent;
(3)信息收集與學(xué)習(xí)Agent在目標(biāo)節(jié)點(diǎn)上收集與入侵可疑行為有關(guān)的信息,并進(jìn)行學(xué)習(xí),提取用戶行為特征與有關(guān)的安全模式;
(4)在激活信息收集與學(xué)習(xí)Agent后,跟蹤Agent繼續(xù)探查入侵可疑行為發(fā)生的節(jié)點(diǎn),并努力探明該入侵嫌疑用戶的遠(yuǎn)程登錄位置;
(5)信息收集與學(xué)習(xí)Agent完成任務(wù)后,將結(jié)果傳回給管理節(jié)點(diǎn)上的學(xué)習(xí)綜合Agent;
(6)跟蹤Agent遷移到跟蹤路徑上的下一個(gè)目標(biāo)節(jié)點(diǎn),激活新的信息收集與學(xué)習(xí)Agent;
(7)如果跟蹤Agent己到達(dá)入侵可疑行為源節(jié)點(diǎn),或再也無(wú)法移動(dòng),就返回檢測(cè)管理器中;
(8)檢測(cè)管理器中的學(xué)習(xí)綜合Agent根據(jù)對(duì)信息收集與學(xué)習(xí)Agent傳回的內(nèi)容進(jìn)行分析與綜合,并將結(jié)果提交給檢測(cè)管理器;
(9)檢測(cè)管理器定期發(fā)出遍歷Agent,遍歷它所管轄的網(wǎng)段,同時(shí)收集各個(gè)目標(biāo)節(jié)點(diǎn)的信息,帶回檢測(cè)管理器交由學(xué)習(xí)綜合Agent進(jìn)行分析與綜合。
(10)檢測(cè)管理器根據(jù)學(xué)習(xí)綜合Agent提交的結(jié)果進(jìn)行入侵檢測(cè)和判斷。如果判斷發(fā)生了入侵,那么系統(tǒng)將采取一定措施進(jìn)行防范,并且對(duì)入侵產(chǎn)生的后果進(jìn)行處理,即轉(zhuǎn)入預(yù)警及實(shí)時(shí)響應(yīng)階段。
3.3 結(jié)果分析
(1)性能分析
本文對(duì)系統(tǒng)進(jìn)行了相關(guān)的測(cè)試。硬件環(huán)境如表2所示,100兆D-Link網(wǎng)卡,采用ATP協(xié)議進(jìn)行通訊,網(wǎng)絡(luò)檢測(cè)代理采用Libpcap庫(kù)監(jiān)聽(tīng)網(wǎng)絡(luò)。為了做到數(shù)據(jù)包連續(xù)不斷地到達(dá),本文測(cè)試時(shí)先用Tcpdump捕獲一定數(shù)量的數(shù)據(jù)包存于文件中,然后用檢測(cè)代理進(jìn)行處理。
系統(tǒng)啟動(dòng)前后資源的占有率(CPU和內(nèi)存)如圖3所示。實(shí)驗(yàn)結(jié)果顯示,MADIDS的運(yùn)行不會(huì)影響主機(jī)系統(tǒng)的正常結(jié)果。
(2)結(jié)果統(tǒng)計(jì)
本實(shí)驗(yàn)通過(guò)模擬對(duì)系統(tǒng)發(fā)起的端口掃描攻擊和拒絕服務(wù)攻擊的數(shù)據(jù)包總數(shù)和實(shí)際檢測(cè)出的數(shù)據(jù)包進(jìn)行統(tǒng)計(jì),統(tǒng)計(jì)結(jié)果如圖4所示。
4 結(jié)論與展望
在本系統(tǒng)中,實(shí)現(xiàn)了數(shù)據(jù)采集和入侵檢測(cè)的分布式處理,并把基于主機(jī)方式和網(wǎng)絡(luò)方式入侵檢測(cè)有機(jī)的結(jié)合在一起,形成了分布式入侵檢測(cè)系統(tǒng)。由于實(shí)現(xiàn)了各個(gè)Agent的真正的分布式結(jié)構(gòu),解決了在分布式入侵檢測(cè)系統(tǒng)中存在著關(guān)鍵節(jié)點(diǎn)問(wèn)題。研究表明基于移動(dòng)Agent的分布式實(shí)時(shí)入侵檢測(cè)關(guān)鍵技術(shù)的究是解決當(dāng)前信息網(wǎng)入侵檢測(cè)問(wèn)題中的行之有效的手段。進(jìn)一步的研究目標(biāo)是將神經(jīng)網(wǎng)絡(luò)和遺傳算法等技術(shù)引入基于Agent的入侵檢測(cè)系統(tǒng),構(gòu)建自免疫的入侵檢測(cè)系統(tǒng),使系統(tǒng)具備分析并檢測(cè)未知的入侵模式的能力和自我發(fā)展的潛力。
參考文獻(xiàn)
[1]Yan S,Zhang X.Computer network intrusion detection[A]. 1999,IEEE.
[2]Cabrera J, Ravichandran B,Mehra R K. Statistical Traffic Modeling for network intrusion detection[A]. IEEE, 2000.
[3]Lippmann R, Haines JW.Fried D J. et al. Off-line intrusion detection evaluation [J].Computer Networks.2000,34(4):579-595
[4]Spafford E H,Zamboni D. Intrusion detection using autonomous agents[J].Computer Networks.2000,3(4):547-570.
[5]B. Mukherjee, L Heberlein,et al. Network intrusion detection[J].IEEE Network,1994,8(3):26-41.
[6]Midori Asaka. The implementation of IDA: An intrusion detection agent system[A].1999,IEEE.
[7]Dong Yongle,Qian Jun.A Cooperative Intrusion Detection System Based On Autonomous Agents[A]. 2003,IEEE.
[8]B. Mukherjee, L T, Heberlein.Levitt.Network Intrusion Detection,IEEE Network, 2004,8(3): 26-41.
[9]J.P.Anderson, Compuier security threat monitoring and surveillance. Technical report, James P. 1980.