劉世江
(中鐵三局,山西晉中030600)
Agent技術已經在計算機科學的許多領域得到了廣泛的應用,它也是近幾年分布式人工智能領域研究的熱點之一。并且,分布式計算由Agent技術的可適應性、自治性和移動性等特性賦予了新的模式,實體間的關系因為這種計算模式而越發(fā)的動態(tài)和平等,強調的是自治合作,與傳統(tǒng)的服務器、客戶機模式不相同。軟件Agent的成功應用依賴于Agent平臺的支持和工程方案的技術可行性以及應用領域自身的特性。
作為網絡和人工智能技術發(fā)展的必然結果,Agent的中文解釋包括代理、智能體、智能代理等多種。迄今為止,對Agent的定義沒有統(tǒng)一的定論,各個組織機構對其的定義都有所不同。其中,Agent標準化組織FIPA(Foundation for Intelligent Physical Agent)對Agent的定義為:Agent作為一個實體存在和停留于環(huán)境中,用以解析反映環(huán)境中所發(fā)生事件的、來自于環(huán)境的數據,并采取一定的行為對環(huán)境產生影響[1]。從這個定義中可以看出,Agent既可以是硬件,也可以是軟件,是一種“生存”于環(huán)境中的實體。
傳統(tǒng)集中式的入侵檢測系統(tǒng)隨著復雜計算機網絡的發(fā)展和分布式應用的普及,會出現網絡流量不斷增大而造成的丟包問題,無法良好滿足系統(tǒng)的需求,而分布式結構正逐步取代傳統(tǒng)結構成為一種新的IDS基本體系結構。智能體作為復雜網絡環(huán)境下實現分布式應用的理想工具,它具有自適應性、自主性、分布性等優(yōu)點?;贏gent的入侵檢測系統(tǒng)對復雜多變的網絡環(huán)境具有很強的自適應能力,這種系統(tǒng)充分利用網絡資源協(xié)同完成入侵檢測任務,而且能通過自我學習、自我進化提高自身的入侵檢測能力[2]。
本文提出了一種基于Agent的分布式入侵檢測系統(tǒng)(Distributed Intrusion Detection System,DIDS)模型,該系統(tǒng)的檢測和處理都采用分布的方式,保證了檢測和判斷系統(tǒng)中可能發(fā)生的入侵行為的實時性,彌補了現有入侵檢測系統(tǒng)的不足之處。這種模型具有較強的動態(tài)管理能力和配置的靈活性以及諸多特點,如:平衡網絡負載、減少網絡流量、提高容錯度以及數據訪問和異步交互本地化的特點。
本論文設計的系統(tǒng)是在分布式環(huán)境下多Agent的一種系統(tǒng)模型,系統(tǒng)中的每個Agent彼此獨立、各司其職,但又互相協(xié)作。即各個感應Agent為相互獨立,具有入侵檢測功能的單元,它們的入侵檢測工作相對獨立,但又通過相互協(xié)作更好的、全面的對主機系統(tǒng)和網絡進行了檢測。基于Agent的DIDS模型如圖1所示。
圖1 基于Agent的分布式入侵檢測系統(tǒng)
按照感應Agent的要求,將該功能模塊分為管理單元、檢測單元、響應單元、通信單元和協(xié)作單元五個單元[3],感應Agent的模塊結構如圖2所示。
圖2 感應Agent的模塊結構
分析Agent屬于入侵檢測系統(tǒng)的高層檢測組件,它的任務是感應Agent管理者、協(xié)作檢測和數據分析。根據分析Agent所具有的分析和管理功能,模塊結構應包括:感應Agent管理單元、事件處理單元、協(xié)作分析單元、協(xié)議單元以及通信單元[4],各單元的相互管理協(xié)作關系如圖3所示。
圖3 分析Agent模塊結構
入侵檢測系統(tǒng)的響應Agent和各模塊中的簡單處理單元,應該對系統(tǒng)的功能模塊檢測到的入侵行為及時做出響應,這個響應行為有如下幾種。
1)跟蹤攻擊者:攻擊者在攻擊目標前通常情況下會入侵多個主機,有可能偽裝成這些主機的源地址,并以前者為后者跳板將對多個被入侵主機串聯成一條主機鏈。本論文的入侵檢測系統(tǒng)正是利用了這一特點找到具有發(fā)起包的實際主機所在位置。即,順著主機鏈反向追蹤,有效地發(fā)現攻擊者。
2)對攻擊目標做出響應:當系統(tǒng)檢測到攻擊時,目標主機檢測到攻擊和對攻擊快速響應是至關重要的??斓捻憫俣瓤梢宰璧K攻擊者更好的建立立足點,防止入侵者利用這個被入侵的主機對網絡中其它主機造成破壞。同時使修復攻擊者已造成的破壞變得更容易。
3)攻擊源點作出響應:入侵檢測系統(tǒng)在被入侵主機上對攻擊者響應,可以非常有效地限制攻擊者的行為。入侵檢測系統(tǒng)在沒有使用Agent技術的情況下是不可能有效地執(zhí)行糾正行動,因為沒有足夠數量的入口到攻擊者主機。
4)收集主機和網絡組件中的相關攻擊的證據:傳統(tǒng)入侵檢測系統(tǒng)運行特定的程序,所以這種系統(tǒng)就無法實現在多個不同的源點自動收集攻擊證據。而在入侵檢測系統(tǒng)中使用Agent技術,使系統(tǒng)運行任何程序無須有時間和地點的限制,也就是系統(tǒng)收集證據不需要有相同的硬件平臺和操作系統(tǒng)。有了Agent技術的加入,系統(tǒng)可以通過對有關主機設置動態(tài)更新以達到嚴密審查重要或可疑的網絡位置[5],這樣,入侵檢測系監(jiān)測網絡入侵實現了智能化。
5)目標和源點的隔離:如果對源點和目標的自動響應異常將無法有效地阻止攻擊行為,所以,自動響應異常的情況下阻止攻擊行為需要在網絡層進行,有三種常用的策略:阻止目標的通信,阻止攻擊者的通信,阻止目標間和攻擊者的通信[6]。Agent應用于入侵檢測系統(tǒng),即Agent在網絡元件中穿梭、對破壞的修復行為,使得三種策略的有效執(zhí)行得以實現。
本文提出了一種基于Agent技術的DIDS系統(tǒng)結構模型,以有效地解決對入侵檢測系統(tǒng)中網絡流量不斷增大而造成的數據包丟失問題。該系統(tǒng)可依據網絡流量的大小動態(tài)調整系統(tǒng)中的檢測Agent數量,既不過多消耗系統(tǒng)資源又從而分擔了網絡流量。一改傳統(tǒng)集中式的入侵檢測系統(tǒng)丟包問題,及無法滿足系統(tǒng)需求的問題,使入侵檢測系統(tǒng)充分利用網絡資源協(xié)同完成入侵檢測任務,對復雜多變的網絡環(huán)境具有很強的自適應性,具有通過自我學習、自我進化提高自身的入侵檢測能力。
[1]Earl Carter.CISCO安全入侵檢測系統(tǒng)[M].北京:人民郵電出版社,2005.
[2]唐正軍.入侵檢測技術導論[M].北京:機械工業(yè)出版社,2004.
[3]羅守山.入侵檢測[M].北京:北京郵電大學出版社,2004.
[4]薛靜鋒,寧宇鵬,閻慧.入侵檢測技術[M].北京:機械工業(yè)出版社,2004.
[5]Rebecca Gurley Bace.入侵檢測[M].陳明奇,吳秋新,張振濤,等譯.北京:人民郵電出版社,2001.