论文部分内容阅读
随着网络通信技术的发展,世界已经进入了数字化、信息化的时代。计算机网络已由单个的局域网发展到目前的跨区域的、国际性的计算机网络。随着网络的开放性、共享性及互联性的扩大,特别是互联网的出现,网络的重要性和对社会的影响越来越大,社会对计算机网络的依赖性也越来越强。计算机网络安全问题也就成为互联网应用发展中面临的重要问题。入侵检测系统是一种通过收集和分析计算机系统或网络中关键点的信息,以检查计算机或网络中是否存在违反安全策略的行为和被攻击的迹象,并对此做出反应,从而保护网络和主机安全的系统。Snort是一个用C语言编写的开放源代码、免费的轻量级入侵检测工具。它在共享的网络上捕获网络传输数据包,分析捕获到的数据包,匹配入侵行为的特征或者从网络活动的角度检测异常行为,完成对入侵的预警或记录。本文重点分析研究了开放源码入侵检测系统Snort的检测引擎采用的模式匹配算法,分析了单模BM匹配算法、KMP算法和多模式匹配的AC算法,指出了BM算法的不足之处。在分析各种算法的基础上,本篇论文针对BM算法的特性,提出了一种改进的模式匹配算法。该算法结合BM算法、KMP算法的优点,克服了BM算法的缺点。并且,对改进的算法进行了编程实现,通过实验方法研究了两种算法的性能。分析与实验表明,改进后算法的效率有了明显的提高。然后,本文把改进的BM算法代码加入Snort系统,完成对Snort系统的检测引擎的改造,进而在Windows系统下实现了基于Snort的入侵检测系统的安装和配置。