摘 要:在目前計算機網(wǎng)絡(luò)高速發(fā)展的環(huán)境下,針對廣泛應(yīng)用的基于靜態(tài)防護措施的安全體系存在的不足,提出能在高速度、高流量、協(xié)同攻擊、分布式攻擊的分布式入侵檢測系統(tǒng)模型MADIDS((Distributed Intrusion Detection system Based on Multi Agents)設(shè)計;夠能集成分布式、智能化、整體化的技術(shù)優(yōu)勢,融入入侵檢測和實時響應(yīng)分布的分布式檢測的技術(shù),真正的實現(xiàn)一個有效的網(wǎng)絡(luò)安全防御的深度安全系統(tǒng)。
關(guān)鍵詞:入侵檢測系統(tǒng) 多代理 分布式 入侵檢測
中圖分類號:TP3 文獻標(biāo)識碼:A 文章編號:1672-3791(2013)02(c)-0034-02
21世紀(jì)以來,計算機網(wǎng)絡(luò)迅猛發(fā)展,實現(xiàn)實時高速網(wǎng)絡(luò)入侵檢測已經(jīng)成為當(dāng)前計算機安全技術(shù)不得不面臨的殘酷事實。本文提出一個分布式環(huán)境下的多Agent模型的入侵檢測模型,沒有主次之分的各Agent之間,通過不同分工協(xié)同工作。各級獨立Agent發(fā)揮不同獨立性入侵檢測單元功能,同時聯(lián)合協(xié)作檢測著網(wǎng)絡(luò)的各個方面的安全情況和主機系統(tǒng)安全信息。多代理系統(tǒng)是一個由多個代理組成的比較松散的代理聯(lián)盟,各個代理為了完成一個共同的目的相互協(xié)作、相互服務(wù)。MAS結(jié)構(gòu)的使用,更夠使計算機智能分布更好地實現(xiàn),也能使現(xiàn)有的各項IDS技術(shù)得到利用,可以將其它的安全工具封裝為代理以實現(xiàn)縱深防御體系。
1 基于多代理的分布式入侵檢測系統(tǒng)模型結(jié)構(gòu)設(shè)計
(圖1)
(1)CSA(Communicate Service Agent):通信服務(wù)代理。(2)FA(Function Agent):功能代理,它是完成各種任務(wù)代理的一個統(tǒng)稱。(3)SDA(State Detection Agent):狀態(tài)檢測代理。(4)LAA(Local Analyzer Agent):本地分析代理。(5)DAA(Domain Analyzer Agent):域分析代理。(6)VUI(Visual User Interface):可視用戶接口。
多代理的分布式入侵檢測系統(tǒng)由各個主機的代理互相配合完成檢測任務(wù),同時每個主機又都能單獨的進行入侵檢測,各個主機間入侵消息的通信是靠CSA進行的,SDA負(fù)責(zé)檢測本地Agent狀態(tài),DAA進行更大范圍的入侵分析,LAA進行本地入侵檢測分析,以及進行系統(tǒng)恢復(fù)。其中每個主機部分的Agent組成結(jié)構(gòu)(圖2)。
1.1 功能代理(FA)是由預(yù)處理代理(AD-P),認(rèn)證授權(quán)代理(AIA),學(xué)習(xí)代理(LA),存取控制代理(ACA)等代理組成。它們的主要的職責(zé)有以下幾點
(1)預(yù)處理代理AD-P(Agent-Detection for Preprocessing):AD-P負(fù)責(zé)對輸入的通信數(shù)據(jù)進行預(yù)處理,實時監(jiān)視網(wǎng)絡(luò)通信數(shù)據(jù),提取事件序列,然后對事件進行分類,備份到AD-P數(shù)據(jù)庫并提交給下一級Agent進行處理。(2)認(rèn)證授權(quán)代理AIA(Agent for Identification and Authentication):AIA是負(fù)責(zé)識別的信息源和認(rèn)證的真實性,并把結(jié)果反饋到數(shù)據(jù)庫中,發(fā)送郵件到入侵檢測代理IDA可疑行為,或試圖攻擊立即的跡象。(3)學(xué)習(xí)代理LA(Learning Agent):LA是負(fù)責(zé)提取的攻擊模式,以及明確用戶的行為,如判斷攻擊是不是Port Scanning、Overflow、Finger、 Dos等行為。(4)存取控制代理ACA(Access Control Agent):ACA一方面是保護機密信息,并且不允許敏感信息未經(jīng)授權(quán)的訪問渠道流出,另一方面,按照嚴(yán)格的訪問控制策略,為合法用戶提供信息資源的訪問。
1.2 狀態(tài)檢測代理SDA(State Detection Agent)
SDA是每臺主機唯一的入侵檢測Agent進行自身保護和身份驗證的專門Agent,它定時檢查協(xié)作主機的CSA和本機內(nèi)IDA的狀態(tài),并負(fù)責(zé)向系統(tǒng)管理員報告。入侵檢測系統(tǒng)的檢查和維護的網(wǎng)絡(luò)系統(tǒng)的安全性是必要的,以確保不間斷運行;而且入侵檢測系統(tǒng)能記錄黑客的攻擊行為,黑客在發(fā)動真正的攻擊前必將想盡辦法先破壞入侵檢測系統(tǒng);因此SDA的存在非常有必要。同時,由于CSA是入侵檢測代理與其它檢測代理交互的關(guān)鍵。一旦CSA遭受破壞,不同主機入侵檢測代理的協(xié)作就無法進行;因此,檢查和保證CSA的正常運行狀態(tài)是極其重要的。SDA能定時檢查協(xié)作主機CSA的狀態(tài),一旦發(fā)現(xiàn)某臺機器的CSA活動異常,就向其它機器的SDA查詢該機器的狀態(tài),如果其它機器的SDA認(rèn)為該CSA正常,就進行再次查詢;如果檢測出其它機器的SDA不正常報告,立即通知系統(tǒng)管理人員,請求系統(tǒng)管理人員檢查問題所在。
此外,還要定期檢查主機IDA的狀態(tài),發(fā)現(xiàn)某個IDA運行狀態(tài)有問題SDA會及時地通知本機的CSA,暫停與IDA之間的通信和通知系統(tǒng)管理人員及時處理。
1.3 本地分析代理LAA(Local l Analyzer Agent)
LAA是負(fù)責(zé)主機管理的代理,存在每臺配有FA的主機上也是唯一。LA的主要職責(zé)為是收集各個IDA報告系統(tǒng)異?;顒拥膱蟾?,并進行處理;執(zhí)行異地代理的CSA之間的協(xié)商,根據(jù)需要向上級DAA提交工作報告,根據(jù)上級DAA的指示控制各代理的狀態(tài);組織本地間代理的協(xié)作。
1.4 入侵檢測代理IDA(Intrusion Detection Agent)
每個IDA獨立承擔(dān)一定的檢測任務(wù),檢測系統(tǒng)或網(wǎng)絡(luò)的安全性。在模型中,每個IDA檢測的操作模式和響應(yīng)的數(shù)據(jù),有自己的獨立的消息來源,每個IDA是獨立的測試組件,可以實現(xiàn)單獨檢測任務(wù),同時各IDA之間又進行相互協(xié)作,對網(wǎng)絡(luò)用戶和系統(tǒng)的可疑行為或異常進行檢測并把檢測結(jié)果交給LAA進行判斷。不同的IDA按照檢測環(huán)境不同,可以采用不同的檢測方法和技術(shù)。
1.5 可視用戶接口VUI(Visual User Interface)
VUI是向用戶提供使用界面的,向用戶提供配置界面和告警界面。UIA的實現(xiàn)可以使用不同的RAD工具都依賴于API調(diào)用DAA提供的控制功能。
1.6 域分析代理DAA (Domain analyzer Agent)
DAA集中服務(wù)于整個域上,它全面分析來自各個主機的報告,從而得出最終結(jié)論。DAA可以找到相關(guān)的多臺主機、與網(wǎng)絡(luò)相關(guān)的入侵活動,這種入侵是很難被單個主機上的LAA發(fā)現(xiàn)的。處理分析和收集各LAA報告的數(shù)據(jù)外,DAA還能通過控制LAA,使不同主機上的LAA可以相互作用,從而實現(xiàn)整個域內(nèi)的管理。考慮到單點失效的問題上,MADIDS域的概念是非常靈活的。域是指一個DAA所能管理的所有主機,域的概念是嵌套的,是有層次的。一個DAA管理的域中成員可以是單個的LAA,也可以是另一個子域的管理者DAA。域的形成動態(tài)減少域之間的信息流的形成的原則,按照與網(wǎng)絡(luò)安全條件下,形成一般是更交互式主機組件域,各個主機可以動態(tài)的申請加入或者離開某個域。這樣當(dāng)任一個LAA失效的時候,其上級DAA可以做出報告和尋找其它可以代替它的LAA。當(dāng)另一個DAA失效的時候,其所屬的主機將申請加入其它的域。域分析代理的主要功能是接收管轄域內(nèi)的各LAA或DAA送來的報告,并對接收的報告進行分析整理匯總,指示控制本域各主機的工作。
1.7 消息代理MA(Message Agent)
廣域網(wǎng)解決傳輸問題使用的agent是MA。因為普遍的跨地域組織,所以要加強對異地分組織進行統(tǒng)一的安全管理,可以通過MADIDS來跨廣域網(wǎng);雖然廣域網(wǎng)有復(fù)雜的傳輸系統(tǒng),會產(chǎn)生較大延時,需要專門的傳輸機制。被用來傳輸敏感信息的MADIDS傳輸,可以在廣域網(wǎng)提供比本地傳輸更高安全強度的保護。
2 代理的協(xié)作機制
分布化、協(xié)作化發(fā)展后的入侵技術(shù),要求入侵檢測系統(tǒng)必然出現(xiàn)分布化、協(xié)作化發(fā)展。代理之間的協(xié)作能力被MADIDS整體智能體現(xiàn),作為分布式入侵檢測系統(tǒng)中的關(guān)鍵。
按照內(nèi)容代理的協(xié)作可以劃分為以下幾點。
(1)檢測結(jié)果關(guān)聯(lián)協(xié)作—— 主要用于尋找分布和協(xié)作攻擊檢測結(jié)果,關(guān)聯(lián)協(xié)作是指對不同檢測點檢測結(jié)果檢測到可疑事件進一步挖掘。(2)檢測結(jié)果確認(rèn)協(xié)作—— 檢測結(jié)果確認(rèn)協(xié)作是指對從不同代理對于同一事件的檢測結(jié)果進行比較,所有代理檢測的結(jié)果都附有可信度,以確認(rèn)攻擊的真實程度??尚哦仁侵笇z測結(jié)果的確認(rèn)程度,通過LAA或DAA對檢測結(jié)果的比較可以確定該次檢測的最終可信度,如果可信度很低,不需要將事件報道給上級代理,反之亦然報告向上級代理。(3)恢復(fù)協(xié)作—— 由恢復(fù)代理對目標(biāo)系統(tǒng)進行恢復(fù);恢復(fù)協(xié)作是指代理檢測到成功的攻擊行為,系統(tǒng)受到破壞后通知相關(guān)的恢復(fù)代理。(4)響應(yīng)協(xié)作—— 響應(yīng)協(xié)作是指某代理檢測到攻擊后,則請求其它代理對該攻擊做出響應(yīng),本身不能直接對該攻擊做出合適的響應(yīng)。(5) 追蹤協(xié)作—— 通過多個代理共同協(xié)作沿攻擊路徑反向追蹤尋找攻擊者的來源。(6)取證協(xié)作—— 取證協(xié)作是當(dāng)某檢測代理檢測到違法攻擊后,通知取證代理對攻擊者行為進行詳細(xì)記錄以作為證據(jù)。(7)狀態(tài)協(xié)作—— 狀態(tài)協(xié)作是指代理之間相互進行狀態(tài)校驗以保證正常工作。協(xié)作的模型有匯總模型、控制模型、反饋模型、和級聯(lián)模型等幾種。(8)學(xué)習(xí)協(xié)作—— 學(xué)習(xí)協(xié)作是指學(xué)習(xí)代理在學(xué)習(xí)到新的攻擊特征后更新濫用檢測代理的攻擊庫,使其可以檢測到新的攻擊。
3 基于多代理的分布式入侵檢測模型的優(yōu)缺點
本系統(tǒng)模型的優(yōu)點有以下幾點。
(1)系統(tǒng)具有可擴展性;通過層次結(jié)構(gòu)將代理設(shè)計成為多層架構(gòu),有效減少向上層代理匯報的數(shù)據(jù)和報告。(2)靈活性;現(xiàn)有的結(jié)構(gòu)可以容納各種不同的入侵檢測技術(shù),甚至是其它的安全技術(shù),如防火墻都可以打包成為一個普通代理。(3)協(xié)作性;每個功能代理檢測雖然只是主機安全或者網(wǎng)絡(luò)安全的一個方面,甚至可能是簡單的命令查詢,但通過LAA和DAA的聯(lián)合協(xié)作,就可以產(chǎn)生非常詳細(xì)的檢測結(jié)果。(4)數(shù)據(jù)來源不受限制;因為代理可以捕獲網(wǎng)絡(luò)數(shù)據(jù)包或其他適當(dāng)?shù)馁Y源,在需要時,通過探測系統(tǒng)審計數(shù)據(jù),因此基于多代理的IDS可以打破基于主機型和基于網(wǎng)絡(luò)型之間存在的傳統(tǒng)界限。(5)跨廣域網(wǎng);通過MA跨廣域網(wǎng)的協(xié)同入侵檢測。(6)自適應(yīng);代理的功能通過能力庫表示,代理之間的協(xié)作通過協(xié)商確定,根據(jù)網(wǎng)絡(luò)情況自適應(yīng)整個系統(tǒng)的結(jié)構(gòu)。(7)與平臺和開發(fā)語言無關(guān);因為代理可以作為分離的進程在主機上運行,每個代理都可以使用最適合其任務(wù)的語言,通訊協(xié)議和通訊格式可以簡單地按照共同的。(8)將代理設(shè)計成為相互獨立的子集可以減少單點失效的問題,一個代理失效不會影響整個IDS的工作,不必重啟就可以重新配置IDS(或部分IDS)。
本模型的缺點有以下幾個方面。
(1)Agent自身安全;在大規(guī)模開放式網(wǎng)絡(luò)應(yīng)用中,Agent本身也是存在安全問題,引入安全檢測代理,相應(yīng)的引來了敏感部件自身安全問題,惡意的入侵者會從代理部件中獲得關(guān)于系統(tǒng)和網(wǎng)絡(luò)的信息,對整個系統(tǒng)安全威脅更嚴(yán)重,因此,必須對Agent設(shè)計相應(yīng)的保護機制。(2)對網(wǎng)絡(luò)的影響;由于IDA間的協(xié)作都是通過相互間的通信來實現(xiàn)的,在不同的主機之間的通信IDA如果過于頻繁或過多的流量對網(wǎng)絡(luò)流量造成的潛在影響,如果入侵者了解可疑廣播報文的結(jié)構(gòu),可能會利用廣播報文來進行拒絕服務(wù)攻擊。然而,由于在系統(tǒng)中,每個IDA的可疑度是加權(quán)和,所以進行廣播的DA的可疑度增長速度更快可能會導(dǎo)致拒絕服務(wù),該IDA已經(jīng)可以判斷出這類異常,因此,使用廣播包進行拒絕服務(wù)攻擊的事情在系統(tǒng)模型中是無法運行的。每個IDA是相互合作,IDA可疑的廣播數(shù)據(jù)包被接收到一定數(shù)量后,懷疑的IDA的程度將超過一定的閾值,將一條警告消息,在這個時候,特別是很短的一段時間內(nèi)類似廣播報文,會更加警惕,以防止發(fā)生的拒絕服務(wù)攻擊。(3)對主機性能方面的影響;每個IDA只能檢測網(wǎng)絡(luò)或主機的某些方面的內(nèi)容,它可能需要一臺主機的IDA以涵蓋所有檢測點,這可能會導(dǎo)致潛在的影響主機系統(tǒng)的性能,因此,如果數(shù)量過多的IDA在一臺主機,你需要能夠IDA合并功能相似或過于簡單,這方面的工作是我們今后工作的一個研究方向。
參考文獻
[1] 馬恒太,將建春,陳偉峰,等.基于Agent的分布式入侵檢測系統(tǒng)模型[J].軟件學(xué)報,2000(10).
[2] 董紅斌.多Agent系統(tǒng)的現(xiàn)狀與發(fā)展[J].計算機應(yīng)用研究.2001.
[3] 胡華平.入侵檢測系統(tǒng)的研究現(xiàn)狀與發(fā)展趨勢[J].計算機工程與科學(xué).2001.
[4] 張俊海.基于多代理的分布式入侵檢測體系分析[J].經(jīng)濟技術(shù)協(xié)作信息.2008(8).
[5] 敖冰峰.基于移動Agent的入侵檢測系統(tǒng)改進研究[D].哈爾濱理工大學(xué),2007.
[6] 湯潔.分布式入侵檢測系統(tǒng)的研究與設(shè)計[D].南京信息工程大學(xué),2008.
[7] 蔚雪潔.基于代理的分布式入侵檢測系統(tǒng)的研究[D].蘭州理工大學(xué),2008.