一种通过构造虚拟异常流量训练恶意流量检测系统的方法

文档序号:33171690发布日期:2023-02-04 02:41阅读:37来源:国知局
一种通过构造虚拟异常流量训练恶意流量检测系统的方法

1.本发明涉及神经网络领域,具体为一种通过构造虚拟异常流量训练恶意流量检测系统的方法。


背景技术:

2.随着计算机技术的发展,互联网服务已经与社会正常运行牢牢绑定,因此检测出恶意流量防止其搞破坏就显得更为重要。人工智能特别是深度学习技术的发展,为恶意流量检测提供了一种新的思路,并且已经成为恶意流量检测的一种重要实现方式。尽管基于深度学习的恶意流量检测系统具有很好的预测性能,但因为神经网络的自身的一些问题,导致没有具有良好的泛化特性。对于一些没有见到过的新型流量,很容易做出错误的判断。这样的恶意流量检测系统很容易出现问题,比如将新型的正常流量误判为异常流量,导致用户无法使用正常的互联网服务,或者将新型的恶意流量误判为正常流量,使得恶意流量逃过检测从而造成严重的后果。因此,恶意流量检测系统既要对已知的流量具有很好的检测效果,也要具备检测未知的新型流量的能力,但目前并没有很好的技术方案。
3.现有的技术方案内容主要如下:
4.将恶意流量检测当做简单的深度学习分类任务,通过优化神经网络模型结构来提高检测性能。
5.采用以one class svm(一分类支持向量机)算法为代表的基于异常的流量检测系统,这种系统只学习正常流量特征,然后在检测阶段将与学习到特征不同的所有流量全部划分为异常(恶意)流量。
6.上述两种现方法都可以在恶意流量数据集上取得不错的检测效果,但是有很多不可避免的局限性。将恶意流量检测当做深度学习简单分类任务的方法,对于现在未知而将来可能出现的新型流量很容易做出错误的判断。而基于one class svm(一分类支持向量机)的恶意流量检测模型尽管在检测未知恶意流量上有不错的性能,但因为无法学习到所有正常流量的特征并且没有利用上已有的恶意流量的知识,具有较低的准确率和较高的误报率。为此我们提出了一种通过构造虚拟异常流量训练恶意流量检测系统的方法。


技术实现要素:

