侯志松,余周,左現(xiàn)剛
(河南科技學(xué)院,河南新鄉(xiāng)453003)
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和互聯(lián)網(wǎng)用戶的增加,計(jì)算機(jī)系統(tǒng)入侵活動越來越普遍.入侵檢測系統(tǒng)作為抵御入侵活動、增強(qiáng)系統(tǒng)安全的有效方法,近年來快速發(fā)展并取得了很大成功.但是隨著網(wǎng)絡(luò)規(guī)模和復(fù)雜程度的增加,在大型異構(gòu)網(wǎng)絡(luò)中,傳統(tǒng)的入侵檢測系統(tǒng)已無法勝任網(wǎng)絡(luò)環(huán)境內(nèi)部多種格式信息的集成處理工作,而且在入侵檢測系統(tǒng)局部失效的情況下,無法保證系統(tǒng)全局的安全性.當(dāng)前的入侵檢測系統(tǒng)缺乏預(yù)警機(jī)制,無法在造成損失前發(fā)現(xiàn)入侵活動.當(dāng)網(wǎng)絡(luò)繁忙時(shí),若入侵檢測系統(tǒng)無法處理網(wǎng)絡(luò)流量,將漏掉與入侵活動相關(guān)的特征數(shù)據(jù),形成安全漏洞.因此,現(xiàn)有的入侵檢測系統(tǒng)本身在體系結(jié)構(gòu)上已無法抵御入侵活動,保證網(wǎng)絡(luò)環(huán)境的安全.
為解決傳統(tǒng)入侵檢測系統(tǒng)的限制和不足,本文將移動Agent技術(shù)引入入侵檢測系統(tǒng),提出一種新的入侵檢測檢測系統(tǒng)體系架構(gòu),設(shè)計(jì)基于移動Agent的網(wǎng)絡(luò)入侵檢測系統(tǒng).
移動Agent是具有移動性的智能Agent,它能夠自主地在網(wǎng)絡(luò)節(jié)點(diǎn)中自由移動,代表包括人或其他智能體在內(nèi)的其他實(shí)體進(jìn)行工作的一種軟件實(shí)體[1].移動智能體能夠自主地選擇運(yùn)行地點(diǎn)和運(yùn)行時(shí)機(jī),根據(jù)具體情況,中斷當(dāng)前執(zhí)行,移動至另一設(shè)備,并恢復(fù)運(yùn)行,將有關(guān)結(jié)果及時(shí)返回.其移動的目的在于使程序的執(zhí)行盡可能靠近數(shù)據(jù)源,降低網(wǎng)絡(luò)通信開銷,平衡負(fù)載,節(jié)省網(wǎng)絡(luò)帶寬,加快任務(wù)的執(zhí)行,提高分布式系統(tǒng)的處理效率.
移動Agent的主要的技術(shù)優(yōu)勢在于:數(shù)據(jù)本地處理,減少遠(yuǎn)程調(diào)用,節(jié)約網(wǎng)絡(luò)帶寬,降低網(wǎng)絡(luò)延遲;封裝底層網(wǎng)絡(luò)協(xié)議,降低組件之間耦合度,實(shí)現(xiàn)異構(gòu)網(wǎng)絡(luò)的互操作;根據(jù)當(dāng)前網(wǎng)絡(luò)配置、拓?fù)浣Y(jié)構(gòu)和流量,動態(tài)調(diào)整移動Agent負(fù)載,實(shí)現(xiàn)動態(tài)自適應(yīng)[2].
入侵檢測系統(tǒng)評估當(dāng)前系統(tǒng)內(nèi)用戶或系統(tǒng)行為的可疑程度,并據(jù)此鑒別該行為是正常還是非法的,從而幫助系統(tǒng)管理員進(jìn)行安全管理,并根據(jù)系統(tǒng)受到的攻擊采取相應(yīng)的對策進(jìn)行防御.入侵檢測系統(tǒng)主要包括數(shù)據(jù)采集、數(shù)據(jù)分析和響應(yīng)3個(gè)模塊.數(shù)據(jù)采集模塊負(fù)責(zé)收集系統(tǒng)、網(wǎng)絡(luò)、文件數(shù)據(jù)及用戶活動的狀態(tài)和行為等信息,這些信息用于分析系統(tǒng)和網(wǎng)絡(luò)是否有入侵的事件發(fā)生.數(shù)據(jù)分析模塊將收集到的數(shù)據(jù)進(jìn)行整合,并根據(jù)數(shù)據(jù)特征,采用模式匹配、統(tǒng)計(jì)分析或完整性分析進(jìn)行檢測.當(dāng)系統(tǒng)發(fā)現(xiàn)入侵行為時(shí),則采取相應(yīng)的行動予以響應(yīng),終止入侵和攻擊,并盡快恢復(fù)受到影響的服務(wù)和丟失的數(shù)據(jù).其系統(tǒng)組件結(jié)構(gòu)如圖1所示.
圖1 傳統(tǒng)入侵檢測系統(tǒng)結(jié)構(gòu)
傳統(tǒng)的入侵檢測系統(tǒng)模型可分為整體式結(jié)構(gòu)、層次型結(jié)構(gòu)和分布式結(jié)構(gòu).整體式結(jié)構(gòu)將功能集成在一起,系統(tǒng)防范能力較弱;層次型結(jié)構(gòu)是由探測器和控制器組成的樹形結(jié)構(gòu),可將子系統(tǒng)信息互聯(lián),發(fā)現(xiàn)潛在的入侵攻擊,但存在單點(diǎn)失效問題.分布式結(jié)構(gòu)將入侵檢測系統(tǒng)劃分為多個(gè)功能單元.這些功能單元可分散在異構(gòu)的網(wǎng)絡(luò)環(huán)境中,每一功能單元接收不同的信息輸入,完成不同的任務(wù),并向高層次功能單元匯報(bào),直到綜合控制臺.這些功能單元的分布性與移動Agent的獨(dú)立性、自主性和分布性等特性相吻合[3].因此在入侵檢測系統(tǒng)中采用移動Agent技術(shù),利用移動Agent的技術(shù)優(yōu)勢,實(shí)現(xiàn)混合式的體系結(jié)構(gòu),可彌補(bǔ)傳統(tǒng)入侵檢測系統(tǒng)的缺陷.
基于移動Agent的入侵檢測系統(tǒng)構(gòu)建在移動Agent平臺之上,其體系架構(gòu)見圖2.
圖2 基于移動Agent的網(wǎng)絡(luò)入侵檢測系統(tǒng)結(jié)構(gòu)
如圖2所示,基于移動Agent的網(wǎng)絡(luò)入侵檢測系統(tǒng)包括管理Agent,綜合學(xué)習(xí)Agent,遍歷Agent,傳感器,守護(hù)Agent,跟蹤Agent,學(xué)習(xí)Agent和信息收集Agent.其功能如下:
(1)管理Agent:管理Agent是系統(tǒng)中最高級別的Agent.一個(gè)系統(tǒng)中至少設(shè)置一個(gè)管理Agent.在復(fù)雜的分布式網(wǎng)絡(luò)中,通常使用多個(gè)管理Agent組成層次結(jié)構(gòu)的網(wǎng)絡(luò)管理模式,以有效防止單點(diǎn)失效.管理Agent中的綜合學(xué)習(xí)Agent綜合分析學(xué)習(xí)Agent返回的學(xué)習(xí)結(jié)果,并根據(jù)學(xué)習(xí)結(jié)果進(jìn)行響應(yīng);同時(shí)管理Agent擁有系統(tǒng)內(nèi)部所有Agent的控制權(quán).在Agent運(yùn)行期間,管理Agent可通知守護(hù)Agent掛起、恢復(fù)或傳輸相關(guān)Agent.當(dāng)Agent完成任務(wù)時(shí),管理Agent負(fù)責(zé)回收Agent.
(2)遍歷Agent:遍歷Agent由管理Agent根據(jù)網(wǎng)絡(luò)狀況定時(shí)派發(fā),用于遍歷網(wǎng)絡(luò)內(nèi)部所有,負(fù)責(zé)收集節(jié)點(diǎn)信息.
(3)守護(hù)Agent:守護(hù)Agent是系統(tǒng)運(yùn)行的基礎(chǔ),每個(gè)節(jié)點(diǎn)上均運(yùn)行一個(gè)守護(hù)Agent,它為系統(tǒng)內(nèi)部Agent之間提供運(yùn)行和傳輸?shù)膽?yīng)用環(huán)境.守護(hù)Agent受控于管理Agent,代替管理Agent對節(jié)點(diǎn)上Agent進(jìn)行管理.守護(hù)Agent可以啟動、掛起或終止Agent,并能夠在多個(gè)目標(biāo)網(wǎng)絡(luò)中傳輸Agent.
(4)傳感器:網(wǎng)絡(luò)內(nèi)部每個(gè)節(jié)點(diǎn)均安裝傳感器.傳感器監(jiān)視節(jié)點(diǎn)范圍所及的網(wǎng)絡(luò)信息和系統(tǒng)審計(jì)日志,把檢測所得的網(wǎng)絡(luò)數(shù)據(jù)格式化后,持久化到入侵檢測數(shù)據(jù)庫.
(5)信息收集Agent:信息收集Agent可以網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)之間自由移動,從一個(gè)目標(biāo)節(jié)點(diǎn)的數(shù)據(jù)庫中獲取與入侵行為相關(guān)的行為信息.
(6)學(xué)習(xí)Agent:學(xué)習(xí)Agent可以網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)之間自由移動,借助的一定的數(shù)據(jù)挖掘算法,提取用戶行為特征和相關(guān)的模式規(guī)則.
(7)綜合學(xué)習(xí)Agent:分析與綜合收集所得的信息和學(xué)習(xí)的結(jié)果,得出綜合的安全模式和用戶行為特征.從而判斷是否存在入侵行為,決定是否發(fā)出入侵警報(bào)和警報(bào)的等級.
(8)跟蹤Agent:跟蹤Agent跟蹤入侵活動經(jīng)過的路徑,判斷發(fā)生入侵的源節(jié)點(diǎn)和入侵者登錄本網(wǎng)絡(luò)系統(tǒng)中目標(biāo)主機(jī)的遠(yuǎn)程節(jié)點(diǎn)位置和所有中間節(jié)點(diǎn).該行為通常由多個(gè)跟蹤Agent協(xié)同完成.
以上8個(gè)功能Agent相互合作,共同完成網(wǎng)絡(luò)系統(tǒng)的入侵檢測.
在本系統(tǒng)中,入侵檢測由網(wǎng)絡(luò)節(jié)點(diǎn)和管理節(jié)點(diǎn)協(xié)作完成.網(wǎng)絡(luò)節(jié)點(diǎn)中的Agent負(fù)責(zé)收集信息、提取安全模式規(guī)則和用戶行為特征,并將這些信息提交給管理節(jié)點(diǎn);管理節(jié)點(diǎn)中的Agent負(fù)責(zé)遍歷網(wǎng)絡(luò)節(jié)點(diǎn)信息,接收網(wǎng)絡(luò)節(jié)點(diǎn)匯報(bào)的信息,綜合分析后,做出判斷并進(jìn)行響應(yīng).
根據(jù)網(wǎng)絡(luò)節(jié)點(diǎn)上Agent提交信息方式的不同,入侵檢測流程可分為節(jié)點(diǎn)信息上報(bào)子流程和管理節(jié)點(diǎn)入侵檢測與響應(yīng)子流程.
節(jié)點(diǎn)信息上報(bào)子流程的業(yè)務(wù)操作過程見圖3.
圖3 節(jié)點(diǎn)信息上報(bào)子流程
如圖3所示,為實(shí)現(xiàn)入侵檢測,需要收集網(wǎng)絡(luò)上所有入侵嫌疑行為,其詳細(xì)操作步驟如下:
(1)網(wǎng)絡(luò)節(jié)點(diǎn)的傳感器監(jiān)視網(wǎng)絡(luò)數(shù)據(jù)和節(jié)點(diǎn)數(shù)據(jù),收集信息,并將這些信息傳遞給信息收集Agent.
(2)信息收集Agent將收集到的信息格式化后,交給學(xué)習(xí)Agent進(jìn)行分析,并判斷是否需要遷移到其他網(wǎng)絡(luò)節(jié)點(diǎn)去收集信息和學(xué)習(xí).若無需遷移,則直接進(jìn)入步驟(4).
(3)如果需要遷移,則選定節(jié)點(diǎn)進(jìn)行遷移,由選定節(jié)點(diǎn)完成數(shù)據(jù)的收集和分析.
(4)學(xué)習(xí)Agent分析任務(wù),并將結(jié)果匯報(bào)給管理節(jié)點(diǎn)上的綜合學(xué)習(xí)Agent.
(5)管理Agent根據(jù)綜合學(xué)習(xí)Agent提交的信息,決定是否派出跟蹤Agent.如果信息足夠確認(rèn)入侵行為,則無需派出跟蹤Agent,信息收集完畢.否則,派出跟蹤Agent.
(6)跟蹤Agent跟蹤入侵可疑行為直到源節(jié)點(diǎn),然后將跟蹤信息提交給管理Agent.
節(jié)點(diǎn)信息上報(bào)子流程僅上報(bào)網(wǎng)絡(luò)節(jié)點(diǎn)本身的信息,為實(shí)現(xiàn)全網(wǎng)絡(luò)防御,還需通過管理節(jié)點(diǎn)入侵檢測與響應(yīng)子流程獲取整個(gè)網(wǎng)絡(luò)的節(jié)點(diǎn)信息.管理節(jié)點(diǎn)入侵檢測與響應(yīng)子流程的業(yè)務(wù)操作流程見圖4.
圖4 入侵檢測與響應(yīng)子流程
如圖4所示,在入侵檢測與響應(yīng)子流程中,系統(tǒng)定期派發(fā)遍歷Agent,這些Agent遍歷網(wǎng)絡(luò)內(nèi)部所有節(jié)點(diǎn),收集節(jié)點(diǎn)信息,并將信息傳遞給管理Agent,然后由綜合學(xué)習(xí)Agent進(jìn)行分析和綜合,并給出分析結(jié)果.管理Agent根據(jù)這些分析結(jié)果進(jìn)行入侵檢測與判斷.如若確認(rèn)發(fā)生了入侵事件,則發(fā)出警報(bào),并采取一定的措施進(jìn)行防范,進(jìn)而對入侵產(chǎn)生的后果進(jìn)行處理,最后進(jìn)入響應(yīng)階段.
本文將移動Agent技術(shù)引入入侵檢測系統(tǒng),設(shè)計(jì)了基于移動Agent的入侵檢測系統(tǒng)的系統(tǒng)架構(gòu),劃分了系統(tǒng)內(nèi)部Agent的功能,給出了Agent之間的信息交互方式,并討論了入侵檢測的流程.該系統(tǒng)能夠克服傳統(tǒng)入侵檢測系統(tǒng)單點(diǎn)失效和網(wǎng)絡(luò)繁忙時(shí)出現(xiàn)誤報(bào)、漏報(bào)的問題,提高了系統(tǒng)的抗攻擊能力和入侵檢測能力;同時(shí)移動Agent可實(shí)現(xiàn)網(wǎng)絡(luò)內(nèi)部的動態(tài)自適應(yīng)和異步自治執(zhí)行,從體系架構(gòu)上保證了系統(tǒng)的健壯性和容錯能力.
[1]Zaki M,Sobh TS.Acooperative agent-based model for active securitysystems[J].J.Netw.Comput.Appl.,2004,27(4):201-220.
[2]Lange DB,Oshima M.Seven good reasons for Mobile agents[J].Communications ofthe ACM,1999,42(3):88-89.
[3]Jansen WA.Countermeasures for Mobile agent security[J].Computer Communications,2000,23:1667-1676.
[4]Gowadia V,Farkas C,Valtorta M.PAID:a probabilistic agent-based intrusion detection system[J].Computers&Security,2005,24(7):529-545.
[5]BalasubraM.AnArchitectureforIntrusionDetectionusingAutonomousAgents[M].CoastTR98-05,DepartmentofComputerSciences,Purdue University,1998.
[6]Fok CL,Roman GC.Mobile agent middleware for sensor networks:An application case study[Z],2008:287-382.
[7]Helmer G,WongJ K,Vasant H,et al.Lightweight agents for intrusion detection[J].The Journal ofSystems and Software,2003,67(2):109-122.