一种基于主动学习和迁移学习的网络入侵检测方法与流程

文档序号:17089022发布日期:2019-03-13 23:13阅读:234来源:国知局
一种基于主动学习和迁移学习的网络入侵检测方法与流程

本发明属于网络安全领域,具体涉及一种基于主动学习和迁移学习的网络入侵检测方法。



背景技术:

随着网络的迅速发展,网络无论在国家生活还是人们的日常活动中扮演着越来越重要的角色。因此,网络安全技术的重要性也日益凸显。当前网络安全面临着越来越多的病毒、系统漏洞和黑客攻击等挑战。其中,如何识别各种网络攻击行为是一种保护网络安全的重要技术手段。入侵检测作为网络安全中的核心技术之一,其可以及时发现正在进行或者已经发生的恶意攻击行为。以入侵检测技术为核心的入侵检测系统是一种主动的网络安全防御技术,它不仅弥补了防火墙的不足而且可以有效地检测攻击行为并提出相应防御措施。但是,传统的入侵检测系统存在诸多问题,比如误报率和漏报率高,只能检测到已经存在的攻击行为而对新型的攻击行为和海量的攻击行为的检测显得越来越力不从心。

近年来伴随着机器学习的兴起,以机器学习算法为基础的入侵检测方法使对网络攻击的智能检测成为可能,与传统的入侵检测方法相比一方面提高了入侵检测的效率,另一方面降低了漏报率和误报率。因此,机器学习的兴起为入侵检测技术的发展指明了一个新的方向。当前,虽然在入侵检测中传统的机器学习应用十分广泛,但是其中大多数的机器学习算法都会将几种不同的攻击行为看成是攻击,而不去具体区分的采取单一的检测算法进行检测。这就会导致每种攻击行为的检测成功率不平衡,比如某种机器学习算法训练得到的分类器对某一类型的攻击检测率比较高,而另一类型的攻击难以检测到,特别是对攻击样本数目稀少的攻击类型,往往会被忽略。另外,传统的机器学习算法通常需要满足以下两个假设条件:(1)训练样本与新的测试样本满足独立同分布条件;(2)需要大量的训练样本才能学习得到一个好的学习模型。然而在实际应用中测试数据和训练数据的分布很难做到一致,此外有些样本资源十分稀缺。例如,在生物学中进行数据分类,得到一个训练样本的标签往往需要大量的,长时间的,昂贵的实验;在文本分类领域,人们发现已有的训练样本远远不足够建立一个可靠的分类模型,而标注大量文档往往需要高薪聘请大量的专家,造成获得标注训练样本的代价很高。总而言之,人们一方面需要大量的训练样本以建立准确率高的分类模型:另一方面,获得大量的训练样本在很多实际应用中几乎不可能的。

为了解决样本稀缺问题,研究者提出了迁移学习,该方法是应用已有存在的知识对相关领域问题进行求解的一种新的机器学习方法,它放宽了传统机器学习中的两个基本假设,其目的是使用已有的知识来求解目标领域中仅有少量样本甚至没有学习的问题。迁移学习代表了机器学习以后的发展方向,将迁移学习应用到入侵检测中,与其它机器算法相比可以使用已有历史数据中的知识节约搜集数据的成本,训练数据和测试数据的数据分布也可以不相同。此外,迁移学习还为有效解决攻击类型样本稀缺和攻击类型检测不平衡问题提出了一种新的解决方式,因此相较于传统的机器学习算法具有很大的优势。

综上所述,本发明在迁移学习的基础上,可以有效地利用大量的历史攻击样本解决入侵检测攻击类型样本稀缺问题和攻击类型检测不平衡问题,另外使用合理的主动学习策略选择标记样本可以减少分类器训练时间。总之,本发明方法相较于以前的入侵检测方法准确率更高,误报率更低且算法时间效率更具有优势。



技术实现要素:

针对上述背景技术中存在的问题,本发明方法提出一种基于主动学习和迁移学习的入侵检测方法。

一种基于主动学习和迁移学习的网络入侵检测方法,包括以下步骤:

(1)给定源域入侵检测样本集合sa以及目标域入侵检测样本集合sb;

(2)使用主动学习思想,计算源域sa中每个样本的权重,查询函数根据权重将源域sa与目标域sb相似性较大的样本进行标记;

(3)调用基分类器ba_svm,根据合并后训练数据集t以及t上的权重分布pt和未标记数据集s,得到若干个弱分类器模型;

(4)根据弱分类器不同的权重,组合得到强分类器。

所述给定源域入侵检测样本集合sa以及目标域入侵检测样本集合sb,包括:

给定大量未标记的源域入侵检测样本集合sa,少量有标记的目标域入侵检测样本集合sb,n为sa样本数量,m为sb中样本数量;合并后训练数据集t=sa∪sb,xi∈t。

