一種基于多媒體規(guī)則分解鏈表的網絡入侵檢測方法
【技術領域】
[0001] 本發(fā)明屬于網絡安全技術領域,具體涉及一種基于多媒體規(guī)則分解鏈表的網絡入 侵檢測方法。
【背景技術】
[0002] 近年來,國際國內網絡安全領域硝煙四起,網絡安全事故頻頻曝出,網絡入侵檢測 系統(tǒng)作為一種有效的防護手段,能夠快速發(fā)現網絡攻擊的發(fā)生,但是隨著網絡速度的提高, 網絡入侵檢測系統(tǒng)常會因來不及檢測而出現丟包、漏檢的狀況,如何提高網絡入侵檢測系 統(tǒng)的處理效率,其關鍵技術在于縮短對每個數據包的匹配時間。
[0003] 網絡入侵檢測系統(tǒng)對所有已知的入侵行為提取出特征,總結為規(guī)則存入規(guī)則庫 中,為了能快速檢索,這些規(guī)則以鏈表的方式組織起來。網絡入侵檢測系統(tǒng)使用一種三維鏈 表來組織規(guī)則,每條規(guī)則分成兩部分:規(guī)則頭和規(guī)則體,這兩部分分別存在RTN(RuleTree Node)結點和OTN(OptionTreeNode)結點中。RTN結點中包含了此規(guī)則采取的動作、協(xié)議、 端口、IP地址以及數據流的方向。OTN結點中包含了報警內容、需要匹配的字符串等內容。
[0004] 網絡入侵檢測系統(tǒng)將成千上萬條規(guī)則全部組織在三維鏈表中。所有的規(guī)則首先根 據響應動作(Activeation、Dynamic、Alert、Pass、Log)分為五大類,每類動作中,再按IP、 TCP、UDP、ICMP協(xié)議來分類,每類協(xié)議中,再按RTN來分類,具有相同RTN的OTN結點,連接 在同一RTN結點下面。這樣,就形成了三維規(guī)則鏈表結構。
[0005] 網絡入侵檢測系統(tǒng)啟動后,當遇到符合規(guī)則頭的數據包時,搜索引擎要將數據包 與OTN中的匹配項(content、pcre等)--匹配,如果有匹配成功,這意味著該數據包中含 有惡意信息。
[0006] 網絡入侵檢測系統(tǒng)的多媒體規(guī)則鏈表是在普通規(guī)則鏈表結構中IP、TCP、UDP、ICMP 協(xié)議之下,RTN之上,增加多媒體類型結點而構成。
[0007] 因為現有的網絡入侵檢測系統(tǒng)多媒體規(guī)則鏈表結構分類方法比較簡單,所以會造 成RTN結點下面的OTN結點數量過于龐大,平均匹配長度過長的問題,再加上需要檢測的數 據包數量眾多,以及模式匹配過程對時間和系統(tǒng)資源造成巨大的消耗,往往造成大量的數 據包來不及被系統(tǒng)檢測而產生丟包的情況。
【發(fā)明內容】
[0008] 本發(fā)明的目的是提供一種基于多媒體規(guī)則分解鏈表的網絡入侵檢測方法,解決了 現有技術中存在的網絡入侵檢測效率低、丟包率高的問題。
[0009] 本發(fā)明所采用的技術方案是,一種基于多媒體規(guī)則分解鏈表的網絡入侵檢測方 法,具體按照以下步驟實施:
[0010] 步驟1、構建基于多媒體規(guī)則分解鏈表的網絡入侵檢測系統(tǒng),依次連接數據包嗅探 器、預處理器、檢測引擎、多媒體規(guī)則分解鏈表,檢測引擎還分別與規(guī)則庫和報警輸出模塊 連接;
[0011] 步驟2、在網絡入侵檢測系統(tǒng)的啟動階段,首先從網絡入侵檢測系統(tǒng)的規(guī)則庫中找 出針對多媒體文件的規(guī)則,將每條規(guī)則的檢測內容存放在多媒體規(guī)則分解鏈表中;
[0012] 步驟3、網絡入侵檢測系統(tǒng)啟動后,數據包嗅探器負責捕獲流經網絡入侵檢測系統(tǒng) 的所有數據包,將這些數據包送至預處理器;
[0013] 步驟4、預處理器對步驟3中采集的數據包進行檢查,將數據包中包含MME協(xié)議規(guī) 定的多媒體文件特征的數據包作為多媒體數據包,送至檢測引擎;
[0014] 步驟5、檢測引擎將步驟4中的多媒體數據包首先送入多媒體規(guī)則分解鏈表進行 檢測,判定多媒體數據包是否含有危險信息。
[0015] 本發(fā)明的特點還在于:
[0016] 步驟1中多媒體規(guī)則分解鏈表包括多個多媒體類型結點,每個多媒體類型結點都 有1個或多個指針,分別指向其下RTN結點,RTN結點下通過指針指向相同規(guī)則體結點。
[0017] 步驟2將每條規(guī)則的檢測內容存放在多媒體規(guī)則分解鏈表中,具體為:規(guī)則庫中 對于同一多媒體類型文件制定的不同條規(guī)則中,如果在同一RTN結點下,如果從規(guī)則選項 中找出相同部分,可將這些規(guī)則根據是否具有相同部分再次進行分類,并分別存儲在不同 的相同規(guī)則體結點中。
[0018] 步驟5具體為:從多媒體數據包中查找與檢測規(guī)則相同的內容,如果找到,則證明 該多媒體數據包含有危險信息,此時報警輸出模塊就會對該多媒體數據包采取報警或記錄 日志的操作,如對多媒體數據包檢測后未發(fā)現含有與檢測規(guī)則相同的內容,則對其放行,進 而繞過網絡入侵檢測系統(tǒng)的檢測過程。
[0019] 本發(fā)明的有益效果是:本發(fā)明一種基于多媒體規(guī)則分解鏈表的網絡入侵檢測方 法,通過在多媒體規(guī)則鏈表中增加相同規(guī)則體結點,從而解決RTN結點下面的OTN結點數量 過于龐大,平均匹配長度過長的問題,該方法可使網絡入侵檢測系統(tǒng)的檢測效率提高,丟包 率降低。
【附圖說明】
[0020] 圖1是本發(fā)明中基于多媒體規(guī)則分解鏈表的網絡入侵檢測系統(tǒng)的結構示意圖;
[0021] 圖2是本發(fā)明中多媒體規(guī)則分解鏈表的結構示意圖;
[0022] 圖3是本發(fā)明以Gif類型多媒體規(guī)則為例的鏈表分解示意圖。
[0023] 圖中,1.數據包嗅探器,2.預處理器,3.檢測引擎,4.規(guī)則庫,5.報警輸出模塊, 6.多媒體規(guī)則分解鏈表,7.多媒體類型結點,8.RTN結點,9.規(guī)則體結點。
【具體實施方式】
[0024] 下面結合附圖和【具體實施方式】對本發(fā)明進行詳細說明。
[0025] 本發(fā)明一種基于多媒體規(guī)則分解鏈表的網絡入侵檢測方法,具體按照以下步驟實 施:
[0026] 步驟1、構建基于多媒體規(guī)則分解鏈表的網絡入侵檢測系統(tǒng),如圖1所示依次連接 數據包嗅探器1、預處理器2、檢測引擎3、多媒體規(guī)則分解鏈表6,檢測引擎3還分別與規(guī)則 庫4和報警輸出模塊5連接;
[0027] 其中,如圖2所示,多媒體規(guī)則分解鏈表6包括多個多媒體類型結點7,每個多媒體 類型結點7都有1個或多個指針,分別指向其下RTN結點8,RTN結點8下通過指針指向相 同規(guī)則體結點9。
[0028] 多媒體類型結點7中的數據結構中包括的信息有:多媒體類型、特征字符串數目、 指向下一個媒體類型結點的指針等。
[0029] 相同規(guī)則體結點9的數據結構中包括的信息有:指向下一個相同規(guī)則體結點的指 針、相同規(guī)則部分、不同規(guī)則部分、結點號等。
[0030] 步驟2、在網絡入侵檢測系統(tǒng)的啟動階段,首先從網絡入侵檢測系統(tǒng)的規(guī)則庫4中 找出針對多媒體文件的規(guī)則,將每條規(guī)則的檢測內容存放在多媒體規(guī)則分解鏈表6中,具 體為,如圖2所示:
[0031] 規(guī)則庫4中對于同一多媒體類型文件制定的不同條規(guī)則中,如果在同一RTN結點8 下,如果從規(guī)則選項中找出相同部分,可將這些規(guī)則根據是否具有相同部分再次進行分類, 并分別存儲在不同的相同規(guī)則體結點9中。
[0032] 步驟3、網絡入侵檢測系統(tǒng)啟動后,數據包嗅探器1負責捕獲流經網絡入侵檢測系 統(tǒng)的所有數據包,將這些數據包送至預處理器2 ;
[0033] 步驟4、預處理器2對步驟3中采集的數據包進行檢查,將數據包中包含MME協(xié)議 規(guī)定的多媒體文件特征的數據包作為多媒體數據包,送至檢測引擎3 ;
[0034] 步驟5、檢測引擎3將步驟4中的多媒體數據包首先送入多媒體規(guī)則分解鏈表6進 行檢測,判定多媒體數據包是否含有危險信息,具體為:
[0035] 從多媒體數據包中查找與檢測規(guī)則相同的內容,如果找到,則證明該多媒體數據 包含有危險信息,此時報警輸出模塊5就會對該多媒體數據包采取報警或記錄日志的操 作,如對多媒體數據包檢測后未發(fā)現含有與檢測規(guī)則相同的內容,則對其放行,進而繞過網 絡入侵檢測系統(tǒng)的檢測過程。
[0036] 下面針對Gif類型多媒體文件制定的幾條規(guī)則為例:
[0037] #alerttcp$EXTERNAL_NET$HTTP_PORTS->$HOME_NETany(msg:"WEB-CLIENT MozillaGIFmultipacketheapoverfIow~ANIMEXTSI. ;flow:from_ server,established;flowbits:isset,http