摘 要:通過(guò)分析和研究大規(guī)模網(wǎng)絡(luò)入侵檢測(cè)的特點(diǎn),采用規(guī)劃知識(shí)圖描述入侵者的攻擊意圖,在此基礎(chǔ)上提出了基于多Agent聯(lián)盟的大規(guī)模網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的結(jié)構(gòu)框架。通過(guò)對(duì)入侵者的攻擊意圖和策略分析,提出了聯(lián)盟系統(tǒng)中多Agent的工作分配和通信協(xié)作的方法。
關(guān)鍵詞:網(wǎng)絡(luò)安全; 入侵檢測(cè); 多Agent聯(lián)盟
中圖分類(lèi)號(hào):TP393文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2007)06-0115-03
0 引言
隨著計(jì)算機(jī)網(wǎng)絡(luò)的快速發(fā)展和廣泛應(yīng)用,網(wǎng)絡(luò)規(guī)模日益增大,對(duì)網(wǎng)絡(luò)惡意攻擊所造成的損失也越來(lái)越大。大規(guī)模網(wǎng)絡(luò)的特點(diǎn)是節(jié)點(diǎn)眾多,分支復(fù)雜,數(shù)據(jù)流量大,并且包含多個(gè)網(wǎng)段,存在著異構(gòu)的網(wǎng)絡(luò)環(huán)境和應(yīng)用平臺(tái),如此復(fù)雜的網(wǎng)絡(luò)環(huán)境必然導(dǎo)致入侵檢測(cè)的復(fù)雜性。另外,網(wǎng)絡(luò)入侵工具的日益智能化和復(fù)雜化也為入侵檢測(cè)帶來(lái)了很大的困難。最初的網(wǎng)絡(luò)入侵者一次攻擊中一般只采用一種攻擊手段。隨著網(wǎng)絡(luò)防范技術(shù)的進(jìn)步和多重化,使得攻擊的難度增加。現(xiàn)在的入侵者在實(shí)施攻擊時(shí)往往同時(shí)采用多種入侵手段,以保證入侵的成功。這樣做還可以在攻擊實(shí)施的初期掩蓋攻擊的真實(shí)目的,使檢測(cè)攻擊的難度越來(lái)越大。大規(guī)模組合式、分布式入侵攻擊的檢測(cè)目前還沒(méi)有有效的方法和成熟的解決方案。
大規(guī)模網(wǎng)絡(luò)入侵有六大特點(diǎn):
①?gòu)V泛分布的異構(gòu)網(wǎng)絡(luò)環(huán)境;
②包含大量有噪聲和快速變化的數(shù)據(jù);
③提供制定決策的信息不完整;
④需要探測(cè)的數(shù)據(jù)類(lèi)型繁多;
⑤通信、協(xié)作控制困難;
⑥不斷變化的攻擊模式。
針對(duì)以上所列出的大規(guī)模網(wǎng)絡(luò)入侵的特點(diǎn),智能化、分布式監(jiān)視大規(guī)模網(wǎng)絡(luò)入侵的技術(shù)是當(dāng)前入侵檢測(cè)領(lǐng)域研究的熱點(diǎn)。普度大學(xué)的COAST研究小組提出了分布式體系結(jié)構(gòu)來(lái)研究入侵檢測(cè)問(wèn)題,這種結(jié)構(gòu)的優(yōu)勢(shì)在于它的規(guī)模、高效、容錯(cuò)性和易配置性[1]。University of California at Davis提出基于圖的入侵檢測(cè)系統(tǒng)(GrIDS)[2],其設(shè)計(jì)目標(biāo)是檢測(cè)對(duì)網(wǎng)絡(luò)系統(tǒng)的大規(guī)模自動(dòng)攻擊,通過(guò)行為圖描述了各主機(jī)之間的網(wǎng)絡(luò)行為,并通過(guò)聚合類(lèi)似的入侵行為,報(bào)警或采取相應(yīng)的措施。SRI International公司設(shè)計(jì)了EMERALD[3](Event Monitoring Enabling Response to Anomalous Live Disturbances)。該系統(tǒng)是一個(gè)用來(lái)檢測(cè)和追蹤大型網(wǎng)絡(luò)上的惡意行為的分布式工具套件。
1 入侵的基本攻擊過(guò)程分析
一般而言,入侵攻擊的邏輯步驟如下:
(1)使用網(wǎng)絡(luò)主機(jī)掃描工具確定目標(biāo)主機(jī)的位置及一些基本信息;
(2)利用軟件漏洞進(jìn)行攻擊,取得登錄賬號(hào);
(3)提升賬號(hào)權(quán)利,獲得對(duì)主機(jī)的完全控制;
(4)清理現(xiàn)場(chǎng),刪除攻擊痕跡;
(5)利用受害主機(jī)攻擊其他系統(tǒng)。
入侵一個(gè)系統(tǒng)可能有多種方法,但往往都是通過(guò)上述邏輯步驟或不同的工具軟件來(lái)達(dá)到其攻擊目的。入侵者的每一步攻擊可能使用不同的攻擊工具,并針對(duì)不同的主機(jī)系統(tǒng),其方法和目的也會(huì)隨著入侵的進(jìn)度有所改變。因此,在這些攻擊步驟中攻擊工具的不同組合就構(gòu)成了一個(gè)很大的集合,使入侵檢測(cè)系統(tǒng)難以識(shí)別。由于使用單獨(dú)的步驟或工具很難達(dá)到入侵者的攻擊目的,入侵者通常會(huì)謹(jǐn)慎地采用一系列的邏輯步驟和工具來(lái)試探目標(biāo)系統(tǒng)的環(huán)境,并利用漏洞進(jìn)行攻擊。研究這一系列的邏輯步驟和工具的使用可以提示人們預(yù)先發(fā)現(xiàn)入侵者的異常行為和動(dòng)機(jī)。
2 入侵者攻擊意圖的分析及描述[4]
為了能對(duì)入侵者的攻擊意圖進(jìn)行描述,筆者采用了規(guī)劃識(shí)別知識(shí)圖方法。規(guī)劃識(shí)別知識(shí)圖[5]是一個(gè)非循環(huán)的與或圖,該與或圖由節(jié)點(diǎn)的集合組成。節(jié)點(diǎn)代表規(guī)劃(事件)。節(jié)點(diǎn)間均用連接符連接,用來(lái)表示一個(gè)父節(jié)點(diǎn)和它的一組后繼節(jié)點(diǎn)。每一個(gè)K-連接符表示從一個(gè)父節(jié)點(diǎn)指向其K個(gè)后繼節(jié)點(diǎn)。規(guī)劃知識(shí)圖的節(jié)點(diǎn)分為兩類(lèi),即與節(jié)點(diǎn)和或節(jié)點(diǎn)。每一個(gè)節(jié)點(diǎn)是與節(jié)點(diǎn)還是或節(jié)點(diǎn)是相對(duì)于其父節(jié)點(diǎn)而言的。具體地說(shuō),如果一個(gè)父節(jié)點(diǎn)的后繼是此父節(jié)點(diǎn)的具體化,這些具體化節(jié)點(diǎn)稱(chēng)為或節(jié)點(diǎn);如果一個(gè)父節(jié)點(diǎn)的后繼是一組“組成部分節(jié)點(diǎn)”,即此父節(jié)點(diǎn)與其后繼節(jié)點(diǎn)之間是整體與部分的關(guān)系時(shí),這些組成部分節(jié)點(diǎn)稱(chēng)為與節(jié)點(diǎn),在圖中用圓弧標(biāo)出。另外,由于網(wǎng)絡(luò)攻擊往往有一定的邏輯攻擊步驟,本文采用整數(shù)標(biāo)記時(shí)間片的方法來(lái)表示規(guī)劃的各組成部分在規(guī)劃中出現(xiàn)的先后順序。為每個(gè)事件規(guī)定一個(gè)時(shí)間片,是為了進(jìn)行時(shí)序的約束檢查。規(guī)劃知識(shí)圖的節(jié)點(diǎn)表示如圖1所示。
圖1 規(guī)劃知識(shí)圖的節(jié)點(diǎn)表示
在圖2所示入侵的規(guī)劃知識(shí)圖中,最上層節(jié)點(diǎn)代表入侵者的最終目標(biāo),低一層的節(jié)點(diǎn)代表為獲取上層節(jié)點(diǎn)或高一級(jí)目標(biāo)而可選擇的子目標(biāo)。葉節(jié)點(diǎn)表示在不同的網(wǎng)絡(luò)環(huán)境下產(chǎn)生的事件或子目標(biāo)的實(shí)例化。通過(guò)規(guī)劃知識(shí)圖底部葉節(jié)點(diǎn)的一條虛線代表一個(gè)可能的攻擊趨勢(shì),將這條虛線稱(chēng)之為入侵檢測(cè)線,如果有單個(gè)的入侵步驟或工具被證實(shí)就填充該節(jié)點(diǎn)。在大多數(shù)情況下,這條虛線是不完整的,它代表的是一種入侵發(fā)展的概率趨勢(shì)。在圖2中,節(jié)點(diǎn)x代表本地系統(tǒng)重新檢查該節(jié)點(diǎn)的存檔數(shù)據(jù)以證實(shí)是否發(fā)生了入侵并給予重點(diǎn)監(jiān)控。圖3給出了一個(gè)早期描述Flooding/Spoofing序列的可能表示。
圖2 一種可能的入侵趨勢(shì)圖3 Flooding/Spoofing中可能的入侵趨勢(shì)
3 基于多Agent聯(lián)盟的入侵檢測(cè)體系結(jié)構(gòu)
通過(guò)對(duì)大規(guī)模網(wǎng)絡(luò)攻擊意圖的分析和描述,筆者建立了基于多Agent聯(lián)盟的分布開(kāi)放式入侵檢測(cè)與響應(yīng)架構(gòu),如圖4所示。該架構(gòu)利用入侵者的攻擊意圖可驅(qū)動(dòng)多個(gè)IDS進(jìn)行通信協(xié)作,共同完成對(duì)入侵攻擊的預(yù)測(cè)。另外,由于現(xiàn)有的入侵檢測(cè)系統(tǒng)存在系統(tǒng)的互操作以及再利用問(wèn)題,故采用Agent聯(lián)盟的形式可以有效地利用網(wǎng)絡(luò)資源,而且便于擴(kuò)充。基于多Agent聯(lián)盟分布式入侵檢測(cè)與響應(yīng)的系統(tǒng)由全局Agent和多個(gè)協(xié)調(diào)Agent構(gòu)成,每個(gè)協(xié)調(diào)Agent負(fù)責(zé)本地自治IDS的攻擊意圖檢測(cè)。
在該Agent聯(lián)盟結(jié)構(gòu)中,全局Agent執(zhí)行意圖分析,預(yù)測(cè)入侵趨勢(shì)并制定決策策略;本地自治IDS的Agent執(zhí)行對(duì)攻擊意圖的檢測(cè),并報(bào)告給全局Agent。全局Agent根據(jù)本地Agent的報(bào)告確定規(guī)劃知識(shí)圖中的入侵檢測(cè)線,并對(duì)有疑問(wèn)的節(jié)點(diǎn)給其本地Agent發(fā)布命令(如圖2中的x節(jié)點(diǎn)),由其本地Agent預(yù)先審計(jì)可能有問(wèn)題的節(jié)點(diǎn)。這樣通過(guò)對(duì)入侵者的攻擊意圖分析,IDS的Agent便可在策略層上對(duì)攻擊進(jìn)行識(shí)別。在這個(gè)層面上,攻擊的特征是由一系列邏輯相關(guān)的攻擊步驟——子目標(biāo)來(lái)實(shí)現(xiàn)。這些子目標(biāo)并非必要和完整的,每一個(gè)子目標(biāo)代表的是在形成入侵期間需要完成的一種發(fā)展趨勢(shì)。這樣,入侵檢測(cè)系統(tǒng)的任務(wù)除了密切監(jiān)視系統(tǒng)的破壞外,還可嘗試去識(shí)別這些子目標(biāo)的目標(biāo)及其發(fā)展趨勢(shì)。
圖4 大規(guī)模入侵監(jiān)測(cè)系統(tǒng)中的Agent聯(lián)盟結(jié)構(gòu)
大規(guī)模的網(wǎng)絡(luò)入侵通常呈現(xiàn)出多種形式,并且可能是來(lái)自異構(gòu)平臺(tái)事件的組合。為了對(duì)具體目標(biāo)的形式進(jìn)行具體化,用理解本地事件格式的本地自治IDS的Agent,監(jiān)視本地環(huán)境,檢驗(yàn)本地上下文的信息,并匯報(bào)給全局Agent來(lái)作出決策。這樣,由于本地IDS的Agent可以很好地進(jìn)行判斷和過(guò)濾噪聲數(shù)據(jù),高信噪比的數(shù)據(jù)對(duì)入侵檢測(cè)的影響將會(huì)降低。
通過(guò)基于全局入侵檢測(cè)系統(tǒng)給定的入侵檢測(cè)線,大規(guī)模網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)中的Agent攜帶有入侵者的攻擊意圖,并根據(jù)對(duì)攻擊意圖的懷疑進(jìn)行協(xié)商通信。這樣,各IDS的本地Agent就可以根據(jù)入侵檢測(cè)線來(lái)預(yù)測(cè)可能的攻擊,并精調(diào)自身系統(tǒng)的審計(jì)程序來(lái)預(yù)先查看相關(guān)的數(shù)據(jù)。如果證實(shí)有入侵發(fā)生,則報(bào)告給全局Agent。全局Agent接到報(bào)告后,融入這種新發(fā)現(xiàn)的知識(shí),重新評(píng)估攻擊者的策略并發(fā)布下一步的命令,指示本地Agent繼續(xù)觀察數(shù)據(jù)和關(guān)注其入侵的最新進(jìn)展。由于本地IDS將證實(shí)的子目標(biāo)匯報(bào)給全局Agent,全局Agent可以從策略層上識(shí)別攻擊而不是去嘗試弄清大量的與本地?cái)?shù)據(jù)有關(guān)的細(xì)節(jié)。對(duì)于全局入侵檢測(cè)系統(tǒng)Agent,數(shù)據(jù)噪聲對(duì)策略的制定不會(huì)產(chǎn)生較大的影響。
4 多Agent聯(lián)盟大規(guī)模網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)通信協(xié)商框架
筆者根據(jù)基于Agent聯(lián)盟的大規(guī)模入侵檢測(cè)系統(tǒng)的功能要求,建立了基于Internet/Intranet的分布式入侵檢測(cè)的Agent通信和協(xié)商結(jié)構(gòu)框架,如圖5所示。
該框架中采用模塊框架構(gòu)造方法,通過(guò)Internet/Intranet網(wǎng),由網(wǎng)上各智能節(jié)點(diǎn)Agent組合而成,具有很好的可擴(kuò)展性和通用性。其中,MA(Manager Agent)是Agent聯(lián)盟通信協(xié)商框架結(jié)構(gòu)的核心,它負(fù)責(zé)調(diào)度和管理整個(gè)問(wèn)題的解決過(guò)程。MA和各協(xié)調(diào)Agent間按知識(shí)語(yǔ)言KL中的協(xié)作交互語(yǔ)法和語(yǔ)義要求進(jìn)行信息交換。
圖5 基于多Agent聯(lián)盟的通信協(xié)商框架
各子網(wǎng)中的每臺(tái)機(jī)器中均駐留一個(gè)主機(jī)監(jiān)測(cè)Agent,以負(fù)責(zé)對(duì)相應(yīng)機(jī)器注冊(cè)表內(nèi)容進(jìn)行變動(dòng)和對(duì)系統(tǒng)目錄下文件(數(shù)目和內(nèi)容)的變動(dòng)情況進(jìn)行監(jiān)視;同時(shí)還在子網(wǎng)中設(shè)置一臺(tái)獨(dú)立機(jī)器,其上駐留一個(gè)協(xié)調(diào)Agent負(fù)責(zé)接收來(lái)自各主機(jī)監(jiān)測(cè)Agent的個(gè)體決策和相關(guān)證據(jù),并匯報(bào)給全局Agent;同時(shí)協(xié)調(diào)Agent負(fù)責(zé)將全局Agent下達(dá)的命令轉(zhuǎn)發(fā)給子網(wǎng)中的各主機(jī)Agent,由相應(yīng)的子網(wǎng)主機(jī)預(yù)先審計(jì)本機(jī)的上下文信息。
為實(shí)現(xiàn)基于多Agent聯(lián)盟的大規(guī)模網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)問(wèn)題求解的任務(wù)分配和協(xié)作交互,MA中除含有構(gòu)成Agent的必要組成內(nèi)容外,還將其DS的黑板劃分成具有一定的數(shù)據(jù)結(jié)構(gòu)和控制結(jié)構(gòu)的MS、AS、AI三個(gè)區(qū):
(1) MS區(qū)(消息管理區(qū)) 存放各本地Agent發(fā)送給MA的異常入侵消息、各Agent的狀態(tài)信息及全局Agent發(fā)布的命令信息。
(2) AS區(qū)(任務(wù)分配區(qū)) 給Agent分配相應(yīng)的任務(wù),根據(jù)MS中全局Agent發(fā)布的命令信息給本地Agent分配任務(wù)。 (3) AI區(qū)(智能推理區(qū)) 存放各Agent的位置、網(wǎng)絡(luò)結(jié)構(gòu)、檢測(cè)方式等信息,供MA分配任務(wù)時(shí)使用。AI區(qū)根據(jù)MS區(qū)Agent發(fā)來(lái)的消息和推理機(jī)來(lái)制定入侵檢測(cè)線。AI中信息來(lái)自于Agent的中心數(shù)據(jù)庫(kù),當(dāng)修改和增加Agent時(shí),AI信息需要進(jìn)行更新。
4.1 基于聯(lián)盟結(jié)構(gòu)的多Agent通信與協(xié)作交互
在基于多Agent聯(lián)盟結(jié)構(gòu)的大規(guī)模入侵檢測(cè)系統(tǒng)中,多Agent之間的協(xié)作主要通過(guò)全局Agent與本地協(xié)調(diào)Agent、本地協(xié)調(diào)Agent和各子網(wǎng)內(nèi)部的Agent的通信來(lái)完成,其采用消息機(jī)制來(lái)實(shí)現(xiàn)。有兩種消息通信方式,即點(diǎn)對(duì)點(diǎn)方式和組廣播方式。每個(gè)消息都是一個(gè)六元組〈 From, to, msgType, replyWith, replyTo, msgContent〉。其中From是消息的發(fā)送者;To是消息的接收者,接收者可以是一個(gè)Agent,也可以是一組Agent;msgType是消息的類(lèi)型;replyWith,當(dāng)該消息項(xiàng)不為空時(shí),表明該消息是需要應(yīng)答的,當(dāng)消息的接收者收到本消息后,需要應(yīng)答,應(yīng)答消息的replyTo和replyWith相同;replyTo,該項(xiàng)表明本消息是針對(duì)前一次消息replyWith的應(yīng)答;msgContent的消息內(nèi)容具體含義由消息的接收者根據(jù)消息的類(lèi)型和相互的約定進(jìn)行解釋。
消息的類(lèi)型及內(nèi)容與聯(lián)盟組織結(jié)構(gòu)、Agent的功能、IDS的結(jié)構(gòu)是緊密相關(guān)的。根據(jù)IDS系統(tǒng)中的需求,可以設(shè)計(jì)多種消息及相應(yīng)的消息內(nèi)容。通用消息可分為以下幾大類(lèi):
(1)聲明消息(Offer Message)。用于提供一個(gè)本地IDS所能提供的數(shù)據(jù)和服務(wù)類(lèi)型,也向全局Agent提供任何可疑的事件。
(2)通知消息(Inform Message)。用于報(bào)告本地IDS的狀態(tài),通知緊急狀態(tài)的出現(xiàn)。
(3)請(qǐng)求消息(Request Message)。需要消息的接收者應(yīng)答數(shù)據(jù)消息,用于全局Agent給本地Agent發(fā)布對(duì)可疑事件觀察和證實(shí)的命令,或要求本地Agent提供具體懷疑事件的數(shù)據(jù)。
(4)應(yīng)答消息(Reply Message)。對(duì)應(yīng)請(qǐng)求數(shù)據(jù)消息的回答,用于本地Agent向全局Agent匯報(bào)具體的事件。
5 結(jié)束語(yǔ)
本文通過(guò)分析和研究大規(guī)模網(wǎng)絡(luò)入侵檢測(cè)的特點(diǎn),采用規(guī)劃知識(shí)圖的方法來(lái)描述入侵者的攻擊意圖;在對(duì)攻擊者意圖分析的基礎(chǔ)上,確定大規(guī)模網(wǎng)絡(luò)入侵檢測(cè)的方法和系統(tǒng)的體系結(jié)構(gòu),提出了基于多Agent聯(lián)盟的大規(guī)模網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的結(jié)構(gòu)和框架,具有一定的通用性和可擴(kuò)展性。通過(guò)對(duì)入侵者的攻擊意圖和策略的分析,確定了在大規(guī)模網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)中,采用基于攻擊意圖驅(qū)動(dòng)各種IDS中的Agent進(jìn)行協(xié)同工作的方法。這種方法可以有效過(guò)濾噪聲數(shù)據(jù),減輕各種誘騙產(chǎn)生的誤導(dǎo)數(shù)據(jù)。最后對(duì)大規(guī)模網(wǎng)絡(luò)體系結(jié)構(gòu)中多Agent聯(lián)盟協(xié)商通信的機(jī)制進(jìn)行了初步的探索,下一步工作將側(cè)重于多Agent交互語(yǔ)言體系等方面的研究。
本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文。