所述使用主动学习思想,计算源域sa中每个样本的权重,查询函数根据权重将源域sa与目标域sb相似性较大的样本进行标记,包括:

(2.1)使用主动学习查询策略q对训练数据集sa进行选择性标记,计算如下公式:

s.t.0≤β≤1,i=1,2,...,n

其中,n表示源域样本数目,k=k(xi,xj)=φ(xi)tφ(xj),

(2.2)根据(2.1)中的计算结果筛选源域中的样本,滤掉源域sa中与目标域sb差异较大的样本,从而得到新的训练数据集s'a,源域样本集合sa被标注后的集合为s'a,样本数量为n';

(2.3)初始化权重向量其中

所述调用基分类器ba_svm,根据合并后训练数据集t以及t上的权重分布pt和未标记数据集s,得到若干个弱分类器模型,包括:

设置

(3.1)设置pt满足

其中,wi为第i的源域样本的权重向量;

(3.2)调用基分类器ba_svm,根据合并后训练数据集t以及t上的权重分布pt和未标记数据集s,得到一个在s上的分类器

(3.3)计算在数据集sb上的错误率:

(3.4)设置τt=εt/(1-εt),分类器权重系数为

(3.5)设置新的权重向量如下:

n次迭代结束。

所述根据弱分类器不同的权重,组合得到强分类器,包括:

经过以上2个步骤的学习训练之后,形成若干个弱分类器模型,然后将这些弱分类器依照各自的权重得到最终的分类器如下:

其中,hf(x)为得到的强分类器;αt为每个弱分类器ht(x)的权重。

本发明的有益效果在于:

本发明方法特别是对样本数量较少的u2r和r2l的检测相对于基准算法有了不少的提升;各个攻击类型的检测准确率平衡性与基准算法相比更好;算法检测的时间效率上也有较大优势。因此,本发明在网络入侵检测中具有更好的应用前景。

附图说明

图1是本发明方法的原理图;

图2是强学习分类器进行入侵检测的过程示意图。

具体实施方式

下面结合附图对本发明做进一步描述。

本发明方法包括首先主动学习使用查询函数q利用选择性最大均值偏差(mmd)查询策略对源域中的入侵检测样本进行筛选择,从大量未标注的入侵检测样本集合中选择下一个标注的样本加入到训练数据集中;然后使用具有迁移学习能力的分类器(tradaboost)对筛选后的训练数据集进行训练迭代训练,直到满足条件。其中tradaboost中的基本分类器选择一种基于蝙蝠算法的支持向量机(ba_svm),ba_svm能够找到svm的最优参数组合,避免了局部最优问题。在本发明方法中主动学习一方面减少了源域中入侵检测样本的规模;另一方面查询函数q的查询策略的mmd方法可以过滤掉源域中与目标域相似度较小的样本,有助于解决负迁移问题。本文发明方法相比较于其它传统的机器学习方法不但训练集的规模缩减,训练效率提高,而且自身可以有效地抑制负迁移发生。因此,本文方法不仅具有较好的检测速度,而且提高了入侵检测的准确性、实时性和平衡性。

下面对本发明方法实施做详细说明。

为方便问题的描述,将描述中使用到相关基本符号和概念定义如下:

定义1基本符号:

(1)设sd为源域空间,td为目标域空间;

(2)设y为分类空间,不失一般性文中只考虑二分问题y={-1,1},对于多分类问题可以将二分类问题进行扩展;

(3)训练入侵检测数据集

(4)将样本x映射到类标签f(x)∈y上。

定义2测试数据集:

其中

定义3训练数据集:

其中

其中

其中,f(x)是真实类标签;sa是源领域中的辅助入侵检测数据;sb是目标领域中的入侵检测数据集,n和m分别是sa和sb中样本数目。sa和sb合称为训练数据集,所以训练数据集可以定义如下:

其中,在训练数据集中sa和测试数据集sb分布不同,但是测试数据集s与sb分布相同,既是p((x,y)|x∈sa)≠p((x,y)|x∈s)。

至此,可将发明方法中的迁移学习问题定义如下:给定一个很小的入侵检测数据集作为目标入侵检测数据集sb,大量的未标注入侵检测数据集sa,测试入侵检测数据集s,目标是训练一个分类器,可以尽量减少s上的分类误差,提高入侵检测行为的预测准确率。问题的输入和输出如下:

输入:

两个训练数据集sa和sb,一个测试数据集s;

一个基本分类器ba_svm。

输出:

分类器。

图1示出了本发明方法的原理图,方法主要包括查询函数q和迁移分类器模型tradaboost-ba_svm,接受的输入包括源域训练数据集sa、目标域训练数据集sb和测试数据集s。

