1、基于代价敏感鉴别字典学习的入侵检测方法 吴玉强 田素诚 南京森林警察学院信息技术系 摘 要: 针对目前存在的字典学习方法不能有效的构造具有鉴别能力的结构化字典, 并且忽视了由于正负类样本数据不均衡造成的代价不同问题, 提出了基于代价敏感的鉴别字典学习方法, 并将其用于网络入侵检测。首先, 重新构建稀疏表示模型, 通过在目标函数中设计约束的鉴别项学习具有鉴别性质的字典;其次, 考虑到数据集中入侵数据和非入侵数据不平衡, 二者的检测代价是不同的, 引入代价敏感矩阵来考虑不同的误检测行为代价对于分类性能造成的影响。选择经过预处理的 KDD99 网络入侵数据集作为实验数据, 引入召回率、查准率、错误接
2、受率以及 F-measure 等指标进行分类器性能评估, 并与支持向量机、决策树以及聚类分析等机器学习算法进行实验对比发现, CS-DDL 能够较好的改善分类器的性能。关键词: 入侵检测; 代价敏感; 字典学习; 分类性能; 机器学习; 作者简介:吴玉强 (1988-) , 男, 江苏南京人, 硕士, 讲师, 研究方向:网络安全与执法。收稿日期:2017-01-25基金:中央高校基本科研业务费专项资金项目 (LGYB201605) Intrusion Detection Method Based on Cost Sensitive Discrimination Dictionary Learn
3、ingWu Yuqiang Tian Sucheng Department of Information Technology, Nanjing Forest Police College; Abstract: Focusing the issue that sparse representation method can not effectively construct discriminant structured dictionary and neglect the influence to classification result of imbalance by positive
4、and negative samples, proposed dictionary learning based on cost sensitive. Firstly, redesign the sparse representation model to construct structured dictionary by constraint discriminant in the object function;secondly, consider that intrusion samples and non-invasive samples are imbalance, propose
5、 cost sensitive matrix to take the misclassification to the detect result into account. Compared with machine learning algorithm such as SVM, Decision Tree and Cluster Analysis on the KDD99 dataset and measured with recall rate, precision rate, false accept rate and F-measure, CS-DDL can obviously i
6、mprove the classification performance better.Keyword: intrusion detection; cost sensitive; dictionary learning; classification performance; machine learning; Received: 2017-01-25网络新闻推送, 便捷的 APP 产品, 电子商务等等都为人们的学习、工作和生活带来了极大的便利。然而, 另一方面, 网络安全也成为了当前信息社会所亟需关注的热点话题。因此, 研究如何有效对于网络入侵行为进行检测, 进而及时的处理这些行为, 而不
7、是在发生网络事故之后才亡羊补牢, 具有非常重要的意义。本文提出了基于代价敏感字典学习的入侵检测方法。其在构建具有鉴别性质的字典时加入了鉴别约束项, 引入代价敏感约束矩阵以提高模型的分类性能。1 稀疏表示及稀疏表示分类器根据稀疏表示理论, 假设存在一个样本集 X=x1, x2, ., xNR, 那么 X 中的一个样本 xi可以通过线性组合的形式用 X 中的样本进行表示, 公式如下所示1:其中 di, j表示稀疏权重系数, 用来衡量样本 xj对重构 xi做出的贡献, d i=di, 1di, i-1, 0, di, i+1, , di N是稀疏系数向量2, 0 表示 xi不参与重构。数学上求解系数
8、 d 可以通过如下形式的优化问题进行转化。用 1范数取代 0范数转化, 得到如下优化问题:考虑存在噪声或观测误差, 适当放宽约束条件7, 得到下面的优化问题公式:其中, 为误差阈值。公式 (4) 可以通过标准线性规划求解。2 代价敏感鉴别字典学习方法2.1 本文算法内容及流程描述本文所设计的代价敏感字典学习模型检测流程如图 1 所示。2.2 鉴别字典学习方法将给定的训练样本集合定义为 A=A1, ., Ai, ., Ac, 其中 Ai表示第 i 类的子样本集合, 同时定义 A 关于鉴别字典集合 D 的表示系数矩阵为 X=X1, ., Xi, ., Xc3, 样本集合就可以使用这些系数进行线性组
9、合表示:图 1 代价敏感字典学习检测过程 Fig.1 Cost sensitive dictionary learning detection process 下载原图其中样本 Ai关于 D 训练所得的表示系数用 Xi表示。本文设计的鉴别字典学习模型, 要求字典集合 D 同时满足对于原始集合 A 有较强的重构能力以及对于 A 中不同的类别有较强的鉴别能力两个要求4。其数学模型如下:其中 r (A, D, X) 为鉴别精确项, 作用在于衡量样本的鉴别能力, 表示平衡因子, X 1表示稀疏表示系数。X i=Xi, Xi, ., Xi表示某一类样本的稀疏表示系数5, 其中 Xi表示 Ai关于 Dj这
10、一子字典的编码系数矩阵。D k对 Ai的稀疏表示形式定义为:在这里整体字典 D 需要尽可能近似的表示一类样本集合 Ai, 因此需要满足如下条件:子字典 Di是关于第 i 类的, 若希望使得 Ai尽可能的能够由 Di (非 Dj, ji) 进行良好的表示, 而由不同的类字典表示的值 较大, 即误差项均应该最小化6。根据以上的分析, 最终将鉴别项定义为:公式 (9) 中的各项可以通过图 2 进行直观显示。其中图 2 (a) 表示如果仅对项 最小化, 那么样本 Ri经过表示之后很有可能偏离原始的 Ai样本, 这种情况下, 样本 Ai就不能通过子字典 Di较好的表示出来。本文为了使模型同时有较强的样本
11、重构能力和较好的鉴别性质, 添加了 这两个约束项, 且这两个约束项在目标函数中均要求最小化。所以针对上述问题, 图 2 (b) 设计的模型能够较好的解决。图 2 鉴别模型图 Fig.2 Discriminant model diagram 下载原图2.3 代价敏感方法考虑到实际情况中入侵数据的误分代价高于非入侵数据, 因此本文引入代价敏感学习方法来针对不同的误分情况进行相应的处理7。对于这两种不同的误分情况, 通过增加惩罚因子 cos t (i, j) 来权衡对于最终的分类结果造成的影响。最终, 可以将公式 (9) 改进为如下形式:其中代价敏感矩阵定义形式如下:表 1 代价敏感矩阵 Table
12、 1 Cost sensitive matrix 下载原表 考虑到本文设计的模型用于网络入侵检测, 因此类别数 c=2, 因此鉴别项最终形式为:2.4 代价敏感鉴别模型的优化2.4.1 固定字典求解系数矩阵将公式 (11) 可以转换为如下形式:将公式改写为如下形式:其中:公式 (12) 可以通过迭代投影算法 (iterative projection method, IMP) 以迭代的方式求解8。迭代步长定义为 , 最终的求解依赖于步长的取值, 参考文献9中描述了取值及相关的推导。迭代序列数定义为 h, 软阈值因子 (详细过程可以参见文献10) :其求解过程如下:(1) 输入: 和 , 0,
13、0(2) 初始化:X i=0, h=1(3) 开始迭代:(1) 当前后差值开始收敛或达到最终迭代次数时, 迭代终止;(2) 迭代次数 h=h+1;上述迭代过程中第 (3) 步中的Q (X i) 表示对 Xi的导数。S 的定义见公式 (15) 。(4) 返回 Xi=Xi2.4.2 固定编码系数求解字典在 2.4.1 节中, 求解系数矩阵 X 并将其固定后, 采用轮流更新迭代求解字典 D1和 D2的方法来把公式 (12) 再改写为下式:其中, X 为样本集 A 关于集合 Di的编码系数。公式 (16) 是一个凸优化问题, 本文不再介绍。CS-DDL 最终的模型求解步骤为图 3 所示:图 3 CS-
14、DDL 模型求解步骤 Fig.3 Solving steps of CS-DDL model 下载原图3 实验分析3.1 分类器性能评价指标表 2 中定义了几种分类行为, 其中 TP 表示在分类过程中实际为入侵的数据分类为入侵;FN 表示实际为入侵的数据预测为非入侵16;FP 表示实际为非入侵的数据被预测为入侵数据, TN 表示实际为非入侵数据而预测为非入侵数据。表 2 几种分类行为 Table 2 Several categories of behavior 下载原表 为了全面的评价分类算法的有效性, 在本文实验中引入召回率、入侵检测准确率、分类准确率以及错误接受率进行计算。通过引入 F-m
15、easure 值来衡量召回率和准确率这两项指标的调和平均数, 其定义如下:在本实验中取 值为 1。其中 re 是召回率, pre 是入侵检测准确率, 同时定义pf 为错误接受率, acc 为准确率。另外, 由以上定义可以得知, 所有评估指标的值均在 0-1 之间。3.2 KDD99 数据集KDD99 数据集是网络信息安全相关领域具有影响力的数据集, 其可以用来作为分析入侵检测系统及各种应用算法的好坏的评价标准。入侵类型可以被细分为4 大类共 41 种攻击类型, 而每个攻击类又包含基本属性、内容属性、流量属性和主机流量等特征。表 3 为 KDD99 数据集中的数据具体含义。表 3 KDD99 数
16、据集连接记录 Table 3 KDD99 data set connection record 下载原表 本文选取的数据样本提取这 13 个属性形成新的属性集, 在得到新的样本特征向量之后, 还需要进行数值化处理, 比如有些属性以字符串的形式出现, 需要考虑将它们转换成数值的形式, 数值化处理完成后, 由于样本中各分量的值差异较大, 需要对各分量进行归一操作, 把它们的值约束到0, 1区间内。3.3 实验结果本文选用 K-means, SVM 以及 C4.5 (决策树算法) 作为对比算法, 选取 KDD99中的 10000 个数据样本进行实验, 其中训练样本为 2000, 测试样本为 8000
17、。由于本数据集仅包含两类问题, 但是入侵数据包含四类, 因此在 K-means 算法中可以取 K=5;对于 SVM 算法采用径向基核, 多项式核以及 sigmoid 核, 设置惩罚因子 C=1。取迭代步长 值为 0.1, 的值为 0.05, 代价敏感矩阵元素设置为cost (1, 2) :cost (2, 1) =1:6。为了得到更加公平的实验结果, 本文中在每种算法中随机选择 20 组来实验, 然后再将每种算法进行对比分析, 最终得到如表 4 所示 re、pf、pre 的实验结果;acc 值和 F-measure 值如表 5 所示。表中的SVM1, SVM2, SVM3 分别代表使用径向基核
18、, 多项式核以及 sigmoid 核。3.4 结果分析根据表 5 和表 6 的实验结果可以看出, 本文提出的 CS-DDL 算法最终能够将召回率值提高 0.04-0.08, 入侵检测数据准确率值提高 0.02-0.15, 错误接受率值减少 0.003-0.009, 而总的分类准确率能够提高 0.03-0.1, F-measure 提高 0.07-0.1。从实验结果可以分析, CS-DDL 不仅能够较好地提高分类准确率, 而且其他分类性能指标也有所改善, 其原因主要是本文提出的字典学习模型具有较强的鉴别性, 而字典学习模型本身又有较好的抗干扰能力。表 4 KDD99 数据集实验结果 Table
19、4 KDD99 data set experimental results 下载原表 表 5 KDD99 数据集实验结果 Table 5 KDD99 data set experimental results 下载原表 4 结束语本文提出一种新的用于网络入侵检测的机器学习算法, 即基于代价敏感的字典学习方法, 其将字典模型用于网络入侵检测。通过训练学习过程得到具有较强鉴别性质的结构化字典, 并且针对入侵数据集中不同类样本分布不均衡造成的分类代价不同的问题, 利用代价敏感约束因子将这种误分代价进行考虑, 从而能够改善分类器的综合性能。参考文献1Feng W, Zhang Q, Hu G, et
20、al.Mining network data for intrusion detection through combining SVMs with ant colony networksJ.Future Generation Computer Systems, 2014, 37:127-140. 2Ahmad I, Hussain M, Alghamdi A, et al.Enhancing SVM performance in intrusion detection using optimal feature subset selection based on genetic princi
21、pal componentsJ.Neural Computing and Applications, 2014, 24 (8) :1671-1682. 3Sindhu S, Geetha S, Kannan A.Decision tree based light weight intrusion detection using a wrapper approachJ.Expert Systems with applications, 2012, 39 (1) :129-141. 4马勇.模糊推理结合 Michigan 型遗传算法的网络入侵检测方案J.电子设计工程, 2016, 24 (11)
22、:108-111. 5Horng S J, Su M Y, Chen Y H, et al.A novel intrusion detection system based on hierarchical clustering and support vector machinesJ.Expert systems with Applications, 2011, 38 (1) :306-313. 6Bao F, Chen I R, Chang M J, et al.Hierarchical trust management for wireless sensor networks and it
23、s applications to trust-based routing and intrusion detectionJ.Network and Service Management, IEEE Transactions on, 2012, 9 (2) :169-183. 7Toic I, Frossard P.Dictionary learningJ.Signal Processing Magazine, IEEE, 2011, 28 (2) :27-38. 8赵夫群.基于混合核函数的 LSSVM 网络入侵检测方法J.现代电子技术, 2015, 38 (21) :96-99. 9张凯.大数据网络入侵过程的痕迹数据监测方法研究J.科学技术与工程, 2016, 16 (14) :254-258. 10Bredies K, Lorenz D A.Linear convergence of iterative soft-thresholdingJ.Journal of Fourier Analysis and Applications, 2008, 14 (5) :813-837. 11刘羿.蝙蝠算法优化神经网络的网络入侵检测J.计算机仿真, 2015, 32 (2) :311-314.