《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 利用動態(tài)規(guī)則集和協(xié)議分析提高入侵檢測效率

利用動態(tài)規(guī)則集和協(xié)議分析提高入侵檢測效率

2008-04-25
作者:路松峰,許傳明

  摘 要: 入侵檢測" title="入侵檢測">入侵檢測作為一種計(jì)算機(jī)系統(tǒng)安全監(jiān)測手段,已經(jīng)成為維護(hù)網(wǎng)絡(luò)安全的主要技術(shù)之一。提出了一種新的模式匹配" title="模式匹配">模式匹配方法,即基于動態(tài)規(guī)則集和協(xié)議分析" title="協(xié)議分析">協(xié)議分析的模式匹配,它能縮短模式匹配的時(shí)間,極大地提高了入侵檢測效率,為入侵檢測理論研究和相關(guān)產(chǎn)品研發(fā)提供了參考。
  關(guān)鍵詞: 入侵檢測 動態(tài)規(guī)則集 協(xié)議分析 模式匹配


  入侵檢測系統(tǒng)" title="入侵檢測系統(tǒng)">入侵檢測系統(tǒng)IDS(Intrusion Detection System)是近年出現(xiàn)的新型網(wǎng)絡(luò)安全系統(tǒng),它能夠發(fā)現(xiàn)入侵并且對其作出反應(yīng),如報(bào)警、事件記錄、終止惡意程序和斷開網(wǎng)絡(luò)等,為網(wǎng)絡(luò)安全提供實(shí)時(shí)保障。IDS通常是根據(jù)已知攻擊方式構(gòu)建規(guī)則特征庫,抓取數(shù)據(jù)包,然后基于特征逐條模式匹配,匹配成功則說明有入侵發(fā)生,否則繼續(xù)下一個(gè)數(shù)據(jù)包的處理。將模式匹配應(yīng)用于入侵檢測是由Sandeep Kumar最先提出的[4]
  IDS的主要性能參數(shù)有兩個(gè):誤報(bào)率和漏報(bào)率。誤報(bào)率又叫虛警率,是指IDS在檢測時(shí)出現(xiàn)虛警的概率;漏報(bào)率是指本來應(yīng)該報(bào)警卻沒有報(bào)警的概率。
1 動態(tài)規(guī)則集和協(xié)議分析
1.1 目前模式匹配中的問題

  隨著網(wǎng)絡(luò)的發(fā)展,攻擊代碼不斷衍生,例如phf攻擊將“/cgi-bin/phf”改變?yōu)椤?cgi-bin/xxx/../phf”或“\cgi-bin\phf”等,攻擊方式也越來越多樣,如沖擊波、振蕩波等。新的漏洞不斷被發(fā)現(xiàn),不得不增多規(guī)則條目來完善IDS的規(guī)則庫,這將使IDS的處理負(fù)荷增加。規(guī)則集的膨脹和網(wǎng)絡(luò)流速的提高,使得IDS來不及處理每一個(gè)數(shù)據(jù)包,致使丟包不可避免。所丟的包中的攻擊100%被漏報(bào),導(dǎo)致漏報(bào)率增大。網(wǎng)絡(luò)流速的單位為pps(packet per second)。
  目前的IDS都是采用靜態(tài)規(guī)則集,存在很多弊端:如果規(guī)則集大而全面,在理想的條件下,降低了漏報(bào)率,但是實(shí)際中反而增加了漏報(bào)率。因?yàn)橐?guī)則集膨脹,模式匹配所耗時(shí)間增大,處理負(fù)荷線性增加[3],網(wǎng)絡(luò)流速超出IDS的處理能力" title="處理能力">處理能力時(shí),有些數(shù)據(jù)包來不及進(jìn)行模式匹配,導(dǎo)致丟包,特別是在高速網(wǎng)絡(luò)下,導(dǎo)致大量丟包,漏報(bào)率明顯增大。
  顯然,各攻擊出現(xiàn)的概率存在較大差異,有些攻擊每天都可能發(fā)生,有些攻擊一年甚至多年才可能發(fā)生一次。因此可以根據(jù)概率對規(guī)則集進(jìn)行排序,在模式匹配時(shí)優(yōu)先匹配那些概率大的規(guī)則。另外,大部分的攻擊都不是孤立產(chǎn)生的,相互之間存在著某種聯(lián)系,這種聯(lián)系多為依賴性,即存在先后關(guān)系,如80端口被掃描,就有可能發(fā)生CGI攻擊。
  多數(shù)IDS都忽略了這種概率性和依賴性,從而暴露出模式匹配所消耗的時(shí)間資源太大,浪費(fèi)大量不必要的時(shí)間。針對這個(gè)問題,本文參照參考文獻(xiàn)[2]中提到的動態(tài)規(guī)則集[2],提出利用動態(tài)規(guī)則集和協(xié)議分析來提高模式匹配效率。