本方法具体实施中相关概念如下:大量未标记的源域样本集合sa,少量有标记的目标域样本集合sb,n为样本数量sa,m为sb中样本数量;t=sa∪sb,xi∈t,f(xi)真实类标签。未标记测试数据集s,一个基分类器ba_svm,迭代次数n。

方法实施具体包括以下步骤:

1.初始化

(1)使用主动学习查询策略q对训练数据集sa进行选择性标记,计算如下公式

s.t.0≤β≤1,i=1,2,...,n

上述公式中上述公式中n表示源域样本数目,k=k(xi,xj)=φ(xi)tφ(xj),

(2)根据(1)中的计算结果筛选源域中的样本,滤掉源域sa中与目标域sb差异较大的样本,从而得到新的训练数据集s'a:

forj=1,n

if(βi<0)

舍弃该样本

else

保留样本,交由专家进行标注

源域样本集合sa被标注后的集合为s'a,样本数量为n'。

(3)初始化权重向量其中

2.核心流程

设置发明方法核心执行过程如下:

fort=1,…,n

(1)设置pt满足

(2)调用基分类器ba_svm,根据合并后训练数据集t以及t上的权重分布pt和未标记数据集s,得到一个在s上的分类器

(3)计算在数据集sb上的错误率:

(4)设置τt=εt/(1-εt),若分类器权重系数

(5)设置新的权重向量如下:

n次迭代结束。

3.强分类器

经过以上2个步骤的学习训练之后,形成若干个弱分类器模型,然后将这些弱分类器依照各自的权重得到最终的分类器如下:

式中hf(x)为得到的强分类器;αt为每个弱分类器ht(x)的权重。

经过上述3个步骤之后,就形成了基于主动学习和迁移学习的网络入侵检测方法。本发明方法在入侵检测精度及时间效率方面,相比于传统的基于机器学习的入侵检测方法,不仅具有较好的检测准确率和检测速度,而且提高了检测的准确性、实时性和平衡性。

以上是本发明的较佳实施方式,但本发明的保护范围并不仅仅局限在此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡依本发明技术方案作变换或替换的,都应该涵盖在本发明的保护范围内。因此,本发明的保护范围都应以权利要求的保护范围为准。

1.一种基于主动学习和迁移学习的网络入侵检测方法,所述方法包括以下内容:

给定大量未标记的源域入侵检测样本集合sa,少量有标记的目标域入侵检测样本集合sb,n为sa样本数量,m为sb中样本数量;t=sa∪sb,xi∈t,f(xi)真实类标签。未标记测试入侵检测数据集s,一个基分类器ba_svm,迭代次数n。方法的步骤包括初始化、核心流程和强分类器。各个步骤的描述如下:

(1)初始化,使用主动学习思想,计算源域sa中每个样本的权重,查询函数根据权重将源域sa与目标域sb相似性较大的样本进行标记。

(2)核心流程,描述发明方法主要的执行过程,得到一组弱分类器和其对应的权重;

(3)强分类器,根据弱分类器不同的权重,组合得到强分类器。

所述初始化如下:

(1)使用主动学习查询策略q对训练数据集sa进行选择性标记,计算如下公式

s.t.0≤β≤1,i=1,2,...,n

上述公式中n表示源域样本数目,k=k(xi,xj)=φ(xi)tφ(xj),

(2)根据(1)中的计算结果筛选源域中的样本,滤掉源域sa中与目标域sb差异较大的样本,从而得到新的训练数据集s'a:

forj=1,n

if(βi<0)

舍弃该样本;

else

保留样本,交由专家进行标注。

源域样本集合sa被标注后的集合为s'a,样本数量为n'。

(3)初始化权重向量其中

所述方法核心流程:

设置发明方法核心执行过程如下:

fort=1,…,n

(1)设置pt满足

(2)调用基分类器ba_svm,根据合并后训练数据集t以及t上的权重分布pt和未标记数据集s,得到一个在s上的分类器

(3)计算在数据集sb上的错误率:

(4)设置τt=εt/(1-εt),若分类器权重系数

(5)设置新的权重向量如下:

n次迭代结束。

所述分类器:

式中hf(x)为得到的强分类器;αt为每个弱分类器ht(x)的权重。

随着网络的迅速发展,网络无论在国家生活还是人们的日常活动中扮演着越来越重要的角色。因此,网络安全技术的重要性也日益凸显。当前网络安全面临着越来越多的病毒、系统漏洞和黑客攻击等挑战。其中,如何识别各种网络攻击行为是一种保护网络安全的重要技术手段。入侵检测作为网络安全中的核心技术之一,其可以及时发现正在进行或者已经发生的恶意攻击行为。以入侵检测技术为核心的入侵检测系统是一种主动的网络安全防御技术,它不仅弥补了防火墙的不足而且可以有效地检测攻击行为并提出相应防御措施。但是,传统的入侵检测系统存在诸多问题,比如误报率和漏报率高,只能检测到已经存在的攻击行为而对新型的攻击行为和海量的攻击行为的检测显得越来越力不从心。

