基于双层异质集成学习器的入侵检测方法转让专利

申请号 : CN201910671353.7

文献号 : CN110581840B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 凌玥刘玉岭卢志刚李宁姜波朱燕刘俊荣

申请人 : 中国科学院信息工程研究所

摘要 :

本发明公开一种基于双层异质集成学习器的入侵检测方法,包括以下步骤:使用PKPCA数据降维算法对原始数据进行降维处理,得到预处理数据集;使用N个分类器对预处理数据集进行处理,使用分层十折交叉验证方法防止过拟合;采用分类器评估算法选择表现最好的M个分类器作为异质学习器,其中2≤M

权利要求 :

1.一种基于双层异质集成学习器的入侵检测方法,包括以下步骤:使用概率核主成分分析方法数据降维算法对原始数据进行降维处理,得到预处理数据集;

使用N个分类器对预处理数据集进行处理,使用分层十折交叉验证方法防止过拟合;

采用分类器评估算法选择表现最好的M个分类器作为异质学习器,其中2≤M

分类器评估算法如下:

其中,F表示F-Measure,AUC表示AUC的值,即ROC曲线下的面积;

执行多分类器融合算法对M个分类器的输出结果进行基于概率的加权投票,该概率是指分类器对于每个输入向量所对应的输出类别的概率,采用对M个分类器的概率加权公式来得到其权值,投票结果作为最后的入侵检测结果;

分类器的概率加权公式为:

其中, 是输入类别为Dj时分类器ci的期望输出,yi是实际输出,xi是输入向量。

2.如权利要求1所述的方法,其特征在于,降维处理的步骤包括:将原始数据按列组成n行m列矩阵X;

计算核矩阵,选定高斯径向核函数中的参数,计算核矩阵K,修正核矩阵得到KL;

求出协方差矩阵C,运用Jacobi迭代算法计算KL的特征值和特征向量;

将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵;

通过施密特正交化方法单位正交化特征向量得到P;

Y=PX即为降维到k维后的数据。

3.如权利要求1所述的方法,其特征在于,使用五个分类器对预处理数据集进行实验。

4.如权利要求3所述的方法,其特征在于,五个分类器包括朴素贝叶斯、Bp神经网络、C4.5决策树、逻辑回归和SVM。

5.如权利要求1、3或4所述的方法,其特征在于,选择表现最好的三个分类器作为异质学习器。

6.如权利要求1所述的方法,其特征在于,分层十折交叉验证方法为:将数据集按类别等比例划分成10份,用9份作训练集,1份作测试集,每个分类器经过10次交叉验证,最终得到各分类器结果。

7.如权利要求1所述的方法,其特征在于,F值的计算公式为:

其中,precision表示分类器的精度,recall表示分类器的召回率;

AUC计算公式为:

其中,正样本个数为m+,负样本个数为m-,D+为所有正例组成的集合,x+是其中的一个正例,D-为所有反例组成的集合,x-是其中的一个反例,f(x)是模型对样本x的预测结果,在0~

1之间,W仅在x为真时取1,否则取0。

8.如权利要求1所述的方法,其特征在于,在执行多分类器融合算法之前,将各个分类器的输出结果转换成统一的概率模式。

9.如权利要求1所述的方法,其特征在于,加权投票的方法为:将P{S∈Dj|ci(xi)=yi}作为投票表决时分类器ci的第j个输出的得票数目,则S∈Dj的总得票数为:根据如下输出向量加权投票表决规则进行投票:其中,E为输出向量,Tk是表决阈值。

说明书 :

基于双层异质集成学习器的入侵检测方法

技术领域

[0001] 本发明提出一种基于双层异质集成学习器的入侵检测方法,它采用了基于异常的策略进行入侵检测,属于网络安全领域。

背景技术

