论文部分内容阅读
随着互联网的飞速发展,网络安全问题也日益严重。入侵检测技术是继传统安全保护措施之后出现的一种积极主动防御的新一代安全保障技术,而Snort是其中基于规则匹配的一种入侵检测系统。Snort首先分析提取出每一种入侵行为的特征,然后按照一定的规范将这些特征编写成规则以形成Snort规则数据库,最后通过将网络数据包同规则数据库中的规则进行匹配以完成入侵检测过程。在Snort系统中,规则匹配的效率是影响Snort性能的关键。研究表明,对Snort规则数据库中的规则进行预处理可以提高规则匹配效率。针对Snort规则的预处理流程,本文研究了如何将Snort规则转化为非确定性有限状态机、如何分组合并状态机以及如何把状态机映射入哈希表等三个关键问题,并在此基础上:①提出了一种基于pcre库构造非确定性有限状态机的方法以处理Snort规则中大量使用的pcre选项中的一些特殊语法;②设计了一种状态机分组算法,依据状态机的特征对其进行分组合并以减少状态机的数量,从而间接减少需要进行精确匹配的状态机数量,进一步提高规则匹配的效率;③设计了一种低冲突率的哈希映射算法,该算法实现了对具有某个特征的状态机进行快速定位,同时又能够保证哈希表具有尽可能低的冲突率。实验结果表明算法是有效的。