《電子技術(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é)議分析的模式匹配,它能縮短模式匹配的時間,,極大地提高了入侵檢測效率,,為入侵檢測理論研究和相關(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í)時保障。IDS通常是根據(jù)已知攻擊方式構(gòu)建規(guī)則特征庫,,抓取數(shù)據(jù)包,,然后基于特征逐條模式匹配,匹配成功則說明有入侵發(fā)生,,否則繼續(xù)下一個數(shù)據(jù)包的處理,。將模式匹配應(yīng)用于入侵檢測是由Sandeep Kumar最先提出的[4]
  IDS的主要性能參數(shù)有兩個:誤報(bào)率和漏報(bào)率,。誤報(bào)率又叫虛警率,,是指IDS在檢測時出現(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來不及處理每一個數(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ī)則集膨脹,模式匹配所耗時間增大,,處理負(fù)荷線性增加[3],,網(wǎng)絡(luò)流速超出IDS的處理能力" title="處理能力">處理能力時,有些數(shù)據(jù)包來不及進(jìn)行模式匹配,,導(dǎo)致丟包,,特別是在高速網(wǎng)絡(luò)下,導(dǎo)致大量丟包,,漏報(bào)率明顯增大,。
  顯然,各攻擊出現(xiàn)的概率存在較大差異,,有些攻擊每天都可能發(fā)生,,有些攻擊一年甚至多年才可能發(fā)生一次。因此可以根據(jù)概率對規(guī)則集進(jìn)行排序,,在模式匹配時優(yōu)先匹配那些概率大的規(guī)則,。另外,大部分的攻擊都不是孤立產(chǎn)生的,,相互之間存在著某種聯(lián)系,,這種聯(lián)系多為依賴性,即存在先后關(guān)系,如80端口被掃描,,就有可能發(fā)生CGI攻擊,。
  多數(shù)IDS都忽略了這種概率性和依賴性,從而暴露出模式匹配所消耗的時間資源太大,,浪費(fèi)大量不必要的時間。針對這個問題,,本文參照參考文獻(xiàn)[2]中提到的動態(tài)規(guī)則集[2],,提出利用動態(tài)規(guī)則集和協(xié)議分析來提高模式匹配效率。
1.2 動態(tài)規(guī)則集
  所謂動態(tài)規(guī)則集,,其動態(tài)性有兩種含義:
  (1)建立一個動態(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處理能力時,,目前的IDS會丟掉來不及處理的數(shù)據(jù)包,特別是網(wǎng)絡(luò)流速很大時,,會產(chǎn)生大量丟包,,導(dǎo)致較大的漏報(bào)率。而動態(tài)規(guī)則調(diào)整策略則是把一些長期沒有匹配成功過的規(guī)則,,特別是一些多年才可能匹配成功一次的規(guī)則和一些已經(jīng)荒廢的規(guī)則過濾,。這就使IDS在模式匹配時不與這些小概率規(guī)則匹配。這樣,,雖然有可能帶來一些漏報(bào)率,,但是相對于前一種方法來說,它帶來的漏報(bào)率要低很多,,使IDS在當(dāng)前流速下獲得最佳性能,。當(dāng)網(wǎng)絡(luò)流速小于靜態(tài)規(guī)則集IDS處理能力時,根據(jù)動態(tài)規(guī)則調(diào)整策略將規(guī)則集的范圍擴(kuò)大到全規(guī)則,,在此規(guī)則集上進(jìn)行模式匹配,,可使系統(tǒng)資源得到充分利用,也使IDS獲得了當(dāng)前流速下的最佳性能,。
  (2)規(guī)則格式如圖1所示,,規(guī)則格式中有兩項(xiàng),分別為長期概率和短期概率,。長期概率有個初始默認(rèn)值,,是IDS研發(fā)人員經(jīng)過大量真實(shí)數(shù)據(jù)測試得出的,它是該規(guī)則在固定時間內(nèi)出現(xiàn)的平均次數(shù)值,,短期概率初始值為0,。IDS安裝后,如果某個規(guī)則被匹配成功一次,則將短期概率加1,,設(shè)定一個時間門檻T,,在時間到達(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中可以定義六個變量:ID、ID1,、ID2,、ID3、ID4和ID5,。ID為上一個被匹配成功的規(guī)則編號,,ID1、ID2,、ID3,、ID4和ID5為對應(yīng)規(guī)則編號ID的五個后續(xù)規(guī)則編號。IDS發(fā)現(xiàn)一個攻擊后,,用這六個變量分別記錄規(guī)則編號和五個后續(xù)規(guī)則編號,,在下一個數(shù)據(jù)包獲取后,先將數(shù)據(jù)包分別與規(guī)則編號為ID1,、ID2,、ID3、ID4和ID5的規(guī)則匹配,,如有匹配成功則報(bào)警,,否則繼續(xù)下一步匹配。直到有一個數(shù)據(jù)包被匹配成功時,,才將新的規(guī)則編號和五個后續(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è)備,,有效地提高了分析效率,同時還可以避免單純模式匹配帶來的誤報(bào),。
  根據(jù)以太網(wǎng)的幀結(jié)構(gòu)定義,,在以太幀的第13個字節(jié)處包含2字節(jié)的第三層協(xié)議標(biāo)識,0800為IP協(xié)議,,0806為ARP協(xié)議,,8138為NOVELL協(xié)議等。在IP數(shù)據(jù)包的格式定義中,,第10個字節(jié)為第四層協(xié)議標(biāo)識,,如:TCP為06,UDP為11,,ICMP為01等,。而TCP數(shù)據(jù)包的第3、第4個字節(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)行模式匹配時,利用協(xié)議分析過濾許多規(guī)則,,可以節(jié)省大量的時間,。在所有規(guī)則中又是關(guān)于TCP的規(guī)則最多,大約占了50%以上,,因此在初步分類后,,可以按照端口進(jìn)行第二次分類。在兩次分類完成后,可以快速比較特征庫中的規(guī)則,,減少大量不必要的時間消耗,。如有必要,還可進(jìn)行多次分類,,盡量在規(guī)則樹上分叉,,盡可能地縮減模式匹配的范圍。圖2就是對協(xié)議的多次分類,。
1.4 基于動態(tài)規(guī)則集和協(xié)議分析的模式匹配算法設(shè)計(jì)
  基于動態(tài)規(guī)則集和協(xié)議分析的模式匹配算法包括以下六個主要步驟:(1)數(shù)據(jù)包獲取和流速測試,;(2)根據(jù)網(wǎng)絡(luò)流速與IDS處理能力確定規(guī)則集范圍;(3)協(xié)議分析,,將規(guī)則分類,,過濾掉無需匹配的規(guī)則集;(4)概率策略選擇,,將需要匹配的剩余規(guī)則集按概率降序排列,;(5)取出上一條匹配成功的規(guī)則的五個后續(xù)規(guī)則編號,將數(shù)據(jù)包依次與其匹配,,若匹配成功則報(bào)警,,并將短期概率加1,否則繼續(xù)下一步,;(6)與按照概率策略算法所得的規(guī)則集進(jìn)行模式匹配,,若成功則報(bào)警,并將短期概率加1,,否則,,返回步驟1重新開始下一數(shù)據(jù)包的處理。
  綜上所述,,可以給出整個模式匹配的流程圖,,如圖3所示。


  從圖3中可以看出,,概率策略選擇有三種方案:長期概率優(yōu)先,,短期概率優(yōu)先和綜合折中。很明顯,,長期概率優(yōu)先機(jī)制在排序時考慮了短期概率,,但是效果不明顯,忽略了短期概率的重要性,;同樣,,短期概率優(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ù)包個數(shù)開始小于網(wǎng)絡(luò)背景流量時的流速,測試的臨界丟包點(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時,,已知攻擊的漏報(bào)率是0%。由圖4可以看出,,不管采用何種方案,,網(wǎng)絡(luò)流速小于11萬pps時,漏報(bào)率保持不變,。比較各方案的性能,,可得出如下結(jié)論:
  (1)采用靜態(tài)規(guī)則集的IDS:網(wǎng)絡(luò)流速大于11萬pps時開始出現(xiàn)丟包,導(dǎo)致漏報(bào)率增大,。
  (2)采用動態(tài)規(guī)則集的IDS:網(wǎng)絡(luò)流速大于11萬pps小于30萬pps時,,沒有丟包,但是由于動態(tài)調(diào)整了規(guī)則集的范圍,,過濾掉了一些小概率規(guī)則,,導(dǎo)致漏報(bào)率稍微增大,這種方案比第一種方案帶來的性能損失要??;網(wǎng)絡(luò)流速大于30萬pps后開始丟包,漏報(bào)率增大,。
  (3)采用協(xié)議分析的IDS:網(wǎng)絡(luò)流速大于11萬pps小于43萬pps時沒有丟包,,但是由于協(xié)議分析過程中不能完全正確地分類,漏報(bào)率稍微增大,;網(wǎng)絡(luò)流速大于43萬pps后開始丟包,,漏報(bào)率增大,。
  (4)采用動態(tài)規(guī)則集和協(xié)議分析的IDS:網(wǎng)絡(luò)流速大于11萬pps小于61萬pps時,沒有丟包,,但是由于動態(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é)省了不必要的匹配時間,,解決了規(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)和其它問題,,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。