1.2 動態(tài)規(guī)則集
  所謂動態(tài)規(guī)則集,其動態(tài)性有兩種含義:
  (1)建立一個(gè)動態(tài)規(guī)則調(diào)整策略,它可以獲得網(wǎng)絡(luò)流速和IDS的處理能力,然后根據(jù)相應(yīng)的策略來動態(tài)調(diào)整規(guī)則集的范圍。當(dāng)網(wǎng)絡(luò)流速大于靜態(tài)規(guī)則集IDS處理能力時(shí),目前的IDS會丟掉來不及處理的數(shù)據(jù)包,特別是網(wǎng)絡(luò)流速很大時(shí),會產(chǎn)生大量丟包,導(dǎo)致較大的漏報(bào)率。而動態(tài)規(guī)則調(diào)整策略則是把一些長期沒有匹配成功過的規(guī)則,特別是一些多年才可能匹配成功一次的規(guī)則和一些已經(jīng)荒廢的規(guī)則過濾。這就使IDS在模式匹配時(shí)不與這些小概率規(guī)則匹配。這樣,雖然有可能帶來一些漏報(bào)率,但是相對于前一種方法來說,它帶來的漏報(bào)率要低很多,使IDS在當(dāng)前流速下獲得最佳性能。當(dāng)網(wǎng)絡(luò)流速小于靜態(tài)規(guī)則集IDS處理能力時(shí),根據(jù)動態(tài)規(guī)則調(diào)整策略將規(guī)則集的范圍擴(kuò)大到全規(guī)則,在此規(guī)則集上進(jìn)行模式匹配,可使系統(tǒng)資源得到充分利用,也使IDS獲得了當(dāng)前流速下的最佳性能。
  (2)規(guī)則格式如圖1所示,規(guī)則格式中有兩項(xiàng),分別為長期概率和短期概率。長期概率有個(gè)初始默認(rèn)值,是IDS研發(fā)人員經(jīng)過大量真實(shí)數(shù)據(jù)測試得出的,它是該規(guī)則在固定時(shí)間內(nèi)出現(xiàn)的平均次數(shù)值,短期概率初始值為0。IDS安裝后,如果某個(gè)規(guī)則被匹配成功一次,則將短期概率加1,設(shè)定一個(gè)時(shí)間門檻T,在時(shí)間到達(dá)T后,計(jì)算長期概率×1/4+短期概率的值,然后賦給長期概率,短期概率清零,也就是動態(tài)更新長期概率和短期概率,使之與本地的網(wǎng)絡(luò)背景不斷接近。通常,T的值不能太小,因?yàn)樘〉腡值不能真實(shí)反映本地網(wǎng)絡(luò)背景的特點(diǎn)。之所以沒有把長期概率+短期概率的值賦給長期概率,是因?yàn)槎唐诟怕时乳L期概率更能真實(shí)地反映本地的網(wǎng)絡(luò)背景,短期概率優(yōu)先級別大于長期概率。
  在圖1中,后續(xù)規(guī)則1~5這五項(xiàng)是用來記錄這些規(guī)則被匹配成功之后常出現(xiàn)的后續(xù)攻擊所對應(yīng)的規(guī)則編號,這些編號也是IDS研發(fā)人員經(jīng)過推斷以及大量真實(shí)數(shù)據(jù)測試得出的。在IDS中可以定義六個(gè)變量:ID、ID1、ID2、ID3、ID4和ID5。ID為上一個(gè)被匹配成功的規(guī)則編號,ID1、ID2、ID3、ID4和ID5為對應(yīng)規(guī)則編號ID的五個(gè)后續(xù)規(guī)則編號。IDS發(fā)現(xiàn)一個(gè)攻擊后,用這六個(gè)變量分別記錄規(guī)則編號和五個(gè)后續(xù)規(guī)則編號,在下一個(gè)數(shù)據(jù)包獲取后,先將數(shù)據(jù)包分別與規(guī)則編號為ID1、ID2、ID3、ID4和ID5的規(guī)則匹配,如有匹配成功則報(bào)警,否則繼續(xù)下一步匹配。直到有一個(gè)數(shù)據(jù)包被匹配成功時(shí),才將新的規(guī)則編號和五個(gè)后續(xù)規(guī)則編號分別賦給ID、ID1、ID2、ID3、ID4和ID5。


