基于改善Bagging-SVM集成多样性的网络入侵检测方法

2021-01-13 04:48:06张康宁廖光忠
东北师大学报(自然科学版) 2020年4期
关键词:子集分类器扰动

张康宁,廖光忠

(1.武汉科技大学计算机科学与技术学院,湖北 武汉 430081;2.武汉科技大学智能信息处理与实时工业系统湖北省重点实验室,湖北 武汉 430081)

0 引言

网络信息时代为人们的生活和工作提供了诸多便利,与此同时网络安全问题也逐渐受到人们的关注.防火墙作为一种传统的网络安全技术,通过在网络边界建立相应的网络通信监控系统来隔离内部和外部网络,以阻挡来自外部的网络入侵.但防火墙是一种被动防护技术,面对日益隐蔽且复杂的网络攻击难以形成有效的保护.网络入侵检测作为一种主动防护手段,通过收集和分析网络行为、安全日志及审计数据等,检测网络中潜在的攻击行为,能够在网络系统受到危害前实现拦截和响应入侵,提供对外部攻击、内部攻击和误操作的实时保护.

机器学习的发展为解决网络入侵提供了广阔的思路.根据检测方法不同,入侵检测一般分为误用检测和异常检测.误用检测根据先验知识对攻击行为进行判断,通过特征库对比识别异常或潜在的入侵威胁,常用方法有专家系统、条件概率等[1].此类方法对已知类型的攻击具有很高的检测精度,但受限于先验知识,对未知的入侵行为无法检测,需要人为更新数据库[2].异常检测[3]则是通过对网络中正常行为的普遍特征进行概括,建立入侵检测模型,当网络中的行为偏离此模型时,被判定为网络入侵行为,生成警告,常用方法有统计异常检测[4]、贝叶斯推理[5]等.此类方法能够对未知的入侵行为进行识别,但受限于网络行为的复杂性及多样性,异常检测模型难以对所有正常行为进行准确的概括,存在误报率高的问题[6].

集成学习作为近些年机器学习领域的研究热点,被越来越多的应用于各种领域.入侵检测作为一个典型的分类问题,已有很多学者将集成学习应用于此类研究.为提高集成学习的检测准确率,要求基分类器应“好而不同”[7],即要求基分类器兼具一定的准确性和多样性.为提高基分类器之间的差异,常用的方法有数据样本扰动、特征属性扰动、输出表示扰动及算法参数扰动.本文将支持向量机(SVM)与Bagging集成学习结合,对Bagging集成的样本扰动方式进行了改进,并结合特征选择算法来增大基分类器之间的差异,提高检测准确率,同时避免了SVM在处理大样本数据时的计算难题.

1 支持向量机与集成学习

集成学习的基分类器常采用弱分类器,如神经网络、贝叶斯、决策树等.SVM作为一种强分类器,一般认为进行集成学习的性能提升有限,但由于SVM在应用上的一些缺陷,如最优解计算、参数选择及多分类问题等,使得基于SVM的集成学习具有性能提升的空间.因此,SVM集成已成为机器学习领域的热门研究.

1.1 SVM原理

SVM建立在统计学习理论[8-9]的VC维概念和结构风险最小化原理基础上,根据有限样本信息在模型复杂性和学习能力之间寻求折中,以获得好的泛化能力.其基本思想是基于训练集在样本空间中找到一个划分超平面,将不同类别的样本分开.但在样本空间中存在若干超平面能将样本分开,因此需要找到一个最优决策面,使得分类结果的鲁棒性最佳.其具体描述如下:

s.t.yi(wTxi+b)≥1,i=1,2,…,m.

(1)

(1)式为支持向量机的基本型.

求解(1)式,对约束条件添加拉格朗日乘子α(α≥0),将其转化为求解的对偶问题,即:

(2)

解出α后,求出w与b即可得到支持向量机模型

(3)

1.2 Bagging-SVM

L.K.Hansen等[10]通过将多个神经网络结合来提高学习器泛化性能的研究,首次提出了集成学习的概念,目前集成学习代表性算法主要有Boosting[11]和Bagging.Boosting是一种迭代算法,通过前一分类器的分类结果来更新后一分类器的样本分布,对弱学习器进行自适应调整,但其采用串行运算,计算复杂度明显提高,难以适应高速网络的实时入侵检测任务.相比Boosting算法,Bagging算法的集成个体之间相互独立,可以并行运算,大大提高了检测效率,具有更加广阔的应用前景.因此,本文采用Bagging-SVM集成学习来进行网络安全的实时入侵检测.