[0002] 入侵检测技术是检测网络安全攻击的常用方法。当前入侵检测分为两大类方法,一类是基于误用的入侵检测方法,采用的是签名模式匹配的方法,该类方法基本原理是将已知的签名或攻击模式与受监控的流量进行匹配以此来监控入侵标志的网络流量信息。其优点在于误报率较低,其难点在于如何设计模式既能够表达“入侵”现象,又不会将正常的活动包含进来。它的缺点在于只能够对已知的攻击进行建模,很难检测到未写入规则库的攻击;此外,在发现新攻击和部署其相应签名之间可能存在较大的时间间隔,安全管理员也需对开发的签名进行管理、分发、保持最新。一旦攻击者稍微修改一些已知的恶意软件,就会带来较大挑战。
[0003] 另一类是基于异常的入侵检测方法,基本原理是通过在训练阶段对正常网络行为进行建模,然后部署学习模型以监视网络流量来寻找入侵迹象。相比基于误用的入侵检测方法,其优点在于能够检测出未知的攻击,但是仍然存在误报率和漏报率较高的缺点。
[0004] 为此,提出了本发明的方法,通过采用学习器集成的异常检测方法在保证检测率的情况下,减少入侵检测的误报率和漏报率。
[0005] 在基于异常的网络入侵检测中,很多研究者对机器学习算法进行了改进和应用。将传统机器学习的入侵检测方法分为两类:使用单个分类器进行入侵检测,以及融合多个分类器来进行检测。使用单个分类器的检测方法具有较高错误率,因为在分类过程中,这些方法的性能通常会随着不同的分类器和/或不同的数据集的变化而变化,因此会产生较高错误率。而以合理的方式融合多个分类器可以减少整体分类错误并增强模型的泛化能力。
这个融合过程被称为集成学习。近年来,基于深度学习的异常检测研究也越来越广泛。然而,由于缺乏理论基础、超参数和网络设计,深度神经网络被认为是一个“黑匣子”,其计算非常耗时,解释性也较差。同时,通过应用传统的机器学习方法,可以轻松调整超参数并改变模型设计。因此,使用传统的机器学习模型更具说明性和效率。集成学习具有很强的泛化能力,可以降低错误率,因此几种传统分类器的组合可以降低错误率,使能够更全面地了解数据和底层算法。
[0006] 对于入侵检测,还需要考虑时间消耗,因为许多研究人员以牺牲过多的时间消耗为代价来提高模型的检测率。这对于入侵检测来说是不可取的,因为大量的时间消耗会影响其实用性。
[0007] 综上所述,目前有关入侵检测的应用大都无法应对未知的攻击,而基于异常的入侵检测方法虽然已经有一些初步的应用,但是大都以时间消耗为代价来保证误报率和漏报率。由于入侵检测误报和漏报的代价较高,已有的方法并不能完全达到高精确率、低误报率漏报率,和时间消耗较小的入侵检测要求。

发明内容

[0008] 为解决上述问题,本发明提出一种基于双层异质集成学习器的入侵检测方法(intrusion detection model using double-layer heterogeneous ensemble learner strategy,IDHEL),能够在保证准确率的情况下,降低误报率和漏报率,并尽可能减少时间消耗。
[0009] 一种基于双层异质集成学习器的入侵检测方法,其步骤包括:
[0010] 1)数据预处理。使用概率核主成分分析方法(PKPCA)数据降维算法,尽可能减少信息损失和降低计算开销。PKPCA算法相比于PCA算法,既能够将数据的概率分布考虑进去,又能够利用数据的高阶统计信息,以此来得到更好的降维效率。其具体步骤如下所示:
[0011] 1.将原始数据按列组成n行m列矩阵X;
[0012] 2.计算核矩阵,选定高斯径向核函数中的参数,计算核矩阵K,修正核矩阵得到KL;
[0013] 3.求出协方差矩阵C,运用Jacobi迭代算法计算KL的特征值和特征向量;
[0014] 4.将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵;
[0015] 5.通过施密特正交化方法单位正交化特征向量得到P;
[0016] 6.Y=PX即为降维到k维后的数据。
[0017] 2)单分类过程。使用N个分类器对预处理数据集进行实验,应用了分层十折交叉验证方法来防止模型过拟合。其中,N取值越大,则最终投票结果的准确度会越高,但会增加后续步骤的处理难度,故优选地,使用五个分类器为宜,该五个分类器包括朴素贝叶斯、Bp神经网络、C4.5决策树、逻辑回归和SVM。分层十折交叉验证方法则是在交叉验证的基础上,考虑了数据的类别,使得每一份数据都能够体现原始数据的数据比例。
[0018] 3)分类器筛选过程。采用分类器评估算法(CEA)选择表现最好的M个分类器作为异质学习器。CEA算法综合考量了F值和AUC值,能够完善得对分类器的表现进行评估。其中,2≤M
[0019] 4)多分类器集成过程。执行多分类器融合算法(McFA)对结果进行基于概率的加权投票,投票结果作为最后的入侵检测结果。概率指的是分类器对于每个输入向量所对应的输出类别的概率,采用对各个分类器的概率加权公式来得到其权值。
[0020] 与当前已有的相关技术相比,本发明具有以下几点优势:
[0021] 1、本发明采用了概率核主成分分析方法来降低数据维度,能够在捕获数据高维信息的同时,考虑其概率分布;
[0022] 2、本发明采用了基于概率加权投票的双层异质学习器集成学习策略,能够在减少整体分类误差,降低时间消耗。
[0023] 本发明的目的是对基于异常的入侵检测方法进行改进和优化,在保证入侵检测准确率的情况下,降低误报率和漏报率,并尽可能减少时间消耗。

