论文部分内容阅读
作为保护网络安全的一项重要组成部分,网络入侵检测系统长期以来受到较高的重视。近年来,随着人工智能的普及,许多基于机器学习的技术被应用于网络入侵检测系统,并依赖于数据构建检测模型。这种数据驱动的方法虽然能够大幅度地减少人工识别的代价,却也存在着一些的问题。首先是原始数据质量参差不齐,网络入侵检测运用的数据大部分是网络流量数据,而流量数据的数量是巨大的,其中会存在着大量冗余及噪声数据,而数据特征中也存在着部分不必要的内容,这些部分极大地影响了检测模型的精度。其次,在构建检测模型时,由于流量数据中缺乏攻击行为,数据分布会严重不平衡,造成训练模型对攻击行为缺乏认知,泛化能力较弱,检测性能低下等问题。再次,大部分基于机器学习的检测模型采用了无监督学习或者有监督学习的方法构建模型,仅仅采用无监督学习方法,由于缺乏标签数据的引导,会造成模型的性能较差,准确率低,误报率高等问题。而仅仅采用有监督学习的方法,检测模型会依赖于标签数据,使其缺乏对新型攻击的认知,并且当标签数据匮乏时,会严重影响有监督学习方法的性能。针对于上述提出的问题,本文首先提出一种针对流量数据的处理办法,该数据处理方法中运用了PCA算法进行数据压缩,采用聚类算法进行数据采样,从而改善了流量数据冗余的状况,去除噪声数据,加速后续模型的训练。其次,本文提出了一种基于宽度学习的集成模型——BLET(Broaden Learning-based Ensemble Tree),采用了带权重决策树作为基分类器,解决数据不平衡问题,并通过宽度学习方法进行集成,提高模型的泛化能力。之后,本文进一步提出了一种半监督学习式的学习算法——FSSLT(Fuzziness-based Semi-Supervised Learning Tree),解决由于单纯采用有监督学习或无监督学习带来的检测缺陷,以及标签数据稀少的问题。最后,通过实验进行综合对比,提出的算法能够带来良好的检测效果,并且能够优于当前较新的入侵检测技术。