劉霜霜 李 佳 譚群峰
(湖南工業(yè)職業(yè)技術(shù)學院信息系,湖南 長沙 410208)
入侵檢測及防御系統(tǒng)模型的研究與設(shè)計
劉霜霜 李 佳 譚群峰
(湖南工業(yè)職業(yè)技術(shù)學院信息系,湖南 長沙 410208)
隨著計算機互聯(lián)網(wǎng)絡(luò)的迅速發(fā)展,網(wǎng)絡(luò)安全也成為我們?nèi)找嬷匾暤膯栴}。用于檢測網(wǎng)絡(luò)安全策略的入侵檢測系統(tǒng)也隨之飛速發(fā)展,變得高度精密。本文將提出了一個與多源入侵檢測系統(tǒng)緊密結(jié)合的防御模型。通過使用該模型可以估算出入侵的損失以及防御的成本,從而選取最佳防御系統(tǒng)。
入侵;防御;依賴圖
隨著計算機網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,計算機網(wǎng)絡(luò)已深入到社會的各個領(lǐng)域,Internet的開放性在給人們帶來資源共享和交流便利的同時,也給人們帶來了很大的安全隱患。網(wǎng)絡(luò)安全也成為了人們必須重視并加以有效防范的問題。由此,入侵檢測系統(tǒng)應(yīng)運而生,它能實時地捕獲和分析數(shù)據(jù),并通過與網(wǎng)絡(luò)監(jiān)視系統(tǒng)相結(jié)合,經(jīng)過對特定安全數(shù)據(jù)庫中的數(shù)據(jù)分析,迅速發(fā)現(xiàn)危險攻擊的特征,進而發(fā)出警報,同時提供一定的保護措施。入侵檢測系統(tǒng)以實時性、動態(tài)檢測和主動防御為特點,有效彌補了傳統(tǒng)網(wǎng)絡(luò)安全措施的不足[1]。本文重點研究網(wǎng)絡(luò)攻擊的入侵檢測系統(tǒng)(IDS)和入侵防御系統(tǒng)(IRS)中的典型。并采用了入侵檢測和防御架構(gòu),引入依賴圖來展現(xiàn)系統(tǒng)各實體(實體是一個統(tǒng)稱,用以表示系統(tǒng)中某個資源或某個服務(wù))之間的相互依存關(guān)系。依賴圖將任一系統(tǒng)分為四層:應(yīng)用程序服務(wù);組件服務(wù);系統(tǒng)/輔助服務(wù)和系統(tǒng)資源。資源又進一步分為虛擬資源和實體資源。經(jīng)過反復研究后,將設(shè)計出最佳防御系統(tǒng)體系結(jié)構(gòu)。
入侵檢測組件集合許多獨立的入侵檢測源而成。入侵檢測基本上相當于檢測以惡意行為及未授權(quán)行為出現(xiàn)的攻擊的多種方法。
實施過程中,我們使用了以下幾種入侵檢測源:
Snort and perl:Snort是一種開源網(wǎng)絡(luò)入侵檢測系統(tǒng),它通過監(jiān)視網(wǎng)絡(luò)流量來檢測惡意行為[2]。同時,Snort也是一種簽名型入侵檢測系統(tǒng),它將攻擊類型與已知的攻擊類型的名單相對比,由此來確定入侵。一旦某種攻擊類型與簽名上的一致,隨即便會發(fā)出警報并記錄該攻擊類型。不僅如此,我們專門編寫的超強代碼能夠讀取這些日志文件,再向入侵防御引擎發(fā)送專門的入侵消息。
CPU資源監(jiān)視器:這種類型的入侵檢測源主要在攻擊的簽名未知而系統(tǒng)中受影響的實體已知時,發(fā)揮其作用。實體表示系統(tǒng)中的某種資源或某個服務(wù)器。比如,在實施過程中,我們研發(fā)了一種專門的入侵檢測源,它將監(jiān)視系統(tǒng)中某一資源CPU利用情況。要是那一資源的CPU利用顯示異常,則表明可能發(fā)生了攻擊行為。接著,入侵檢測源向防御引擎發(fā)生特殊的入侵警報。許多專門的入侵檢測源者由系統(tǒng)管理員來創(chuàng)建。這種IDS可用于監(jiān)視系統(tǒng)的各個部分,并對異常行為發(fā)出警報。
防御引擎負責接收從入侵檢測源中傳來的入侵警報。然后它再對入侵進行成本敏感分析,并使用合適的防御阻止入侵。入侵防御引擎包括三組組件,分別是初始化組件,成本型防御選擇組件及防御運行組件。
初始化組件負責向防御引擎提供有關(guān)系統(tǒng)安全策略的機密性、完整性及有效性方面的全部信息。并且,它還有值傳遞的功能,即能將系統(tǒng)的總體價值傳遞給系統(tǒng)中所有的資源與服務(wù)。初始化組件還能從XML文件中讀取關(guān)于可用資源、服務(wù)以及系統(tǒng)安全策略方面的所有信息。首先,我們來分析一下系統(tǒng)的不同實體。
系統(tǒng)實體是由許多主機集合而成的,而這些主機又通過互聯(lián)網(wǎng)來進行相互溝通。網(wǎng)絡(luò)可以是靜態(tài)的,即它能用網(wǎng)絡(luò)設(shè)備如路由器、轉(zhuǎn)換器等來配置。然而,網(wǎng)絡(luò)也可以是動態(tài)的。如,無線ad-hoc網(wǎng)絡(luò)就是一種移動設(shè)備通過無線鏈接進行自我配置的網(wǎng)絡(luò)。
系統(tǒng)包括許多主機。這些主機運行不同的應(yīng)用程序,涵蓋多種系統(tǒng)資源。用S表示所有的系統(tǒng)服務(wù)。每種服務(wù)S可以是應(yīng)用程序服務(wù)的實體,組件服務(wù)的實體,也可以是系統(tǒng)/輔助服務(wù)的實體。所以系統(tǒng)的應(yīng)用程序可以廣義地分為以下服務(wù):
·應(yīng)用程序服務(wù)(AS)
·組件服務(wù)(CS)
·系統(tǒng)/輔助服務(wù)(SS)
這些系統(tǒng)的應(yīng)用程序由一系列系統(tǒng)資源進行輔助,用R表示所有的系統(tǒng)資源。每種資源R都可以是以下其中一種:
·虛擬資源(VR)
·實體資源(PR)
所以任一系統(tǒng)都可生成多層結(jié)構(gòu)。每層結(jié)構(gòu)將在以下部分中予以解釋說明。為方便起見,我們將所有的系統(tǒng)服務(wù)及資源用實體e表示。
·應(yīng)用程序服務(wù)—這些服務(wù)是系統(tǒng)管理員及行業(yè)分析員所真正關(guān)注的,且他們本身就有價值。
·組件服務(wù)—組件服務(wù)能為用戶所見但不能為用戶直接所用。一般,這些服務(wù)是更大的應(yīng)用程序服務(wù)的子功能。
·資源—資源指系統(tǒng)實體,他們輔助所有以上定義的系統(tǒng)服務(wù)。資源可分為虛擬資源(VR)和實體資源(PR)。
現(xiàn)在,我們把系統(tǒng)分成不同層,且每層包括許多實體。下面的依賴圖將用于把系統(tǒng)價值傳遞給系統(tǒng)的所有實體。
大多數(shù)IDS組件確定及檢測服務(wù)層或資源層的入侵。為了運用合適的防御對抗入侵,我們必須估算入侵成本。而且,系統(tǒng)管理員必須確定阻止入侵的防御成本,再者,我們需要考慮防御對整個系統(tǒng)的影響。選擇入侵防御的整個過程取決于系統(tǒng)中每個實體的價值。
為了使賦值過程順利且精確,我們提出了依賴圖結(jié)構(gòu)和值傳遞法。依賴圖用于展示系統(tǒng)所有資源及服務(wù)之間的功能性依存關(guān)系。值傳遞功能是指一旦賦予層實體價值后,它能通過依賴圖把值傳遞到最低層的實體。頂層實體的價值可從系統(tǒng)管理員或行業(yè)分析員那兒獲得,因為這些實體是為他們所見的,故能估測價值。通常,我們認為頂層實體就是系統(tǒng)中的應(yīng)用程序服務(wù)。
當定義系統(tǒng)服務(wù)及資源間的依賴關(guān)系時,我們并沒有具體化他們相互的依賴程度。也沒有定義系統(tǒng)安全目標如機密性,完整性及有效性方面的依存性。我們知道,不同的系統(tǒng)賦予不同的安全目標,且資源和服務(wù)間存在著不同的依賴關(guān)系。比如,Web服務(wù)器使用Https和SSL服務(wù)進行鏈接與不適用Https進行鏈接這兩種情況之間的依賴關(guān)系,就完全目標而言,是大不相同的[3]。所以,我們需要一些變量來表示實體安全目標方面的相互依存關(guān)系。為了表示相互依存關(guān)系,我們將重量值分配到每個依賴邊。例如,Vi[X]與Vj[y](且x,y∈X)之間的依存值表示為 Wvi[X]_〉Vj[y]。
圖3.1 相互依存級別分配實例
圖3.1中的應(yīng)用程序服務(wù)ASi依賴于更低層的組件服務(wù)CSj,j∈{1……m}這里其有效性依賴于更低層組件服務(wù)三個安全目標。這就意味著ASi[A]有了3n條邊從頂點中延伸出來,這其中每條邊都指向CSj[X],x∈X中任一個。3n條邊中的每一條都得到相等的重量值,即都為1.
所以,每條的重量值根據(jù)WAsi[A]_〉CSj[X]=1/(3m)且j∈{1,……m}進行計算。同時,行業(yè)經(jīng)理人及分析人士也會將值分配給系統(tǒng)中所有的應(yīng)用程序服務(wù)。為了將應(yīng)用程序服務(wù)中的價值傳遞給依賴圖中的所有實體,我們利用傳遞法。
在了解值傳遞法的細節(jié)之前,我們需要先理解兩個更加重要的定義,即依賴值和內(nèi)在值。
實體的內(nèi)在值指系統(tǒng)中某實體內(nèi)在功能的價值。實體依賴值是指被傳遞到依賴圖中更低層實體的某實體價值。
用Cv表示頂點的價值,用Cv(I)表示頂點v的內(nèi)在值,用Cv(D)表示頂點v的依賴值,則有:
這表示,我們將任何實體的價值都分成了內(nèi)在值和依賴值兩部分。這一定義是合情合理的,因為更低層實體出現(xiàn)故障時,只會有部分高層實體受到影響。就拿Web服務(wù)一例來說吧。當更低層網(wǎng)絡(luò)服務(wù)暫停工作或受攻擊時,上層服務(wù)的有效性只會降低一半。這也就是說,上層服務(wù)的內(nèi)在值不會受到影響,而只有更低層網(wǎng)絡(luò)服務(wù)的依賴值會損失。
為了解釋這一計算公式,我們分配百分比P來從實體總值中獲得內(nèi)在值。所以我們可以利用如下公式計算內(nèi)在值和依賴值。
我們希望應(yīng)用程序服務(wù)的所有值都傳遞給依賴圖中的低層實體,那么這時的百分比P=1。一旦以上依賴值等式中的P=1時,則更低層實體得到了所有值,此時實體內(nèi)在值變?yōu)?。同樣地,依賴圖中所有的最低層實體將不再有依存性。所以,如果百分比P=0,則意味著這些實體的依賴值為0,而其內(nèi)在值就等于實體的總體值。對依賴圖中的所有中間層的實體而言,其P值(0≤P≤1)是系統(tǒng)管理員來分配的。
現(xiàn)在我們來分析一種傳遞系統(tǒng)值的程序性方法。它包括多個步驟。
①獲得系統(tǒng)值:系統(tǒng)管理員與行業(yè)分析人士獲得系統(tǒng)值是這種方法的第一步。這種值既可以用數(shù)額,如美元表示,也可以用單位時間內(nèi)的數(shù)額,如美分/份表示。它是根據(jù)直接收入,利潤及系統(tǒng)損失推算出來的。當然,不同系統(tǒng)間的度量方法各不相同。讓我們用Cs表示系統(tǒng)總值。
②分配應(yīng)用程序服務(wù)的系統(tǒng)值:首先是確定應(yīng)用程序?qū)臃?wù)。然后,劃分應(yīng)用程序服務(wù)的系統(tǒng)總值。例如,企業(yè)可能同時配置有Web服務(wù)器和Mail服務(wù)器。而這兩種服務(wù)對公司而言同樣重要。故系統(tǒng)管理員會將這兩種服務(wù)的系統(tǒng)值平分。我們用ASw表示W(wǎng)eb服務(wù)器,用ASm表示Mail服務(wù)器。
Cw=0.5*C5(web服務(wù)器的值)
Cm=0.5*Cs(mail服務(wù)器的值)
③分配應(yīng)用程序服務(wù)值于安全目標C,I,A:即系統(tǒng)管理員將每個應(yīng)用程序服務(wù)的價值劃分為C,I,A值。在這一實例中。Web服務(wù)的完整性與有效性平分了ASw的總體值。在Mail服務(wù)器一例中,我們假定安全目標的三個要素各占ASm值的1/3。
Web服務(wù)器(ASw)
Cw[C]=0.00*Cw
Cw[I]=0.50*Cw
Cw[A]=0.50*Cw
Mail服務(wù)器(ASm)
Cm[C]=0.33*Cm
Cm[I]=0.33*Cm
Cm[A]=0.33*Cm
④將值傳遞給依賴圖中的底層實體:一旦確定了應(yīng)用程序服務(wù)成本,我們便利用依賴圖及遞歸法把值傳遞給更低層實體。一層中的實體價值是由同一層的實體或更低層實體來決定的。計算公式如下:
在這一公式中,u表示依賴的上層實體,v表示依賴的底層實體。成本傳遞法首先是將應(yīng)用程序服務(wù)的價值傳遞給所有的組件服務(wù)實體。接著將組件服務(wù)的價值分成內(nèi)在值和依賴值兩部分。然后,把組件服務(wù)的依賴值傳遞給所有的系統(tǒng)/輔助實體。直到傳遞到依賴圖中的最低層實體。對任一系統(tǒng)而言,我們都認為其擁有如下價值。
這就是說,所有具體(不包括應(yīng)用程序?qū)臃?wù))的價值總額(由v表示)等于應(yīng)用程序服務(wù)總額(由v表示)。因為系統(tǒng)的總價值都分配給了應(yīng)用程序服務(wù)。我們知道所有應(yīng)用程序服務(wù)的百分比P=1。這說明所有的應(yīng)用程序服務(wù)只有依賴值而無內(nèi)在值。而通過值傳遞法,其依賴值傳遞給了低層實體。所以以上的價值等式是正確的。[4]
成本型防御選擇組件首先利用由初始化組件提供的有關(guān)系統(tǒng)安全策略方面的所有信息,再對從入侵檢測組件中接受到的警報進行最好的防御。這種組件負責利用依賴圖及其他系統(tǒng)安全策略選擇最好的防御。在這部分,我們選擇了適當?shù)姆烙椒?;如損傷評估,成本估算等。
不同入侵對依賴圖中的實體影響各不相同。這些大相徑庭的影響取決于每種實體安全目標的功能損失百分比。因此,每次入侵對安全目標如機密性、完整性及有效性產(chǎn)生多大影響的百分比是可以測量的。
利用簽名型檢測系統(tǒng)了解攻擊信息:如果將攻擊的簽名與一系列可能的入侵類型相對比,那么攻擊即可被檢測到。要是了解了攻擊,我們便能掌握一定的攻擊信息以及受入侵資源及服務(wù)的名單。然后把這些受入侵資源及服務(wù)標記到依賴圖上,由此我們會得知遭攻擊損傷的實體名單。讓我們用Vi表示此名單,其中i∈{1,……m}。接著,系統(tǒng)管理員會估算出每個實體的損傷,并得出每種安全目標的功能損失百分比,讓我們用ri[C],ri[I],ri[A]來分別表示實體ri機密性,完整性,有效性方面的損失。那么,入侵損傷成本可由以下公式計算出。
攻擊未知卻已知受攻擊實體:有時,因為攻擊的簽名未知,所以我們不清楚攻擊所在何處。然而,系統(tǒng)管理員仍可了解已受影響的服務(wù)及資源方面的相關(guān)信息,根據(jù)受影響的資源與服務(wù)的名單,我們可將其描繪在依賴圖上,并據(jù)此在依賴圖中找到受攻擊實體的名單。然后,我們利用以上給出的公式計算入侵損傷成本。
未知攻擊:這種情況發(fā)生在新型攻擊出現(xiàn)時。即已安裝的入侵檢測系統(tǒng)不能使用簽名法檢測到攻擊。并且,要是所有的資源監(jiān)視監(jiān)測系統(tǒng)不能檢測到攻擊時,結(jié)果只能是我們發(fā)現(xiàn)高層應(yīng)用程序服務(wù)已受入侵。這時,系統(tǒng)管理員便輕易算出上層實體在安全目標方面的損傷費。
在計算完入侵損傷費之后,我們必須得解釋一下防御的成本估算。成本組件會優(yōu)先選擇耗費更少運行成本及為系統(tǒng)帶來最小負面影響的防御方式。下面,我們定義三種重要的防御成本術(shù)語。
運行成本(OC)指在運行防御的過程中產(chǎn)生的費用。運行防御還需要系統(tǒng)管理員或?qū)I(yè)人士進行人工操作的人工費。
防御系統(tǒng)影響(RSI)是指運行防御對系統(tǒng)造成的影響。在依賴圖的幫助下,我們可以確定被防御所影響的資源及服務(wù)。用S表示所有受防御影響的實體。那么防御系統(tǒng)影響指的是受運行的防御影響的所有實體的價值,而不是受入侵影響的價值。RSI可用如下公式表示。公式中[d]表示實體受防御影響的百分比,d的取值范圍是[0,1]。
防御的成功因素(RS)是用來衡量相應(yīng)的防御阻止入侵發(fā)生的有效力的。在依賴圖的幫助下,防御對實體的保護力是可以比較的。通常,如果防御能完全阻止入侵發(fā)生過,那么我們會說防御成功率為100%。RS由如下公式所示,其中[r]表示實體受防御保護的有效力百分比,其取值范圍是[0,1]。
到目前為止,我們已經(jīng)闡釋了計算入侵損傷費,防御成本及防御成功因素的方法。在這部分,我們將使用稱之為期望值的度量法。這種方法將有助于我們選擇合適的防御。
期望值(EV)指值衡量法。而這一值是發(fā)生入侵時使用防御所獲得的。其取值范圍是[-1,1],計算方法如下[5]:
如果期望值是正數(shù),則說明值得使用防御;如果期望值是負數(shù),則說明不值得使用防御,且相比好處,此防御會給系統(tǒng)帶來更大的損害。OC指防御的運行成本,RB表示防御福利,它是指由入侵造成的潛在損傷的程度。一般,這一入侵時可由某種防御阻止的。首先,要求輸入OC和RS,然后告知我們防御行為將把由入侵造成的損傷成本掩蓋得有多好。其取值范圍是[0,1],0表示防御不會掩蓋任何入侵損傷。大于0表示防御能掩蓋一部分入侵損傷。RSI指防御系統(tǒng)影響。OC指防御的運行成本。其總和(即EV)既有可能是0,也可能是1。如果是0,則表示運行防御時無成本產(chǎn)生;如果是1,則表明產(chǎn)生的成本等于系統(tǒng)總值。
防御運行組件就是指運行所選擇的防御。一旦成本型防御選擇組件選定了某種防御,那么此防御立即被啟動。當前,防御都是根據(jù)LinuxShell腳本來操作。例如,LinuxShell腳本防御向防火墻添寫規(guī)則,阻止已感染程序,重啟程序,延遲程序,阻止特殊類型的流量,如TFTP流量,阻止被攻擊者所利用的端口等等。但將來,所有的這些防御將能得到擴展以適應(yīng)其他的結(jié)構(gòu),如Windows OS。
根據(jù)上面幾節(jié)內(nèi)容,我們設(shè)計出如圖4.1的入侵檢測與防御系統(tǒng)總體體系結(jié)構(gòu)。
圖4.1 多源入侵與防御系統(tǒng)構(gòu)架
圖4.1描繪了入侵檢測與防御系統(tǒng)中的不同組件。入侵檢測組件由多種獨立的入侵檢測源所組成。這些入侵檢測源負責入侵檢測,檢測網(wǎng)絡(luò)或主機中的惡意行為,并向入侵防御引擎發(fā)出警報。而入侵防御引擎負責啟動防御以降低入侵的影響。
不同入侵檢測源及入侵防御引擎之間的信息傳輸是基于客戶和服務(wù)器結(jié)構(gòu)之上的。這些入侵檢測源可以是從簽名型IDS到任何入侵檢測組件中的任一部分。那些專門設(shè)計的入侵檢測組件是由系統(tǒng)管理員研發(fā)出來以監(jiān)視系統(tǒng)中某一具體方面的。
入侵防御引擎收到來自入侵檢測源發(fā)出的警報后會評估入侵的損傷影響力,再提出一系列可能的防御,接著使用能減輕入侵影響力的最好防御。防御引擎選擇成本敏感型防御。
本文分析了入侵檢測與防御系統(tǒng)的兩個重要組成部分:多源入侵與防御引擎。重點研究了防御引擎的三個組件:初始化組件,成本型防御選擇組件及防御運行組件。最后設(shè)計了整個入侵檢測與防御系統(tǒng)的體系結(jié)構(gòu)。未來會著重研究擴展工作的方法,比如建立使防御信息科相互傳遞的機制。各防御引擎間的溝通能夠使某個防御引擎獲得的信息與其他主機共享以及提出標準來衡量已選擇的防御在各種環(huán)境中是否防御成功。
[1] 楊義先,鈕心析.網(wǎng)絡(luò)安全理論與技術(shù)[M].人民郵電出版社,2003,(6):1-9.
[2] 連一峰,王航.網(wǎng)絡(luò)攻擊原理和技術(shù)[M].北京:科學出版社,2004,(2):79-84.
[3] 周建國,曹慶國.計算機網(wǎng)絡(luò)入侵檢測系統(tǒng)的研究[J].計算機工程,2003,29(2):12 一 14.
[4] 孫偉,李東生.入侵檢測技術(shù)探討[J].黑龍江科技信息,2007,(23):25-27.
[5] 方文平,入侵檢測技術(shù)探討[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2007,(12):18-20.
The Intrusion Detection System Model and The Defense Research and Design
LIU Shuang-shuang LI-Jia TAN Qun-feng
(HuNan IndustryPolytechnic,Changsha 410208 ,Hunan)
Along with the computer the fast development of the Internet,The Network security has become we pay more attention to the problem .For decades,IDSfor testingthe network securitypolicyhas evolved tremendouslyand has become highlysophisticated.This work presents a cost based response model that is tightlycoupled with multi-source IDS.The damage cost ofthe intrusion and the response cost of the responses are evaluated using the dependency graph.Usingseveral performance metrics,a response which brings the most benefit tothe systemis deployed.
intrusion;defense;dependencygraph
Q143
A
1671-5004(2011) 03-0007-04
2011-5-14
劉霜霜(1982-),女,湖北隨州人,湖南工業(yè)職業(yè)技術(shù)學院助教,主要研究方向:計算機網(wǎng)絡(luò),網(wǎng)絡(luò)安全,概念格,數(shù)據(jù)挖掘。
李佳(1982-),女,湖南祁陽人,湖南工業(yè)職業(yè)技術(shù)學院講師,主要研究方向:光纖通信、計算機技術(shù)。
譚群峰(1980-),男,湖南婁底人,湖南工業(yè)職業(yè)技術(shù)學院講師,主要研究方向:計算機軟件。