论文部分内容阅读
网络信息系统需要采取主动的防御措施。入侵检测技术是近20年来出现的一种主动保护系统、免受黑客攻击的新型网络安全技术。传统的入侵检测算法是基于监督学习的,检测率较高,误报率较低,但无法检测到未知攻击,且要求将数据正确地标记为正常或异常。网络环境中存在大量的未标记数据,要正确地标记这些数据,几乎是不可行的。如果将非监督学习方法应用到入侵检测中,基于聚类的入侵检测算法能够检测未知攻击,检测率较高,但误报率也较高。由此本文提出基于半监督学习的入侵检测算法。半监督学习是机器学习领域中一个新的研究热点,通过标记数据和未标记数据的联合概率分布,来改进分类器的性能。根据网络数据的特点,本文提出了基于半监督聚类的入侵检测算法,利用少量的标记数据,生成用于初始化算法的种子聚类,然后辅助聚类过程,检测已知和未知攻击。在网络环境中,标记数据是有限的,为了充分利用监督信息,用户需要主动查询标记数据的约束,而不是随机选择约束,这样即使少量的约束也能大大改进算法的性能。本文系统地研究入侵检测系统的基本理论,介绍了入侵检测的定义,分析了入侵检测的模型、研究现状和当前存在的问题。针对基于聚类的入侵检测算法误报率高的问题,提出了基于半监督聚类的入侵检测算法ACKID。论文将主动学习策略应用于半监督聚类过程中,主动学习策略查询网络中未标记数据与标记数据的约束关系,采用FarthestFirst对未标记数据进行标记。KDD Cup99数据集是用于评估入侵检测算法的标准数据集,结合KDD Cup99数据集,分析了ACKID入侵检测算法的评估过程,确定ROC曲线为ACKID算法的评估指标,分析网络数据的属性特征并对数据预处理,最后评估ACKID算法的性能。实验结果表明,ACKID算法能够检测出未知攻击,证实利用标记数据和约束可以提高算法的检测率,降低误报率,并且表明采用主动学习策略能够获取最有用的监督信息以检测未知攻击。