張 俊 鐘樂海
摘要:IPv6技術(shù)是下一代互聯(lián)網(wǎng)的技術(shù)核心,對IPv6網(wǎng)絡(luò)入侵檢測系統(tǒng)的研究與下一代網(wǎng)絡(luò)的安全技術(shù)緊密相關(guān)。在分析網(wǎng)絡(luò)安全系統(tǒng)的基本原理和IPv6網(wǎng)絡(luò)的主要特點之后,提出了一種基于IPv6網(wǎng)絡(luò)入侵檢測系統(tǒng)的框架,同時采用了改進的KMP算法和蜜罐技術(shù)。
關(guān)鍵詞:IPv6;網(wǎng)絡(luò)入侵檢測;模式匹配;蜜罐技術(shù)
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)18-2pppp-0c
Research of Network Intrusion Detection System Based on IPv6 Environment
ZHANG Jun,ZHONG Le-hai
(College of Computer Science, China West Normal University,Nanchong 637002,China)
Abstract: IPv6 will be the core technology in the next generation Internet. Therefore, the study on intrusion detection system in IPv6 is closely linked with the next generation Internet .After analyzing the fundamentals of network security system today and the primary characteristics of IPv6,a framework of intrusion detection system in IPv6 was put forward. A pattern matching by using improved KMP, and using Honeypot technology.
Key words:IPv6;network intrusion detection;pattern matching;Honeypot technology
1 引言
防火墻作為一種邊界安全設(shè)施能比較有效地保護網(wǎng)絡(luò)內(nèi)部的非法訪問。由于傳統(tǒng)防火墻所暴露出來的不足和弱點,引發(fā)了人們對入侵檢測系統(tǒng)(IDS)技術(shù)的研究和開發(fā)。入侵檢測系統(tǒng)為網(wǎng)絡(luò)安全提供實時的入侵檢測及采取相應(yīng)的防護手段。隨著下一代網(wǎng)絡(luò)的發(fā)展,IPv6提供了較好的安全體系結(jié)構(gòu),IPv6安全機制的引進,增強了網(wǎng)絡(luò)層的安全性。同時,IPv6安全機制的應(yīng)用對現(xiàn)有的網(wǎng)絡(luò)安全體系也提出了新的要求和挑戰(zhàn)。由于入侵手法層出不窮,入侵檢測系統(tǒng)很難檢測到新的入侵行為,蜜罐技術(shù)的引入能夠很好的解決這一問題。
入侵檢測是指通過對行為、安全日志或?qū)徲嫈?shù)據(jù)或其它網(wǎng)絡(luò)上可以獲得的信息進行操作,檢測到系統(tǒng)的闖入或闖入的企圖。入侵檢測技術(shù),它是一種主動保護自己免受黑客攻擊的新型網(wǎng)絡(luò)安全技術(shù),進行入侵檢測的軟件與硬件的組合便是入侵檢測系統(tǒng)[1]。
Spitzner認為,蜜罐是一個信息系統(tǒng)資源,其價值就在于它的資源被未授權(quán)或非法使用。蜜罐系統(tǒng)通過偽裝成帶有漏洞的真實系統(tǒng)來吸引黑客進入,并記錄黑客在其中的活動。我們通過分析蜜罐記錄的數(shù)據(jù)就可以很輕松的了解到黑客的動向及其使用的新方法等信息。本文引入蜜罐技術(shù)是為了記錄黑客行為,提取出入侵規(guī)則,把新的入侵規(guī)則添加到入侵檢測系統(tǒng)的規(guī)則庫中,從而使入侵檢測系統(tǒng)能夠檢測出新的入侵行為。
由于IPSec作為IPv6的下一代互聯(lián)網(wǎng)的必選協(xié)議,它從協(xié)議上保證了數(shù)據(jù)傳輸?shù)陌踩?。該協(xié)議定義了認證報頭和封裝安全載荷報頭,實現(xiàn)了基于網(wǎng)絡(luò)層的身份認證,確保了數(shù)據(jù)包的完整性和機密性,在一定程度上實現(xiàn)了網(wǎng)絡(luò)層安全[2]。由于在IPv6環(huán)境下網(wǎng)絡(luò)的安全問題仍然突出,入侵檢測系統(tǒng)作為一種有效的網(wǎng)絡(luò)安全工具,它依然在IPv6環(huán)境下發(fā)揮著重要作用。
2 IPv6網(wǎng)絡(luò)入侵檢測系統(tǒng)結(jié)構(gòu)
入侵檢測系統(tǒng)廣泛采用成熟的模式匹配技術(shù),針對IPv6的特點,本系統(tǒng)采用將協(xié)議分析技術(shù)與規(guī)則
匹配技術(shù)相結(jié)合的IPv6網(wǎng)絡(luò)入侵檢測系統(tǒng)框架,使用改進的KMP算法來檢測入侵行為。IPv6網(wǎng)絡(luò)入侵檢
基金項目:四川省科技攻關(guān)資助項目(No:05GG009-018)
作者簡介:張?。?981-),女,河南洛陽人,西華師范大學計算機學院計算機應(yīng)用技術(shù)專業(yè)碩士研究生,研究方向:基于網(wǎng)絡(luò)的計算機應(yīng)用;鐘樂海(1963-),男,四川廣安人,博士,西華師范大學計算機學院教授,碩士導師,研究方向:計算機網(wǎng)絡(luò)應(yīng)用技術(shù)及信息安全技術(shù)
測的基本思想是:捕獲目標地址屬于受保護網(wǎng)絡(luò)的數(shù)據(jù)包,送往協(xié)議分析模塊,通過具體協(xié)議字段分層次協(xié)議,送往相應(yīng)協(xié)議解析器,分析數(shù)據(jù)包的數(shù)據(jù)部分,再根據(jù)特征庫中的模式進行模式匹配,判斷該數(shù)據(jù)包是否有入侵企圖,最后由響應(yīng)模塊對該數(shù)據(jù)包做出相應(yīng)的響應(yīng)[3],IPv6網(wǎng)絡(luò)入侵檢測系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 IPv6網(wǎng)絡(luò)入侵檢測系統(tǒng)結(jié)構(gòu)圖
2.1 數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊是底層模塊,它是網(wǎng)絡(luò)入侵檢測系統(tǒng)的基本組成部分,是實現(xiàn)整個入侵檢測系統(tǒng)的基礎(chǔ)。該模塊按一定的規(guī)則從網(wǎng)絡(luò)上獲取與安全事件相關(guān)的數(shù)據(jù)包,然后傳遞給協(xié)議解析模塊解析處理,為整個系統(tǒng)提供數(shù)據(jù)來源。
基于IPv6的網(wǎng)絡(luò)入侵檢測系統(tǒng)采用專門為數(shù)據(jù)監(jiān)聽應(yīng)用程序設(shè)計的庫文件WinPacp來實現(xiàn)包捕獲模塊,這樣可以不了解網(wǎng)絡(luò)的數(shù)據(jù)鏈路層細節(jié)。
WinPacp是基于BSD系統(tǒng)內(nèi)核提供的BPF設(shè)計的,利用BPF的信息過濾機制可以去掉用戶不關(guān)心的數(shù)據(jù)包,從而提高系統(tǒng)的工作效率[4]。
2.2 中層模塊
中層模塊是IPv6網(wǎng)絡(luò)入侵檢測系統(tǒng)的核心,它由協(xié)議解碼模塊和規(guī)則匹配模塊組成。協(xié)議解碼模塊是對捕獲的數(shù)據(jù)包進行協(xié)議解碼,解析成協(xié)議數(shù)據(jù)的格式,并分辨各個協(xié)議的頭部和負載,進一步分析出頭部中的各個字段;規(guī)則匹配模塊對協(xié)議解析模塊提交的數(shù)據(jù)進行匹配算法和規(guī)則庫中的規(guī)則進行比較分析,從而判斷是否有入侵行為。
2.3 高層模塊
高層模塊包括響應(yīng)模塊和界面管理模塊。當入侵檢測系統(tǒng)發(fā)現(xiàn)系統(tǒng)有入侵事件發(fā)生時,就要讓系統(tǒng)管理員等相關(guān)安全人員指導已經(jīng)有安全問題發(fā)生,并需要采取相應(yīng)的響應(yīng)措施。響應(yīng)模塊主要功能是對經(jīng)過檢測的數(shù)據(jù)包執(zhí)行具體的響應(yīng),是入侵檢測系統(tǒng)不可缺少的一部分。
從響應(yīng)的方式上分,入侵檢測系統(tǒng)的響應(yīng)可分為主動響應(yīng)和被動響應(yīng),本文采用主動響應(yīng)和被動響應(yīng)向結(jié)合的方式來對入侵行為做出響應(yīng)。
3 一種改進的模式匹配算法
匹配算法直接影響到系統(tǒng)的實時性能。從網(wǎng)絡(luò)數(shù)據(jù)包搜索入侵特征時,需要一個有效的字符串搜索算法。在字符串搜索算法中,最著名的是KMP(Knuth-Morris-Pratt)算法和BM(Boyer-Moore)算法[5]。這兩種算法在最壞的情況下具有線性的搜索時間,即計算時間復雜度為0(mn),m、n分別是位于欲匹配的字符串長度,而且還可能會出現(xiàn)多次回溯,算法效率太低,因此,我們對KMP算法進行了改進。
對KMP算法的改進的基本思想:當某趟匹配失敗時,i指針不必回溯,而是利用已經(jīng)得到的“部分匹配”結(jié)果,看看是否有必要將i的值進行調(diào)整,然后再將模式向右“滑動”若干位置后繼續(xù)比較。在此算法中需要計算一個失效函數(shù)next(j):當模式T 中的第j個字符與目標P中相應(yīng)字符失配時,模式T中應(yīng)當由哪個字符(設(shè)為第k個)與目標中剛失配的字符對齊繼續(xù)進行比較。我們發(fā)現(xiàn),對不同的j,k的取值,它僅依賴于模式T本身前j個字符的構(gòu)成,而與目標無關(guān)。算法的流程圖如圖2所示。
圖2 改進的KMP算法流程圖
設(shè)目標序列P的長度為m,模式序列T的長度為n,滑動系數(shù)為k。指針i和j分別指示主串目標序列和模式序列中的比較字符。根據(jù)改進的算法,對于字符串模式匹配實例P=“abaabc”和T=“abaabghjwabaabch”的匹配過程如下:
從文本的第9位開始比較,改進的KMP算法中的i不是保持不變,而是增加了,這就意味著加快了模式匹配的進度。應(yīng)用該算法在一定程度上加快了比較速度。
為了測試改進后的KMP算法的性能,我們使用賽門鐵克公司入侵防護工具(IPS)SNS-7610在一個局域網(wǎng)內(nèi)隨機采集數(shù)據(jù)。使用檢測規(guī)則,分別對改進前和改進后兩種算法進行了測試。測試時遞增使用匹配規(guī)則,對數(shù)據(jù)進行檢測。首先使用200條規(guī)則用于檢測數(shù)據(jù),然后每次增加50條規(guī)則,所得到的實驗數(shù)據(jù)如表1所示。
通過實驗證明,應(yīng)用改進后的KMP模式匹配算法,能夠減少一定量的比較時間,說明改進后的算法在一定程度上加快了比較速度。
4 蜜罐技術(shù)的加入
蜜罐(Honeypot)是一種在互聯(lián)網(wǎng)上運行的,目的是吸引攻擊者,并記錄下攻擊者的行為的計算機系統(tǒng)。它是專門為吸引并誘騙那些試圖非法闖入他人計算機系統(tǒng)的人(如電腦黑客)而設(shè)計的,該系統(tǒng)是一個包含漏洞的誘騙系統(tǒng),它通過模擬一個或多個易受攻擊的主機,給攻擊者提供一個容易供給的目標,從而得到相關(guān)信息以便檢測到攻擊,由于蜜罐并沒有向外界提供真正價值的服務(wù),因此所有的蜜罐的嘗試都被視為可疑的。蜜罐的另外一個用途就是拖延攻擊者對真正目標的攻擊,讓攻擊者在蜜罐上浪費時間[6]。
本文將蜜罐引入的目的是通過分析蜜罐記錄的數(shù)據(jù)提取入侵規(guī)則,有助于入侵檢測系統(tǒng)檢測出新的入侵行為,同時,入侵系統(tǒng)也為蜜罐過濾掉一些已知入侵,降低了數(shù)據(jù)分析的工作量。為了克服分布式蜜罐系統(tǒng)運行成本高,管理與配置復雜的缺點,我們提出了虛擬分布式蜜罐的思想。通過將多個蜜罐甚至防火墻安裝在一個物理機器上,就可以更好的模擬網(wǎng)絡(luò)。
本文實現(xiàn)了一種建立在User-Mode Linux(UML)上的虛擬分布式蜜罐系統(tǒng)。UML是一種建立在Linux基礎(chǔ)上的虛擬機,實質(zhì)是在Linux內(nèi)核上的一個補丁,是開放源代碼的,由Jeff Dike開發(fā)和維護[9]。UML允許在一臺Linux主機上同時運行多個UML的實例,即在一臺Linux主機上實現(xiàn)多個Linux虛擬機。UML有點像商業(yè)軟件Vmware,不過目前它只能用在Linux系統(tǒng)上。設(shè)計UML的目的包括:讓調(diào)試新的Linux內(nèi)核更加容易,運行有錯或者是有一定危險的程序,監(jiān)視內(nèi)核運行情況等,而且不會破壞宿主Linux系統(tǒng)(運行UML的Linux系統(tǒng))。
5 系統(tǒng)的實現(xiàn)及實驗結(jié)果
本系統(tǒng)是在Snort2.0.0的基礎(chǔ)上實現(xiàn)IPv6下的網(wǎng)絡(luò)入侵檢測。只有Nmap網(wǎng)絡(luò)安全掃描器支持IPv6掃描,Iperf能夠產(chǎn)生IPv6流量。為了進行測試,我們使用SendIP構(gòu)造各種隧道包和敏感信息的IPv6包發(fā)往被保護的網(wǎng)絡(luò),觀察NIDS的告警情況。對于IPv6的分段重組,我們用長ping進行測試(即指定ping包的長度,包長大于1500byte的IP將被分段)。Snort系統(tǒng)從網(wǎng)絡(luò)接口讀取數(shù)據(jù)包以后,首先根據(jù)數(shù)據(jù)鏈路層協(xié)議值來調(diào)用不同的解析函數(shù)來解析數(shù)據(jù)鏈路層協(xié)議,根據(jù)數(shù)據(jù)包中指向上層的協(xié)議值來調(diào)用不同的IP層解析函數(shù)。如果指向IP層協(xié)議值為0X0800,就調(diào)用DecodeIP()函數(shù)來解析IPv4協(xié)議;如果為0X86dd就調(diào)用DecodeIPv()函數(shù)來解析IPv6協(xié)議。
我們利用See5軟件對蜜罐捕獲的數(shù)據(jù)包中的數(shù)據(jù)提取規(guī)則,再將提取的入侵規(guī)則與NIDS中已有的規(guī)則進行比較,刪除與NIDS已有規(guī)則相同的規(guī)則,剩余的就是新規(guī)則,將其放入新規(guī)則庫中,以備入侵檢測系統(tǒng)擴充其規(guī)則庫之用。將新規(guī)則庫中的規(guī)則添加到NIDS規(guī)則庫中,增強了入侵檢測系統(tǒng)檢測新攻擊的能力。圖3為網(wǎng)絡(luò)入侵檢測與蜜罐技術(shù)的結(jié)合應(yīng)用。
實驗中,在使用Iperf在PC最大發(fā)包能力600Mbps,1460ByteUDP數(shù)據(jù)包的情況下,使用1500條規(guī)則,啟動網(wǎng)絡(luò)入侵檢測系統(tǒng),進行網(wǎng)絡(luò)監(jiān)聽。實驗結(jié)果如表2所示。
圖3 蜜罐技術(shù)與網(wǎng)絡(luò)入侵檢測相結(jié)合
表2 改進前后捕獲率和漏報率對比
我們使用改進的模式匹配算法和蜜罐技術(shù)后,網(wǎng)絡(luò)入侵檢測的系統(tǒng)地性能得到了提升,增強了檢測能力。改進后的系統(tǒng)經(jīng)驗證,可以穩(wěn)定高效的檢測網(wǎng)絡(luò)端口的流量,進行實時監(jiān)測報告。
6 結(jié)束語
雖然IPv6提供了較好的安全體系結(jié)構(gòu),但這些只是在IP層實現(xiàn)的,而對于IP層以上的一些缺陷和應(yīng)用程序的漏洞在IPv6中還不提供全面的保護。通過分析IPv6協(xié)議的特點及安全性能,提出了一種協(xié)議分析技術(shù)與模式匹配技術(shù)將結(jié)合的IPv6網(wǎng)絡(luò)入侵檢測體系結(jié)構(gòu),利用一種改進的模式匹配算法,來提高入侵檢測的速度,同時將蜜罐技術(shù)引入來彌補入侵檢測系的不足,在實際應(yīng)用中收到了較好的效果。
參考文獻:
[1]楊向榮,宋擒豹,深均毅.入侵檢測技術(shù)研究與系統(tǒng)設(shè)計[J].計算機工程與應(yīng)用,2001 (16):1-4.
[2]Pete Ldshin.IPv6詳解.機械工業(yè)出版社,2000年4月1日.
[3]李建武.基于IPv6網(wǎng)絡(luò)入侵檢測系統(tǒng)研究和設(shè)計[D].西安:西北工業(yè)大學,2005.
[4]David Morton.Understanding IPv6 [M].PC Network Advisor,May 1997.
[5]Knuth D E.Morris J H, Pratt V R.Fast pattern matching in strings [J].SIAM J ournal on Computing,1997,6(1):323-350.
[6]Lance Spilzner.Huneyyuls: Definiliuns and Value of Huneyyuls.http: //www.tra
cking-hacker. com/papers/honeypots.html,2003,05.
[7]Know Your Enemy:Honeynets[EB/OL].http://www.honeynet.org/ papers/honeynet,2005-05-12.
[8]薛強.網(wǎng)絡(luò)入侵檢測系統(tǒng)NIDS的新技術(shù)研究[D].天津大學,2005-06-06.
[9]User-Mode Linux,http://user-mode-linux.sourceforge.net.
收稿日期:2008-03-12
基金項目:四川省科技攻關(guān)資助項目(No:05GG009-018)
作者簡介:張?。?981-),女,河南洛陽人,西華師范大學計算機學院計算機應(yīng)用技術(shù)專業(yè)碩士研究生,研究方向:基于網(wǎng)絡(luò)的計算機應(yīng)用;鐘樂海(1963-),男,四川廣安人,博士,西華師范大學計算機學院教授,碩士導師,研究方向:計算機網(wǎng)絡(luò)應(yīng)用技術(shù)及信息安全技術(shù)。