附图说明

[0024] 图1是本发明的一种基于双层异质集成学习器的入侵检测方法总览图。
[0025] 图2是数据分层十折交叉验证示意图。
[0026] 图3是分类器分层十折交叉验证算法流程图。

具体实施方式

[0027] 为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术核心作进一步详细的说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0028] 本实施例公开一种基于双层异质集成学习器的入侵检测方法,本方法的总体思路是通过采用基于概率加权投票的双层异质学习器集成学习策略,在保证入侵检测准确率的情况下,降低误报率和漏报率,并尽可能减少时间消耗。本方法分为两个部分:第一部分是数据预处理,使用PKPCA数据降维算法,它结合了PPCA和KPCA的优点,能够尽可能地减少信息损失和降低计算开销。第二部分是入侵检测的双层策略,又分为两部分。首先是单分类过程,使用五种不同的分类器来分别检测,包括:朴素贝叶斯、Bp神经网络、C4.5决策树、逻辑回归和SVM。此外,应用了分层十折交叉验证方法来防止模型过拟合。其次是多分类器集成过程,使用分类器评估算法(CEA)选择最好的三个分类器作为异质学习器,然后执行多分类器融合算法(McFA)进行再处理。
[0029] 本方法的整体流程图如图1所示,其具体步骤细节描述如下:
[0030] (1)使用PKPCA数据降维算法。
[0031] 使用概率核主成分分析(PKPCA)方法,该方法不仅能够捕获数据的高维信息,而且还考虑了其概率分布。该方法具体描述如下:
[0032] 假设{x1,x2,...,xN}是数据空间Rd中的训练数据,xN表示第N条入侵检测数据集中的训练数据,并且数据由映射函数Ψ被映射到高维数据空间Rf中,其中f>d。映射数据用Ψf×N={Ψ1,Ψ2,...,ΨN}表示。
[0033] 隐藏变量模型是Ψ(x)=Wz+μ+ε,其中z~N(0,Iq),ε~N(0,ρIf),W表示f×q的因子矩阵。参数μ和W的最大似然估计表示为:
[0034]
[0035]
[0036] 其中R是任何q×q大小的旋转矩阵,λq和Uq分别是第q大特征值和相应的包含C的特征向量。
[0037] 采用最大期望算法(EM算法)在PKPCA中查找参数Q和 该算法的简单思路是先初始化隐含变量,然后估计出每个类别对应的分布参数,接着再根据这个分布参数去调整每个样本的隐含参数,依次迭代。本发明使用了以下迭代公式:
[0038]
[0039]
[0040] 其中,M=ρIq+WTW=ρIq+QTKQ, 和 是更新后的估算值。
[0041] 使用PKPCA数据降维算法进行降维处理的过程如下:
[0042] 1.将原始数据按列组成n行m列矩阵X;
[0043] 2.计算核矩阵,选定高斯径向核函数中的参数,计算核矩阵K,修正核矩阵得到KL;
[0044] 3.求出协方差矩阵C,运用Jacobi迭代算法计算KL的特征值和特征向量;
[0045] 4.将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵;
[0046] 5.通过施密特正交化方法单位正交化特征向量得到P;
[0047] 6.Y=PX即为降维到k维后的数据。
[0048] (2)使用五种经典的分类器对预处理数据集进行处理,应用分层十折交叉验证方法来防止模型过拟合。
[0049] 在分类过程中,单个分类器可能带来分类偏差,导致较高的错误率。集成策略意味着融合多个分类器可以产生更好的结果。如果以合理的方式融合多个异质学习器,可能就会得到理想的分类结果,并且整体分类误差也会减少。单分类器分类过程中应用分层十折交叉验证方法来防止模型过拟合。
[0050] 分层意味着原始数据中每个类别的比例关系在每个折叠中保持不变。具体方法如图2所示。假设有两种类型的原始数据,比例为1:2,那么十个折叠中的每一个中的数据类别保持1:2的比率,这使得结果更可靠。
[0051] 采用分层十折交叉验证算法来进行分类的学习器示意图如图3所示。首先将数据集按类别等比例划分成10份,用9份作训练集,1份作测试集,每个分类器经过10次交叉验证,最终得到五种分类器结果。接着,进入下一步基于概率投票加权的分类器集成算法(即下文两步骤的CEA和McFA)。
[0052] (3)采用分类器评估算法(CEA)选择表现最好的三个分类器作为异质学习器。
[0053] 使用以下公式来评估每个分类器的效果:
[0054]
[0055] 其中,F表示F-Measure,AUC表示AUC的值,即ROC曲线下的面积。
[0056] 根据CEA公式,可以选择出针对该数据集适用于PKPCA的三种效率最高的分类算法。
[0057] 由于单独的高精确率和高召回率并不能够证明算法的有效性,本发明使用F值对精度和召回率进行综合评估,F值得计算公式如下所示:
[0058]
[0059] ROC曲线则将false positive rate作为横坐标,true positive rate作为纵坐标,它能够很容易地查出任意界限值时的对性能的识别能力,可以通过分别计算各个ROC曲线下的面积(AUC)来比较实验结果的优劣。
[0060]
[0061] 其中,正样本个数为m+,负样本个数为m-,D+为所有正例组成的集合,x+是其中的一个正例,D-为所有反例组成的集合,x-是其中的一个反例,f(x)是模型对样本x的预测结果,在0-1之间,W仅在x为真时取1,否则取0。
[0062] 由上分析可以看出,F值和AUC能够比较直观地评判分类效果,因此使用了F-Measure和AUC的调和平均数来综合评判分类效果。
[0063] (4)执行多分类器融合算法(McFA)对结果进行基于概率的加权投票。
[0064] 本发明采用了概率加权投票的方式来集成多个分类器。投票法是最简单也是最广泛的集成方法,这种方法是对各个分类器的判决进行投票,其最大得票的判决作为最后系统的识别结果。
[0065] 假设给定的模式空间由两yi=(0.9,0.1)个互斥的集合构成,即S=D1∪D2,若分类器ci对于来自Di的样本有一个期待的输出向量 并且有 那么,当分类器ci有一个输出向量yi=(0.9,0.1)或yi=(0.6,0.4)时,分类器都会将这两个输出向量识别为相同的类D1。然而,对于输出向量yi=(0.6,0.4)来说,它的分类效果显然比不上。因此,可以考虑给概率P{S∈Dj|ci(xi)=yi}赋予不同的权重值,xi指的是输入向量,即特征值。
[0066] 由于本发明所采用的三种分类算法的输出向量并不一致,所以在进行多分类器融合之前,首先要将输出结果转换成统一的概率模式,然后再计算各个分类器的加权值。当满足ci(xi)=yi时,对于各个分类器ci的概率加权定义为:
[0067]
[0068] 其中 是输入类别为Dj时分类器ci的期望输出。将P{S∈Dj|ci(xi)=yi}作为投票表决时分类器ci的第j个输出的得票数目,则S∈Dj的总得票数为:
[0069]
[0070] 因此,基于异质学习器的输出向量加权投票表决规则表示为:
[0071]
[0072] 其中Tk是表决阈值,它能根据不同的应用需求设定不同的值。此外,为了提高算法的可靠性,本发明采用了拒绝识别的方法。
[0073] 本发明提供的基于双层异质集成学习器的入侵检测方法,可以应对未知的攻击,能够在保证入侵检测准确率的情况下,降低误报率和漏报率,并尽可能减少时间消耗。
[0074] 以上所述实施例仅表达了本发明的实施方式,其描述较为具体,但并不能因此理解为对本发明专利范围的限制。应当指出,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应当以所附权利要求为准。