论入侵检测系统的研究与改进
论入侵检测系统的研究与改进 论入侵检测系统的研究与改进论入侵检测系统的研究与改进
1 BM算法研究 实例分析:
第1次匹配:
Example
here is a simple example
第2次匹配:
Example
here is a simple example
第3次匹配:
Example
here is a simple example
第4次匹配:
Example
here is a simple example
第5次匹配:
Example
here is a simple example
BM算法预处理时间复杂度为O,空间复杂度为O,s是与P, T相关的有限字符集长度,搜索阶段时间复杂度为O。最坏情况下要进行3n次比较,最好情况下的时间复杂度为O。
2 改进BM匹配算法研究
2.1 改进的意义
综合分析会发现虽然BM算法考虑较全面,但它使用了两个数组ถ,预处理时间开销较大,于是在BM算法基础上我们对其进行了简化,使得算法更简单、高效,提出了一种改进的BM算法。通过实验表明改进的模式匹配算法能减少比较次数,有效地提高了匹配效率。
2.2 改进的原理 第1次匹配:
Example
here is a simple example
第2次匹配:
Example
here is a simple example
第3次匹配:
Example
here is a simple example
第4次匹配:
Example
here is a simple example
第5次匹配:
Example
here is a simple example 改进后的BM算法的预处理时间复杂度为O,空间复杂度为O,搜索阶段时间复杂度为O。该算法在比较右端字符失配时采用BM坏字符启发的思想,在比较了左端字符失配时采用ผ对文本中与模式最右端对齐的下一个字符进行考查的方法,使得大多数情况下具有比BM算法更大的右移长度,从而有更好的平均性能。
2.3 改进的实验分析
我们所做的实验软件环境主要是:采用的操作系统是MicroSoft Windows XP Professional,使用JBuilder2006编译工具,所用JDK为jdk1.6。
为了对各算法的性能进行比较次数和比较用时的测试,我们随机地选取了一段纯英文自然语T文本和模式串P,在同一台计算机上用不同算法进行3万、5万、10万次循环匹配,分别统计各算法循环匹配所进行的字符比较次数和总消耗的时间。
文本串:T=One day one pig went to a bar and the bar tender asked what can I get for you today and the pig said five beers. He drank up all the beer and then he asked were the bathroom was the bar tender said straight down the hall to the left. Then three more pigs came in and the bar tender asked what can I get you today.
模式串ภ:P= I get you today.
测试结果下表1所示:
经过多次匹配实验,结果显示改进后的BM算法进行模式匹配时字符比较次数、匹配时间均少于原BM算法,匹配效率有所提高。
3 结语
随着网络规模的不断扩大和入侵手段的不断更新,对入侵检测也提出了更高的要求。目前,BM算法还是入侵检测系统中主要使用的模式匹。配方法,而它本身存在的一些问题使其还是有改进的余地,本文对其进行了改进,并且通过实验结果分析得出改进以后在匹配效率的提高。以后我们还可以在检测引擎中结合其他智能化的检测方法,如协议分析、神经网络、遗传算法等,这将是我们下一步研究的重点。
参考文献 [2]?唐正军.入侵检测技术导ฐ论[M].北京:机械工业出版社,2004.
[3]?边肇祺,阎平凡,杨存荣.模式识别[M].北京:清华大学出版社,1988.
[4]?郭军,笹尾勤.入侵检测中模式匹配算法的FPGA实现[J].科技创新导报,2007,
.