基于迁移学习的网络入侵检测模型的构建方法、检测系统与流程

文档序号:18632091发布日期:2019-09-11 21:44阅读:277来源:国知局
基于迁移学习的网络入侵检测模型的构建方法、检测系统与流程

本发明属于互联网的计算服务和应用技术领域,尤其涉及一种基于迁移学习的网络入侵检测模型的构建方法、检测系统。



背景技术:

目前,最接近的现有技术:随着基于网络的计算服务和应用的迅速发展,互联网受到越多的安全威胁,因此入侵检测系统(intrusiondetectionsystem,ids)作为网络安全深层防御的重要组成部分显得尤为重要。ids通过收集并分析网络底层流量或主机系统行为,发现并识别网络或系统中的入侵行为。为了检测大规模数据流量下的异常行为,基于机器学习的入侵检测方案成为目前研究的热点,通过机器学习或数据挖掘技术在大量的数据中提取特征,并针对已标记的数据集建立分类模型,实现对网络流量或者主机行为的分类,从而发现系统中的入侵行为。

现有的入侵检测模型均基于标记数据充足或者具有一定标记数据和大量未标记数据的假设,并基于监督学习或半监督学习的方法训练有效的检测模型,但即使是半监督学习的方式,仍然需要两个条件:1)需要大量未标记数据集;2)需要人工标记的少量标记数据集。但是当此类假设条件不满足时,则上述方案难以适用。考虑网络入侵领域由于攻击手段和攻击方式复杂多变,导致检测模型在不同网络环境中缺乏普适性,即某一网络中训练得到的检测模型可能不适用于其他网络环境,因此检测模型需要根据网络环境的不同使用对应的网络环境数据集频繁更新,当一个新的网络环境无法提供足够的标记或者未标记数据集时,那么不管是采用监督学习还是半监督学习都无法建立有效的入侵检测模型,而依靠人工专家知识不断标记对应的数据集则会耗费大量的人力物力,显然也不太合理,因此在训练数据集严重缺乏的情况下,提出一种更加自动化且高效的入侵检测模型是必要的。

由于基于机器学习的方法在处理复杂且大量数据上具有明显优势,目前基于机器学习的入侵检测方案得到众多研究者的关注,其主要思想是通过提取网络流量底层原始特征进行分析并根据已有数据建立检测模型,以对未知流量进行检测。通过信息增益和关联规则对训练数据集进行特征选择预处理,选择出25个重要特征并使用人工神经网络(artificialneuralnetwork,ann)进行训练,从而建立基于ann的学习器用于入侵检测。通过融合聚类(k-means)算法和最近邻(k-nearestneighbor,knn)算法,提出一种新型的特征表示法,该方法通过对训练数据进行聚类寻找聚类中心的距离建立距离特征,并且使用现有的特征提取方案有效的提高检测精度。基于机器学习的不同算法提出了对应的入侵检测方案。但考虑到单一模型算法的局限性,总结目前通过集成学习建立检测模型的方案,通过训练多个或多种机器学习算法建立检测模型,并通过投票(majorityvoting,mv)或者加权投票(weightedmajorityvoting,mv)的方式对多个弱分类器的结果进行决策建立一个强分类器,从而提高检测的准确率。但是现有传统监督学习方案均需要充足的标记训练数据用于训练可靠的检测模型。考虑传统网络中足够的标记数据集难以获取的情况,首先采用了半监督学习(semi-supervisedlearning)通过少量的标记数据对大量的未标记数据进行标记,从而获取足够的标记数据集用于训练出可靠的入侵检测模型,虽然此类方案解决了标记数据集有限的问题,但是半监督学习的目标仍然需要大量未标记数据集,因此即使是目前半监督学习方案仍然需要满足两个条件:1)需要大量未标记数据集;2)需要人工标记的少量标记数据集。一旦条件不满足,则无法建立有效的入侵检测系统。为了解决目标领域数据缺乏的问题,迁移学习(transferlearning)被用于图片分类,图像处理,自然语言处理等问题,此类方案仅需要少量的目标域数据和大量的源域数据即可完成分类模型从源域迁移到目标域的过程。迁移学习指使用数据、任务或模型间的关系或相似性,将源域中的数据或学习过的模型,投入于目标域中利用的一种学习方式。主要为了解决大数据中数据标注困难或计算能力有限的问题。目前并没有将迁移学习引入入侵检测领域的相关研究。

