摘 要:文章提出的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)是基于協(xié)議分析技術(shù),并結(jié)合特征模式匹配方法,采用高速采集器采集數(shù)據(jù)源并分發(fā)給多處理機(jī)進(jìn)行數(shù)據(jù)處理的新型系統(tǒng),它有效地解決了傳統(tǒng)網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)在高速網(wǎng)絡(luò)環(huán)境下的應(yīng)用瓶頸問題。
關(guān)鍵詞:入侵檢測(cè); 高速網(wǎng)絡(luò); 協(xié)議分析; 多機(jī)處理
1 引言
隨著Internet 網(wǎng)絡(luò)安全問題的不斷暴露和當(dāng)前黑客攻擊技術(shù)日益進(jìn)步,人們逐漸認(rèn)識(shí)到使用防火墻、數(shù)字簽名和加密技術(shù)這些被動(dòng)式、靜態(tài)的防御技術(shù)越來越難于保證網(wǎng)絡(luò)的安全。于是,人們開始了主動(dòng)式、動(dòng)態(tài)地保護(hù)網(wǎng)絡(luò)安全的入侵檢測(cè)系統(tǒng)的研究。第一代和第二代網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)即傳統(tǒng)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)是基于特征模式匹配技術(shù),采用單機(jī)采集網(wǎng)絡(luò)數(shù)據(jù)源并加以處理的檢測(cè)系統(tǒng)。在過去只有幾兆、幾十兆的網(wǎng)絡(luò)流量的網(wǎng)絡(luò)環(huán)境下,傳統(tǒng)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)起了非常大的作用。
隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,幾百、上千兆的高速網(wǎng)絡(luò)環(huán)境已經(jīng)大量出現(xiàn)。在這種高速網(wǎng)絡(luò)環(huán)境下,傳統(tǒng)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)顯得力不從心,其應(yīng)用瓶頸問題非常突出:漏抓網(wǎng)絡(luò)數(shù)據(jù)包、誤報(bào)率高、檢測(cè)慢和檢測(cè)時(shí)有丟包現(xiàn)象發(fā)生。那么如何解決傳統(tǒng)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的應(yīng)用瓶頸問題?文章提出的一種網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)是基于協(xié)議分析技術(shù),并結(jié)合特征模式匹配方法,采用高速采集器采集數(shù)據(jù)源并分發(fā)給多處理機(jī)進(jìn)行數(shù)據(jù)處理的新型系統(tǒng),它有效的解決了傳統(tǒng)網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的應(yīng)用瓶頸問題。
2 數(shù)據(jù)源采集及處理
數(shù)據(jù)源的采集及處理是網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的核心部分。CIDF通用模型將一個(gè)網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)分為以下部分:事件產(chǎn)生器(Event generator)、事件分析器(Event analyzer)、響應(yīng)單元(Response units)和事件數(shù)據(jù)庫(Event database)。數(shù)據(jù)源的采集及處理就對(duì)應(yīng)于通用模型的事件產(chǎn)生器和事件分析器。
傳統(tǒng)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)一般采用一臺(tái)普通PC機(jī)作為采集器,進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)流的采集,并同時(shí)在該機(jī)對(duì)數(shù)據(jù)流進(jìn)行分析處理。在低速網(wǎng)絡(luò)環(huán)境下,利用PC機(jī)的網(wǎng)卡采集數(shù)據(jù)不會(huì)出現(xiàn)丟包現(xiàn)象,并且單處理機(jī)的資源也能滿足對(duì)小流量數(shù)據(jù)的處理。但是,在高速網(wǎng)絡(luò)環(huán)境下,一臺(tái)普通PC機(jī)難以滿足大流量數(shù)據(jù)的采集和處理,會(huì)出現(xiàn)丟包和數(shù)據(jù)包漏檢現(xiàn)象。為此,新型網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)采用高速數(shù)據(jù)采集器,并將采集到的數(shù)據(jù)流分發(fā)給多臺(tái)高檔PC進(jìn)行分布式數(shù)據(jù)檢測(cè),這樣可以有效地解決丟包及漏檢問題。
高速數(shù)據(jù)采集器負(fù)責(zé)抓取完整的高速網(wǎng)絡(luò)數(shù)據(jù)流,這通過專門的的高性能硬件方案來實(shí)現(xiàn),主要包括實(shí)時(shí)嵌入式操作系統(tǒng)技術(shù)和具有高層交換功能的專用ASIC芯片技術(shù)。高速數(shù)據(jù)采集器采集到數(shù)據(jù)流后,通過負(fù)載均衡的原則將數(shù)據(jù)流分發(fā)給多臺(tái)高檔PC機(jī)進(jìn)行處理。由于系統(tǒng)采用相同配置的PC作為數(shù)據(jù)處理機(jī),同時(shí)為了提高采集器的工作效率,簡(jiǎn)化數(shù)據(jù)包分發(fā)算法,系統(tǒng)采用最簡(jiǎn)單的負(fù)載均衡算法,即分時(shí)傳送——采取循環(huán)的方法,每隔一定時(shí)間按序向每臺(tái)數(shù)據(jù)處理機(jī)傳送數(shù)據(jù)流。這樣就保證了每臺(tái)數(shù)據(jù)處理機(jī)在某一時(shí)刻可以分布式處理大體相同的網(wǎng)絡(luò)數(shù)據(jù)流量,提高了數(shù)據(jù)流檢測(cè)的工作效率,解決了單臺(tái)普通PC處理數(shù)據(jù)流量的效率低下、數(shù)據(jù)漏檢的問題 。
3 協(xié)議分析技術(shù)
3.1模式匹配的不足
傳統(tǒng)入侵檢測(cè)系統(tǒng)使用模式匹配技術(shù)作為網(wǎng)絡(luò)數(shù)據(jù)包分析技術(shù)。它是將采集的網(wǎng)絡(luò)數(shù)據(jù)流與已知的網(wǎng)絡(luò)入侵特征規(guī)則庫中的規(guī)則逐條進(jìn)行比較,以發(fā)現(xiàn)入侵行為。其工作步驟如下:
1)從捕獲的網(wǎng)絡(luò)數(shù)據(jù)流的第一個(gè)數(shù)據(jù)包的第一個(gè)字節(jié)開始與入侵特征規(guī)則庫的第一個(gè)特征規(guī)則字符串比較。
2)如果比較結(jié)果相同,則說明檢測(cè)到一個(gè)可能的攻擊。
3)如果比較結(jié)果不同,則將數(shù)據(jù)包下移一個(gè)字節(jié)再進(jìn)行比較。
4)直到把特征規(guī)則字符串的每一個(gè)字節(jié)都匹配完。
5)對(duì)于每一個(gè)入侵特征規(guī)則字符串,重復(fù)第二步。
6)直到每一個(gè)入侵特征規(guī)則都匹配完。
下面用模式匹配的一個(gè)例子來說明。
00E0 FC04 68AC 0011 5BD8 1FF2 0800 4500 0040 08AC 4000 2006 B06C AC53 6352 BD25 CD12 050D 0050 221A 0112 415B 063A 7010
以上為采集的數(shù)據(jù)包,對(duì)于入侵特征規(guī)則字符串“/technote/print.cgi ”,根據(jù)上述步驟,首先從數(shù)據(jù)包頭部開始比較:
/technote/print.cgi
00E0 FC04 68AC 0011 5BD8 1FF2 0800 4500 0040 08AC 4000 2006 B06C AC53 6352 BD25 CD12 050D 0050 221A 0112 415B 063A 7010
比較不成功,下移一個(gè)字節(jié)重新比較。
——/technote/print.cgi
00E0 FC04 68AC 0011 5BD8 1FF2 0800 4500 0040 08AC 4000 2006 B06C AC53 6352 BD25 CD12 050D 0050 221A 0112 415B 063A 7010
比較仍不成功,則又下移一個(gè)字節(jié)比較。如此重復(fù),最終沒有一次匹配成功。接著與入侵特征規(guī)則庫中的下一個(gè)規(guī)則進(jìn)行比較。
從該例可以看出,模式匹配有以下缺點(diǎn):
1)缺乏智能化,系統(tǒng)資源耗費(fèi)大
模式匹配技術(shù)不對(duì)數(shù)據(jù)包進(jìn)行智能分析,僅僅單純將特征字符串同數(shù)據(jù)包按字節(jié)依次匹配,這就導(dǎo)致計(jì)算工作量大,消耗系統(tǒng)資源。
對(duì)于一個(gè)特定網(wǎng)絡(luò)的數(shù)據(jù)流來說,采用數(shù)據(jù)匹配方法每秒需比較的最大次數(shù)估算為:
網(wǎng)絡(luò)數(shù)據(jù)包字節(jié)數(shù)×每秒數(shù)據(jù)包數(shù)量×入侵特征串字節(jié)數(shù)×入侵特征數(shù)量
如果網(wǎng)絡(luò)數(shù)據(jù)包平均長(zhǎng)度為60字節(jié),每秒40000數(shù)據(jù)包,入侵特征庫中有3000條特征,每條特征字符串平均長(zhǎng)度為10字節(jié),那么每秒比較的次數(shù)大約為:
60×40000×10×3000=72000000000
2)檢測(cè)效率低
模式匹配只能檢測(cè)特定類型的入侵。對(duì)入侵特征微小的變形都將使檢測(cè)失敗。如對(duì)于Web服務(wù)器, 入侵特征“/technote/print.cgi”的變形”/technote//print.cgi”、 “/technote%c0%afprint.cgi”用模式匹配方法不能檢測(cè)出來。
3.2協(xié)議分析技術(shù)的優(yōu)點(diǎn)
3.2.1減小匹配計(jì)算量
網(wǎng)絡(luò)數(shù)據(jù)流是按通信協(xié)議的要求構(gòu)成的,而通信協(xié)議規(guī)定了數(shù)據(jù)報(bào)文具有高度的格式,報(bào)文的每部分都有明確的含義和取值。傳統(tǒng)的模式匹配把網(wǎng)絡(luò)數(shù)據(jù)包看成是無序、無一定格式、隨意的字節(jié)流。它對(duì)網(wǎng)絡(luò)數(shù)據(jù)包的內(nèi)部結(jié)構(gòu)完全不了解,并且對(duì)于網(wǎng)絡(luò)中傳輸?shù)膱D象或音頻同樣進(jìn)行匹配。這樣勢(shì)必造成檢測(cè)效率低下、不精確的后果。而協(xié)議分析技術(shù)有效的利用了網(wǎng)絡(luò)協(xié)議的層次性和相關(guān)協(xié)議的知識(shí)快速的判斷入侵特征是否存在。它的高效使得匹配的計(jì)算量大幅度減小。即使在100Mb/s以上的網(wǎng)絡(luò)中,也可以充分地檢測(cè)每一個(gè)數(shù)據(jù)包。
仍以上述數(shù)據(jù)包為例,討論一下基于協(xié)議分析技術(shù)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)是如何處理的。網(wǎng)絡(luò)協(xié)議規(guī)定以太網(wǎng)絡(luò)數(shù)據(jù)包中第13字節(jié)處包含了兩個(gè)字節(jié)的網(wǎng)絡(luò)層協(xié)議字段,如圖1所示?;趨f(xié)議分析的入侵檢測(cè)系統(tǒng)利用這個(gè)知識(shí)開始第一步檢測(cè):跳過數(shù)據(jù)包前面12個(gè)字節(jié),讀取第13字節(jié)處的2字節(jié)協(xié)議字段為0x0800。根據(jù)協(xié)議規(guī)定可以判斷這個(gè)網(wǎng)絡(luò)數(shù)據(jù)包是IP包。
[align=center]

