论文部分内容阅读
作为网络与信息安全领域的一项重要技术,入侵检测已经成为网络安全体系的一个重要组成部分。它通过分析从计算机系统和网络中关键点搜集的数据,从中找出违反安全策略的行为和被攻击的迹象。传统的误用检测方法对已知的攻击行为进行建模,形成规则库,对各种已知的攻击行为能很好的检测。误用检测的主要缺点是不能检测未知的攻击,漏检率高,需要经常更新特征库。异常检测首先总结出正常行为应该具有的特征轮廓,以这些行为轮廓进行训练,从而得到正常行为模型,一旦发现偏离了正常统计学意义上的行为即被认为是入侵。异常检测能检测到未知的攻击,适应性较好,它的主要缺陷在于误检率高。因为数据挖掘技术能从海量审计数据中挖掘出正常和异常行为模式,不仅大量减少了人工分析和编码带来的繁重工作,而且可以提高入侵检测系统的适应性,所以数据挖掘技术近年来被大量应用于入侵检测领域。由于系统环境差别很大,攻击手段也多种多样,传统的基于主机或网络的异常检测系统效率低下,检测数据源缺乏针对性,检测模型描述能力不足,很难对各种类型的攻击进行有效检测。为此,本文专门针对Web应用,提出了一种以应用为基础的新的异常检测技术,包括Web应用的漏洞分析、数据源的选取、数据模型的建立与评估、各种检测算法等多方面内容。虽然文中提出的方法主要针对的是Web应用,但是其思想和方法也可用于一般的异常检测。频繁模式挖掘是数据挖掘的一个重要领域,也是关联分析的基础,在频繁组合模式挖掘方面,针对FP-Tree结构存在动态维护复杂,以及FP-growth算法的时空效率不高等缺点,对FP-growth算法性能影响较大的冗余操作进行分析和改进,提出新的NFP-tree(New FP-tree)算法,提高了算法效率。在频繁序列模式挖掘方面,以Web应用中的系统调用序列作为数据源,分析了程序流程中的三种基本结构:顺序、选择和循环,提出了多通配符型变长模式MWVP (Multi Wildcards Variable-length Pattern)生成算法,该算法在TEIRESIAS算法的基础上,加入了冗余控制功能,在生成模式时能发现并及时中止冗余模式的进一步扩展,提高了算法效率。在关联分析方面,以Web访问日志文件作为数据源,利用数据挖掘中的关联分析方法,对HTTP请求的各参数进行关联分析,提出了四种异常检测模型,分析了各模型下的异常概率,然后对这些概率进行加权处理,得到一个最终的异常概率。在把误报率控制得很低的情况下,能有效检测出多种已知和未知的攻击行为。聚类分析是数据挖掘的重要方法,适用于数据点之间内部关系的分析。从数据处理的角度来看,入侵行为对应的数据可以看成是异常数据,正常行为和入侵行为对应的数据具有不同的特征,在某种特征空间中,入侵行为与正常行为对应的数据会彼此分离,而相同类别的行为(入侵或正常)对应的数据会聚合在一起,基于这样的考虑,提出了基于异常度的孤立点挖掘算法。算法以Web访问日志中的HTTP请求为数据源,定义了HTTP请求中各参数属性和统计属性中各类型数据之间距离计算方法。对这些距离进行以均值和标准差为基础进行映射,提出了统一的距离计算公式。并定义了簇的质心以及簇中对象的异常度函数。在基于统计孤立点挖掘方法的思想下,提出了利用近似正态分布模型的孤立点挖掘算法。实验结果显示,基于异常度的孤立点挖掘算法能检测出多种Web攻击,并与其它两种算法进行对比实验,新算法检测精度更高。