1 BM算法研究
1977年Boyer和Moore提出了一種全新的算法,即BM算法。它的特點(diǎn)在于匹配過程中,模式從左向右移動,但字符比較卻從右向左進(jìn)行。其基本算法思想是:(1)匹配從右至左進(jìn)行。(2)若匹配失敗發(fā)生在Pi≠Ti且Ti不出現(xiàn)在模式P中,則將模式右移直到Pi位于匹配失敗位置T的右邊第一位(即Ti 1位),若Ti在P中有若干地方出現(xiàn),則選擇j=max{k|Pk=Ti}即通過Skip函數(shù)計(jì)算文本字符Ti失配時(shí)模式向右移動的距離,也稱壞字符啟發(fā)。(3)若模式后面k位與文本T中一致的部分有一部分在P中其他地方出現(xiàn),則可以將P向右移動,直接使這部分對齊,且要求這一部分盡可能大,Shift函數(shù)通過對已經(jīng)匹配部分的考查決定模式向右移動的距離,也稱好后綴啟發(fā)。
實(shí)例分析:
第1次匹配:
Example
here is a simple example
第2次匹配(壞字符啟發(fā)):
Example
here is a simple example
第3次匹配(壞字符啟發(fā)):
Example
here is a simple example
第4次匹配(好后綴啟發(fā)):
Example
here is a simple example
第5次匹配(壞字符啟發(fā)):
Example
here is a simple example
BM算法預(yù)處理時(shí)間復(fù)雜度為O(m s),空間復(fù)雜度為O(s),s是與P, T相關(guān)的有限字符集長度,搜索階段時(shí)間復(fù)雜度為O(mn)。最壞情況下要進(jìn)行3n次比較,最好情況下的時(shí)間復(fù)雜度為O(n/m)。
2 改進(jìn)BM匹配算法研究
2.1 改進(jìn)的意義
綜合分析會發(fā)現(xiàn)雖然BM算法考慮較全面,但它使用了兩個(gè)數(shù)組,預(yù)處理時(shí)間開銷較大,于是在BM算法基礎(chǔ)上我們對其進(jìn)行了簡化,使得算法更簡單、高效,提出了一種改進(jìn)的BM算法。通過實(shí)驗(yàn)表明改進(jìn)的模式匹配算法能減少比較次數(shù),有效地提高了匹配效率。
2.2 改進(jìn)的原理
在BM算法匹配過程中,常出現(xiàn)模式的一部分后綴與文本匹配,而模式的前綴卻不匹配,在這種情況下,就進(jìn)行了一些不必要的比較。因此在BMGJ算法中,我們在對模式串與文本字符串進(jìn)行匹配時(shí)采用從模式兩端向中間位置交替的匹配順序,模式匹配先從模式最右端Pm開始進(jìn)行。若Pm匹配不成功,則通過Skip函數(shù)計(jì)算出模式向右移動的距離,這與BM算法中壞字符啟發(fā)思想相同;若Pm匹配成功,則比較模式P1與文本中相應(yīng)的字符。若P1匹配不成功,則考查文本中與模式中Pm下一個(gè)字符對齊的字符,若該字符不出現(xiàn)在模式中,則模式可以向右移動m 1個(gè)位置,若該字符出現(xiàn)在模式中,則計(jì)算其Skip函數(shù),然后將模式向右移動相應(yīng)的長度;若P1匹配成功,則按上述方法依次對Pm-1,P2,Pm-2,P3,…進(jìn)行匹配,依此類推,直到匹配過程完成。實(shí)例分析:
經(jīng)過多次匹配實(shí)驗(yàn),結(jié)果顯示改進(jìn)后的BM算法進(jìn)行模式匹配時(shí)字符比較次數(shù)、匹配時(shí)間均少于原BM算法,匹配效率有所提高。
3 結(jié)語
隨著網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大和入侵手段的不斷更新,對入侵檢測也提出了更高的要求。目前,BM算法還是入侵檢測系統(tǒng)中主要使用的模式匹配方法,而它本身存在的一些問題使其還是有改進(jìn)的余地,本文對其進(jìn)行了改進(jìn),并且通過實(shí)驗(yàn)結(jié)果分析得出改進(jìn)以后在匹配效率的提高。以后我們還可以在檢測引擎中結(jié)合其他智能化的檢測方法,如協(xié)議分析、神經(jīng)網(wǎng)絡(luò)、遺傳算法等,這將是我們下一步研究的重點(diǎn)。
參考文獻(xiàn)
`1`?谷曉鋼,江榮安,趙銘偉.Snort的高效規(guī)則匹配算法`J`.計(jì)算機(jī)工程,2006,(18).
`2`?唐正軍.入侵檢測技術(shù)導(dǎo)論(第一版)`M`.北京:機(jī)械工業(yè)出版社,2004.
`3`?邊肇祺,閻平凡,楊存榮.模式識別(第一版)`M`.北京:清華大學(xué)出版社,1988.
`4`?郭軍,笹尾勤.入侵檢測中模式匹配算法的FPGA實(shí)現(xiàn)`J`.科技創(chuàng)新導(dǎo)報(bào),2007,(14).
以上是關(guān)于論入侵檢測系統(tǒng)的研究與改進(jìn)已公布的相關(guān)信息,請自考生們認(rèn)真查看,如果你想獲取最新的江蘇自考新聞或者江蘇自考問題答疑,可以掃描江蘇自考網(wǎng)公眾號二維碼,我們會最第一時(shí)間內(nèi)為你解答。
?自考有疑惑或想進(jìn)學(xué)習(xí)群,請聯(lián)系江蘇自考網(wǎng)客服