论文部分内容阅读
随着网络技术和网络规模的迅速发展,网络入侵的机会也越来越多,网络安全问题日益突出,如何迅速、有效地发现各类入侵行为,对于保证系统和网络资源的安全显得十分重要。
入侵检测系统通过构建动态的安全循环,可以最大限度地提高网络的安全性,减少安全威胁带来的危害。入侵检测系统虽然不能阻止入侵和攻击,但它能够寻找漏洞,并在非法入侵者攻击系统时,及时将它们捕获。因此引入侵检测技术是目前保证计算机安全的必要手段。
入侵检测技术主要分为两类,即误用检测和异常检测。现有商用的入侵检测系统所采用的检测方法大多是基于误用检测的,它依赖于对训练数据集中标记数据样本的学习,当遇到未知攻击时需要用新的标记数据样本对检测系统进行重新训练,然而,标记大量的网络数据代价是很高的;异常检测还主要处于研究阶段,在检测率和误警率方面还有待提高。同时,现有的入侵检测系统在报警方面还存在报警过多的问题,给系统和管理员带来了很大的负担。
针对入侵检测系统检测技术和报警处理技术的不足,本文提出了新的入侵检测算法和报警处理模型。具体的研究工作包括:
为了对本文提出的入侵检测算法进行验证,我们使用了入侵检测领域较权威的网络入侵检测测试数据集KDDCup1999。该数据集是拥有41个属性的高维数据,是既有离散型属性又有连续型属性的异构数据集。维数高、数据量大必然导致算法处理的速度缓慢,同时这些属性对算法的有效性贡献也不同,如果对他们相同对待会导致算法有效性下降,因此,我们提出了一种基于互信息的特征选择算法,对数据集的属性进行了过滤。另外,为了使文中的算法能对异构数据集进行处理,我们分别构造了一种新的距离定义和一个新的核函数。实验证明,我们对数据集的处理是合理、有效的。
针对K均值聚类算法聚类结果受初始聚类中心影响而不能获得全局最优的问题,我们提出了一种基于改进粒子群的加速K均值聚类入侵检测算法,对K均值算法和粒子群算法进行了改进和结合,使得算法的具有较高的处理速度和全局搜索能力,通过实验分析和比较,该算法是一种有效的入侵检测算法,不足之处是该算法受聚类数影响,需要预先指定聚类数。
针对基于聚类的入侵检测算法在入侵检测中需预先指定聚类数的问题,提出了一种自动决定聚类数算法。把模糊理论引入到了聚类算法和支持向量机算法中。它首先用模糊C均值算法把目标数据集分为两类,然后使用带有模糊成员函数的支持向量机算法对结果进行评估以确定目标数据集是否可分,再迭代计算,最终得到聚类结果。支持向量机算法引入模糊C均值算法得出的隶属矩阵作为模糊成员函数,使得不同的输入样本可以得到不同的惩罚值,以得到最优的分类超平面。该算法既不需要对训练数据集进行标记,也不需要指定聚类数,因此是一种真正的无监督算法。实验表明,该算法不仅能得到最佳聚类数,而且能对入侵有较好的检测效果,是一种有效的检测算法。
针对入侵检测系统中报警泛滥的问题,我们提出了一种分层的报警数据处理模型。在不同层次对报警数据进行了预处理、过滤、归约、融合和关联。在预处理阶段,我们对报警信息的数据结构进行了统一,以便我们的模型可以运用于多个不同检测器的分布式入侵检测系统;在过滤阶段,我们建立了知识库对误警进行了消除;在归约阶段,我们设计了归约算法,可以实时地消除报警中的重复信息;在融合阶段,我们设计了一种基于聚类的融合算法,可以实时地消除报警中的相似信息;在关联阶段,我们首先用频繁片段算法对训练数据进行了分析,发现其中的入侵模式,然后再以这些模式建立知识库,为我们设计的基于聚类的关联算法提供攻击的相似信息以发现入侵模式。通过上述处理,消除了报警中的错误信息和无用信息,减轻了系统和管理员的负担,同时可以发现入侵的攻击模式,可以对入侵进行预警。