一种针对少样本恶意流量的检测系统及方法

文档序号:34121461发布日期:2023-05-11 04:43阅读:43来源:国知局
一种针对少样本恶意流量的检测系统及方法

本发明涉及恶意流量检测,提供了一种针对少样本恶意流量的检测系统及方法。


背景技术:

1、网络流量是在网络空间中进行信息交互和传递的主要载体,基于网络流量的异常检测技术在恶意流量检测领域作为一项有效的主动防御技术,它通过对网络流量模式进行识别,及时发现网络流量中异常的流量模式和攻击行为,对于维护网络空间的安全具有重要意义。

2、然而,传统基于规则的网络流量异常检测技术极其依赖于已有规则库,难以适应当今日新月异的网络流量环境,也无法有效对一些不常见的网络流量攻击进行检测。随着大数据时代的到来,基于人工智能与神经网络的智能系统能够基于海量网络流量数据来实现流量异常检测,也被越来越多的机构与企业应用,基于传统迁移学习也能够一定程度上实现对少样本的检测。然而,这些智能系统往往由于网络数据包表征体系建立不完善、粒度过粗等原因,导致在实际网络流量的检测中表现较差。同时,传统迁移学习依旧依赖于少样本的训练数据来为智能系统提供先验知识,然而这些先验知识往往难以有效地构建针对该种少样本攻击标签合适的特征空间范围及决策超平面,导致系统最终检测与泛化能力不佳。

3、为了减小少样本对模型训练的影响,研究人员提出了一些方法。

4、在文献《gan-based imbalanced data intrusion detection system》、《pwg-ids:an intrusion detection model for solving class imbalance in iiotnetworksusing generative adversarial networks》和《smote for learning fromimbalanced data:progress and challenges,marking the 15-year anniversary》中通过生成对抗网络和smote来增强数据的方法去扩充对应的攻击标签。然而,这些方法仍然基于原始少量数据进行数据增强算法的训练,这种矛盾会导致数据增强算法的不稳定。文献《a novel wide&deep transfer learning stacked gru framework for networkintrusion detection》和《leveraging siamese networks for one-shot intrusiondetection model》通过基于传统的迁移学习、孪生网络等方法实现少样本检测,但实际少样本攻击标签难以反映该攻击实例真实的高维数据分布,最后导致异常检测系统的泛化性仍有不足。

5、文献《a method of few-shot network intrusion detection based on meta-learning framework》实现一种基于元学习的fc-net框架去检测少样本可视化网络数据流量,并在作者自行构建的子数据集上表现出色。然而作者自行定义的少样本是将多样本攻击流量进行少采样,真正的少样本攻击标签诸如sql注入则未计入实验。

6、文献《variational few-shot learning for microservice-orientedintrusion detection in distributed industrial iot》实现了一种基于类内/类间结构的变分少样本优化模型以克服不平衡数据集的特定数据分布越界问题从而实现少样本检测。不过他们的实验将cicids2017数据集的四种dos攻击视为一类,并只对nsl-kdd数据集的四个主要类别进行检测。这种少样本标签组合成大类的行为逃避了真正针对少样本攻击标签的检测。


技术实现思路

1、针对上述现有技术问题,本发明的目的在于提供针对少样本恶意流量的检测系统,该系统能够解决恶意流量检测系统在处理少样本时缺乏足够的先验样本难以构建合适的特征空间及决策超平面的问题。从流量数据pcap包提取出特征向量,并进行特征筛选、独热编码、归一化处理。再通过生成对抗网络对少样本数据的特征向量进行扩充,并将扩充后的特征向量构造成元学习的多任务形式。最后基于元学习的思想,将多样本任务集上学到的模型参数迁移到少样本任务集上后,并进行训练微调,得到最后的检测模型。

2、为了达到上述目的,本发明采用如下技术方案:

3、一种针对少样本恶意流量的检测系统,其特征在于,包括以下器件:

4、流量数据处理模块:先通过cicflowmeter工具对流量数据的pcap包进行特征提取,得到流量数据的初步特征向量a;接着对特征向量a的特征进行筛选、独热编码和归一化,得到特征向量b;

5、数据增强模块:通过梯度提升决策树来计算特征向量b的特征重要性,并根据特征重要性进行功能性和非功能性特征的划分,然后通过生成对抗网络对少样本的特征向量b的非功能性部分进行生成,实现对少样本流量数据的增强,得到扩充的特征向量c;

6、任务集构造模块:将扩充的特征向量c中每类恶意攻击和良性数据组成一个任务,每一个任务包含两个子集,且每个子集都包含恶意攻击和良性数据的特征向量,这样得到多个任务,再将这些任务分为元训练集和元测试集,并且使元训练集包含多样本的攻击类型,而元测试集包含所有类型的攻击。

7、分类器模块:采用元学习的思想,先让多样本的元训练集对分类器进行训练,从元训练集中获取到分类器模型参数后,将其迁移到元测试集上,对于元测试集训练的分类器模型直接采用迁移过来的参数作为模型初始参数进行训练,得到最后检测的分类器。

8、上述技术方案中,其中流量数据处理模块具体实现步骤如下:

9、通过cicflowmeter工具对流量数据的pcap包进行特征提取,得到流量数据的初步特征向量a,并统计出特征向量a常用的端口号和协议号。为了进一步方便模型的训练,在读取特征向量a后,对其进一步处理。先通过特征筛选去特征向量中对分类作用不大的特征以减小维度,如:flow id等。再通过独热编码来解决特征值离散的问题,并且为了防止由于端口和协议特征存在大量不同的特征值而导致独热编码时数据维度爆炸。利用得到常用的端口号和协议号,将它们作为特征向量的新特征,并且将那些不常用的端口和协议号都归为另两类特征。它们的值都是0或1,1表示样本包含该特征,而0表示不包含该特征。之后,通过归一化来处理连续型的特征值,将其都映射0到1范围,以避免特征值之间数值不同级给模型带来的影响。最后得到处理过后的特征向量b。