综上所述,现有技术存在的问题是:现有入侵检测方案全部基于充足的训练数据训练入侵检测模型,即使是基于半监督学习的入侵检测方案,也假设了含有部分已标记数据和大量的未标记数据集,并通过半监督学习逐渐标记数据,用于训练模型,但是对于完全陌生的新的网络环境,当初始建立入侵检测模型时,可能会缺乏已标记数据或无法短时间内收集大量的未标记数据,导致短时间内难以获取充足的训练数据用于训练可靠的入侵检测模型。因此如何在新的网络环境中解决入侵检测模型的冷启动问题是一个难点问题。造成需要建立入侵检测系统的网络无法建立可靠的入侵检测系统,从而带来诸多相应的安全问题,造成企业或者个人的损失。

解决上述技术问题的难度:

现有方案均基于训练数据集充分的假设,不管是对于现有的机器学习中监督学习方案、还是半监督学习方案,一旦缺乏数据将会导致根本无法建立可靠的入侵检测系统,而对于迁移学习技术,虽然可以解决数据不充分所带来的问题,但是现有的迁移学习合理引入入侵检测领域也是一项挑战,需要合理的定义相关概念和目标,以及解决入侵检测领域所特有的问题。

解决上述技术问题的意义:

考虑网络入侵领域由于攻击手段和攻击方式复杂多变,导致检测模型在不同网络环境中缺乏普适性,即某一网络中训练得到的检测模型可能不适用于其他网络环境,因此检测模型需要根据网络环境的不同使用对应的网络环境数据集频繁更新,当一个新的网络环境无法提供足够的标记或者未标记数据集时,那么不管是采用监督学习还是半监督学习都无法建立有效的入侵检测模型,而依靠人工专家知识不断标记对应的数据集则会耗费大量的人力物力,显然也不太合理,因此在训练数据集严重缺乏的情况下,提出一种更加自动化且高效的入侵检测模型是必要的。可以大量的减少人力物力的浪费,并且建立更加可靠的入侵检测系统,从而保证计算机和网络系统的安全。



技术实现要素:

针对现有技术存在的问题,本发明提供了一种基于迁移学习的网络入侵检测模型的构建方法、检测系统。

本发明是这样实现的,一种基于迁移学习的网络入侵检测模型的构建方法,所述基于迁移学习的网络入侵检测模型的构建方法包括:

第一步,根据所能获取到目标域数据的不同;

第二步,分别设计了基于少量标记数据和基于少量未标记数据两种不同的方案,并且两个方案分别基于不同的假设,但相同的是两个方案都需要有充足源域数据的辅助支持,并且都在此过程中引入了基于boosting的迁移学习方法;

第三步,最终获得适用于目标域的入侵检测模型。

进一步,所述基于少量标记数据的方案为:

通过云共享技术,在云平台的数据中心中存储足够的源域标记数据ds:(xs,ys),当目标域需要建立入侵检测模型时,从云数据中心直接获取足够的源域标记数据;

当仅使用少量目标域数据时,通过源域的数据ds辅助目标域数据建立检测模型,直接使用ds和dt和传统机器学习方案建立的入侵检测模型并不完全适用于目标域;引入迁移学习算法,通过在模型训练过程中,对样本权重的调整,源域中对目标域重要的数据实例权重增加,不重要的数据实例权重减小,在源域ds中寻找适合目标域的实例数据,将该部分数据知识最大限度的迁移到目标域模型的训练过程,得到目标域可靠的入侵检测模型。

进一步检测算法包括:

1)初始化源域和目标域数据权重向量,其中有并且同时根据源域和目标域权重,根据公式统一计算训练数据各个实例xi的权重pt,并设置参数β由hedge(β)产生;

2)使用个体学习器模型,根据合并后的训练数据t=ds∪dt以及t上的分布权重pt训练得到学习器ht(x),并且计算ht(x)在t上的错误率εt,其中ht(xi)为实例xi在上述学习器中的输出,c(xi)表示实例xi真实的标记;

3)根据获得的错误率εt以及公式计算新的权重向量βt

βt=εt/(1-εt);

4)根据新的数据权重迭代步骤2)-4),当进行n轮之后,根据公式得到最终的检测模型,并且得到输出结果,结果仅由n/2个个体学习器集成而成;

通过上述步骤,分别给源域数据和目标域数据分配不同的权重,其中将源域数据对目标域学习器贡献较大的样本分配较高的权重,将目标域中与源域不相似的样本分配较高的权重。

进一步,所述基于少量未标记数据的方案为:

目标域环境无法获取大量的训练数据,短时间内目标域仍然能够收集少量的未标记数据,目标域数据表示为dt:(xt);通过联合概率适配或者边缘概率适配将源域数据集合目标域数据映射到满足相同分布的特征空间x'。