1.3 協(xié)議分析
  在以網(wǎng)絡(luò)為主的入侵檢測系統(tǒng)中,由于把通過網(wǎng)絡(luò)獲得的數(shù)據(jù)包作為偵測的資料來源,所以數(shù)據(jù)包在網(wǎng)絡(luò)傳輸中必須遵循固定的協(xié)議才能在計(jì)算機(jī)之間相互溝通,因此可以按照協(xié)議類別對規(guī)則集進(jìn)行分類。
  協(xié)議分析的原理就是根據(jù)現(xiàn)有的協(xié)議模式,到固定的位置取值(而不是逐一地去比較),然后根據(jù)取得的值判斷其協(xié)議以及實(shí)施下一步分析動作。其作用十分類似于郵局的郵件自動分撿設(shè)備,有效地提高了分析效率,同時(shí)還可以避免單純模式匹配帶來的誤報(bào)。
  根據(jù)以太網(wǎng)的幀結(jié)構(gòu)定義,在以太幀的第13個(gè)字節(jié)處包含2字節(jié)的第三層協(xié)議標(biāo)識,0800為IP協(xié)議,0806為ARP協(xié)議,8138為NOVELL協(xié)議等。在IP數(shù)據(jù)包的格式定義中,第10個(gè)字節(jié)為第四層協(xié)議標(biāo)識,如:TCP為06,UDP為11,ICMP為01等。而TCP數(shù)據(jù)包的第3、第4個(gè)字節(jié)為應(yīng)用層協(xié)議標(biāo)識(端口號),如80為HTTP協(xié)議,21為FTP協(xié)議,23為TELNET協(xié)議等。
  根據(jù)以上特點(diǎn),可以將協(xié)議分析算法用一棵協(xié)議分類樹來表示,如圖2所示。


  這樣,當(dāng)IDS進(jìn)行模式匹配時(shí),利用協(xié)議分析過濾許多規(guī)則,可以節(jié)省大量的時(shí)間。在所有規(guī)則中又是關(guān)于TCP的規(guī)則最多,大約占了50%以上,因此在初步分類后,可以按照端口進(jìn)行第二次分類。在兩次分類完成后,可以快速比較特征庫中的規(guī)則,減少大量不必要的時(shí)間消耗。如有必要,還可進(jìn)行多次分類,盡量在規(guī)則樹上分叉,盡可能地縮減模式匹配的范圍。圖2就是對協(xié)議的多次分類。
1.4 基于動態(tài)規(guī)則集和協(xié)議分析的模式匹配算法設(shè)計(jì)
  基于動態(tài)規(guī)則集和協(xié)議分析的模式匹配算法包括以下六個(gè)主要步驟:(1)數(shù)據(jù)包獲取和流速測試;(2)根據(jù)網(wǎng)絡(luò)流速與IDS處理能力確定規(guī)則集范圍;(3)協(xié)議分析,將規(guī)則分類,過濾掉無需匹配的規(guī)則集;(4)概率策略選擇,將需要匹配的剩余規(guī)則集按概率降序排列;(5)取出上一條匹配成功的規(guī)則的五個(gè)后續(xù)規(guī)則編號,將數(shù)據(jù)包依次與其匹配,若匹配成功則報(bào)警,并將短期概率加1,否則繼續(xù)下一步;(6)與按照概率策略算法所得的規(guī)則集進(jìn)行模式匹配,若成功則報(bào)警,并將短期概率加1,否則,返回步驟1重新開始下一數(shù)據(jù)包的處理。
  綜上所述,可以給出整個(gè)模式匹配的流程圖,如圖3所示。


  從圖3中可以看出,概率策略選擇有三種方案:長期概率優(yōu)先,短期概率優(yōu)先和綜合折中。很明顯,長期概率優(yōu)先機(jī)制在排序時(shí)考慮了短期概率,但是效果不明顯,忽略了短期概率的重要性;同樣,短期概率優(yōu)先機(jī)制忽略了長期概率的重要性;而綜合折中機(jī)制綜合考慮了長期概率和短期概率的重要性,是其中最佳的方案。
