论文部分内容阅读
本文主要围绕着开放源码的入侵检测系统Snort中模式匹配算法展开的一系列的工作。
首先,从Snort系统入手,分析此系统工作的原理,介绍特征分析和协议分析。重点对系统中规则的格式作描述,因为它是模式匹配的基础,并对模式匹配的发展及应用作介绍。
然后,进入模式匹配算法的具体研究阶段,分别对重点的单模式匹配算法与多模式匹配算法进行分析。详细说明各算法的工作方式,给出相应的算法,并举例、作图进行分析。选取的单模式匹配算法有:朴素的模式匹配算法、无回溯的KMP(Knuth-Morris-Pratt)模式匹配算法、BM(Boyer-Moore)模式匹配算法及BMH(Boyer-Moore-Horspool)模式匹配算法。多模式匹配算法有:AC(Aho-Corasick)多模式匹配算法和ACBM多模式匹配算法。
接下来,对两种较优的单模式匹配算法BM算法和BMH算法进行分析和比较,以便找出性能相对完善的一种,应用到多模式匹配算法中去。在实验过程中,分别分析了两种算法在不同长度模式下的比较次数,BM算法进行预处理的比较次数及两种算法的执行时间。然后,将BMH算法应用到多模式匹配算法中去,此代码经调试已经实现,并与ACBM算法进行比较,其性能优于ACBM算法。
最后,指出今后研究的工作和努力的方向。