进一步包括在无标记目标域数据情况下的入侵检测方案步骤如下;

1)通过收集目标域网络环境少量数据构造无标记的目标域数据dt:(xt);

2)将所获取数据集通过源域数据训练得到的入侵检测系统直接预测xt中数据的伪标记yt1

3)选择yt1中标记为“异常”的数据构造新的目标域数据(xt1,yt1),将新的数据带入进行训练,并得到检测模型

4)将步骤2)中的入侵检测模型hs(x)改为训练完成的模型继续预测xt的伪标记yt2,重复2)-步骤4),直到得到最终的检测模型

本发明的另一目的在于提供一种由所述基于迁移学习的网络入侵检测模型的构建方法构建的基于迁移学习的网络入侵检测系统,所述基于迁移学习的网络入侵检测系统中源域模型直接应用于目标域时漏报率fn=rfn,并且数据集中异常样本所占比重为pintrusion,迁移学习所需要目标域数据样本量占源域样本比重为pdsize=m/n,在忽略误警率的情况下,通过fs=hs(x)能够的到标记正确的样本为数为num=pintrusion*m*rfn;当概率均不为0的情况下,则从目标域无标记数据中获取正确标记的异常样本,并且基于少量标记数据的假设,使用此类样本,逐渐扩大num的值,进行良性循环,逐渐建立适用于目标域的入侵检测系统。

综上所述,本发明的优点及积极效果为:本发明将迁移学习引入入侵检测问题,并且基于车辆是否能够获取标记数据集提出两种入侵检测系统架构,并根据入侵检测环境中正常流量具有相似性,且漏报率较低的特点,通过对无标记数据进行伪标记,改进了现有迁移学习算法,使得在两种假设情况下,均能够建立准确率高,实用性强的入侵检测系统。

附图说明

图1是本发明实施例提供的基于迁移学习的网络入侵检测模型的构建方法流程图。

图2是本发明实施例提供的基于迁移学习方案总体架构示意图。

图3是本发明实施例提供的基于云平台的数据共享示意图。

图4是本发明实施例提供的基于实例的迁移学习过程图。

图5是本发明实施例提供的迁移学习检测模型构建流程图。

图6是本发明实施例提供的两个数据集中不同采样数据间mmd差异示意图;

图中:(a)data1结果;(b)data2结果。

图7是本发明实施例提供的不同网络攻击基于信息增益率的重要程度示意图;

图中:(a)32维特征重要度;(b)各个攻击前10位重要特征。

图8是本发明实施例提供的源域目标域攻击不同时检测模型的精度示意图;

图中:(a)训练数据导致检测结果;(b)检测数据导致检测结果。

图9是本发明实施例提供的所提方案假设1与仅使用源域数据结果对比示意图;

图中:(a)data1实验结果;(b)data2实验结果。

图10是本发明实施例提供的本发明方案假设1与仅使用少量目标域数据结果对比示意图;

图中:(a)data1实验结果;(b)data2实验结果。

图11是本发明实施例提供的本发明方案假设1与直接混合源域数据和少量目标域数据对比示意图;

图中:(a)data1实验结果;(b)data2实验结果。

图12是本发明实施例提供的本发明方案假设1方案迭不同代次数下准确率和时间变化示意图;

图中:(a)data1实验结果;(b)data2实验结果。

图13是本发明实施例提供的本发明方案假设2方案实验结果示意图。

图14是本发明实施例提供的本发明的方案假设2方案迭不同代次数下准确率和时间变化示意图;

图中:(a)20%无标记目标域数据;(b)30%无标记目标域数据。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

针对现有网络环境下因缺乏训练数据而导致的难以构建入侵检测模型的问题。本发明借鉴迁移学习方法,提出一种基于迁移学习的入侵检测模型。首先分别提出仅使用少量标记数据和仅使用少量未标记数据建立模型的两种假设,并针对两种假设分别设计了基于迁移学习和改进的迁移学习的检测模型建立方法。通过实验分析并验证了网络中含有不同攻击类型情况下流量特征的差异,并全面的对比了所提方案与传统方案的实验结果,验证了所提方案在仅使用少量数据的情况下,仍然能够有效的建立检测模型,同时具有较高的检测准确率。

下面结合附图对本发明的应用原理作详细的描述。

如图1所示,本发明实施例提供的基于迁移学习的网络入侵检测模型的构建方法包括以下步骤:

s101:根据所能获取到目标域数据的不同;

