侯志松,余周,左現(xiàn)剛
(河南科技學院,河南新鄉(xiāng)453003)
隨著網(wǎng)絡技術的發(fā)展和互聯(lián)網(wǎng)用戶的增加,計算機系統(tǒng)入侵活動越來越普遍.入侵檢測系統(tǒng)作為抵御入侵活動、增強系統(tǒng)安全的有效方法,近年來快速發(fā)展并取得了很大成功.但是隨著網(wǎng)絡規(guī)模和復雜程度的增加,在大型異構網(wǎng)絡中,傳統(tǒng)的入侵檢測系統(tǒng)已無法勝任網(wǎng)絡環(huán)境內(nèi)部多種格式信息的集成處理工作,而且在入侵檢測系統(tǒng)局部失效的情況下,無法保證系統(tǒng)全局的安全性.當前的入侵檢測系統(tǒng)缺乏預警機制,無法在造成損失前發(fā)現(xiàn)入侵活動.當網(wǎng)絡繁忙時,若入侵檢測系統(tǒng)無法處理網(wǎng)絡流量,將漏掉與入侵活動相關的特征數(shù)據(jù),形成安全漏洞.因此,現(xiàn)有的入侵檢測系統(tǒng)本身在體系結構上已無法抵御入侵活動,保證網(wǎng)絡環(huán)境的安全.
為解決傳統(tǒng)入侵檢測系統(tǒng)的限制和不足,本文將移動Agent技術引入入侵檢測系統(tǒng),提出一種新的入侵檢測檢測系統(tǒng)體系架構,設計基于移動Agent的網(wǎng)絡入侵檢測系統(tǒng).
移動Agent是具有移動性的智能Agent,它能夠自主地在網(wǎng)絡節(jié)點中自由移動,代表包括人或其他智能體在內(nèi)的其他實體進行工作的一種軟件實體[1].移動智能體能夠自主地選擇運行地點和運行時機,根據(jù)具體情況,中斷當前執(zhí)行,移動至另一設備,并恢復運行,將有關結果及時返回.其移動的目的在于使程序的執(zhí)行盡可能靠近數(shù)據(jù)源,降低網(wǎng)絡通信開銷,平衡負載,節(jié)省網(wǎng)絡帶寬,加快任務的執(zhí)行,提高分布式系統(tǒng)的處理效率.
移動Agent的主要的技術優(yōu)勢在于:數(shù)據(jù)本地處理,減少遠程調(diào)用,節(jié)約網(wǎng)絡帶寬,降低網(wǎng)絡延遲;封裝底層網(wǎng)絡協(xié)議,降低組件之間耦合度,實現(xiàn)異構網(wǎng)絡的互操作;根據(jù)當前網(wǎng)絡配置、拓撲結構和流量,動態(tài)調(diào)整移動Agent負載,實現(xiàn)動態(tài)自適應[2].
入侵檢測系統(tǒng)評估當前系統(tǒng)內(nèi)用戶或系統(tǒng)行為的可疑程度,并據(jù)此鑒別該行為是正常還是非法的,從而幫助系統(tǒng)管理員進行安全管理,并根據(jù)系統(tǒng)受到的攻擊采取相應的對策進行防御.入侵檢測系統(tǒng)主要包括數(shù)據(jù)采集、數(shù)據(jù)分析和響應3個模塊.數(shù)據(jù)采集模塊負責收集系統(tǒng)、網(wǎng)絡、文件數(shù)據(jù)及用戶活動的狀態(tài)和行為等信息,這些信息用于分析系統(tǒng)和網(wǎng)絡是否有入侵的事件發(fā)生.數(shù)據(jù)分析模塊將收集到的數(shù)據(jù)進行整合,并根據(jù)數(shù)據(jù)特征,采用模式匹配、統(tǒng)計分析或完整性分析進行檢測.當系統(tǒng)發(fā)現(xiàn)入侵行為時,則采取相應的行動予以響應,終止入侵和攻擊,并盡快恢復受到影響的服務和丟失的數(shù)據(jù).其系統(tǒng)組件結構如圖1所示.
圖1 傳統(tǒng)入侵檢測系統(tǒng)結構
傳統(tǒng)的入侵檢測系統(tǒng)模型可分為整體式結構、層次型結構和分布式結構.整體式結構將功能集成在一起,系統(tǒng)防范能力較弱;層次型結構是由探測器和控制器組成的樹形結構,可將子系統(tǒng)信息互聯(lián),發(fā)現(xiàn)潛在的入侵攻擊,但存在單點失效問題.分布式結構將入侵檢測系統(tǒng)劃分為多個功能單元.這些功能單元可分散在異構的網(wǎng)絡環(huán)境中,每一功能單元接收不同的信息輸入,完成不同的任務,并向高層次功能單元匯報,直到綜合控制臺.這些功能單元的分布性與移動Agent的獨立性、自主性和分布性等特性相吻合[3].因此在入侵檢測系統(tǒng)中采用移動Agent技術,利用移動Agent的技術優(yōu)勢,實現(xiàn)混合式的體系結構,可彌補傳統(tǒng)入侵檢測系統(tǒng)的缺陷.
基于移動Agent的入侵檢測系統(tǒng)構建在移動Agent平臺之上,其體系架構見圖2.
圖2 基于移動Agent的網(wǎng)絡入侵檢測系統(tǒng)結構
如圖2所示,基于移動Agent的網(wǎng)絡入侵檢測系統(tǒng)包括管理Agent,綜合學習Agent,遍歷Agent,傳感器,守護Agent,跟蹤Agent,學習Agent和信息收集Agent.其功能如下:
(1)管理Agent:管理Agent是系統(tǒng)中最高級別的Agent.一個系統(tǒng)中至少設置一個管理Agent.在復雜的分布式網(wǎng)絡中,通常使用多個管理Agent組成層次結構的網(wǎng)絡管理模式,以有效防止單點失效.管理Agent中的綜合學習Agent綜合分析學習Agent返回的學習結果,并根據(jù)學習結果進行響應;同時管理Agent擁有系統(tǒng)內(nèi)部所有Agent的控制權.在Agent運行期間,管理Agent可通知守護Agent掛起、恢復或傳輸相關Agent.當Agent完成任務時,管理Agent負責回收Agent.
(2)遍歷Agent:遍歷Agent由管理Agent根據(jù)網(wǎng)絡狀況定時派發(fā),用于遍歷網(wǎng)絡內(nèi)部所有,負責收集節(jié)點信息.
(3)守護Agent:守護Agent是系統(tǒng)運行的基礎,每個節(jié)點上均運行一個守護Agent,它為系統(tǒng)內(nèi)部Agent之間提供運行和傳輸?shù)膽铆h(huán)境.守護Agent受控于管理Agent,代替管理Agent對節(jié)點上Agent進行管理.守護Agent可以啟動、掛起或終止Agent,并能夠在多個目標網(wǎng)絡中傳輸Agent.
(4)傳感器:網(wǎng)絡內(nèi)部每個節(jié)點均安裝傳感器.傳感器監(jiān)視節(jié)點范圍所及的網(wǎng)絡信息和系統(tǒng)審計日志,把檢測所得的網(wǎng)絡數(shù)據(jù)格式化后,持久化到入侵檢測數(shù)據(jù)庫.
(5)信息收集Agent:信息收集Agent可以網(wǎng)絡內(nèi)部節(jié)點之間自由移動,從一個目標節(jié)點的數(shù)據(jù)庫中獲取與入侵行為相關的行為信息.
(6)學習Agent:學習Agent可以網(wǎng)絡內(nèi)部節(jié)點之間自由移動,借助的一定的數(shù)據(jù)挖掘算法,提取用戶行為特征和相關的模式規(guī)則.
(7)綜合學習Agent:分析與綜合收集所得的信息和學習的結果,得出綜合的安全模式和用戶行為特征.從而判斷是否存在入侵行為,決定是否發(fā)出入侵警報和警報的等級.
(8)跟蹤Agent:跟蹤Agent跟蹤入侵活動經(jīng)過的路徑,判斷發(fā)生入侵的源節(jié)點和入侵者登錄本網(wǎng)絡系統(tǒng)中目標主機的遠程節(jié)點位置和所有中間節(jié)點.該行為通常由多個跟蹤Agent協(xié)同完成.
以上8個功能Agent相互合作,共同完成網(wǎng)絡系統(tǒng)的入侵檢測.
在本系統(tǒng)中,入侵檢測由網(wǎng)絡節(jié)點和管理節(jié)點協(xié)作完成.網(wǎng)絡節(jié)點中的Agent負責收集信息、提取安全模式規(guī)則和用戶行為特征,并將這些信息提交給管理節(jié)點;管理節(jié)點中的Agent負責遍歷網(wǎng)絡節(jié)點信息,接收網(wǎng)絡節(jié)點匯報的信息,綜合分析后,做出判斷并進行響應.
根據(jù)網(wǎng)絡節(jié)點上Agent提交信息方式的不同,入侵檢測流程可分為節(jié)點信息上報子流程和管理節(jié)點入侵檢測與響應子流程.
節(jié)點信息上報子流程的業(yè)務操作過程見圖3.
圖3 節(jié)點信息上報子流程
如圖3所示,為實現(xiàn)入侵檢測,需要收集網(wǎng)絡上所有入侵嫌疑行為,其詳細操作步驟如下:
(1)網(wǎng)絡節(jié)點的傳感器監(jiān)視網(wǎng)絡數(shù)據(jù)和節(jié)點數(shù)據(jù),收集信息,并將這些信息傳遞給信息收集Agent.
(2)信息收集Agent將收集到的信息格式化后,交給學習Agent進行分析,并判斷是否需要遷移到其他網(wǎng)絡節(jié)點去收集信息和學習.若無需遷移,則直接進入步驟(4).
(3)如果需要遷移,則選定節(jié)點進行遷移,由選定節(jié)點完成數(shù)據(jù)的收集和分析.
(4)學習Agent分析任務,并將結果匯報給管理節(jié)點上的綜合學習Agent.
(5)管理Agent根據(jù)綜合學習Agent提交的信息,決定是否派出跟蹤Agent.如果信息足夠確認入侵行為,則無需派出跟蹤Agent,信息收集完畢.否則,派出跟蹤Agent.
(6)跟蹤Agent跟蹤入侵可疑行為直到源節(jié)點,然后將跟蹤信息提交給管理Agent.
節(jié)點信息上報子流程僅上報網(wǎng)絡節(jié)點本身的信息,為實現(xiàn)全網(wǎng)絡防御,還需通過管理節(jié)點入侵檢測與響應子流程獲取整個網(wǎng)絡的節(jié)點信息.管理節(jié)點入侵檢測與響應子流程的業(yè)務操作流程見圖4.
圖4 入侵檢測與響應子流程
如圖4所示,在入侵檢測與響應子流程中,系統(tǒng)定期派發(fā)遍歷Agent,這些Agent遍歷網(wǎng)絡內(nèi)部所有節(jié)點,收集節(jié)點信息,并將信息傳遞給管理Agent,然后由綜合學習Agent進行分析和綜合,并給出分析結果.管理Agent根據(jù)這些分析結果進行入侵檢測與判斷.如若確認發(fā)生了入侵事件,則發(fā)出警報,并采取一定的措施進行防范,進而對入侵產(chǎn)生的后果進行處理,最后進入響應階段.
本文將移動Agent技術引入入侵檢測系統(tǒng),設計了基于移動Agent的入侵檢測系統(tǒng)的系統(tǒng)架構,劃分了系統(tǒng)內(nèi)部Agent的功能,給出了Agent之間的信息交互方式,并討論了入侵檢測的流程.該系統(tǒng)能夠克服傳統(tǒng)入侵檢測系統(tǒng)單點失效和網(wǎng)絡繁忙時出現(xiàn)誤報、漏報的問題,提高了系統(tǒng)的抗攻擊能力和入侵檢測能力;同時移動Agent可實現(xiàn)網(wǎng)絡內(nèi)部的動態(tài)自適應和異步自治執(zhí)行,從體系架構上保證了系統(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.