摘要:入侵檢測技術是網絡安全防御的一項重要措施,但是傳統的基于模式匹配的入侵檢測系統由于過高的誤報率和漏報率已不能滿足實際需要。本文分析了基于模式匹配的入侵檢測系統的缺點,提出了模式匹配與協議分析相結合的方法,可以大幅度減少計算量,提高分析效率,得到更準確的檢測結果。
關鍵詞:入侵檢測,模式匹配,協議分析
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)22-646-02
Application of Protocol Analysis Technology in IDS
ZHANG Qing,XU Dong-ping
(Technology of Computer School,Wuhan University of Technology,Wuhan 430063,China)
Abstract:instrusion detection technique is an important safety precaution in internet,but the current instrusion detection system cannot meet the actual demands because of the high 1 alarm and 1 negative rates .Analyzes the limitations of intrusion detection system which is based on pattern matching, puts forward a model which protocol analysis and pattern matching are combined,Such combination can steadily reduce computational load, enhance the analysis efficiency and obtain the more accurate result.
Key words: intrusion detection;pattern matching;protocol analysis
1 引言
入侵檢測系統(Intrusion Detection System,NIDS)自從1980年被提出以來,在近20多年內有了很大地發展。與此同時,近年來由于網絡安全問題日漸突出,入侵檢測技術因此受到了人們更多的關注。協議分析技術在入侵檢測中的應用已經成為下一代IDS的關鍵技術,它彌補了基于傳統的模式匹配技術的IDS不足,減少了IDS分析的數據量,從而提高了檢測的速度和準確率。
2 特征模式匹配技術
模式匹配檢測技術易擴充、簡單、符合CIDF(Common Intrusion Detection Framework,公共入侵檢測框架)規范,因而被大多數入侵檢測系統所采用。
匹配算法的效率將直接影響到IDS的實時性,因此選擇有效字符串搜索算法是模式匹配檢測技術的關鍵。最著名的兩個字符串搜索算法是KMP算法 (Knuth-Moms-Pratt)和BM算法(Boyer-Morrs)。在最壞的情況下,這兩個算法均具有線性的搜索時間,但BM算法比較次數較少。目前BM算法是國際上主要采用的模式匹配算法[1]。
特征模式匹配算法的兩大缺陷:
1)計算負荷大:對一個特定的網絡而言,每秒需要比較的最大次數=攻擊特征字節數*數據包字節數*每秒的數據包數*數據庫的攻擊特征數。尤其在高速網絡下,會出現數據包的丟失現象。
2)探測準確性低:使用固定的特征字符串來探測攻擊,只能檢測出已知的攻擊。即使攻擊特征發生微小變化,都會導致被忽略。另外,基于模式匹配的方法不能判斷字符串或者命令串的真實含義和最終效果,從而影響入侵檢測的速度和準確性。
3 協議分析技術
3.1 網絡協議的層次
網絡通信的核心協議是TCP/IP協議。TCP/IP協議是一組不同層次上的多個協議的組合。TCP/IP協議模型共有五層[3],從下向上依次為:硬件層、鏈路層、網絡層、傳輸層和應用層。每一層上的協議分別負責不同的通信功能。下層協議為上層協議的實現提供服務。
當應用程序用TCP傳送數據時,數據被送入協議棧中,然后逐個通過每一層,每一層對收到的數據增加一些首部信息(有時增加相應的尾部信息),直到被當作一串比特流送入網絡。圖1說明了以太網中基于TCP的數據封裝的過程。
網絡協議嚴格分層的特點為協議分析的方法提供了依據。
3.2 協議分析的原理
協議分析技術利用了網絡協議的高度規則性來快速地判斷攻擊特征是否存在,其關鍵技術包括協議解碼、數據重組、命令解析等技術。協議解碼就是觀察并檢測所有網絡數據包,如果數據包不符合預期的標準,就發出報警。數據重組在協議解碼的基礎上對數據包進行TCP流重組及IP分片重組,重組后進行整體上的協議分析,它充分利用了協議運行信息來檢測協議相關的異常和多步驟攻擊、分布式攻擊等復雜攻擊。命令解析可針對各種高層協議,分析出攻擊串以及各種可能的變體。協議分析的基本流程如圖2。
下面以微軟IIS中Unicode漏洞攻擊事件,討論協議解碼和命令解析的檢測法的檢測過程。攻擊者發出的請求為:http://受害者機器IP地址或域名/%C1/9C/winnit/system32/cmd.exe .產生的包內容如下:
0000 00 A0 C9 8E FF C1 00 00 E8 6F AD 59 08 00 45 00 ……Y…E…
0010 01 90 85 00 40 00 80 06 E3 4E C8 00 00 C8 C8 00 ……E…N……
0020 00 50 04 0B 00 50 00 15 33 FB 6F CC C1 E0 50 I8 .P…P…3.…P
0030 22 38 2B D1 00 00 47 45 54 20 2F 2E 2E 25 63 31 *8+…GET/..9C1
0040 25 39 63 2E 2F 79 69 6E 6E 74 21 73 79 73 74 99C../winnt/syst
0050 65 6d 33 32 2f 63 6d 64 2e 65 78 65 20 48 54 54 em32/cmd.exeHTT
協議分析及檢測過程如下:
根據以太網協議規則,第13、14個字節為第三層網絡層協議標志,從而得知其值為“0800”,可見以太網幀數據區域中攜帶的協議是IP協議。
根據IP協議結構,第24字節處有1個字節的第四層傳輸層協議標志號,其值為“06”,可見IP包中封裝了TCP協議包。
TCP協議表明,在第35字節處有 4 個字節的應用層協議標志,其值為“0050”,十進制為80,該TCP數據包封裝了一個HTTP協議包。
HTTP數據包從17個字節是URL開始處,利用HTTP解析器讀取URL, 并還原為:GET/..%C1%9C../winnt/system32/cmd.exe獲得的此特征值后與特征庫內容比對,判斷是否存在攻擊行為。
3.3 基于協議分析的入侵檢測系統的特點和優越性分析
1)提高檢測效率:協議分析技術充分利用通信協議的結構特性,準確地定位檢測域,更有效地處理會話數據,可適用于高速網絡。
2)降低誤報率:協議解析大大降低了模式匹配IDS系統中常見的誤報現象。使用命令解析器可以確保一個特征串的實際意義被真正理解,辨認出串是不是攻擊或可疑的。
3)可以檢測出抗IDS躲避的攻擊:基于協議分析技術的IDS通過重裝數據包,可以檢測到利用IDS逃避技術的攻擊手段。
4 結束語
協議分析技術與模式匹配技術的結合,減少了需要匹配的數據包數量和長度,既提高了檢測效率和準確率又保留了模式匹配的優點。并且對逃避傳統入侵檢測系統的攻擊方式的檢測也很有效。基于協議分析的入侵檢測系統,具有準確高效的優點,適合目前高速網絡環境的入侵檢測要求。
參考文獻:
[1] 羅桂瓊.基于協議分析的入侵檢測系統[J].電腦與信息技術,2005,13(4):56-59.
[2] DuBois P.MySQL網絡數據庫指南[M].北京:機械工業出版社,2000.
[3] 薛靜鋒,寧宇鵬,閻慧.入侵檢測技術[M].北京:機械工業出版社,2004.
[4] 美國國家安全局發布—信息保障技術框架(3.0 版)[C].北京:北京中軟電子出版社,2004.
[5] 戴英俠,連一峰,王航.系統安全與入侵檢測[M].北京:清華大學出版社,2002.