s102:分别设计了两种不同的方案,并且两个方案分别基于不同的假设,但相同的是两个方案都需要有充足源域数据的辅助支持,并且都在此过程中引入了基于boosting的迁移学习方法;

s103:最终获得适用于目标域的入侵检测模型。

下面结合附图对本发明的应用原理作进一步的描述。

1所提方案

1.1预备知识

为了更好的定义此类环境下的问题,本发明假设需要建立或者更新入侵检测模型的系统环境为目标域,而需要借助数据以完成入侵检测模型的训练任务的网络环境为源域,并且有如下定义。

表1所使用的符号对照表

定义1源域:为有能力提供足够已标记训练数据的网络环境,但是此网络环境由于存在的攻击类型或网络拓扑的差异化,区别于需要建立入侵检测模型的网络环境。其源域数据ds:(xs,ys)由构成,其中ys的类空间为{0,1},其中正常为1,攻击为0,但是0类为源域中所有的攻击类型数据的总和。

定义2目标域:为需要建立或者更新其入侵检测模型的网络环境,其源域数据dt:(xt,yt)由构成,其中yt的类空间为{0,1},其中正常为1,攻击为0,但是0类为目标域中所有的攻击类型数据的总和。在目标域中,由于已标记或未标记数据的缺乏,现有入侵检测方案均无法在数据严重缺乏的情况下建立有效的模型。

虽然ys和yt均为仅包括“正常”和“异常”,但由于源域和目标域所在位置、网络拓扑等信息的不同,源域和目标域中攻击者可能不同,而攻击者所采用的攻击手段和攻击类型也不同,导致其底层流量特征表现均有差异,即虽然xs和xt在具有相同的特征空间,但是其在具体特征中的表现不同,为了进一步的衡量不同域间数据的差异,本发明引入最大均值化差异(maximummeandiscrepancy,mmd)衡量源域数据和目标域数据的差异性。

根据传统机器学习模型对数据具有依赖的特点,以及本发明后续的实验结果可知,使用ds训练得到的检测模型在面对dt时,不具有良好的检测精度。而传统机器学习模型需要依靠足够的训练数据,因此仅依靠目标域的少量数据dt难以训练出可靠的入侵检测模型,因此本发明通过迁移学习方法将ds中包含的知识迁移到目标域中,并结合目标域的dt,通过迁移学习算法,共同构建适用于目标域的入侵检测模型,帮助提高模型在目标域的检测精度。

本发明的算法的主要架构如下图2所示,首先根据所能获取到目标域数据的不同,分别设计了两种不同的方案,并且两个方案分别基于不同的假设,但相同的是两个方案都需要有充足源域数据的辅助支持,并且都在此过程中引入了基于boosting的迁移学习方法,最终获得适用于目标域的入侵检测模型。

1.2所提方案

1.2.1基于少量标记数据的假设

考虑在真实场景中,可以通过人工专家知识标记一定数量的数据作为已标记的训练数据用于训练入侵检测模型,但是为了尽快建立入侵检测模型,基于半监督学习的方案仍然需要收集大量的未标记数据,并且需要通过人工标记的数据对大量未标记数据进行标记,获取足够的训练数据用于建立可靠的入侵检测模型,因此此类方案费时费力。而本发明第一个假设内容则避免了这一过程,仅需要使用少量的专家标记数据和从源域而的其他数据通过迁移学习的训练方式,直接建立可靠的入侵检测模型,此过程的假设如下。

假设1:通过云共享等技术,如图3所示,在云平台的数据中心中可以存储足够的源域标记数据ds:(xs,ys),当目标域需要建立入侵检测模型时,可以从云数据中心直接获取足够的源域标记数据,但是由于每个目标域自身环境和特点的不同,源域数据直接训练入侵检测模型可能无法很好的适用于目标域,因此目标域需要根据自身所提供的少量标记数据和足够的源域数据协同完成适用于目标域的入侵检测模型的构建任务。

传统机器学习需要以足够的训练数据作为前提,而假设所述,此时无法获取足够的目标域数据以建立有效的入侵检测模型,如图中4所示,图中三角形表示目标域数据,圆形表示源域数据。如图4(1)当仅使用少量目标域数据时,由于样本的不充分,导致分类边界难以确定,从而使入侵检测模型的检测结果不准确。由于目标域和源域数据均为抽取的底层流量特征且对于目前的大多通信协议或系统环境说具有相同的特征空间,因此具有较强的相似性,所以如图4(2)可以通过源域的数据ds辅助目标域数据建立检测模型,但是由于网络攻击类型等因素的差异,导致其网络流量特征表现具有差异性,直接使用ds和dt和传统机器学习方案建立的入侵检测模型并不完全适用于目标域,如图4(3)所示,因此本发明引入迁移学习算法,通过在模型训练过程中,对样本权重的调整,源域中对目标域重要的数据实例权重增加,不重要的数据实例权重减小,在源域ds中寻找适合目标域的实例数据,将该部分数据知识最大限度的迁移到目标域模型的训练过程,得到目标域可靠的入侵检测模型。