2 性能比較分析
  實(shí)際的測試是在實(shí)驗(yàn)室進(jìn)行的,根據(jù)自定義的測試攻擊數(shù)據(jù)和規(guī)則庫,利用Smartbits設(shè)備制造背景流量(平均幀長為128字節(jié)),在C++語言的環(huán)境下編譯程序,針對不同的網(wǎng)絡(luò)流速進(jìn)行測試。
  根據(jù)程序中所設(shè)的計(jì)數(shù)器,在不同網(wǎng)絡(luò)流速下測試不同方案的臨界丟包點(diǎn),也就是程序所處理的數(shù)據(jù)包個(gè)數(shù)開始小于網(wǎng)絡(luò)背景流量時(shí)的流速,測試的臨界丟包點(diǎn)如表1所示。
  采用不同方案的IDS在不同網(wǎng)絡(luò)流速下對已知攻擊測得的漏報(bào)率如圖4所示。

?


  在圖4中,11萬pps是IDS采用靜態(tài)規(guī)則集的處理能力,30萬pps是采用動態(tài)規(guī)則集的處理能力,43萬pps是采用協(xié)議分析的處理能力,61萬pps是采用動態(tài)規(guī)則集和協(xié)議分析的處理能力。
  由于攻擊數(shù)據(jù)是已知攻擊,不存在未知攻擊,所以網(wǎng)絡(luò)流速低于11萬pps時(shí),已知攻擊的漏報(bào)率是0%。由圖4可以看出,不管采用何種方案,網(wǎng)絡(luò)流速小于11萬pps時(shí),漏報(bào)率保持不變。比較各方案的性能,可得出如下結(jié)論:
  (1)采用靜態(tài)規(guī)則集的IDS:網(wǎng)絡(luò)流速大于11萬pps時(shí)開始出現(xiàn)丟包,導(dǎo)致漏報(bào)率增大。
  (2)采用動態(tài)規(guī)則集的IDS:網(wǎng)絡(luò)流速大于11萬pps小于30萬pps時(shí),沒有丟包,但是由于動態(tài)調(diào)整了規(guī)則集的范圍,過濾掉了一些小概率規(guī)則,導(dǎo)致漏報(bào)率稍微增大,這種方案比第一種方案帶來的性能損失要?。痪W(wǎng)絡(luò)流速大于30萬pps后開始丟包,漏報(bào)率增大。
  (3)采用協(xié)議分析的IDS:網(wǎng)絡(luò)流速大于11萬pps小于43萬pps時(shí)沒有丟包,但是由于協(xié)議分析過程中不能完全正確地分類,漏報(bào)率稍微增大;網(wǎng)絡(luò)流速大于43萬pps后開始丟包,漏報(bào)率增大。
  (4)采用動態(tài)規(guī)則集和協(xié)議分析的IDS:網(wǎng)絡(luò)流速大于11萬pps小于61萬pps時(shí),沒有丟包,但是由于動態(tài)調(diào)整了規(guī)則集的范圍和協(xié)議分析過程中不能完全正確地分類,漏報(bào)率稍微增大;網(wǎng)絡(luò)流速大于61萬pps后開始出現(xiàn)丟包,漏報(bào)率增大。
  假設(shè)未知攻擊占所有攻擊的百分比為a,未知攻擊的漏報(bào)率b為100%,已知攻擊的漏報(bào)率為c,如圖4中的縱坐標(biāo),則可以計(jì)算出實(shí)際的漏報(bào)率為P=a*b+(1-a)*c, P=a+(1-a)*c,其中0≤a≤1,b=1,0≤c≤1。
  綜上所述,采用動態(tài)規(guī)則集與協(xié)議分析結(jié)合的方案能夠極大地提高IDS的處理能力,在不影響誤報(bào)率的條件下,大大降低了漏報(bào)率,提高了IDS的性能,使得IDS能夠適應(yīng)不同流速的網(wǎng)絡(luò)。
  本論文提出了利用動態(tài)規(guī)則集和協(xié)議分析來提高入侵檢測效率。這種方案主要是通過協(xié)議分析縮小了模式匹配的規(guī)則集,并把規(guī)則集按照概率降序排序,優(yōu)先匹配概率高的規(guī)則,從而極大地提高了模式匹配的效率,節(jié)省了不必要的匹配時(shí)間,解決了規(guī)則集不斷膨脹而導(dǎo)致IDS性能下降的問題。
參考文獻(xiàn)
1 Kumar G.Classification and detection of computer intrusion[D].Purdue University,1995
2 李朔峰,李雪瑩,許榕生.運(yùn)用動態(tài)規(guī)則集機(jī)制改善IDS性能的研究[J].計(jì)算機(jī)工程與應(yīng)用,2003;(34):139~141
3 閆 巧,喻建平,謝維信.入侵檢測系統(tǒng)的可信問題[J].計(jì)算機(jī)研究與發(fā)展,2003;(8):1203~1208

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。