10、上述技术方案中,其中数据增强模块具体实现步骤如下:

11、通过梯度提升决策树计算出特征向量b中每类恶意攻击特征重要性,然后选取每类攻击前五重要性特征的交集作为功能性特征,剩下的特征作为非功能性特征。将少样本的恶意攻击特征向量经过上述划分后,通过生成对抗网络对非功能性特征部分进行生成,再结合保留的功能性特征部分得到生成的少样本恶意攻击特征向量,并加入特征向量b中,得到特征向量c。

12、上述技术方案中,其中任务集构造模块具体实现步骤如下:

13、将特征向量c构造成多任务的形式,其中每个任务包含一类攻击的特征向量和良性特征向量。每一个任务包含两个子集,且每个子集都包含恶意攻击和良性数据的特征向量,这样得到多个任务。再将这些任务分为元训练集和元测试集,使前者包含多样本攻击类型,而后者包含所有类型的攻击(多样本和少样本)。在元训练集中,每一个任务的两子集为样本集和查询集。而在元测试集中,每一个任务的两子集为支持集和测试集。

14、上述技术方案中,其中分类器模块具体实现步骤如下:

15、s进行模型训练时,先用元训练集的样本集搜索最佳的分类器模型参数,再用元训练集的查询集验证所选分类器模型参数的合理性。通过多样本的元训练集得到模型参数后,将其作为元测试集分类器模型的初始参数,并且用元测试集中的支持集对模型进行微调,得到最后的分类器模型。而用元测试集中的测试集用来验证最后的分类器模型性能。

16、本发明还提供了一种针对少样本恶意流量的检测方法,包括以下步骤:

17、s1:通过cicflowmeter工具对流量数据的pcap包进行特征提取,得到流量数据的初步特征向量a;对特征向量a的特征进行筛选、独热编码和归一化,得到特征向量b。

18、s2:通过特征重要性对得到特征向量b进行功能性和非功能性特征的划分;再通过生成对抗网络对少样本的特征向量b的非功能性部分进行生成,并将生成特征向量加入特征向量b,得到扩充的特征向量c;

19、s3:将扩充的特征向量c构造成多任务的形式,且每一个任务包含两个子集,再将任务划分这些任务分为元训练集和元测试集;

20、s4:采用元学习的思想,先让元训练集对分类器进行训练,从元训练集中获取到分类器模型参数后,将其作为元测试集分类器模型的初始参数,并利用元测试集子集对分类器模型进行微调,得到最后检测的分类器。

21、上述技术方案中,步骤s1包括以下步骤:

22、通过cicflowmeter工具对流量数据的pcap包进行特征提取,得到流量数据的初步特征向量a,并统计出特征向量a常用的端口号和协议号,为了进一步方便模型的训练,在读取特征向量a后,对其进一步处理。先通过特征筛选除去特征向量中无用的flow id和分类时没用到特征,以减小维度,再通过独热编码将离散的特征值转换成连续的0,1独热向量,利用得到常用的端口号和协议号,将它们作为特征向量的新特征,并且将那些不常用的端口归为一类特征,而不常用的协议号归为另一类特征,这些新加入的特征的值都是0或1,1表示样本包含该特征,而0表示不包含该特征,之后,通过归一化来处理连续型的特征值,将其都映射0到1范围,特征向量a通过上述特征筛选,独热编码和归一化处理后,得到特征向量b。

23、上述技术方案中,步骤s2包括以下步骤:

24、通过梯度提升决策树计算出特征向量b中恶意攻击特征向量部分的每类恶意攻击特征重要性,然后选取特征重要性排名前五的每类恶意攻击特征的交集作为功能性特征,剩下的特征作为非功能性特征,将少样本的恶意攻击特征向量经过上述划分后,通过生成对抗网络对非功能性特征部分进行生成,再将生成的非功能性特征与交集得到的功能性特征进行结合得到生成的少样本恶意攻击特征向量,并加入特征向量b中,得到特征向量c。

25、上述技术方案中,步骤s3包括以下步骤:

26、将特征向量c构造成多任务的形式,其中每个任务包含一类攻击的特征向量和良性特征向量,每一个任务包含两个子集,且每个子集都包含恶意攻击和良性数据的特征向量,这样得到多个任务,再将这些任务分为元训练集和元测试集,使元训练集包含多样本攻击类型,而元测试集包含所有类型的攻击,在元训练集中,每一个任务的两子集为样本集和查询集,而在元测试集中,每一个任务的两子集为支持集和测试集。

27、上述技术方案中,步骤s4包括以下步骤:

28、进行模型训练时,先用元训练集的样本集搜索最佳的分类器模型参数,再用元训练集的查询集验证所选分类器模型参数的合理性,通过多样本的元训练集得到模型参数后,将其作为元测试集分类器模型的初始参数,并且用元测试集中的支持集对模型进行微调,得到最后的分类器模型,而用元测试集中的测试集用来验证最后的分类器模型性能。

29、本发明同现有技术相比,其有益效果表现在:

30、一、本发明通过多任务的形式实现模型对少样本的快速学习,从而提升模型对少样本的检测能力。

31、一、本发明通过生成网络对少样本数据的增强的基础上,再结合元学习的思想,通过抽取多样本流量数据下的元知识,迁移并用于辅助少样本攻击标签的学习任务,进一步提高了模型对少样本泛化能力。

32、二、本发明提出的检测方法和设计的系统部署在网络旁路,该系统不影响用户的正常使用。

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