一种面向复杂流数据事件分析的入侵检测方法与流程

文档序号:11729686阅读:184来源:国知局
一种面向复杂流数据事件分析的入侵检测方法与流程
本发明涉及计算机网络安全领域的入侵检测技术,具体涉及一种面向复杂流数据事件分析的入侵检测方法。
背景技术
:入侵检测技术是近20年来出现的一种主动保护自己以免受黑客攻击的新型网络安全技术。在面对各种网络威胁的情况下,及时正确地检测出对网络的入侵行为并采取恰当的处理方式以减少网络攻击造成的损失是目前从事网络安全研究的一个热点。目前人们主要采用机器学习的方法构建检测模型,其通常做法是提取入侵数据或正常访问数据的特征,构建特征数据库,进行模式匹配,进而完成入侵检测。常用的机器学习方法如贝叶斯分类,k近邻(knn),遗传算法(ga),决策树,人工神经网络(ann),支持向量机(svm)。由于svm对高维、小样本数据具有较好的分类性能,因此,常用于入侵检测模型的训练。然而,采用机器学习的方法进行入侵检测必须面对入侵检测样本数据中数据相关性大、重复样本多,检测时间长等问题。数据的冗余主要表现在两个方面:一方面是数据样本的维数较高;另一方面存在大量冗余的样本。目前,常用的去除数据冗余的方法有特征选择和模糊聚类等,它们在简化计算量方面取得了较好的效果,但未能很好地解决收敛速度慢、检测精度不高等问题。主成分分析(principlecomponentanalysis,简称pca)方法是k.person在一个多世纪前提出的一种统计分析方法,其基本思想是通过线性变换把多个特征化为少数几个按重要性从大到小排列的互不相关的新特征。在入侵检测数据中,往往会涉及众多特征变量,虽然每个特征都提供了一定的信息,但众多特征之间有一定的相关性,因此可以采用pca去除样本的冗余特征。压缩感知(compressivesensing,简称cs)是图像处理领域的算法,应用于图像的压缩和重建,该算法在采样率远低于niquist率的情况下,对信号进行压缩,并能通过合适的优化算法,对原始信息进行恢复重建,且收敛速度较快。因此可利用压缩感知算法对样本进行采样,去除冗余的样本,达到约简的目的。如何基于pca和压缩感知实现实时高效的入侵检测,已经成为一项亟待解决的关键技术问题。技术实现要素:本发明要解决的技术问题:针对现有技术的上述问题,提供一种能够有效去除各特征之间的相关性、能够大大简化计算、缩短训练时间和检测时间的面向复杂流数据事件分析的入侵检测方法。为了解决上述技术问题,本发明采用的技术方案为:一种面向复杂流数据事件分析的入侵检测方法,实施步骤包括:1)预先进行样本收集,将收集的样本进行入侵检测结果标记得到训练样本数据集,将所述训练样本数据集经过数据预处理后完成对分类器的训练,所述数据预处理包括特征降维和样本约简两个步骤,且执行顺序为先特征降维再样本约简或先样本约简再特征降维;2)将待检测的当前数据集经过所述数据预处理后输入训练好的分类器,得到分类器进行分类检测后输出的入侵检测结果。优选地,步骤1)中进行入侵检测结果标记具体是指将收集的样本标记为正常样本和攻击样本,步骤2)中输出的入侵检测结果是指输出正常或攻击。优选地,所述分类器具体为svm分类器。优选地,所述数据预处理中的特征降维具体是指进行pca特征降维。优选地,所述进行pca特征降维的详细步骤包括:a1)将输入数据集中的字符型特征映射为[0,1]范围内的数值型特征,完成输入数据集的无量纲化,得到n行m列的数据集xnm,数据集xnm共包含n×m个样本,且n×m个样本分别属于k个不同的类别y1~yk),其中样本xi属于类别yi;a2)从数据集xnm中遍历取出一个特征作为当前特征xi;a3)计算当前特征xi的协方差矩阵covx’;a4)计算协方差矩阵covx’的特征值λ1,λ2,…,λm,及特征值λ1,λ2,…,λm对应的归一化特征向量a1,a2,…,am;a5)将特征值λ1,λ2,…,λm从大到小排序,计算方差贡献率a6)判断方差贡献率是否小于预设的方差贡献率阈值,如果小于预设的方差贡献率阈值,则跳转执行步骤a2),否则跳转执行下一步;a7)将特征值λ1,λ2,…,λm对应的归一化特征向量a1,a2,…,am组成一个m行k列的主成分矩阵pmk,将主成分矩阵pmk根据式(1)计算得到n行k列的矩阵znk;znk=xnm×pmk(1)式(1)中,znk表示计算得到的n行k列的矩阵,xnm表示n行m列的数据集,pmk表示m行k列的主成分矩阵;a8)将n行k列的矩阵znk作为pca特征降维的结果输出。优选地,步骤a5)计算方差贡献率的函数表达式如式(2)所示;式(2)中,covii为协方差矩阵covx’的对角线元素,λi表示协方差矩阵covx’的第i个特征值,m表示数据集x的列数,k表示主成分矩阵pmk的列数。优选地,所述数据预处理中的样本约简具体是指基于压缩感知算法对输入的数据集进行压缩采样,且步骤1)中对分类器的训练时,通过观察分类器检测结果的准确率来选择前述进行压缩采样的采样次数n。优选地,所述基于压缩感知算法对输入的数据集进行压缩采样的详细步骤包括:b1)构建基于稀疏基的字典d;b2)基于给定的采样次数n持续对输入的数据进行采样;b3)将采样得到的n行m′列的数据集x′在字典d上进行稀疏表示,并构造观测矩阵;b4)基于观测矩阵对数据集x′进行观测,得到压缩后规格为n′行m′列的矩阵x″;b5)计算数据集x′、压缩后的矩阵x″所对应的分类正确率;b6)判断分类正确率大于预设的分类正确率阈值是否成立,如果成立则跳转执行步骤b3),否则如果不成立则跳转执行步骤b7);b7)将n′行m′列的数据矩阵x″作为压缩采样的结果输出。优选地,步骤b1)构建基于稀疏基的字典d具体是指dct字典。优选地,步骤b2)中构造的观测矩阵为独立同分布的高斯随机矩阵。本发明面向复杂流数据事件分析的入侵检测方法具有下述优点:1、本发明采用基于传统的pca的方法的基础上,引入降维率的概念,对样本的特征降维,有效地去除了各特征之间的相关性。2、本发明将图像处理领域的压缩感知算法引入到入侵检测中,通过对原数据集的重复样本进行压缩采样,构建的小样本集能够大大简化计算,缩短检测时间,对冗余的样本进行压缩,在检测率与非压缩效果相当的情况下,训练时间和检测时间远远低于传统的未压缩方法。3、本发明进一步引入了反馈调节机制,数据预处理中的样本约简具体是指基于压缩感知算法对输入的数据集进行压缩采样,通过观察分类器检测结果的准确率来选择前述进行压缩采样的采样次数n,得出最佳采样次数n,从而达到实时、高精准检测的目的。附图说明图1为本发明实施例一方法的基本流程示意图。图2是svm、朴素贝叶斯、c4.5分类器的分类正确率指标的比较图。图3是svm、朴素贝叶斯、c4.5分类器的分类建模时间指标的比较图。图4是svm、朴素贝叶斯、c4.5分类器的分类检测时间指标的比较图。图5是实施例一、传统未经压缩、实施例二方法的分类正确率指标的比较图。图6是实施例一、传统未经压缩、实施例二方法的检测率指标的比较图。图7是实施例一、传统未经压缩、实施例二方法的误报率指标的比较图。具体实施方式实施例一:本实施例采用著名的开源数据集kddcup99作为被检测的复杂流数据,选取了其中98328个样本,其中normal(56237)、dos(40172)、r2l(9)、u2r(102)、probe(1808)。为求得更加精确的实验结果,面向复杂流数据采用10次10折交叉验证的方式。下文将以开源数据集kddcup99为例,对本实施例入侵检测方法进行进一步的说明。如图1所示,本实施例面向复杂流数据事件分析的入侵检测方法的实施步骤包括:1)预先进行样本收集,将收集的样本进行入侵检测结果标记得到训练样本数据集,将所述训练样本数据集经过数据预处理后完成对分类器的训练,所述数据预处理包括特征降维和样本约简两个步骤,且执行顺序为先特征降维再样本约简或先样本约简再特征降维;2)将待检测的当前数据集经过所述数据预处理后输入训练好的分类器,得到分类器进行分类检测后输出的入侵检测结果。本实施例面向复杂流数据事件分析的入侵检测方法在数据预处理过程中,先采用pca对样本的冗余特征进行降维,然后采用压缩感知对冗余样本进行压缩或者按相反的顺序进行压缩,综合考虑了样本数量的冗余和样本特征相关的问题,分别从该两个方面去除数据的冗余性。该算法保证样本压缩前后检测正确率基本不变的前提下,大大缩短检测时间。本实施例中,步骤1)中进行入侵检测结果标记具体是指将收集的样本标记为正常样本和攻击样本,步骤2)中输出的入侵检测结果是指输出正常或攻击。恰当的分类器能利用pca和压缩采样得到的低维数据完成分类学习,且对测试数据集具有较好的分类准确率。本实施例中,分类器具体为svm分类器,svm分类器对高维、小样本数据具有较好的分类性能,能够提高面向复杂流数据事件分析的入侵检测的性能。本实施例中,数据预处理中的特征降维具体是指进行pca特征降维。pca特征降维的基本原理如下:记x=(x1,x2,…,xm),其中xj(1≤j≤m)为样本i(1≤j≤n)的第j个特征,经过矩阵p=(p1,p2,…,pl)(1≤l≤n,pl是m维的向量)变换,形成z=(z1,z2,…,zk),z为n×k的矩阵(k≤m)。pca特征降维的原则是:当样本的协方差矩阵的方差贡献率大于某个阈值时,此时对应的降维率为ρ=(m–k)/m,原样本可由变换后的少数几个新特征zj’(1≤j’≤k)描绘,而其主要成分不发生变化。本实施例中,进行pca特征降维的详细步骤包括:a1)将输入数据集中的字符型特征映射为[0,1]范围内的数值型特征,完成输入数据集的无量纲化,得到n行m列的数据集xnm,数据集xnm共包含n×m个样本,且n×m个样本分别属于k个不同的类别y1~yk),其中样本xi属于类别yi;a2)从数据集xnm中遍历取出一个特征作为当前特征xi;a3)计算当前特征xi的协方差矩阵covx’;a4)计算协方差矩阵covx’的特征值λ1,λ2,…,λm,及特征值λ1,λ2,…,λm对应的归一化特征向量a1,a2,…,am;a5)将特征值λ1,λ2,…,λm从大到小排序,计算方差贡献率a6)判断方差贡献率是否小于预设的方差贡献率阈值(本实施例中取值为90%),如果小于预设的方差贡献率阈值,则跳转执行步骤a2),否则跳转执行下一步;a7)将特征值λ1,λ2,…,λm对应的归一化特征向量a1,a2,…,am组成一个m行k列的主成分矩阵pmk,将主成分矩阵pmk根据式(1)计算得到n行k列的矩阵znk;znk=xnm×pmk(1)式(1)中,znk表示计算得到的n行k列的矩阵,xnm表示n行m列的数据集,pmk表示m行k列的主成分矩阵;a8)将n行k列的矩阵znk作为pca特征降维的结果输出。本实施例中,步骤a5)计算方差贡献率的函数表达式如式(2)所示;式(2)中,covii为协方差矩阵covx’的对角线元素,λi表示协方差矩阵covx’的第i个特征值,m表示数据集x的列数,k表示主成分矩阵pmk的列数。本实施例中,步骤a1)将输入数据集中的字符型特征映射为[0,1]范围内的数值型特征,完成输入数据集的无量纲化得到n行m列的数据集xnm,数据集xnm共包含41维的属性。当时,定义此时的特征降维率ρ:ρ=(m–k)/m,其中m表示数据集x的列数,k表示主成分矩阵pmk的列数。本实施例中,特征降维率ρ约为50%。某种程度上来说,当维数降得越低,能显著减少检测的时间,但是会影响样本分类的准确率,经过折中考虑,本文最终保留21个特征,进行pca特征降维后,将n行k列的矩阵znk作为pca特征降维的结果输出,矩阵znk中共包含21维属性特征。本实施例中,数据预处理中的样本约简具体是指基于压缩感知算法对输入的数据集进行压缩采样,且步骤1)中对分类器的训练时,通过观察分类器检测结果的准确率来选择前述进行压缩采样的采样次数n。基于压缩感知采样的关键是采样次数n的选择,通常情况下单位时间内采样次数n越少,压缩率越高,其后期进行训练和检测的速度越快,但是较高的压缩率会影响检测的精准度,必须权衡检测速度和检测精准度。因此,本实施例的入侵检测方法引入了一种反馈调节机制,通过观察最后检测结果的准确率,选择不同观测矩阵的行数来控制压缩采样次数n,实验得出最佳采样次数n,从而达到实时、高精准检测的目的。本实施例中,基于压缩感知算法对输入的数据集进行压缩采样的详细步骤包括:b1)构建基于稀疏基的字典d;b2)基于给定的采样次数n持续对输入的数据进行采样;b3)将采样得到的n行m′列的数据集x′在字典d上进行稀疏表示,并构造观测矩阵;b4)基于观测矩阵对数据集x′进行观测,得到压缩后规格为n′行m′列的矩阵x″;本实施例中,每次进行采样的数据样本为采样次数n=600,对应观测矩阵为600列,而压缩程度取决于采样矩阵行数,本实施例中选择的观测矩阵行数分别为0.6n,0.65n,0.7n,...,n,当为n时就是非压缩采样模式;b5)计算数据集x′、压缩后的矩阵x″所对应的分类正确率;b6)判断分类正确率大于预设的分类正确率阈值是否成立,如果成立则跳转执行步骤b3),否则如果不成立则跳转执行步骤b7);b7)将n′行m′列的数据矩阵x″作为压缩采样的结果输出。本实施例中,步骤b1)构建基于稀疏基的字典d具体是指dct(discretecosinetransform)字典。观测矩阵的设计,除了要满足与稀疏基不相关外,candes和tao还给出了有限等距性质rip这一充要条件。本实施例中,步骤b2)中构造的观测矩阵为独立同分布的高斯随机矩阵,能够同时满足与稀疏基不相关,以及有限等距性质rip这一充要条件。为了评估本实施例面向复杂流数据事件分析的入侵检测方法的性能,下文采用了混淆矩阵,并在混淆矩阵的基础上,进一步引入了检测率、分类正确率、误报率、建模时间、检测时间、混淆矩阵等几个检测性能指标。混淆矩阵通过确定预测值是否与实际值匹配,将模型中的所有事例分为不同的类别。然后会对每个类别中所有事例进行计数,并在矩阵中显示总计,如表1所示:表1:混淆矩阵。根据一个给定样本的真实类别和检测模型对其的类别预测,总共可能出现如表1所示的4种结构:truepositive(tp)、truenegative(tn)、falsepositive(fp)和falsenegative(fn)。其中tn和tp对应检测模型的正确预测,即样本被正确识别为正常或攻击。而fp和fn则对应错误预测,fp指正常样本被误识别为攻击,fn指攻击样本被错误识别为正常。基于混淆矩阵,可以对上面提到的各指标进行计算。计算公式如下:上式中,tp表示truepositive,fn表示falsenegative,tn表示truenegative,fp表示falsepositive,且fp和fn则对应错误预测,fp指正常样本被误识别为攻击,fn指攻击样本被错误识别为正常。针对本实施例面向复杂流数据事件分析的入侵检测方法实验是在weka下完成的。本实施例面向复杂流数据事件分析的入侵检测方法采用先特征降维,后样本约简的压缩方式,对数据集进行预处理,然后将样本分别在svm、朴素贝叶斯、c4.5分类器三种分类器进行检测,并比较它们的分类正确率、建模时间、检测时间等指标,如图2、图3、图4所示。从图2、图3、图4可以看出,在较低的采样次数n下,svm比朴素贝叶斯和c4.5的分类性能更好,主要原因归结于svm在处理高维、小样本数据方面的优势,随着采样次数n的增多,朴素贝叶斯和c4.5的分类性能上升较明显,最终分类正确率略高于svm,同时,svm的建模时间和检测时间均在c4.5和朴素贝叶斯之间(采样次数n为450以后),由此可以看出,svm最适合作为本实施例面向复杂流数据事件分析的入侵检测方法的分类器。实施例二:本实施例中与实施例一基本相同,其主要不同点为:实施例一中的数据预处理包括特征降维和样本约简两个步骤,且执行顺序为先特征降维再样本约简。而本实施例中,数据预处理同样包括特征降维和样本约简两个步骤,但是执行顺序为先样本约简再特征降维,但是样本约简、特征降维两个步骤的详细内容和实施例一完全相同,故在此不再赘述。为了进一步验证本实施例面向复杂流数据事件分析的入侵检测方法的性能,实验比较了传统的未经压缩的样本和先特征压缩再冗余样本压缩以及先冗余样本压缩再特征压缩的方式,以svm作为分类器进行分类检测的结果。图5、图6、图7展示了实验数据集经过上述三种方式处理后的检测率(dr)、分类正确率(tr)、误报率(fpr)的情况。从图5、图6、图7可以看出,实施例一(pca-cs)和本实施例(cs-pca)方法的曲线的走势大致相同,在低采样次数n下,分类正确率、检测率都比较低,误报率较高。随着采样次数n的增加,性能明显得到提升,特别是采样次数n为500-550之间时,正确率、检测率和误报率趋于稳定,达到和传统的非压缩采样的同等效果。为了进一步验证pca-cs和cs-pca两种方法在建模时间、检测时间上性能的优劣,采用10次10折交叉验证并取平均的方式,分别对该两种方法的各种时间进行统计(采样次数n均为550时),如表2和表3所示。表2:本实施例的时间统计。表3:实施例一的时间统计。由表2和表3可以看出,采用实施例一的方法的建模时间和检测时间跟本实施例方法大致相等,实施例一的性能略好,证明本实施例面向复杂流数据事件分析的入侵检测方法提出的pca和压缩感知的数据压缩方法是可行的、稳定的。表4比较了实施例一、本实施例和传统未经压缩的方法,用svm构成的分类器的平均建模和检测时间。表4:建模时间和检测时间性能对比。方法平均建模时间/s平均检测时间/s传统未经压缩方法25.53.31本实施例方法14.321.64实施例一方法14.091.40从图5、图6、图7,表2~4可以看出,在压缩后分类正确率和检测率略低于压缩前(1%-3%)的范围内,采用pca和压缩感知相结合的方法进行入侵检测,能大大简化计算量,有效地减少训练和检测的时间,证明本实施例面向复杂流数据事件分析的入侵检测方法提出的基于pca和压缩感知的入侵检测方法是可行、有效的。以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1