论文部分内容阅读
随着网络广泛应用和网络技术尤其是黑客技术的发展,网络安全也越来越受到广泛关注,为了更全面的保护网络环境,需要及时有效的发现攻击行为,并在这种行为对系统或数据造成破坏之前采取措施。入侵检测系统就是这样一种网络安全工具。入侵检测系统以数据分析为核心,采取主动防御的策略,成为阻止网络攻击的一道重要屏障。数据挖掘作为数据分析的有效手段,自然被引入到入侵检测系统的构建当中,基于数据挖掘的入侵检测系统也成为一个研究的热点问题。将数据挖掘技术应用到网络入侵检测系统(NIDS)中,可以自动地从大量的网络数据中发现新的模式,减少手工编写入侵行为模式和正常行为模式的工作量。Snort是一个强大的轻量级的网络入侵检测系统,它具有数据流量实时分析和记录IP数据包日志的能力,能够进行协议分析,对内容进行搜索或者匹配。它能够检测各种不同的攻击方式,并对攻击进行实时警报。此外,Snort具有很好的扩展性和可移植性。而Apriori算法是一种最有影响的用于挖掘单维、单层、布尔关联规则频繁项集的算法,其基本思想是基于这样一个结论:频繁项目集的任一非空子集必然是频繁项集。关联规则的挖掘一般可分成两个步骤:第一步是找出所有的支持度不低于用户设定的最小支持度的频繁项目集;第二步是从频繁项目集中生成置信度不低于用户设定的最小置信度的规则。本文以Apriori算法在Snort入侵检测系统中的应用为研究的重点。首先,对入侵检测系统和数据挖掘技术的一般理论进行了描述。然后,对Apriori算法进行了研究和改进,探讨了基于关联规则挖掘的Apriori算法在Snort入侵检测系统中的应用。本文第一章绪论,主要介绍了本研究的背景知识以及当前国内外的研究现状。第二章简要介绍了入侵检测系统的基本概念、系统分类,常用的检测技术和一般的检测系统构成,以及数据挖掘和知识发现的基本概念和一些主要的数据挖掘技术。第三章详细分析了基于规则的轻量级入侵检测系统——Snort和基于关联规则挖掘的Apriori算法,并对Apriori算法提出了改进,通过理论证明和实验分析的方法检验了改进算法的正确性,并用实验分析和检验了对算法的改进的有效性。第四章设计并实现了一个基于开源系统Snort的入侵检测系统,在原有Snort系统中引入了改进的Apriori算法对采集到的数据进行数据挖掘来发现网络异常行为,将多种检测方法结合起来,提高了入侵检测系统的准确性和完备性。通过模拟检测与应用部署的方式,分析和检测了系统性能。