基于上述思想,其主要检测算法分为以下几个步骤,具体的流程如图5所示。

1)初始化源域和目标域数据权重向量,其中有并且同时根据源域和目标域权重,根据公式(2)统一计算训练数据各个实例xi的权重pt,并设置参数这里的β由hedge(β)产生;

2)使用个体学习器模型,根据合并后的训练数据t=ds∪dt以及t上的分布权重pt训练得到学习器ht(x),并且根据公式(3)计算ht(x)在t上的错误率εt,其中ht(xi)为实例xi在上述学习器中的输出,c(xi)表示实例xi真实的标记。在计算εt时本发明只考虑了在目标域中的训练数据dt,因为本发明将要建立在目标网络环境下的入侵检测模型,因此本发明更关注与学习器在目标环境中的表现,只有当学习器在目标网络具有较高的检测准确率时,对最终的检测模型才具有更重要的意义。在计算最终的误差时,进一步考虑了样本权重的影响,对于重要的样本说,提高其对误差的影响可以有效的给予该重要且错分的样本更多的关注,有助于在后续的分类中取得更好的分类结果;

3)根据上步骤中所获得的错误率εt以及公式(4)和(5)计算新的权重向量βt由公式可以看出,对于源域中ds的数据,当样本发生错分时,在下一轮训练中该样本的权重将会减小,这是因为当该样本在目标域的检测模型中发生错分,表示该样本与目标域中的样本特征表现不同,因此对于建立目标域的检测模型具有消极的影响,故应该减小该样本在训练过程中的权重从而减小其所带的影响;同时当目标域的样本发生错分时,表示该样本与源域样本差异较大,可能意味着具有区别于源域的新型的攻击或者其他网络属性不同带的新的特征表现,因此在后续的训练中应该给予更多的关注,使学习器更好的适应目标域;

βt=εt/(1-εt)(4)

4)根据新的数据权重迭代上述步骤2)-4),当进行n轮之后,根据公式(6)得到最终的检测模型,并且得到输出结果,结果仅由n/2个个体学习器集成而成;

通过上述步骤,分别给源域数据和目标域数据分配不同的权重,其中将源域数据对目标域学习器贡献较大的样本分配较高的权重,将目标域中与源域不相似的样本分配较高的权重,其目的均为更好的使用源域和不充足的目标域数据建立起目标域中有效的入侵检测模型。

1.2.2基于少量未标记数据的假设

更严格情况下,目标域也无法提供少量的人工专家标记数据,仅能够收集少量的未标记数据时,传统方法更无法建立可靠的入侵检测模型,因此本发明又提出了假设2。

假设2:目标域环境无法获取大量的训练数据,但是由于缺乏专家知识导致无法提供任何标记数据集,但短时间内目标域仍然能够收集少量的未标记数据,此时目标域数据表示为dt:(xt)。

而由于假设2的存在,使得基于假设1的方案由于获取不到xt的标签yt导致模型无法进行更新,目前在迁移学习领域中虽然已经有对于无监督迁移学习的研究[556],主要通过联合概率适配或者边缘概率适配将源域数据集合目标域数据映射到满足相同分布的特征空间x',但是此类方案基于矩阵运算会带极大的计算开销,并不适合于入侵检测的大数据环境,并且仍然基于了需要大量目标域数据的假设,因此难以适用于数据缺乏的环境中。

本发明考虑在入侵检测领域中,用户正常操作所产生的流量通常具有相似性,从假设1的实验结果可以看出,源域的入侵检测系统的误警率非常低,这表示源域的入侵检测系统直接应用于目标域时,对于正常的流量几乎不会将其判断为异常,即而对于异常流量则会产生较高的漏报率,即将异常的流量判断为正常。由此可知,当源域的检测系统直接应用于目标域时,如果检测到异常,那么可以以较高的概率判断该流量确实为异常流量,即若使得那么可以以较大的概率判断因此本发明在假设1的基础之上提出了在无标记目标域数据情况下的入侵检测方案。其主要思想是基于源域检测系统直接应用于目标域时误警率较小,可以通过源域检测出的极少量异常流量帮助标记目标域更多的数据。其主要步骤如下;

