

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