7.(一)解决的技术问题
8.针对现有技术的不足,本发明提供了一种通过构造虚拟异常流量训练恶意流量检测系统的方法,面对恶意流量检测系统难以检测新型流量的难题,以及恶意流量少见且难采样的现实情况,提出一种从海量且易于采样的正常流量样本出发构造难以采样的恶意流量样本的方法,从而让系统学习到更有效的正常流量与恶意流量的决策边界,进而增强系统检测未知的新型恶意流量的能力。
9.(二)技术方案
10.为实现上述所述目的,本发明提供如下技术方案:一种通过构造虚拟异常流量训
练恶意流量检测系统的方法,包括以下步骤:
11.第一步:将正常的流量样本(x)输入到编码器模块(encoder),编码器模块(encoder)会将正常流量从高维的样本空间映射到低维的特征空间,即特征向量(z);
12.第二步:对正常流量的特征向量(z)进行切片操作;
13.第三步:将切片后的特征向量进行随机拼接操作;
14.第四步:通过编码器模块(encoder)就可以将异常流量从特征空间映射到样本空间
15.第五步:推土机距离损失函数(wasserstein distance loss)以及倒角距离损失函数(chamfer distance loss)设计,通过推土机距离损失函数(wasserstein distance loss)以及倒角距离损失函数(chamfer distance loss)训练模型;
16.第六步:利用正常样本和自动编码器(autoencoder)构造的异常流量样本供给神经网络进行训练。
17.优选的,所述第一步中的编码器模块(encoder)是通过卷积核与激活函数搭建的,能够提取流量样本的局部特征和全局特征,编码器模块(encoder)数学表达式如下:
18.z=encoder(x)。
19.优选的,所述第二步中是z的第t块,通过切片操作,一个特征向量被均分为k*k块;
[0020][0021]
优选的,通过拼接操作,就可以构造出异常的特征向量;
[0022][0023]
优选的,所述
[0024]
优选的,推土机距离损失函数(wasserstein distance loss)用于约束输入点云与构造的异常样本之间的距离,倒角距离损失函数(chamfer distance loss)的数学表达形式如下:
[0025][0026]
倒角距离损失函数(chamfer distance loss)定义如下:
[0027][0028]
(三)有益效果
[0029]
与现有技术相比,本发明提供了一种通过构造虚拟异常流量训练恶意流量检测系统的方法,具备以下有益效果:
[0030]
1、该通过构造虚拟异常流量训练恶意流量检测系统的方法,通过在特征空间对正常流量样本进行切片再随机拼接的操作,完成了正常流量样本到异常流量样本的转变,并通过倒角距离损失函数来维持数值的统计关系以及使用推土机距离损失函数来约束异常样本分布与正常样本分布之间的距离。
[0031]
2、该通过构造虚拟异常流量训练恶意流量检测系统的方法,相比于其他基于深度学习的方法需要付出极大成本来采集异常流量,基于本方法的恶意流量检测系统只需要使用易于采样的正常流量样本即可完成训练,进而在保证低误报率的同时具备良好的检测新型恶意流量的能力。
附图说明
[0032]
图1为本发明流程示意图。
具体实施方式
[0033]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0034]
请参阅图1,一种通过构造虚拟异常流量训练恶意流量检测系统的方法,内容如下:
[0035]
基于异常的恶意流量检测系统核心在于通过正常流量样本让系统学习到更加有效的决策边界。为了达到这个目的,本发明提出从正常流量样本入手,在特征空间进行操作,进而构造出虚假的恶意流量样本并供给系统进行训练的方法。系统的结构主要由以下几个部分组成:
[0036]
1.首先将正常的流量样本(x)输入到编码器模块(encoder),编码器模块(encoder)会将正常流量从高维的样本空间映射到低维的特征空间,即特征向量(z)。编码器模块(encoder)是通过卷积核与激活函数搭建的,能够提取流量样本的局部特征和全局特征。编码器模块(encoder)数学表达式如下:
[0037]
z=encoder(x);
[0038]
2.然后对正常流量的特征向量(z)进行切片操作。是z的第t块。通过切片操作,一个特征向量被均分为k*k块。
[0039][0040]
3.然后再将切片后的特征向量进行随机拼接操作。通过拼接操作,就可以构造出异常的特征向量。
[0041][0042]
4.再通过解码器(decoder)就可以将异常流量从特征空间映射到样本空间因为异常流量是正常流量在特征空间拼接得来的,还有特殊的损失函数进行约束,所以可以让生成的异常流量样本既能保持和正常流量的相似性又能与正常流量样本有所区别。
[0043][0044]
5.损失函数设计。模型训练主要涉及两个损失函数,第一个是倒角距离损失(chamfer distance loss),用于约束输入点云与构造的异常样本之间的距离,倒角距离损失(chamfer distance loss)的数学表达形式如下:
[0045][0046]
第二个是推土机距离损失函数(wasserstein distance loss),从而强制构造的异常流量样本分布与正常流量样本的分布相接近。推土机距离损失函数(wasserstein distance loss)定义如下:
[0047][0048]
6.最后,再利用正常样本和自动编码器(auto encoder,编码器+解码器)构造的异常流量样本供给神经网络进行训练。
[0049]
在实际的使用中,我们只使用一个流量检测数据集(例如:kdd99、unswnb-15、cicids2017)训练集上的正常流量训练模型,并在包含正常流量和异常流量的测试集上评估恶意流量检测效果。通过编码器得到正常流量的特征向量,然后通过特征向量切片再随机拼接的操作完成正常流量到异常流量的转换,然后通过解码器将构造的异常流量样本从特征空间映射回样本空间,迭代若干次到完成虚假样本的训练过程。最后再使用正常样本和构造的异常样本供给恶意流量检测系统训练,参与图1。
[0050]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1