摘要:剖析了現(xiàn)有的分布式入侵檢測系統(tǒng)及其在網(wǎng)絡(luò)中的優(yōu)勢,將代理(agent)技術(shù)應(yīng)用到分布式入侵檢測系統(tǒng)中,并在此基礎(chǔ)上提出了一種基于agent的分布式入侵檢測系統(tǒng)(agent-based distributed intrusion detection system,ADIDS)的新模型。ADIDS采取無控制中心的多agent結(jié)構(gòu),充分利用agent本身的獨(dú)立性與自主性,盡量降低各檢測部件間的相關(guān)性,避免了單個(gè)中心分析器帶來的單點(diǎn)失效問題。各個(gè)數(shù)據(jù)采集部件、檢測部件都是獨(dú)立的單元,不僅實(shí)現(xiàn)了數(shù)據(jù)收集的分布化,而且將入侵檢測和實(shí)時(shí)響應(yīng)分布化,提高了系統(tǒng)的健壯性,真正實(shí)現(xiàn)了分布式檢測的思想。
關(guān)鍵詞:信息安全; 入侵檢測; 代理; 代理技術(shù); 分布式
中圖分類號:TP393.08文獻(xiàn)標(biāo)志碼:A
文章編號:1001-3695(2008)04-1127-03
隨著網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大,入侵檢測系統(tǒng)(intrusion detection system,IDS)的應(yīng)用場合也越來越大,將入侵檢測系統(tǒng)應(yīng)用于大規(guī)模高速網(wǎng)絡(luò)成為入侵檢測系統(tǒng)研究的新立足點(diǎn)。為了能夠在大規(guī)模高速網(wǎng)絡(luò)中實(shí)現(xiàn)入侵檢測與防范,入侵檢測系統(tǒng)一般采用分層的分布式結(jié)構(gòu)。該結(jié)構(gòu)通過分散采集、分布處理和集中管理,滿足了大規(guī)模高速網(wǎng)絡(luò)的需求。采用分布式結(jié)構(gòu)的入侵檢測系統(tǒng)也有利于檢測分布式攻擊。這種應(yīng)用于大規(guī)模高速網(wǎng)絡(luò)的入侵檢測系統(tǒng)被稱為大規(guī)模分布式入侵檢測系統(tǒng)[1]。
實(shí)現(xiàn)大規(guī)模分布式入侵檢測系統(tǒng),一般要使用agent技術(shù)。該技術(shù)是近年來新提出的概念和技術(shù),受到了廣泛關(guān)注和研究。本文首先對分布式入侵檢測系統(tǒng)及其在網(wǎng)絡(luò)中的優(yōu)勢進(jìn)行了剖析,并詳述了agent技術(shù)在分布式入侵檢測系統(tǒng)的應(yīng)用,在此基礎(chǔ)上提出了基于agent的分布式入侵檢測系統(tǒng)模型。
1分布式入侵檢測系統(tǒng)概述
傳統(tǒng)的入侵檢測系統(tǒng),通常均屬于自主運(yùn)行的單機(jī)系統(tǒng)。無論基于網(wǎng)絡(luò)數(shù)據(jù)源,還是基于主機(jī)數(shù)據(jù)源;無論采用誤用檢測技術(shù),或是異常檢測技術(shù)。在整個(gè)數(shù)據(jù)處理過程中,包括數(shù)據(jù)的收集、預(yù)處理、分析、檢測,以及檢測到入侵后采取的響應(yīng)措施,均由單個(gè)監(jiān)控設(shè)備或監(jiān)控程序完成。然而,在面臨大規(guī)模、分布式的應(yīng)用環(huán)境時(shí),這種傳統(tǒng)的單機(jī)方式就遇到了極大的挑戰(zhàn)。在這種條件下,要求各個(gè)入侵檢測系統(tǒng)(監(jiān)控設(shè)備或監(jiān)控程序)之間能夠?qū)崿F(xiàn)高效的信息共享和協(xié)作檢測。在大范圍網(wǎng)絡(luò)內(nèi)部署有效的入侵檢測系統(tǒng)已經(jīng)成為一項(xiàng)新的研究課題,推動(dòng)了分布式入侵檢測系統(tǒng)(distributed intrusion detection system,DIDS)的發(fā)展。
DIDS是一種分布于網(wǎng)絡(luò)環(huán)境的入侵檢測系統(tǒng),用來監(jiān)視與網(wǎng)絡(luò)相連的主機(jī)及網(wǎng)絡(luò)自身,其關(guān)鍵技術(shù)是檢測信息的協(xié)同處理與入侵攻擊的全局信息的提取。DIDS檢測的數(shù)據(jù)來源于網(wǎng)絡(luò)中的數(shù)據(jù)包和主機(jī)中的數(shù)據(jù),它采用分布式檢測、集中管理的方法,即在每個(gè)網(wǎng)段和重點(diǎn)主機(jī)上安裝一個(gè)監(jiān)測器,該監(jiān)測器相當(dāng)于基于網(wǎng)絡(luò)和基于主機(jī)的入侵檢測系統(tǒng)。監(jiān)測器用來監(jiān)測其所在網(wǎng)段和主機(jī)上的數(shù)據(jù)流,它根據(jù)集中安全管理中心制定的安全策略、響應(yīng)規(guī)則等來分析檢測網(wǎng)絡(luò)數(shù)據(jù),同時(shí)向集中安全管理中心發(fā)回安全事件信息。集中安全管理中心是整個(gè)分布式入侵檢測系統(tǒng)面向用戶的界面。它的特點(diǎn)是對數(shù)據(jù)保護(hù)的范圍比較大,但對網(wǎng)絡(luò)流量有一定的影響。
DIDS是目前入侵檢測乃至整個(gè)網(wǎng)絡(luò)安全領(lǐng)域的熱點(diǎn)之一。國內(nèi)外眾多的大學(xué)、研究機(jī)構(gòu)、安全團(tuán)體、商業(yè)組織都致力于這方面的研究工作。到目前為止,還沒有嚴(yán)格意義上的分布式入侵檢測的商業(yè)化產(chǎn)品,但研究人員已經(jīng)提出并完成了多個(gè)原型系統(tǒng)。通常采用的方法中,一種是對現(xiàn)有的IDS進(jìn)行規(guī)模上的擴(kuò)展;另一種則通過IDS之間的信息共享來實(shí)現(xiàn)。具體的處理方法上也分為兩種,即分布式信息收集、集中式處理與分布式信息收集、分布式處理。前者以DIDS[2]、NADIR[3]、ASAX[4]為代表;后者則采用了分布式計(jì)算的方法[5,6],降低了對中心計(jì)算能力的依賴,同時(shí)也減少了對網(wǎng)絡(luò)帶寬帶來的壓力,因此具有更好的發(fā)展前景。
2分布式入侵檢測系統(tǒng)的優(yōu)勢
分布式入侵檢測由于采用了非集中的系統(tǒng)結(jié)構(gòu)和處理方式,相對于傳統(tǒng)的單機(jī)IDS具有一些明顯的優(yōu)勢。
2.1檢測大范圍的攻擊行為
傳統(tǒng)的基于主機(jī)的入侵檢測系統(tǒng)只能通過檢查系統(tǒng)日志、審計(jì)記錄來對單個(gè)主機(jī)的行為或狀態(tài)進(jìn)行監(jiān)測。即使是采用網(wǎng)絡(luò)數(shù)據(jù)源的IDS,也僅在單個(gè)網(wǎng)段內(nèi)有效。對于一些針對多主機(jī)、多網(wǎng)段、多管理域的攻擊行為,如大范圍的脆弱性掃描或拒絕服務(wù)攻擊,由于不能在檢測系統(tǒng)之間實(shí)現(xiàn)信息交互,通常無法完成準(zhǔn)確和高效的檢測任務(wù)。分布式入侵檢測通過各個(gè)檢測組件之間的相互協(xié)作,可以有效地克服這一缺陷。
2.2提高檢測的準(zhǔn)確度
不同的入侵檢測數(shù)據(jù)源反映的是系統(tǒng)不同位置、不同角度、不同層次的運(yùn)行特性,可以是系統(tǒng)日志、審計(jì)記錄或網(wǎng)絡(luò)數(shù)據(jù)包等。傳統(tǒng)的IDS為了簡化檢測過程和算法復(fù)雜度,通常采用單一類型的數(shù)據(jù)源。一方面可以提高系統(tǒng)的檢測效率;但另一方面也導(dǎo)致了檢測系統(tǒng)輸入數(shù)據(jù)的不完備。此外,檢測引擎如果采用單一的算法進(jìn)行數(shù)據(jù)分析,同樣可能導(dǎo)致分析結(jié)果不夠準(zhǔn)確。
DIDS各個(gè)檢測組件針對不同的數(shù)據(jù)來源,可以是網(wǎng)絡(luò)數(shù)據(jù)包;可以是主機(jī)的審計(jì)記錄、系統(tǒng)日志;也可以是特定應(yīng)用程序的日志;甚至可以是一些通過人工方式輸入的審計(jì)數(shù)據(jù)。各個(gè)檢測組件所使用的檢測算法也不是固定的,模式匹配、狀態(tài)分析、統(tǒng)計(jì)分析、量化分析等可以分別應(yīng)用于不同的檢測組件。系統(tǒng)通過對各個(gè)組件報(bào)告的入侵或異常特征進(jìn)行相關(guān)分析,可以得出更為準(zhǔn)確的判斷結(jié)果。
2.3提高檢測效率
分布式入侵檢測實(shí)現(xiàn)了針對安全審計(jì)數(shù)據(jù)的分布式存儲(chǔ)和分布式計(jì)算,這相對于單機(jī)數(shù)據(jù)分析的IDS來說,不再依賴于系統(tǒng)中惟一的計(jì)算資源和存儲(chǔ)資源,可以有效地提高系統(tǒng)的檢測效率,減少入侵發(fā)現(xiàn)時(shí)間。
2.4協(xié)調(diào)響應(yīng)措施
由于DIDS的各個(gè)檢測組件分布于受監(jiān)控網(wǎng)絡(luò)的各個(gè)位置,一旦系統(tǒng)檢測到攻擊行為,可以根據(jù)攻擊數(shù)據(jù)包在網(wǎng)絡(luò)中經(jīng)過的物理路徑采取響應(yīng)措施,如封鎖攻擊方的網(wǎng)絡(luò)通路、入侵來源追蹤等。即使攻擊者使用網(wǎng)絡(luò)跳轉(zhuǎn)的方式來隱藏真實(shí)的IP地址,在檢測系統(tǒng)的監(jiān)控范圍內(nèi)通過對事件數(shù)據(jù)的相關(guān)和聚合,仍然有可能追查到攻擊者的真實(shí)來源。
3代理技術(shù)在DIDS中的應(yīng)用
代理是指能在特定的環(huán)境下無須人工干預(yù)和監(jiān)督完成某項(xiàng)工作的實(shí)體[7~9]。它具有自適應(yīng)性、智能性和協(xié)作性。Agent既能獨(dú)立地完成自己的工作,又能與其他代理協(xié)作共同完成某項(xiàng)任務(wù),而且agent還能夠接收控制,并能感知環(huán)境的變化而影響環(huán)境。將agent引入到大規(guī)模分布式入侵檢測系統(tǒng)中,為入侵檢測系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)開辟了新的思路。代理的本質(zhì)是研究如何使一個(gè)或多個(gè)實(shí)體在盡可能不打攪用戶的情況下,依靠自身的能力,采用各種可能的方法完成用戶所委托的較為復(fù)雜或繁瑣的任務(wù)。Agent的主要特征是具有自制能力、智能和目標(biāo)驅(qū)動(dòng)屬性,能夠通過各種學(xué)習(xí)、推理等方法感知與適應(yīng)復(fù)雜的動(dòng)態(tài)環(huán)境,具有自動(dòng)追求目標(biāo)的能力。Agent技術(shù)是傳統(tǒng)對象技術(shù)的發(fā)展和飛躍,具有強(qiáng)大的開放性、靈活性、適應(yīng)性和協(xié)作性,為分布式計(jì)算提供了一種更有效、更靈活的模式,將agent技術(shù)應(yīng)用到DIDS中可解決現(xiàn)存的DIDS許多問題:
a)集中式系統(tǒng)在數(shù)據(jù)傳輸率高時(shí)會(huì)丟失網(wǎng)絡(luò)數(shù)據(jù)包,分布式agent系統(tǒng)在網(wǎng)絡(luò)和系統(tǒng)之間作出了均衡,提高了入侵活動(dòng)的檢測率。
b)分布式agent體系結(jié)構(gòu)避免了集中式系統(tǒng)的單一失效點(diǎn)。單一和部分agent失效不會(huì)影響其他agent的工作,這樣就減少了整個(gè)系統(tǒng)失效的風(fēng)險(xiǎn)。
c)基于agent的DIDS擴(kuò)展性好,每個(gè)agent獨(dú)立配置,僅完成某個(gè)小任務(wù),可以動(dòng)態(tài)地加入到系統(tǒng)或從系統(tǒng)中移動(dòng),所以系統(tǒng)擴(kuò)展性大為提高。
d)Agent之間可以相互通信,提高了系統(tǒng)的處理速度、效率和系統(tǒng)的實(shí)時(shí)性,有利于解決網(wǎng)絡(luò)中的協(xié)作入侵活動(dòng)。
e)使用agent來建立DIDS打破了基于主機(jī)IDS和基于網(wǎng)絡(luò)IDS的界限,更適應(yīng)大規(guī)模分布式網(wǎng)絡(luò),避免組合攻擊。
4基于agent的分布式入侵檢測系統(tǒng)邏輯模型
Agent技術(shù)的發(fā)展,為分布式計(jì)算提供了一種更有效、更靈活的模式,也為人們解決DIDS提供了一個(gè)全新的思路。本文提出基于agent的分布式入侵檢測系統(tǒng)(agent-based distributed intrusion detection system,ADIDS)模型。該模型綜合了層次模型和協(xié)作模型的優(yōu)點(diǎn)。ADIDS采取無控制中心的多agent結(jié)構(gòu),充分利用agent本身的獨(dú)立性與自主性,盡量降低各檢測部件間的相關(guān)性。各個(gè)數(shù)據(jù)采集部件、檢測部件均是獨(dú)立的單元。不僅實(shí)現(xiàn)了數(shù)據(jù)收集的分布化,而且將入侵檢測和實(shí)時(shí)響應(yīng)分布化,真正實(shí)現(xiàn)了分布式檢測的思想。
4.1模型的體系結(jié)構(gòu)
ADIDS模型是以自治agent為組織單元。其中有三類自治agent:數(shù)據(jù)采集agent(data collection agent,DCA)、入侵檢測agent(intrusion detection agent,IDA)和入侵分析agent(intrusion analyse agent,IAA),如圖1所示。
1)數(shù)據(jù)采集agent (DCA)DCA是專門用于采集數(shù)據(jù)的agent。它可以位于網(wǎng)絡(luò)中任何一臺(tái)需要檢測的主機(jī)上,同一臺(tái)主機(jī)上也可以同時(shí)部署多個(gè)相同或不同類型的DCA。它采集的數(shù)據(jù)包括主機(jī)的審計(jì)記錄、應(yīng)用程序日志、應(yīng)用程序調(diào)用序列和網(wǎng)絡(luò)流量等,因此容易實(shí)現(xiàn)數(shù)據(jù)源的異構(gòu)。當(dāng)DCA與IDA不在同一機(jī)器上,會(huì)帶來檢測數(shù)據(jù)的網(wǎng)絡(luò)傳輸問題。為了減少網(wǎng)絡(luò)流量,減輕IDA負(fù)擔(dān),DCA要對原始數(shù)據(jù)進(jìn)行必要的預(yù)處理,包括數(shù)據(jù)的過濾、格式化、提取及分析。完成預(yù)處理后DCA將數(shù)據(jù)傳送給等待其服務(wù)的一個(gè)或多個(gè)IDA。
2)入侵檢測agent (IDA)IDA是專門用于檢測的agent,是本模型的基本檢測單元。每個(gè)IDA獨(dú)立承擔(dān)一定的檢測任務(wù),負(fù)責(zé)檢測系統(tǒng)或網(wǎng)絡(luò)某一方面的安全問題。根據(jù)檢測任務(wù)與環(huán)境的不同,IDA采用不同的檢測技術(shù)和方法,對用戶的異常或可疑行為進(jìn)行檢測。在模型中,不同類型的IDA可以有相同的數(shù)據(jù)源,以實(shí)現(xiàn)檢測方法的互補(bǔ),從而提高檢測率。DCA、IDA與IAA可以位于同一臺(tái)主機(jī)上也可以位于不同的主機(jī)上,IDA需要將檢測到的事件向IAA匯報(bào)。
根據(jù)IDA所處理的數(shù)據(jù)源的不同,將IDA分為基于主機(jī)的IDA(HIDA)和基于網(wǎng)絡(luò)的IDA(NIDA)兩大類。
3)入侵分析agent(IAA)IAA是用于分析、響應(yīng)的agent。每個(gè)檢測區(qū)域內(nèi)包含一個(gè)惟一的IAA。IAA與IDA之間是一種層次型的從屬關(guān)系,IDA負(fù)責(zé)檢測安全事件,并向所屬的IAA匯報(bào),IAA對IDA上報(bào)的信息進(jìn)行聚合分析。各個(gè)檢測區(qū)域中的IAA處于平等地位,是一種協(xié)作關(guān)系,可以進(jìn)行交互以完成檢測任務(wù),包括請求協(xié)查、通報(bào)協(xié)查結(jié)果等。
4.2模型的工作原理
ADIDS模型在每個(gè)IAA所管轄的檢測區(qū)域內(nèi),采用層次化模型,易于在管轄區(qū)域內(nèi)對IDA實(shí)現(xiàn)方便的管理,也有利于IAA對多個(gè)分布式IDA所上報(bào)的數(shù)據(jù)進(jìn)行高層提煉,以便更好地發(fā)現(xiàn)入侵或異常行為。在各個(gè)檢測區(qū)域之間,IAA工作在平等的協(xié)作模式。整個(gè)網(wǎng)絡(luò)范圍內(nèi)不存在單獨(dú)的中心處理節(jié)點(diǎn),有效地實(shí)現(xiàn)了檢測任務(wù)的分布化,避免了關(guān)鍵節(jié)點(diǎn)的處理瓶頸,提高了系統(tǒng)的容錯(cuò)性。同時(shí),由于IAA之間交互的數(shù)據(jù)已經(jīng)是經(jīng)過提煉的抽象數(shù)據(jù)而非原始的安全審計(jì)數(shù)據(jù),與純粹的協(xié)作模式相比,可以在很大程度上降低整個(gè)網(wǎng)絡(luò)范圍內(nèi)組件間傳輸?shù)臄?shù)據(jù)量。
4.3ADIDS模型的優(yōu)點(diǎn)
ADIDS由于采用了獨(dú)立的agent,除了具有層次與協(xié)作模型的優(yōu)點(diǎn)外,還具有以下優(yōu)勢:
a)獨(dú)立性。DCA、IDA、IAA是獨(dú)立運(yùn)行的程序?qū)嶓w,可以獨(dú)立開發(fā)。在放入具體運(yùn)行環(huán)境前,可以分別進(jìn)行獨(dú)立測試。
b)靈活性。DCA和IDA可以獨(dú)立地啟動(dòng)和停止,也可以進(jìn)行動(dòng)態(tài)配置,而不影響其他DCA和IDA的正常運(yùn)行。要收集新數(shù)據(jù)或檢測新類型的入侵,可以通過添加新的DCA或增加IDA即可實(shí)現(xiàn)。
c)擴(kuò)展性。模型具有良好的可擴(kuò)展性,無論是增加檢測主機(jī),還是在網(wǎng)絡(luò)中增加IDA都很簡單、方便。
d)兼容性。該模型可以既包含基于主機(jī)的IDA,又包含基于網(wǎng)絡(luò)的IDA,超越了傳統(tǒng)入侵檢測模型的界限。e)協(xié)作性。雖然每個(gè)IDA檢測的只是主機(jī)或網(wǎng)絡(luò)安全的一個(gè)方面,甚至可能是簡單的命令審查,但由于IDA之間可以交換信息,就可以在一些IDA中產(chǎn)生很復(fù)雜的結(jié)果。
f)自治性。節(jié)點(diǎn)具有自治性,即可獨(dú)立運(yùn)行。如此可保證系統(tǒng)整體的健壯性,同時(shí)也保證了節(jié)點(diǎn)本地響應(yīng)的實(shí)時(shí)性。
g)錯(cuò)誤擴(kuò)散小。若某個(gè)IDA出現(xiàn)問題或受到破壞,那么僅與該IDA相關(guān)的檢測部分失效,使危害限制在最小的范圍內(nèi)。
h)數(shù)據(jù)來源不受限制。不同的IDA可以選用不同的數(shù)據(jù)源。由于各IDA是獨(dú)立實(shí)現(xiàn)的,那么數(shù)據(jù)來源就可以采用多種形式,如審計(jì)數(shù)據(jù)、檢查系統(tǒng)配置、捕獲網(wǎng)絡(luò)包或其他合適的來源。
i)與平臺(tái)和開發(fā)語言無關(guān)。由于IDA是獨(dú)立的,它們可以分別開發(fā),而且可以基于不同平臺(tái)使用不同的語言開發(fā),只要遵循統(tǒng)一的通信協(xié)議和通信格式就可以了。
j)服務(wù)器負(fù)載均衡性。因?yàn)闄z測部件不一定與服務(wù)器在同一臺(tái)主機(jī)上,所以對服務(wù)器的性能影響不大,同時(shí)也為運(yùn)行復(fù)雜的檢測算法提供可能。
5結(jié)束語
本文通過對分布式入侵檢測系統(tǒng)及agent技術(shù)的研究,提出了一種基于agent的分布式網(wǎng)絡(luò)入侵檢測系統(tǒng)解決方案,并對該方案進(jìn)行了詳細(xì)分析和研究。該方案充分利用各個(gè)agent之間相互協(xié)作卻又相互獨(dú)立的特性,可以實(shí)時(shí)地檢測基于網(wǎng)絡(luò)和基于主機(jī)的入侵行為。系統(tǒng)結(jié)構(gòu)具有很好的伸縮性、靈活性、擴(kuò)展性、容錯(cuò)能力、攻擊預(yù)防能力。當(dāng)然,基于agent的分布式入侵檢測系統(tǒng)還有很多問題亟待解決,特別是由agent帶來的安全問題需要進(jìn)行深入研究。
參考文獻(xiàn):
[1]HUANG M Y, ROBERT J, THOMAS M. A large scale distributed intrusion detection framework based on attack strategy analysis[J]. Computer Networks,1999,31:2465-2475.
[2]SNAPP S R, BRETANO J, DIAZ G V,et al. DIDS motivation architecture and an early prototype[C]//Proc of the 14th National Computer Security Conference. Washington DC:[s.n.],1999:67-76.
[3]JACKSON K A. NADIR: a prototype system for detecting network and file system abuse[C]//Proc of the 7th European Conference on Information Systems.1992.
[4]HABRA N, CHARLIER L B, MOUNJI A, et al. ASAX: software architecture and rule-based language for universal audit trail analysis[C]//Proc of the 2nd European Symposium on Research in Computer Security(ESORICS’ 92). Toulouse, France:[s.n.],1992:435-450.
[5]ABRAHAM A, JAIN R, THOMAS J, et al. D-SCIDS: distributed soft computing intrusion detection system[J]. Journal of Network and Computer Applications,2005,6:1-19.
[6]ABRAHAM A, THOMAS J. Distributed intrusion detection systems: a computational intelligence approach[C]// ABBASS H A, ESSAM D.Applications of Information Systems to Homeland Security and Defense. USA: Idea Group Inc Publishers,2005:105-135.
[7]SPAFFORD E H, ZAMBONI D.Intrusion detection using autonomous agents[J]. Computer Networks,2000, 34:547-570.
[8]ZAKI M, TAREK S S. Attack abstraction using a multi-agent system for intrusion detection[J]. Journal of Intelligent Fuzzy Systems, 2005, 16:141-150.
[9]DASGUPTA D, GONZALEZ F, YALLAPU K,et al. CIDS: an agent-based intrusion detection system[J]. Computers Security, 2005, 24:387-398.
“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文”