近年来,基于Bagging-SVM的集成学习得到了许多研究者的关注,在很多领域得到了应用,但受限于SVM难以对大规模数据进行有效的处理,集成SVM在入侵检测方面的研究相对较少.目前针对入侵检测通用的数据集为KDD Cup1999,其包含近500万条训练数据和30万条测试数据.为应对此类超大规模数据集,常用的做法是从原始数据集中随机抽取少量样本进行训练和测试.谭爱平等[12]通过随机采样分别从训练集和数据集中抽取29 313和24 974个样本用于实验,但其总量仍只约占原始数据的1/100,大量信息被丢失.付子爔等[13]提出了一种基于增量学习的SVM算法,实现了对入侵数据的动态学习,提高了学习效率,具有一定的应用价值.但是数据增量学习新知识时不可避免的遗忘旧知识,相比整个数据集的学习准确率稍有下降.因此,如何对数据集进行比较完备学习的同时提高学习效率是入侵检测技术具有实际应用价值的前提,而改进取样方式的Bagging-SVM算法可以有效实现上述目标.

2 集成学习的多样性改善

集成学习要求基分类器的错误率不能高于50%,即能达到优于各子分类器的结果.利用这一特性,SVM不必寻找最优解即能使集成学习模型达到较好的分类效果,降低了SVM求解二次规划的时间和空间复杂度,也为核函数选择和参数优化提供了方便.但达到上述条件必须保证基分类器之间具有较大的差异性,即集成学习的多样性是保证分类器高准确率和泛化性的前提.

图8a表示当时,交点轴线T-Map的2维空间域,即所有满足的交点轴线映射点的集合。图8中其他2维空间域与图8a中的2维空间域类似,在此不再赘述。综合和的2维空间域,即可获得不同交点轴线偏差的2维坐标波动范围。

2.1 基于样本数据的多样性

为提高集成学习系统的多样性,Bagging集成学习通过Bootstarp[14]方法改变样本分布,即通过对原始样本数据进行有放回的随机采样,使每个分类器之间的样本数据不同,提高集成分类器的性能.通常基分类器的样本总数为原始样本数据的63.2%,对于小样本数据的分类是一个行之有效的方法,但KDD Cup99数据集庞大,63.2%的原始数据对SVM的运算仍然是一个难以完成的任务.

为解决上述问题,同时减少样本信息的丢失,本文对Bagging算法的取样方式进行了改进.假设拟采用的基分类器个数为k,初始化k值,并将样本划分为均等的k份.为避免划分数据集时样本类型分布不均,分别将每类样本平行划分为k份,再进行随机组合.由于各子集之间相互独立,集成系统的多样性得到显著改善.图1为本文采用的样本分割示意图.

图1 样本分割示意图

2.2 基于特征属性的多样性

为提高集成学习系统的多样性,出现了多重扰动机制,即将能够增大集成个体差异性的扰动方法结合,以达到比单一扰动更好的效果.本文采用二重扰动,将特征扰动与样本扰动结合,达到提高集成学习多样性的目的.

本文采用独热编码对字符特征数值化,导致特征维数增加,冗余特征增多,计算成本增大,因此在特征选择前需对特征进行降维处理.采用主成分分析法(PCA)将高维特征映射到低维空间,得到全新的正交特征集合.过程如下:

给定一个m行n列的矩阵X(m为样本数,n为特征维数),计算样本均值公式为

(4)

式中xi为X中第i个样本,i=1,2,…,m.

(5)

则AAT为n阶方阵.假设有一n维非零向量L,使AAT=L,则l和L分别为AAT的特征值和特征向量.将特征向量按对应特征值由大到小排列成矩阵,根据贡献率取前k行组成矩阵P,则特征降至k维后的目标矩阵为

(6)

贡献率是每一特征携带有效信息的数值度量,公式为

(7)

(7)式中lj为第j个特征的特征值,j=1,2,…,n.

图2 不同特征维数下的准确率

为保证较少维数的特征包含较多的信息,进行PCA降维时,通常选取贡献率占总贡献超过90%的前n维特征作为最终的降维结果.为避免经验选取的误差,PCA降维数按照贡献率由大到小选取,由1到46递增,观察测试集的分类结果.图2为10个SVM运行的平均值,当降维至28时,测试样本的准确率较高,此后随着特征维数的增加,准确率趋于平稳.

经PCA降维后,对所得全新的28维特征进行选择,构造不同的特征子集,以提高集成学习的多样性.考虑到实际应用中需对入侵行为作出快速准确的判断,本文基于信息增益(IG)对特征分类能力进行度量,信息增益值表示已知特征X的信息而使得类Y信息不确定性减少的程度.基于信息增益的特征选择是一种典型的过滤式选择方法,其特征选择过程与后续分类器无关,大大降低了计算成本.信息增益(IG)是基于熵理论的评估方法,其描述如下:

设数据集D中包含k个类,第j类占总样本比例为Pj(j=1,2,…,k),则数据集D的经验熵为

(8)

设特征属性A有n个不同的取值{a1,a2,…,an},根据特征A的取值将数据集D划分为n个子集{D1,D2,…,Di,…,Dn},|Di|为第i个子集的样本个数,|Dij|为子集Di中隶属于第j类的样本个数,特征A关于数据集D的经验熵为

(9)

由(8)和(9)式可得特征A对数据集D的信息增益值