圖1利用協(xié)議分析技術(shù)進(jìn)行數(shù)據(jù)包分析[/align]
根據(jù)IP協(xié)議規(guī)定,數(shù)據(jù)包的第24字節(jié)處有一個(gè)1字節(jié)的傳輸層協(xié)議標(biāo)識(shí)。系統(tǒng)直接從第15字節(jié)跳到第24字節(jié)讀取傳輸層協(xié)議字段為0x06,這個(gè)數(shù)據(jù)包是TCP協(xié)議包。
再根據(jù)TCP協(xié)議規(guī)定,在數(shù)據(jù)包第37字節(jié)處有一個(gè)2字節(jié)的應(yīng)用層協(xié)議字段,即端口號(hào)。于是系統(tǒng)從第25字節(jié)直接跳到第37字節(jié)讀取端口號(hào)為0x0050,即80。從該端口號(hào)可知數(shù)據(jù)包是一個(gè)HTTP協(xié)議的數(shù)據(jù)包。
再根據(jù)HTTP協(xié)議規(guī)定,在數(shù)據(jù)包第55字節(jié)是URL開始處,要檢測(cè)入侵特征“/technote/print.cgi”,只需要仔細(xì)檢測(cè)這個(gè)URL就可以了。
從上述數(shù)據(jù)包的檢測(cè)過程可以看出,利用協(xié)議分析可以大大減小模式匹配的計(jì)算量,提高匹配的精確度,減少誤報(bào)率。
3.2.2有效地針對(duì)欺騙性攻擊
單純采用模式匹配對(duì)網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行特征查找的方法,必須是針對(duì)某些特定的已知攻擊。但是很多攻擊者越來越狡猾,他們往往使用一些攻擊程序的變體進(jìn)行攻擊,以求逃過檢測(cè)系統(tǒng)的檢測(cè)。而模式匹配對(duì)這種變體欺騙卻無能為力,但是協(xié)議分析可以有效地針對(duì)欺騙性攻擊。
舉例來說,假設(shè)需要對(duì)含有/way-board/way-board.cgi的URL發(fā)出警報(bào)。入侵者可以使用反斜杠\代替斜杠/。大多數(shù)Web服務(wù)器對(duì)于使用反斜杠\還是斜杠/來劃分目錄不敏感,所以Web服務(wù)器認(rèn)為含有/way-board/way-board.cgi和含有\(zhòng)way-board\way-board.cgi的URL是一回事。而基于模式匹配的入侵檢測(cè)系統(tǒng)只是進(jìn)行簡(jiǎn)單的字符匹配工作,所以對(duì)出現(xiàn)\way-board\way-board.cgi不加理睬。但協(xié)議分析方法可以識(shí)別這種變體入侵。當(dāng)一個(gè)HTTP通信開始被監(jiān)控時(shí),IDS傳感器從URL中讀出路徑,然后對(duì)其進(jìn)行分析。它適當(dāng)?shù)胤治龇葱备?,使URL標(biāo)準(zhǔn)化,然后找出可疑的目錄內(nèi)容,如/way-board/way-board.cgi。又例如在unicode攻擊中,與ASCII字符相關(guān)的HEX編碼一直到%7f,Unicode編碼的值要高于它。以包含/store%c0%afagora.cgi的URL路徑為例,%c0%af在Unicode中相當(dāng)于斜杠/,這樣就是/store/agora.cgi。這也是攻擊特征。使用包含Unicode編碼解析的協(xié)議分析,就可以識(shí)別這種欺騙。
下面說明協(xié)議分析如何識(shí)別包含/store%c0%afagora.cgi的URL,流程如圖2所示。
1)對(duì)網(wǎng)絡(luò)數(shù)據(jù)包的IP包頭進(jìn)行解析,確定IP有效負(fù)載所包含的協(xié)議。本例IP協(xié)議字段為6即TCP協(xié)議。
2)對(duì)TCP頭進(jìn)行解析,確定TCP目的端口。本例TCP目的端口是Web服務(wù)器端口80,說明數(shù)據(jù)部分采用HTTP協(xié)議。
3)對(duì)HTTP協(xié)議進(jìn)行解析,識(shí)別URL路徑。
4)對(duì)URL進(jìn)行解析,識(shí)別路徑欺騙、HEX編碼和Unicode編碼。
5)最后判斷路徑中是否包含 /store/agora.cgi,若有則報(bào)警。
[align=center]

