论文部分内容阅读
入侵检测技术是网络安全的重要组成部分,它通过对网络上的各种信息进行收集和分析来检测各种入侵行为,是维护网络安全的重点。随着网络的普及和网络速率的提升,网络攻击行为日益增加,攻击方法不断更新,传统的智能化检测技术很难取得期望的成效。当前入侵检测模型存在的问题主要有:研究者针对基于KDD CUP 99数据集或者自行收集的数据集的算法之间很难进行性能比较并且数据集的样本数据分布不均匀;传统学习模型特征提取能力差,且全连接网络在高维数据环境下训练耗时长,难以适应当前大数据环境下的入侵检测任务;CNN或者CNN改进模型需要大量带有标签的数据,费时费力,且处理高维数据时,计算复杂度高,耗时长。针对现有基于深度学习的入侵检测算法模型训练时间过长、超参数较多、数据需求量大的缺陷,本文提出一种基于集成深度森林(Ensemble Deep Forests,EDF)的入侵检测算法。该算法首先使用主成分分析(Principe Component Analysis,PCA)、字符数据转换和归一化算法对数据进行预处理,类比卷积神经网络(Convolutional Neural Network,CNN)隐藏层结构和集成学习的Bagging集成策略构造多个森林层,对每层中的深林模型输入随机选择的特征训练,然后将输出的类向量和特征向量拼接向下层传递并迭代,持续训练直到模型收敛或达到终止条件,最后使用NSL-KDD数据集进行实验,比较EDF和CNN入侵检测算法性能。在CPU平台的实验结果显示EDF算法比CNN收敛速度提升了50%以上,而分类准确率几乎相同,表明EDF入侵检测算法是一种高效可行的算法,提升了入侵检测算法的性能。为进一步提取有用的特征并提高检测率,使用多粒度扫描(Multi-Grained Scanning)对EDF进行改进,构建了基于多粒度扫描级联深度森林的入侵检测方法。在PCA与EDF之间加入多粒度扫描,对数据使用多个不同尺寸窗口进行滑动扫描,提取更加细微和能够反映相关性的数据特征,然后将得到的数据输入随机森林(Random Forest,RF)和完全随机树森林(Complete-Random Tree Forest,C-RTF)构成的概率提取层,将得到的预测概率向量作为增强后的特征,拼接作为EDF的输入数据。实验结果表明该改进方法能够比EDF提高7%左右的检测率,检测率达到86.15%,在和多种深度学习算法的比较中得到了最高的检测率。在入侵检测中,有时不仅仅需要检测出是否有攻击,还需要进一步确定攻击类型和攻击方式。在这种情况下,需要对多种类别的入侵数据进行训练和检测。针对数据集中多种类别数据的分布不均匀进而导致模型对小规模样本分类性能较差的缺陷,本文引入了动态提升策略和多层分类模型对随机森林模型进行优化。第一部分引入了动态提升策略,通过层层递进,在每层中根据不同的样本分类策略进行样本分割。并设计了针对决策树是否完全生长不同情况的分割策略,对随机森林中的决策树进行选择。根据动态提升策略,提出了基于动态提升的随机森林入侵检测算法模型,并设计实验对该模型的性能进行评估。实验结果显示,该模型能够改进样本分布不均匀的情况。在同等条件下,小样本类别的检测率提升了20%以上。然后使用多层分类原理,将小规模样本集合视为超类,首先进行超类和大规模样本的分类,然后进行超类内部的样本类型分类。然后将多层分类策略引入随机森林,提出了基于随机森林的多层分类模型,并设计实验验证其性能。初步的实验结果显示,该模型能够提升小规模样本的检测率30%左右,且能够提升总体的检测率3%左右。