论文部分内容阅读
随着计算机互联网技术的飞速发展,计算机网络在给人们带来极大便利的同时,各种网络入侵与攻击也接踵而至,入侵检测系统就充当了抵御网络入侵的武器。一方面,随着计算机网络高速化的发展,如何提高入侵检测系统的检测速度,使其跟上网络快速发展的进程至关重要;另一方面,网络攻击技术和手段日益多样化,如何更加全面、准确地检测攻击行为,也对入侵检测系统的性能提出了更高的要求。网络入侵检测系统是运用字符串匹配算法来检测入侵行为的,因此选择合适的字符串匹配算法就成为了决定入侵检测系统性能的关键。本文正是在这种思路下研究和设计了高效的多模式字符串匹配算法—BSP-AC算法和D-AC算法。本文首先对入侵检测系统及其常用的字符串匹配算法进行了全面的分析与研究,通过对几种经典字符串匹配算法的分析比较,并针对这些算法存在的优势与不足,选择了多模式字符串匹配算法Aho-Corasick (AC)算法作为研究的重点。本文共提出了两种改进的AC算法即BSP-AC算法和D-AC算法。基于字符分割的BSP-AC算法,就是把模式字符串与待匹配字符串都分割成K个子字符串,再利用K个检测引擎同时匹配K个字符,即BSP-AC算法可同时处理K个字符。因此,BSP-AC算法可以有效的节省存储空间、改进字符串匹配性能。基于双向字符串匹配的D-AC算法,就是在AC算法的单向匹配的基础上增加反向有限状态自动机,采用正、反两个方向同时匹配的方式,加快匹配的速度、提高匹配效率。为了验证文中提出的D-AC算法,论文将D-AC算法集成到开放源代码的Snort入侵检测系统中,采用林肯实验室DARPA入侵检测评估数据集,以接收相同数据包的方式进行实验测试。实验结果证明D-AC算法可以减少匹配次数,并能更快更准确的检测出入侵行为。