论文部分内容阅读
随着网络技术的不断发展,网络攻击手段不断更新,人们对网络安全提出了更高的要求。入侵检测是一种积极主动的安全防护技术,逐渐成为信息安全保障体系结构的重要组成部分,对于入侵检测技术的研究己经引起越来越多人的重视。然而,多数现有的入侵检测系统,通常只是将采集到的网络数据与已有的攻击模式库进行比较,这种模式匹配的方法对已知攻击的检测效率较高,但却无法准确地检测出一些未知攻击或者已知攻击的变种。将入侵检测系统与数据挖掘技术相结合,可以总结出一些改进模式,用来进行异常检测,从而有助于提高入侵检测系统的检测准确性和完备性。本文在Snort入侵检测系统的基础上,利用其开源性和支持插件的优势,采用关联规则挖掘Apriori算法和聚类分析K-Means算法,设计实现了基于数据挖掘的入侵检测系统。该系统通过预检测模块能够区分网络正常行为和异常行为,以提高入侵检测系统的效率;并且通过规则动态生成模块生成新入侵检测规则,从而增强入侵检测系统的检测入侵能力。本文首先介绍了入侵检测和数据挖掘的相关技术,并且重点分析了Snort的各功能模块和插件机制,为基于数据挖掘的Snort入侵检测系统的提出提供了理论依据;接着在深入分析聚类分析K-Means算法和关联规则挖掘Apriori算法的基础上,针对算法的不足和基于数据挖掘的Snort入侵检测系统的需求,对这两种算法做改进;最后构建出基于数据挖掘的入侵检测系统,把改进后的Apriori算法和K-Means算法引入到Snort插件机制中,设计了基于改进后K-Means算法的正常行为模式构建插件和预检测引擎插件,以及基于改进后Apriori算法的规则动态生成插件;实验结果表明,该系统既能较好地提高了Snort的检测效率,还能使得Snort具备对未知攻击的检测能力。