论文部分内容阅读
随着网络技术的不断发展,网络安全问题日益突出。入侵检测系统作为一种主动防御的网络安全措施,对维护系统安全起到了至关重要的作用。在入侵检测系统中,对网络数据包净荷部分的检测已成为限制系统性能的瓶颈之一。早期检测主要利用软件实现,随着网络速度和模式集合规模的急剧增长,软件实现方法无法满足高速的网络需求,主流硬件检测方案通过状态机或树型结构实现,检测性能依赖于规则特征,且检测速度有待提高。针对以上问题,本文将用于包头检测的BV算法引入到净荷检测中,根据净荷检测的特点,将BV算法和过滤算法BF相结合,设计了用于净荷检测的BF-BV算法,解决了两种算法单独应用于净荷检测存在的问题。其次,对BF-BV算法中的BF算法进行了改进,有效提高了该算法的扩展性。本文所设计的BF-BV算法充分利用了硬件并行性,检测速度快,且不依赖于规则特征,同时支持规则集合的灵活更新及扩展,有效克服了已有硬件实现方案存在的问题。选用经典入侵检测系统Snort的规则集合,完成了BF-BV算法的硬件实现。根据集合特征,确定了系统的整体硬件实现方案,包括过滤模块、FIFO模块、控制模块和精确匹配模块四个部分。其中,过滤模块利用改进的BF算法对数据包净荷部分进行快速过滤,将疑似匹配的数据信息输出;FIFO模块用于缓存过滤模块产生的数据;控制模块通过解析过滤模块的数据信息,产生精确匹配模块的控制信号和数据;精确匹配模块利用改进的BV算法对疑似匹配数据完成精确匹配,确定攻击类型。然后对设计进行功能验证,利用C语言产生满足要求的待检测数据,将设计产生的检测结果与标准结果进行对比分析,检测结果准确无误。最后将设计映射到FPGA,搭建验证平台,对设计进行板级验证,验证结果表明基于BF-BV算法的检测引擎能够准确检测出攻击信息,吞吐率可达到4.8Gbps,与现有方法相比性能明显提升。