近年来伴随着机器学习的兴起,以机器学习算法为基础的入侵检测方法使对网络攻击的智能检测成为可能,与传统的入侵检测方法相比一方面提高了入侵检测的效率,另一方面降低了漏报率和误报率。因此,机器学习的兴起为入侵检测技术的发展指明了一个新的方向。当前,虽然在入侵检测中传统的机器学习应用十分广泛,但是其中大多数的机器学习算法都会将几种不同的攻击行为看成是攻击,而不去具体区分的采取单一的检测算法进行检测。这就会导致每种攻击行为的检测成功率不平衡,比如某种机器学习算法训练得到的分类器对某一类型的攻击检测率比较高,而另一类型的攻击难以检测到,特别是对攻击样本数目稀少的攻击类型,往往会被忽略。另外,传统的机器学习算法通常需要满足以下两个假设条件:(1)训练样本与新的测试样本满足独立同分布条件;(2)需要大量的训练样本才能学习得到一个好的学习模型。然而在实际应用中测试数据和训练数据的分布很难做到一致,此外有些样本资源十分稀缺。例如,在生物学中进行数据分类,得到一个训练样本的标签往往需要大量的,长时间的,昂贵的实验;在文本分类领域,人们发现已有的训练样本远远不足够建立一个可靠的分类模型,而标注大量文档往往需要高薪聘请大量的专家,造成获得标注训练样本的代价很高。总而言之,人们一方面需要大量的训练样本以建立准确率高的分类模型:另一方面,获得大量的训练样本在很多实际应用中几乎不可能的。

为了解决样本稀缺问题,研究者提出了迁移学习,该方法是应用已有存在的知识对相关领域问题进行求解的一种新的机器学习方法,它放宽了传统机器学习中的两个基本假设,其目的是使用已有的知识来求解目标领域中仅有少量样本甚至没有学习的问题。迁移学习代表了机器学习以后的发展方向,将迁移学习应用到入侵检测中,与其它机器算法相比可以使用已有历史数据中的知识节约搜集数据的成本,训练数据和测试数据的数据分布也可以不相同。此外,迁移学习还为有效解决攻击类型样本稀缺和攻击类型检测不平衡问题提出了一种新的解决方式,因此相较于传统的机器学习算法具有很大的优势。

综上所述可见,本发明在迁移学习的基础上,可以有效地利用大量的历史攻击样本解决入侵检测攻击类型样本稀缺问题和攻击类型检测不平衡问题,另外使用合理的主动学习策略选择标记样本可以减少分类器训练时间。总之,本发明方法相较于以前的入侵检测方法准确率更高,误报率更低且算法时间效率更具有优势。

本发明涉及的是一种提高网络入侵检测准确率和时间效率的方法,是一种基于主动学习和迁移学习的高效入侵检测方法。本发明方法的包括以下步骤:

给定大量未标记的入侵检测样本集合sa,少量有标记的目标域入侵检测样本集合sb,n为sa样本数量,m为sb中样本数量;t=sa∪sb,xi∈t,f(xi)真实类标签。未标记测试入侵检测数据集s,一个基分类器ba_svm,迭代次数n。

1.初始化,使用主动学习思想,计算源域sa中每个样本的权重,查询函数根据权重将源域sa与目标域sb相似性较大的样本进行标记。

(1)使用主动学习查询策略q对训练数据集sa进行选择性标记,计算如下公式:

s.t.0≤β≤1,i=1,2,...,n

上述公式中n表示源域样本数目,k=k(xi,xj)=φ(xi)tφ(xj),

(2)根据(1)中的计算结果筛选源域中的样本,滤掉源域sa中与目标域sb差异较大的样本,从而得到新的训练数据集s'a:

forj=1,n

if(βi<0)

舍弃该样本;

else

保留样本,交由专家进行标注。

源域样本集合sa被标注后的集合为s'a,样本数量为n'。

(3)初始化权重向量其中

2.核心流程,描述发明方法主要的执行过程,得到一组弱分类器和对应的权重;

设置发明方法核心执行过程如下:

fort=1,…,n

(1)设置pt满足

(2)调用基分类器ba_svm,根据合并后训练数据集t以及t上的权重分布pt和未标记数据集s,得到一个在s上的分类器

(3)计算在数据集sb上的错误率:

(4)设置τt=εt/(1-εt),若分类器权重系数

(5)设置新的权重向量如下:

n次迭代结束。

3.强分类器,根据弱分类器不同的权重,组合得到强分类器。

式中hf(x)为得到的强分类器;αt为每个弱分类器ht(x)的权重。

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