论文部分内容阅读
随着当前社会计算机网络的高速发展,入侵检测系统受到越来越多的关注。入侵检测系统的核心——模式匹配算法,也成为当前研究的重点和难点。然而,目前运用在深度包检测中的模式匹配技术,基本是基于软件实现的。现代社会网络带宽呈几何态势增长,基于软件的模式匹配技术的匹配性能越来越阻碍了整个检测系统处理速度的提升。在此现实背景下,基于硬件的模式匹配技术应运而生。 论文首先对入侵检测系统进行了简单概述,同时对基于软件和基于硬件的模式匹配技术进行了介绍。然后论文介绍了Bloom Filter的原理,分析了其假阳性误判率、哈希函数个数以及位数组大小的影响因素。同时,论文对Bloom Filter硬件条件下的理想哈希函数进行了分析和选择,根据选择的H3哈希函数类的向量变换特性和矩阵计算特性,实现了一种可以计算窗口两倍长度哈希值的Bloom Filter。实验证明,改进的Bloom Filter逻辑资源消耗明显减少。 过滤匹配模块的设计目的是去掉绝大多数不可能匹配的字符,但是其存在一定的假阳性误判,此时需要进行精确匹配。为消除AC算法需要多次访问外部存储器的缺陷,论文实现了一种基于k步长状态机的多模式匹配引擎。Aho-Corasick算法匹配每个字符都需要访问存放在外部RAM中的状态机,而k步长状态机在匹配每k个字符时才需要访问外部RAM,这种方式让系统处理性能大大提升。然后论文通过实验验证了模式串平均长度、模式串数目以及步长k对匹配时间的影响。 论文用Verilog语言描述快速多模式匹配引擎的硬件实现,对系统的整体结构、工作流程做了深入研究探讨,介绍了匹配引擎主要模块:移位模块、过滤匹配模块、精确匹配控制模块以及接口控制模块的设计方法。根据实际应用中发生匹配概率不高的情况,采用流水线技术对匹配引擎进行了优化。“Bloom Filter+流水线”的技术使得进入流水线的数据不需要逐个等待过滤匹配模块的匹配结果,安全数据经过过滤匹配模块和流水线能够被迅速过滤。当过滤匹配模块命中时,流水线停止,再逐个匹配流水线中数据,匹配结束之后,重新开启流水线,这种处理方式使引擎效率显著提升。论文在最后对匹配引擎逻辑资源消耗进行了分析,对使用流水线技术优化后的匹配引擎进行仿真,同时实验论证文本串中所含模式串比例对系统吞吐量的影响。