1)通过收集目标域网络环境少量数据构造无标记的目标域数据dt:(xt)。

2)将所获取数据集通过源域数据训练得到的入侵检测系统直接预测xt中数据的伪标记yt1

3)选择yt1中标记为“异常”的数据构造新的目标域数据(xt1,yt1),将新的数据带入假设1中所设计的方案进行训练,并得到检测模型

4)将步骤2)中的入侵检测模型hs(x)改为训练完成的模型继续预测xt的伪标记yt2,重复2)-步骤4),直到得到最终的检测模型其中主要算法伪代码如算法1所示。

由于假设1中通过少量的目标域数据就可以在不提高误警率的同时降低检测模型的漏报率,因此本发明通过极少量的目标域数据再次训练模型,则可以一定程度的改变源域模型,获取到更多标记正确的“异常”样本,再此对模型进行训练,如此重复则能够不断提高检测模型的性能,逐渐将源域的检测模型迁移到目标域中。

本发明假设源域模型直接应用于目标域时漏报率fn=rfn,并且数据集中异常样本所占比重为pintrusion,在假设1中迁移学习所需要目标域数据样本量占源域样本比重为pdsize=m/n,在忽略误警率的情况下,此时通过fs=hs(x)能够的到标记正确的样本为数为num=pintrusion*m*rfn。因此当概率均不为0的情况下,则一定能够从目标域无标记数据中获取正确标记的异常样本,并且基于假设1,可以使用此类样本,逐渐扩大num的值,进行良性循环,逐渐建立适用于目标域的入侵检测系统。

下面结合实验对本发明的应用效果作详细的描述。

1实验环境

实验环境为pc机,windows764位系统,i7-6700主频3.4ghz,内存8g,使用python语言和scikit-learn机器学习库作为编程语言和工具,并且使用weka作为辅助软件完成部分数据预处理工作,考虑到无线网络环境更为复杂多变,因此本发明将基于迁移学习方案在awid无线网络安全数据集上进行。

本次实验采用了无线网络安全中比较新且攻击类型非常全面的awid数据集对所提方案进行有效性和实用性的评估。该数据集收集于模拟环境,本发明主要使用了awid-reducedset中的其中两个完全不同的数据集1(awid-cls-r-trn)和数据集2(awid-atk-r-trn),数据集1中包含了三种主要的无线网络攻击,数据集2中包括了9种无线网络中常见的攻击类型。为了说明所提方案的有效性,本发明设计了大量的对比实验,首先本发明使用了awid中两个数据集作为本阶段数据所使用的数据集,并分别命名为data1和data2,其中为了区别目标域和源域,本发明将数据集中的攻击类型分别分配到对应的目标域和源域,模拟不同的网络环境,具体包含的攻击类型如下表1。由于在本发明假设的数据严重缺乏的条件下,现有的基于监督学习和半监督学习的入侵检测方案均无法建立检测模型,但为了证明所提方案的有效性,本次实验选择了机器学习领域和入侵检测领域中常用的标准算法svm和rf作为对比标准,同时使用了集成学习领域最新的框架lightgbm作为对比,以体现本发明方案的有效性。实验过程中采用通用的入侵检测模型的四种评估指标,准确率(accuracy),检测率(detectionrate),误警率(falsealarmrate)和漏报率(falsenegativerate)采用通用的入侵检测模型的四种评估指标:准确率(accuracy),检测率(detectionrate),误警率(falsealarmrate)和漏报率(falsenegativerate)作为检测模型的评价标准。

表2两种数据集中源域和目标域攻击类型

2模拟不同网络环境底层流量的差异

1)基于特征距离的差异

对上述data1和data2数据集,本发明使用最大均值化差异mmd衡量含不同攻击的数据集在特征表现中的差异性,进一步可以反映在不同网络环境中的差异。实验过程中本发明分别采样了data1和data2不同数目的样本,分别为100,200,…,900。其中每个数据集随机采样两份数据,采样结果如表2中所示,其中“dis”表示计算两份采样数据集之间的mmd距离,以此类推。其中实验结果如图6所示,对于属于同一数据集中的两份采样数据,其mmd距离非常小,而不同数据集之间的采样数据,其距离很大,由此可知当网络域中的攻击类型相同时,其数据的分布具有相似性,但是当网络域中的攻击类型具有差异时,不同网络域中的数据特征分布不同,因此在不同网络环境时,其面对的网络环境差异或网络攻击不同将导致其收集的底层流量不同,这样严重影响入侵检测模型的准确率。

