基于深度学习的入侵检测关键技术研究 --论文总结
-
提出点:
传统的机器学习方法会受到数据时间和空间的复杂度约束容易出现“ 维数灾难 ”。基于此,目前的机器学习重点在于进行特征学习和特征降维。Kunchimanchi等人利用神经网络
主成分分析(NNPCA)方法有效减少了网络数据流的维数,但是只能学习到低维结构,不能给出高维空间和低维空间之间的确定映射,容易忽略特征之间的相关性甚至会丢失部分潜在 有用特征维度。
【Kunchimanchi G K,Phoha V V,Balagani K S,et al.Dimension reduction using feature extraction methods for real-time misuse detection systems[C].Information Assurance Workshop,2004.Preceedings From the Fifth IEEE Smc.IEEE,2004:195-202 】
-
额外发现:
基于SVM的入侵检测技术,实验证明在训练样本较少的情况下,保证准确率基础上有效缩短训练时间
将PSO与K-means相结合,能够克服传统K-means算法对初始聚类中心敏感问题
【傅涛,孙文静.PSO-based K-means 算法及其在网络入侵检测中的应用[J]计算机科学,2013,40(11):137-139】
-
模型框架:
1.数据集
KDD CUP99
每一条数据有41维特征,分配有一个标明是“正常”还是“异常”的标签,并注明了异常类别。整个数据集共39种攻击,训练集中包括22种攻击类型,其余攻击类型出现在测试集。
2.数据预处理
(1)符号特征数字化(2)数字特征归一化
3.模型框架
(1)权重和偏置向量的初始化
Xavier初始化,基本思想是保持神经元输入输出的方差一致。(2)自编码器模型结构
-
4.评测方法
(1)分析输入数据和重构数据的结果差异
在输入数据中存在大量的零取值特征和部分非零取值特征,对于零取值的特征维度的重构基本是准确的,非零特征维度的重构误差大约在±0.6以内,说明高维数据通过自编码器得到 的低维特征通过解码器重构之后得到的输出与实际输入的误差非常小,所以,降维后的输出可以被称为输入数据的低维表示。
(2)引入重构误差的概念来定量地对自编码器这种深度学习降维方法进行验证
重构误差是指将数据集进行降维之后,降维后的特征重构输出的结果和输入进行运算之后得到的误差结果。此时重构误差利用MSE(Mean-Square Error)均方误差表示。
-
模型缺点:
模型的输入为定长输入,而流量的长度相差较大。取最长的流量长度作为输入长度,不足补零必然会增加干扰;截取部分作为输入可能会丢失有效维度。
需要预先训练模型,对于结构和特征与训练集差异很大的数据的特征提取效果未知。对结构和特征相似程度较高的数据提取特征后有可能使特征区别更加模糊。
-
创新点:
采用神经网络实现非线性编码,针对高维且复杂的数据时,能在最大程度保证特征信息完整的程度下有效降低数据集的特征维度。
-
应用:
目前对数据包内的数据处理是只截取前600个字节,这样可能导致有效维度丢失,所以可以取更多的字节数进行降维特征提取。对于数据包长度不一致的处理方法,目前我的看法是取大概数据包长度的平均值作为自编码器输入长度,少于这个长度的数据包将包含的字节平均地填充到自编码器输入的两端,中间值用0来补充;超过该长度的数据包取数据包头尾两端的数据填充到自编码器输入。