李 剛,孫耀文,于德新,付 海,趙邵蕾
(潛艇學(xué)院教研保障中心,山東 青島 266199)
智能主體技術(shù)問世和發(fā)展為人工智能與網(wǎng)絡(luò)技術(shù)融合的共生品,智能主體技術(shù)為一種新型的軟件設(shè)計(jì)形式,擁有自主性、交互性以及移動(dòng)性等特性,目前在人工智能、網(wǎng)絡(luò)管理、網(wǎng)絡(luò)安全和軟件工程等領(lǐng)域得到了廣泛的應(yīng)用[1]。智能主體技術(shù)為包含除入侵檢測之外,還有以網(wǎng)絡(luò)為基礎(chǔ)的分布式計(jì)算等領(lǐng)域提出了一個(gè)嶄新的設(shè)計(jì)方案。所以,研究以智能主體技術(shù)為基礎(chǔ)的分布式入侵檢測的理論價(jià)值與實(shí)際應(yīng)用具有重要作用[2]。
因?yàn)橹悄苤黧w技術(shù)在入侵檢測過程中具備使網(wǎng)絡(luò)負(fù)載減弱,能夠依靠異步方式自主運(yùn)行,擁有天然的異構(gòu)性以及應(yīng)變能力很強(qiáng)等優(yōu)勢,眾多機(jī)構(gòu)與研究實(shí)驗(yàn)室都將其應(yīng)用在入侵檢測過程中。以往設(shè)計(jì)開發(fā)的IDA系統(tǒng),IDA憑借移動(dòng)Agent對入侵者信息進(jìn)行追蹤以及采集收取[3]。借助Agent的移動(dòng)性,IDA靈活性很強(qiáng),但集中處理數(shù)據(jù)會(huì)增加管理者的負(fù)擔(dān),與此同時(shí),檢測與響應(yīng)入侵的實(shí)時(shí)性亦會(huì)受到影響,而且Agent在許多主機(jī)間移動(dòng),這造成安全管理產(chǎn)生了一些難題,對于智能主體在網(wǎng)絡(luò)入侵檢測時(shí)低效、安全性弱等難題,憑借研究許多Agent技術(shù)在以主機(jī)為基礎(chǔ)的入侵檢測系統(tǒng)、以網(wǎng)絡(luò)為基石的入侵檢測系統(tǒng)的應(yīng)用,設(shè)計(jì)出以Agent人工智能技術(shù)為基礎(chǔ)的分布式入侵檢測系統(tǒng)。
系統(tǒng)的物理拓?fù)渚W(wǎng)絡(luò)中,防火墻、路由器、交換機(jī)、主機(jī)與服務(wù)器等構(gòu)件與網(wǎng)絡(luò)主機(jī)、分區(qū)控制中心、Agent庫以及控制中心共同構(gòu)成了系統(tǒng)總體架構(gòu)如圖1所示。
圖1 系統(tǒng)總體架構(gòu)
各個(gè)模塊描述如下:
針對控制中心協(xié)助問題,使用專業(yè)性較強(qiáng)的服務(wù)器控制中心,系統(tǒng)管理員能夠憑借它完成全部規(guī)則集的更新任務(wù)[4]。
分區(qū)控制中心管制某區(qū)段網(wǎng)絡(luò)、子網(wǎng)絡(luò)的網(wǎng)絡(luò)主機(jī)處理是它負(fù)責(zé)的任務(wù),收到控制中心任務(wù)后,命令管轄的主機(jī)執(zhí)行網(wǎng)絡(luò)主機(jī)的上報(bào)信息接收任務(wù),并且將診斷信息監(jiān)測中的非正常情況,以入侵特征模式輸入數(shù)據(jù)庫之中,再將分析結(jié)果向控制中心進(jìn)行上報(bào)[5-7]。
網(wǎng)絡(luò)主機(jī)是可以為移動(dòng)供給運(yùn)行環(huán)境的移動(dòng)代理平臺(tái),倘若網(wǎng)絡(luò)主機(jī)優(yōu)先處置疑似情況,然而自己卻不能判斷,那么就把有關(guān)數(shù)據(jù)向分區(qū)控制中心反饋,再進(jìn)行更深層次的分析處理,來發(fā)現(xiàn)眾多臺(tái)主機(jī)入侵網(wǎng)絡(luò)行為的有無[8]。
Agent庫在入侵檢測系統(tǒng)過程中具有重要地位,尤其在執(zhí)行操作中,控制中心直接管控管理部分,使其可產(chǎn)生的新配置能夠依據(jù)實(shí)際需求執(zhí)行相應(yīng)工作,能夠?qū)⒃械膱?zhí)行重新配置,刪除不再需要的也可以實(shí)現(xiàn)[9]。
Agent之間的通信借助消息傳遞的方式運(yùn)行,系統(tǒng)中借助傳遞消息達(dá)成相互通信的目的。系統(tǒng)硬件結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)硬件結(jié)構(gòu)
在圖2中,中心Agent控制中心服務(wù)器,管控作用目的是管理、協(xié)調(diào)、控制、受檢主機(jī)上的移動(dòng)代理,接收移動(dòng)代理的情況報(bào)告、獲取報(bào)警信息,同時(shí)將下級(jí)不能判別的事情處理,響應(yīng)入侵事件[10]。與此同時(shí),控制中心還可顯示人機(jī)交互界面,報(bào)告運(yùn)行狀態(tài)給管理人員、拉響警報(bào),接收上級(jí)指令,改變運(yùn)行狀態(tài),供給全部系統(tǒng)的Agent庫,派遣、收回各節(jié)點(diǎn)的Agent[11]。中心管理分析、處理,特征庫作為后盾的條件下作用是將下層傳送的數(shù)據(jù)執(zhí)行綜合分析操作,響應(yīng)庫作為后盾的前提下對入侵行為反應(yīng),下層的移動(dòng)Agent也由其管控。主機(jī)Agent運(yùn)行監(jiān)控中的主機(jī)上,通過采集系統(tǒng)、網(wǎng)絡(luò)相關(guān)數(shù)據(jù),可對其進(jìn)行初步分析和過濾[12]。去除海量冗余數(shù)據(jù),減少系統(tǒng)工作量。不同系統(tǒng)間層次是通信模塊中扮演保護(hù)層的角色,借助各個(gè)層次實(shí)現(xiàn)數(shù)據(jù)高效傳輸與協(xié)調(diào)。
主機(jī)Agent有探測器、存儲(chǔ)、取出取控制庫、規(guī)則庫、響應(yīng)庫與通信模塊,其結(jié)構(gòu)如圖3所示。
圖3 主機(jī)Agent結(jié)構(gòu)
主機(jī)Agent結(jié)構(gòu)主要工作機(jī)理如下所示:通過探測器進(jìn)行數(shù)據(jù)采集時(shí),應(yīng)采取控制管控原則,在該原則獲取主機(jī)數(shù)據(jù)[13]。將數(shù)據(jù)執(zhí)行初步分析,把分析處理后的數(shù)據(jù)依照選取原則進(jìn)行一一匹配,一旦匹配成功,則說明該行為是入侵行為,具有一定危險(xiǎn)性。依據(jù)響應(yīng)規(guī)則采取對應(yīng)策略,比如網(wǎng)絡(luò)終端、預(yù)警等,將最終獲取的數(shù)據(jù)傳輸給上級(jí)主機(jī)Agent之中[6]。如果不能判別此行為的正常與否,那么借助通信模塊把數(shù)據(jù)傳輸給Agent作深層處理,每主機(jī)上可供多個(gè)主機(jī)Agent同時(shí)運(yùn)行。
使用S5720S-28P-SI-AC 24口全千兆三層網(wǎng)管企業(yè)級(jí)網(wǎng)絡(luò)核心交換機(jī),各個(gè)接口示意圖如圖4所示。
圖4 核心交換機(jī)接口示意圖
接入層指的是網(wǎng)絡(luò)中用戶直接連接或訪問的網(wǎng)絡(luò)層次,該層次及核心層次之間的部分為匯聚層。接入層主要功能就是將用戶連接到終端網(wǎng)絡(luò)之中,使用該交換機(jī)接口具有成本低、密度性高的優(yōu)勢[14]。
匯聚層作為交換機(jī)進(jìn)行數(shù)據(jù)匯聚的中心層次,其作用是將接入層的數(shù)據(jù)進(jìn)行高效處理,并將結(jié)果傳輸?shù)缴闲墟溌分小?/p>
核心層是網(wǎng)絡(luò)主干部分,該部分主要作用是對通信數(shù)據(jù)的高效轉(zhuǎn)發(fā),并將數(shù)據(jù)傳輸給骨干結(jié)構(gòu),既能提高核心交換機(jī)數(shù)據(jù)的吞吐量,又能保證系統(tǒng)可靠運(yùn)行。
當(dāng)系統(tǒng)出現(xiàn)報(bào)警調(diào)用圖像時(shí),選擇AD2032型號(hào)的報(bào)警響應(yīng)器,能夠監(jiān)視外來入侵行為。每臺(tái)報(bào)警響應(yīng)器都具有獨(dú)立的32個(gè)繼電器,每16個(gè)為一組,共兩組,每組攝像機(jī)地址都是可以單獨(dú)設(shè)置的。其報(bào)警器型號(hào)及設(shè)置如表1所示。
表1 報(bào)警器型號(hào)及設(shè)置
使用V1.2綠色電腦信息檢測器是一款輕量級(jí)電腦配置,如圖5所示。
圖5 電腦信息檢測器
電腦信息檢測器能夠詳細(xì)顯示電腦主機(jī)每個(gè)方面的信息,不僅具有協(xié)助超頻,還能監(jiān)測壓力,并對系統(tǒng)內(nèi)存和驅(qū)動(dòng)磁盤進(jìn)行全方位評估。
因?yàn)榉治鯝gent的操作對象與具體的主機(jī)分開,完全分離于所有操作系統(tǒng),因此,分析的數(shù)據(jù)主要來源于各個(gè)主機(jī)Agent,其重要功能是對主機(jī)Agen傳輸來的數(shù)據(jù)進(jìn)行深入分析。
系統(tǒng)中智能主體之間通信機(jī)制如下所示。
1)主體通信的實(shí)現(xiàn)方式:
在Agent系統(tǒng)中智能主體間的通信是借助Message對象完成的,Agent供應(yīng)了如下消息處理方法,Send Message和send Oneway-Message功能是發(fā)送消息,handle Message的功能是對收到的消息進(jìn)行處理,各個(gè)Agent均有一個(gè)消息隊(duì)列用于存儲(chǔ)收到的消息。
2)通信消息格式和通信協(xié)議:
Agent系統(tǒng)中,應(yīng)用IDWG(互聯(lián)網(wǎng)工程任務(wù)組的入侵檢測工作組)設(shè)計(jì)制作的入侵檢測消息交換格式(IDMEF)與入侵檢測交換協(xié)議(IDXP)規(guī)范完成有關(guān)智能主體的通信機(jī)制。
①IDMEF數(shù)據(jù)模型格式:
IDWG 應(yīng)用以針對對象的方式對入侵檢測的數(shù)據(jù)模型進(jìn)行定義與設(shè)計(jì),作用是對于不同檢測組件間交互的各種各樣的警報(bào)消息、控制命令以及配置信息等通信數(shù)據(jù)進(jìn)行有關(guān)描述;應(yīng)用以XML為基礎(chǔ)的ID-MEF 消息格式對此數(shù)據(jù)模型執(zhí)行了形式化描述以及實(shí)現(xiàn)。
②IDXP入侵檢測交換協(xié)議:
Agent系統(tǒng)中智能主體間的通信應(yīng)用IDXP,IDXP協(xié)議為一個(gè)目的是對實(shí)體之間交互數(shù)據(jù)的應(yīng)用層協(xié)議進(jìn)行入侵檢測,可以達(dá)到IDMEF消息、非結(jié)構(gòu)文本和二進(jìn)制數(shù)據(jù)在檢測實(shí)體組件之間的交互的目的,與此同時(shí)面向?qū)δ承┌踩卣鬟M(jìn)行連接,如協(xié)議之上的雙方認(rèn)證、完整性以及保密性等。
以Agent為基礎(chǔ)的移動(dòng)的移動(dòng)過程圖如圖6所示。
圖6 以Agent為基礎(chǔ)的移動(dòng)過程圖
圖6顯示,入侵檢測子系統(tǒng)A在檢測出異常信息后,受到自身機(jī)體限制影響,導(dǎo)致其不能做出正確判斷,為此,機(jī)器上的代理服務(wù)器將發(fā)出服務(wù)信號(hào),直接委派多個(gè)代理模塊進(jìn)行信號(hào)處理。處理的結(jié)果將傳輸?shù)饺肭謾z測子系統(tǒng)B上,派出的代理與系統(tǒng)B直接進(jìn)行相關(guān)執(zhí)行操作,使異常信息得到快速處理,最終被派出的代理把處理后的結(jié)果信息運(yùn)回主機(jī)A,入侵檢測子系統(tǒng)A緊接著供應(yīng)對應(yīng)的處理方法。
入侵檢測系統(tǒng)開啟之后,執(zhí)行完初始化工作,解釋口令,讀取進(jìn)系統(tǒng)的規(guī)則數(shù)據(jù)庫,形成檢測入侵的二維規(guī)則鏈表,之后執(zhí)行循環(huán)抓包、規(guī)則匹配操作。入侵檢測流程如圖7所示。
圖7 入侵檢測流程
程序借助Libpcap庫函數(shù)在網(wǎng)絡(luò)中隨機(jī)選取一個(gè)數(shù)據(jù)包,對數(shù)據(jù)包進(jìn)行調(diào)用用于解析函數(shù),依據(jù)數(shù)據(jù)包的類型以及位于的網(wǎng)絡(luò)層次,協(xié)議解析數(shù)據(jù)包,包含數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層以及傳輸層。數(shù)據(jù)包解析成功之后,檢測引擎會(huì)被自動(dòng)觸動(dòng),把解析完的數(shù)據(jù)包的數(shù)據(jù)以及依據(jù)規(guī)則數(shù)據(jù)庫形成的二維規(guī)則鏈表執(zhí)行依次對比操作。倘若匹配的規(guī)則條目被找到,該入侵行為成立被認(rèn)為成立,依據(jù)規(guī)定的響應(yīng)方式執(zhí)行響應(yīng),在完成單個(gè)數(shù)據(jù)包的處理后,隨機(jī)選取下一個(gè)數(shù)據(jù)包;倘若未發(fā)現(xiàn)匹配的規(guī)則條目,認(rèn)定為正常行為,直接返回,處理下一個(gè)數(shù)據(jù)包。
借助網(wǎng)絡(luò)仿真軟件NS2將系統(tǒng)性能執(zhí)行仿真測試,按照不同的攻擊次數(shù),分開對系統(tǒng)的檢測準(zhǔn)確率以及系統(tǒng)CPU應(yīng)用率進(jìn)行考慮。在模擬入侵攻擊方式時(shí),應(yīng)用flooding攻擊,這是拒絕服務(wù)(DoS)的攻擊方式之一,換而言之,即是發(fā)送非正常的數(shù)據(jù)包給目標(biāo)節(jié)點(diǎn)。通常情況下根據(jù)IDS數(shù)據(jù)包的尺寸以及傳送率的改變正常和非正常的數(shù)據(jù)包加以區(qū)分。以此調(diào)試基于Agent人工智能技術(shù)分布式入侵檢測系統(tǒng),驗(yàn)證其設(shè)計(jì)是否合理。
目的是對文中所設(shè)計(jì)系統(tǒng)進(jìn)行驗(yàn)證,在電子科技大學(xué)信息中心開發(fā)室執(zhí)行了模擬的以網(wǎng)絡(luò)為基礎(chǔ)的入侵檢測試驗(yàn)。因?yàn)闂l件的限制,試驗(yàn)環(huán)境只是在電子科技大學(xué)校園網(wǎng)內(nèi)選定了2處位置安裝Aglet平臺(tái)來進(jìn)行試驗(yàn),如圖8所示。
圖8 調(diào)試環(huán)境
機(jī)房1是實(shí)訓(xùn)樓的管控中心,1臺(tái)監(jiān)控服務(wù)器與數(shù)臺(tái)主機(jī)陳列于內(nèi);機(jī)房2,機(jī)房3陳列在各樓層,各機(jī)房陳列1臺(tái)服務(wù)器以及多臺(tái)主機(jī),服務(wù)器與主機(jī)借助交換機(jī)互聯(lián),每機(jī)房間路由器相互連接,校園網(wǎng)內(nèi)部的TCP/IP網(wǎng)段的網(wǎng)絡(luò)背景。該試驗(yàn)選定陳列于五樓的機(jī)房2與機(jī)房3和陳列在六樓的機(jī)房1為布局環(huán)境,在機(jī)房1的主服務(wù)器上中心Agent與主控臺(tái)的運(yùn)行,在機(jī)房2與機(jī)房3的服務(wù)器A和服務(wù)器B上實(shí)現(xiàn)Agent運(yùn)行、分析,選擇三機(jī)房中的主機(jī)A、主機(jī)B,主機(jī)C、主機(jī)D均為攻擊主機(jī),主機(jī)E是攻擊發(fā)起機(jī),主機(jī)C與主機(jī)D協(xié)助系統(tǒng)擴(kuò)展性實(shí)驗(yàn)。
參數(shù)設(shè)置如表2所示。
表2 參數(shù)設(shè)置
當(dāng)攻擊發(fā)起方向主機(jī)發(fā)送數(shù)據(jù)時(shí),攻擊發(fā)起機(jī)發(fā)送的數(shù)據(jù)包如表3所示。
表3 攻擊發(fā)起機(jī)發(fā)送的數(shù)據(jù)包
依據(jù)上述內(nèi)容,對樣本測試數(shù)據(jù)進(jìn)行偽裝入侵檢測,數(shù)據(jù)采樣序列在幅頻表現(xiàn)如圖9所示。
圖9 數(shù)據(jù)采樣序列在幅頻表現(xiàn)
由圖9可知:數(shù)據(jù)采樣序列在幅頻率波動(dòng)頻率是具有規(guī)律性的,在10個(gè)客戶端下,數(shù)據(jù)采樣序列通常是在[-1,1]范圍內(nèi)波動(dòng)的,以此對入侵行為檢測。
將10個(gè)客戶端的10種發(fā)送的TCP數(shù)據(jù)包數(shù)目分為兩類,一種是前5個(gè)客戶端設(shè)為S1,另一種是后5個(gè)客戶端設(shè)為S2。采用IDA系統(tǒng)和基于Agent系統(tǒng)對分布式入侵行為進(jìn)行檢測,檢測結(jié)果如圖10所示。
圖10 兩種系統(tǒng)檢測精準(zhǔn)度對比分析
由圖10可知:兩種系統(tǒng)隨著檢測增加,檢測精準(zhǔn)度也隨之改變。對于IDA系統(tǒng),前5個(gè)客戶端遭受入侵行為時(shí),自身的檢測功能能夠及時(shí)檢查異常情況,在檢測時(shí)間為40 s時(shí),檢測精準(zhǔn)度為70%。而在后5個(gè)客戶端遭受入侵行為時(shí),自身的檢測功能尚未完善,在檢測時(shí)間為25 s時(shí),檢測精準(zhǔn)度就不再升高,直到40 s時(shí)檢測精準(zhǔn)度一直保持40%。
對于基于Agent系統(tǒng)前5個(gè)客戶端遭受入侵行為時(shí),檢測精準(zhǔn)度始終較高,最高可達(dá)到99%。而在后5個(gè)客戶端遭受入侵行為時(shí),檢測精準(zhǔn)度最高可達(dá)到95%。因此,采用該系統(tǒng)檢測精準(zhǔn)度較高。
綜上所述:根據(jù)系統(tǒng)調(diào)試結(jié)果可證明基于Agent人工智能技術(shù)分布式入侵檢測系統(tǒng)設(shè)計(jì)是具有合理的。
因?yàn)閷?shí)際條件受限制,該文僅僅描述了網(wǎng)絡(luò)環(huán)境下入侵檢測系統(tǒng),該系統(tǒng)本質(zhì)較為復(fù)雜。分布式入侵檢測系統(tǒng)諸多問題尚有待處理,移動(dòng)代理運(yùn)用載入侵檢測中研究將持續(xù)進(jìn)行,而檢測算法的研究也并未休止。
在日后的工作實(shí)踐以及研究中,如下工作需要進(jìn)行:持續(xù)探討研究移動(dòng)代理的協(xié)作性以及智能性。把移動(dòng)代理技術(shù)在入侵檢測系統(tǒng),能提升系統(tǒng)的動(dòng)態(tài)遷移性和靈活性,但移動(dòng)代理的協(xié)調(diào)工作以及智能性尚有待改善。該系統(tǒng)對移動(dòng)代理之間的信息交互進(jìn)行了初步的驗(yàn)證,尚且還未囊括多代理協(xié)調(diào)工作,代理的智能性無深層研究,事先規(guī)劃移動(dòng)路線,移動(dòng)中不隨實(shí)際需要變化。目的使系統(tǒng)對分布式環(huán)境大數(shù)據(jù)量的協(xié)調(diào)分析的適應(yīng)性更強(qiáng),完成移動(dòng)代理的復(fù)雜的高級(jí)智能性、多代理的合作。