表3数据分类

2)基于信息增益率的特征重要程度差异

为了验证不同攻击类型其反映在底层流量的差异,本发明将数据集1中的三种攻击分别和正常类型的流量混合,并采用了衡量特征重要程度最为常用方法信息增益率作为评估标准验证三种攻击类型的重要特征存在较大差异。实验结果如图7所示。

图7(a)中为三种攻击32维特征的重要程度的雷达图,从图中可以看出,三种攻击类型流量特征的差异均较大,其中第23维对于impersonation攻击最为重要,而第28维特征则为injection攻击最为重要的特征,图7(b)为三种攻击类型各前10个最重要的特征,其中总共包括15维,从图中仍然可以看出,各中不同的攻击其流量特征具有较大的差异,因此网络间的差异随着攻击类型的变化,其所面对网络流量特征表现也各不相同,导致其重要程度也不同。

3)训练数据与检测数据不同导致检测结果的差异

上述实验说明了不同攻击类型下流量特征的不同,即当不同网络环境中攻击种类不同时其所检测的流量特征也不同,当新的攻击出现,如果不对入侵检测模型进行更新,仅使用源域的检测模型对目标域进行检测,其结果如图8所示,其中im为源数据集中impersonation攻击,in为源数据集中injection攻击、fl为源数据集中flooding攻击,其中vs前面的攻击类型表示在训练集中出现,vs后面的攻击类型表示在测试集中出现。

由图8中可以看出,当仅使用源域的检测模型直接应用于目标域时,由于网络攻击类型的差异,将导致检测模型准确率不高于60%和漏报率不低于80%,这样的检测模型远远达不到本发明的要求,由此可以想象,当源域的入侵检测模型直接应用于目标域时,如果目标域中含有源域不存在的网络攻击类型,此时如果不对模型进行更新而直接使用源域训练的检测模型,将难以检测目标域中的攻击。

3假设1方案结果

1)所提方案与仅使用源域数据对比

首先本发明根据假设1将本发明使用的迁移学习方通过在源域数据中加入了不同百分比的目标域数据建立检测模型,其中本发明加入目标域数据的百分比为1%,2%,3%,4%,5%,10%,20%,50%。然后使用目标域中剩余数据进行测试,得到的结果同仅使用源域数据建立的检测模型结果进行对比,如图9所示,对于仅使用源域数据建立的检测模型,其漏报率均较高,这是因为源域和目标域的差异,导致底层流量分布的改变,直接将使用源域数据建立的检测模型应用于目标域时,无法应对改变后流量特征分布,从而导致较高的漏报率,而所提方案通过迁移学习,虽然仅使用少量的目标域数据参与训练模型,但是在训练过程中不断调整源域数据的样本权重,使得对目标域有效的样本获得较高的权重,这样在模型训练时具有积极的影响,让检测模型更好的适用于目标域,在目标域中具有非常好的效果,显著的降低了漏报率。

2)所提方案与仅使用目标域数据对比

然后为了验证少量目标域数据不足以建立可靠的检测模型,本发明又将所提方案与仅使用少量目标域数据建立的检测模型结果做对比,其中仅使用目标域的数据量和迁移学习中加入源域一同训练的目标域数据量相同。实验结果如图10所示,仅使用少量目标域训练所得到的模型在四种评估参数下的表现均非常不稳定,并且仍然具有较低的检测准确率和较高的误警率。当然,当数据量超过一定大小时,仅使用目标域数据的方案逐渐趋于稳定,这是因为随着数据量的增加,所建立的模型越可靠,但是数据量的增加意味着需要消耗更多的通信开销和时间开销获取大量的目标域数据。而本发明所使用的迁移学习的方案,仅使用少量的目标域数据与源域数据混合建立模型时已经具有足够的稳定性,准确率较高,误警率和漏报率较低,在不增加额外通信开销和时间开销的情况下具有更好的检测准确率。

3)所提方案与混合使用目标域和源域数据对比

最后本发明又将所提方案同直接将少量目标域数据混合源域数据在传统机器学习方案下的结果进行对比,其中混合少量目标域数据量的大小同迁移学习中所使用的数据量大小相同,保证了在同等通信开销和时间开销情况下两种方案的检测精度,实验结果11如图所示,混合目标域和源域数据时,传统的机器学习方案也能一定程度的保证检测结果的稳定性,但是仍然存在检测准确率较低和漏报率较高的问题,特别是在数据量较少的情况下,而本发明所使用的方案通过在训练过程对样本权重进行调整,通过改变错分样本的权重,在检测模型的迭代更新过程中,使得所建立的检测模型越适应于目标域,从而在目标域的检测数据中达到较好的检测效果。

