论文部分内容阅读
网络的高速发展给我们带来便利的同时,随之而来的也包括对个人、企业、政府、军队等单位信息安全的考验,在变化多端的安全威胁下,需要更加严密的安全保护措施。以防护为主的传统网络安全技术,即以防火墙为主体的防护措施,在面对网络大规模化和入侵复杂化的今天,显得力不从心,入侵检测技术应运而生。入侵检测技术是网络安全的核心之一,它通过监控网络、系统的状态、行为,从若干关键点收集信息并分析,进而来检测网络或系统中是否有违反安全策略的行为,或者是否有外部入侵者利用系统的安全缺陷对系统有入侵的行为。入侵检测软件与硬件的组合便是入侵检测系统(Intrusion Detection System,IDS)。入侵检测系统的建立依赖于入侵检测技术的发展,而入侵检测技术的价值要靠入侵检测系统来检验。Snort是一个著名的跨平台、轻量级、简洁、易于扩展的开源NIDS(Network Intrusion Detection System),已被移植到了各种UNIX平台和Windows平台上。Snort采用字符串匹配来进行检测,所以字符串匹配算法的效率对Snort来说很重要,提高字符串匹配的效率就能提高整个系统的效率。本文围绕如何提高字符串匹配的效率开展研究,主要工作包括:1.介绍了入侵检测的相关知识,包括入侵检测的产生与发展、基础知识、面临问题及发展趋势。重点研究了入侵检测系统Snort,对Snort的原理知识、工作流程及内部组件做了介绍。2.分析了几种常见的字符串匹配算法,在对典型的BF、KMP等模式匹配算法进行比较分析的基础上,详细研究了BM算法。为加快算法速度,本文提出改进的BM算法,增大了步长,提高了效率。3.搭建了实验平台,构建了一个Windows环境下基于Snort的IDS系统,并对系统的模块及实现做了详细的介绍。在Snort上使用C语言实现了改进的BM算法,对改进的方案进行实验验证。通过对实验结果的分析,证明改进方案提高了匹配的效率。