圖2 識(shí)別URL的流程圖[/align]
4 結(jié)束語
實(shí)驗(yàn)驗(yàn)證,在高速大流量網(wǎng)絡(luò)環(huán)境下,采用高速采集器采集數(shù)據(jù)源并分發(fā)給多處理機(jī)進(jìn)行數(shù)據(jù)處理,同時(shí)使用協(xié)議分析技術(shù),并結(jié)合模式匹配方法的新一代網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)與采用普通采集器,單純使用模式匹配方法的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)相比,在檢測(cè)效率、性能等方面都有很大提高。在后續(xù)的工作中,檢測(cè)系統(tǒng)在檢測(cè)方法上還須結(jié)合異常(anomaly)統(tǒng)計(jì)的檢測(cè)技術(shù), 以便能夠檢測(cè)更廣泛及更多未知的攻擊。
參考文獻(xiàn)
[1]余揚(yáng),孔夢(mèng)榮. 基于FPGA器件的高速以太網(wǎng)入侵檢測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2005,(3):55-57
[2]蔣文保.寬帶網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的分析與實(shí)現(xiàn)[J].計(jì)算機(jī)工程, 2003,(1):30-31
[3]劉文濤.Linux網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)[M].北京: 電子工業(yè)出版社,2004
[4]高光勇等.聯(lián)動(dòng)防火墻的主機(jī)入侵檢測(cè)系統(tǒng)的研究[J]. 微計(jì)算機(jī)信息,2005,(7-3):66-68
[5]唐正軍 等.網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的設(shè)計(jì)和 實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2002