上述实验不但证明了所提方案较现有传统方案具有更高的检测准确率,还说明了所提方案在仅使用少量目标域数据的情况下,仍然具有较好的检测准确率,从图中可以看出,当仅使用源域数据量的5%时,在保证检测率和误警率的情况下,所提方案的检测准确率明细较其他方案更高,且漏报率更低,这说明所提方案在应用于实际环境时,具有更好的实用价值,同时解决了由于数据严重缺乏情况下入侵检测模型难以有效建立的问题。

4)准确率与训练时间随迭代次数的变化

由于假设1方案中采用了迭代的方式不断更新检测模型从而使模型适用于目标域,因此实验通过在不同迭代次数下,观察检测模型的准确率和模型更新所需要的时间,同时由上述实验可知,当目标域数据为5%~10%时,检测模型即可达到较好的效果,因此本发明分别考虑了当目标域数据量在5%和10%时的情况。如图12所示,本发明分别设置迭代次数n为1到8次,由图12所示可知,当迭代次数为3或4次时,检测模型可以达到最好的检测准确率,而此时模型更新所需要的时间均不超过1s,该时间完全可以满足要求。而当迭代次数增加时,检测准确率反而呈现下降趋势,这是因为过多次的调整权重导致检测模型太依赖训练数据,导致过拟合。因此,实际过程中应该选择合适的迭代次数。

4假设2方案结果

1)方案准确率对比

同样为了验证假设2方案的效果,本发明同样进行了对比试验,其中由于在dt数据中仅存在xt而没有数据的标记yt,无法通过目标域的数据进行有监督学习或半监督学习,因此这里只对比仅使用源域所建立的检测模型与本发明假设2方案进行对比,考虑源域模型直接应用于目标域时具有较高的漏报率,因此,本阶段的训练需要更多的目标域无标记数据,能够获取极少量的异常数据,实验中本发明使用目标域数据的比例分别为1%,5%,10%,20%,30%,40%,50%,100%,实验结果如图13所示。

实验结果可知,本发明假设2所提方案仍然能够在较少数据量并且是未标记数据的情况下提高检测模型的准确率,并且在仅使用10%左右的目标域数据情况下已经有明显的提升。本发明所设计方案在没有标记数据的情况下仍然能够有效的建立目标域的入侵检测模型,同时仍然能够保证仅使用少量的目标域数据,完成在数据严重缺乏情况下的模型建立,并且不需要人工的标记的参与。

2)准确率与训练时间随迭代次数的变化

假设2方案中采用了迭代的方式不断给目标域数据标记伪标签,在目标域无标记数据中获取更多的异常样本用于改进检测模型,因此实验通过在不同迭代次数k下,观察检测模型的准确率和模型更新所需要的时间,同时由实验可知,当目标域数据为20%~30%时,检测模型即可达到较好的效果,因此本发明分别考虑了当目标域数据量在20%和30%时的情况。如图14所示,本发明分别设置迭代次数k为1到8次,由图中可知,在20%目标域情况下4次时,检测模型可以达到最好的检测准确率,而此时模型更新所需要的时间不超过3s。而当迭代次数进一步增加时,由于较低漏报率产生的伪标记样本中含有标记错误样本可能会越多,模型更新过程受错误标记影响样本越多,降低准确率。

针对缺乏训练数据而导致的难以构建入侵检测模型的问题,本发明借鉴迁移学习方法,提出了一种基于迁移学习的入侵检测模型,根据所获取数据集的不同主要做了两个假设:1)首先假设面对新的网络环境,通过专家系统人为可标记少量标记数据集,但此时短时间内获取大量数据集仍然是困难的,因此在此架构中引入迁移学习,设计了一种仅使用源网络数据和目标网络少量标记数据情况下入侵检测模型的更新方案,并保证了模型更新后的检测精度。2)基于上述方案做了更强的假设,进一步考虑无法获取目标网络少量标记数据的情况,改进迁移学习算法,考虑网络入侵检测中误警率较低的特点,通过给目标网络无标记数据添加伪标记的方法,不断更新检测模型,实现了入侵检测模型在无标记数据情况下的更新。最终在无线网络入侵检测awid数据中两种数据集上进行了仿真实验,分析并验证了网络中含有不同攻击类型情况下流量特征的差异,并全面的对比了本发明所提方案与传统方案的实验结果,验证了所提方案在仅使用少量数据的情况下,仍然具有较高的检测准确率。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1