IG(D,A)=H(D)-H(D,A).

(10)

受集成学习取样方式启发,本文采用了一种随机搜索特征子集组合方式,以提高集成系统的多样性.首先通过(10)式计算每个特征的IG值,结果按照IG值递减排列,表1列出了k为20时,一组数据中每一特征对应的IG值.采用不放回随机抽样方法对特征进行选择,由于训练集数据相互独立,同一特征在不同基分类器的IG值不同,为提高模型的自适应能力,设置信息增益比a(0

输入:信息增益比a;原始特征集合F=[f1,f2,…,fn];F1=[].

Step2:根据权重随机选择一个特征fi,增大F1,F1=[fi];

是,停止搜索,以当前特征集合作为最终子集;

否,重复step2和step3.

输出:F1.

表1 k=20的一组数据的信息增益值

3 实验与分析

3.1 数据集

为验证上述方法在网络入侵检测中的应用价值,本文采用该数据集进行实验测试.KDD Cup99数据集提供了一个10%的训练子集,包含494 021条数据,其中97 278条为正常连接,其余为攻击连接.测试集包含311 029条数据,其中60 593条正常连接,其余为攻击连接.所有的攻击连接有39种类型,隶属于网络扫描(PROBING)、拒绝服务攻击(DOS)、非法提升权限攻击(U2R)、远程攻击(R2L) 4类.且为验证分类模型的泛化性能,训练集中出现了22种攻击类型,另外17种攻击类型仅出现在测试集中.几种数据连接类型及其在训练集和测试集中出现的次数统计如表2所示.

表2 数据连接类型及训练集和测试集的次数统计

3.2 样本属性与数据预处理

KDD Cup99数据集中每条数据连接包含41维属性(38维数值属性和3维字符属性),其中包含9项TCP连接基本特征,13项TCP连接内容特征,9项基于时间的网络流量统计特征,10项基于主机的网络流量统计特征.

由于SVM不能处理字符属性特征,本文采用独热编码将字符属性数值化.在采用独热编码前,根据文献[13,15]对属性合并降维,将“flag”属性中的oth、rstos0、s1、s2合并为一项,“service”属性中的ntup、urhi、tftpu、redi合并,将pmdump、http2784、harvest、aol、http_8001合并,由此每一样本属性扩增至112维.此外,由于不同特征属性数值量级不同,为避免较大数值影响较小数值属性,对数值化后的特征属性进行归一化处理.

3.3 实验结果分析

通过PCA降维后,集成学习模型的预测效果与特征选择和基分类器个数密切相关,因此需要对a和k的值进行讨论.为了验证a值对集成学习的影响,在k=6,12,18,24时分别观察模型的分类结果,如图3所示.

由图3可知,当a处于0.8至0.85之间时,准确率开始趋于稳定.设置a为0.85,对特征进行选择,构造多样化的特征子集.为确定基分类器个数,以k=6作为初始值,并逐渐递增,观察集成学习分类结果随k值的变化,并统计了集成个体预测结果的平均值和最高值进行对比,如图4所示.

由图4可知,随着基分类器个数的增加,基分类器的训练样本减少,导致平均准确率与最高准确率有所降低,但集成学习的准确率逐渐增大,说明集成学习的结果并不完全依赖于基分类器的准确率,且集成学习的结果相比较于单纯SVM模型有明显改善.设置k=15,统计集成学习模型对各种攻击的预测效果,结果如表3.

图3 不同信息增益比下的准确率

表3 各攻击类型预测结果 %

由表3可知,本文提出的算法对4种攻击行为的预测准确率都较高,其中3种攻击的准确率超过93%.由于训练集中样本不均衡,U2R的攻击样本较少,准确率相对较低,而DOS样本占比大,导致SVM分割超平面向稀有类偏斜,被错分为DOS的样本较多.

4 结论

本文采用Bagging-SVM解决网络入侵检测问题,为提高集成分类器的多样性,将样本扰动与特征扰动相结合.在样本扰动阶段,基于类别的平行分割使基分类器之间的样本相互独立,构造了较大差异的基分类器,同时解决了SVM难以处理大规模数据集的难题.在特征扰动阶段,通过PCA将原始特征集合降维至28时能够有效去除冗余信息,然后通过集成学习对KDD Cup99数据集进行分类检测,结果表明,当信息增益比为0.85,基分类器个数大于12时,分类结果稳定且对各种攻击类型的检测准确率都较高.

猜你喜欢
子集分类器扰动
由一道有关集合的子集个数题引发的思考
Bernoulli泛函上典则酉对合的扰动
拓扑空间中紧致子集的性质研究
关于奇数阶二元子集的分离序列
(h)性质及其扰动
BP-GA光照分类器在车道线识别中的应用
电子测试(2018年1期)2018-04-18 11:52:35
小噪声扰动的二维扩散的极大似然估计
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
用于光伏MPPT中的模糊控制占空比扰动法
电源技术(2015年11期)2015-08-22 08:50:38