专利转让平台_买专利_卖专利_中国高校专利技术交易-买卖发明专利上知查网

全部分类
全部分类
基于Spark与隔离森林的并行网络流量异常检测方法

基于Spark与隔离森林的并行网络流量异常检测方法

IPC分类号 : H04L29/06

申请号
CN201810578166.X
可选规格
  • 专利类型: 发明专利
  • 法律状态: 有权
  • 申请日: 2018-06-07
  • 公开号: CN108900476B
  • 公开日: 2018-11-27
  • 主分类号: H04L29/06
  • 专利权人: 桂林电子科技大学

专利摘要

本发明公开一种基于Spark与隔离森林的并行网络流量异常检测方法,在隔离森林算法的基础上,借助并行处理技术Spark,为建树过程和异常评价过程提供计算资源,实现了iForest算法建模过程的并行化和异常评价的批量处理,有效的提高了异常检测的准确率并减少时间复杂度,同时也为网络流量异常检测提供了新的思路和理论方法依据。

权利要求

1.基于Spark与隔离森林的并行网络流量异常检测方法,其特征是,包括步骤如下:

步骤1、构建隔离森林异常检测模型,其具体步骤为:

步骤11、将训练样本数据集D形成初始化弹性分布式数据集并划分对应的RDD分区,再由集群上的master主节点将RDD分区任务分配到各个worker节点上执行;

步骤12、对训练样本数据集D进行随机采样,并将采样得到的训练样本数据作为构建孤立树的样本集d;

步骤13、根据样本集d,Spark平台将构建多棵孤立树的作业切分为多个建树任务,并由集群上的master主节点将建树任务分配到集群的各个节点上执行,此时每个节点将并行执行建树任务,从而实现了孤立树的并行构建;

步骤14、孤立树的并行构建完毕后,收集并合并孤立树集合得到隔离森林网络流量异常检测模型;

步骤15、将得到的隔离森林网络流量异常检测模型存入到Hadoop分布式文件系统中;

步骤2、基于Spark并行计算框架实现异常评价的批量处理,其具体步骤为:

步骤21、将实时采集的网络流量数据构建测试数据集D′,并初始化测试数据集D′;

步骤22、将测试数据集D′形成初始化弹性分布式数据集并划分对应的RDD分区,再由集群上的master主节点将RDD分区任务分配到各个worker节点上执行;

对于单个RDD分区任务,从该RDD分区中逐条读取网络流量数据,令该网络流量数据遍历步骤1所得到的隔离森林网络流量异常检测模型,以计算出该条网络流量数据的平均路径长度和异常得分,从而实现对该条网络流量数据的异常评价;

步骤23、执行完对测试数据集D′中所有网络数据的异常评价后,将得到的数据的异常评价结构进行统计并输出。

2.根据权利要求1所述的基于Spark与隔离森林的并行网络流量异常检测方法,其特征是,步骤12中通过子采样算法对训练样本数据集D进行随机采样。

说明书

技术领域

本发明涉及网络安全技术领域,具体涉及一种基于Spark与隔离森林的并行网络流量异常检测方法。

背景技术

随着“互联网+”、云计算、大数据等新技术的快速发展,网络应用和需求逐步增多,网络规模不断增大,网络拓扑结构越来越复杂。与此同时,网络流量数据也呈现出爆炸式增长趋势,致使网络流量异常检测面临着严峻的挑战。网络流量异常检测是通过科学有效的方法过滤出流量数据中的异常信息,它可以有效地判别和定位网络的安全状态,并发现其中潜在的威胁和攻击,从而保障网络环境的安全运行。

隔离深林算法作为一种异常检测的算法,因其具有线性时间复杂度、高精准率、且可以很好的处理高维数据等特点,而被广泛应用在网络安全中的攻击检测和流量异常分析中。然而,传统的隔离森林算法是基于单机串行的设计,它处理数据规模的大小受限于内存的最大容量,单一节点的计算能力已无法满足异常检测的需求,难以处理大规模网络流量数据,在很大程度上限制了隔离森林算法的应用,因此将隔离森林进行并行化是非常有必要的。

发明内容

本发明针对传统隔离深林算法在处理数据受内存的最大容量的限制,从而无法高效的处理大规模网络流量数据的问题,提供一种基于Spark与隔离森林的并行网络流量异常检测方法。

为解决上述问题,本发明是通过以下技术方案实现的:

基于Spark与隔离森林的并行网络流量异常检测方法,包括步骤如下:

步骤1、构建隔离森林异常检测模型,其具体步骤为:

步骤11、将训练样本数据集D形成初始化弹性分布式数据集并划分对应的RDD分区,再由集群上的master主节点将RDD分区任务分配到各个worker节点上执行;

步骤12、对训练样本数据集D进行随机采样,并将采样得到的训练样本数据作为构建孤立树的样本集d;

步骤13、根据样本集d,Spark平台将构建多棵孤立树的作业切分为多个建树任务,并由集群上的master主节点将建树任务分配到集群的各个节点上执行,此时每个节点将并行执行建树任务,从而实现了孤立树的并行构建;

步骤14、孤立树的并行构建完毕后,收集并合并孤立树集合得到隔离森林网络流量异常检测模型;

步骤2、基于Spark并行计算框架实现异常评价的批量处理,其具体步骤为:

步骤21、将实时采集的网络流量数据构建测试数据集D′,并初始化测试数据集D′;

步骤22、将测试数据集D′形成初始化弹性分布式数据集并划分对应的RDD分区,再由集群上的master主节点将RDD分区任务分配到各个worker节点上执行;

对于单个RDD分区任务,从该RDD分区中逐条读取网络流量数据,令该网络流量数据遍历步骤1所得到的隔离森林网络流量异常检测模型,以计算出该条网络流量数据的平均路径长度和异常得分,从而实现对该条网络流量数据的异常评价;

步骤23、执行完对测试数据集D′中所有网络数据的异常评价后,将得到的数据的异常评价结构进行统计并输出。

上述步骤12中通过子采样算法对训练样本数据集D进行随机采样。

上述步骤14中,需要进一步将得到的隔离森林网络流量异常检测模型存入到Hadoop分布式文件系统中。

与现有技术相比,本发明基于Spark与隔离森林的并行网络流量异常检测方法(简称SPIF),将隔离森林算法与Spark平台进行结合,Spark并行处理技术可以有效地提高网络流量异常检测的效率,使SPIF方法具有良好的可扩展性,且在保持准确率不变的同时有效的减少了数据处理时间,提高了网络流量异常检测的执行速率,适应于大规模网络流量异常检测的处理。

附图说明

图1为SPIF方法的总体框图。

图2为SPIF并行建树流程图。

图3为批量网络流量数据异常评价过程。

图4为HPIF方法的总体流程图。

图5为不同建树规模下的执行效率;其中(a)为100w数据集,(b)为150w数据集,(c)为200w数据集,(d)为250w数据集。

图6为不同数据集规模下的执行效率对比图。

图7为不同建树数目下的加速比。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实例,并参照附图,对本发明进一步详细说明。

一种基于Spark与隔离森林的并行网络流量异常检测方法,其总体结构框图如图1所示,采集网络流量样本数据构建训练样本集,利用Spark平台合并孤立树(简称iTree)集合并行构建隔离森林模型,并将结果保存到Hadoop分布式文件系统(简称HDFS)中,在此基础上进行异常评价将结果统计并输出,其具体包括如下步骤:

步骤S1、构建隔离森林异常检测模型:对数据集进行随机采样得到子样本数据并构建多棵iTree从而实现模型构建,参见图2。

步骤S1-1、输入训练样本数据集D形成初始化弹性分布式数据集并划分对应的RDD分区,然后由集群上的master主节点将任务分配到各个worker节点上执行;

步骤S1-2、通过子采样算法对训练样本数据集D进行随机采样,即Sample函数根据设定的子采样大小samplesize对训练样本数据集D进行随机采样,并将采样得到的训练样本数据作为构建iTree的样本集d;

步骤S1-3、借助于Spark平台将构建多棵iTree的作业切分为多个任务由集群上的master主节点将任务分配到集群的各个节点上执行建树任务,此时每个节点将并行执行建树任务,从而实现了iTree的并行构建;

步骤S1-4、iTree的并行构建执行完毕后,收集合并iTree集合得到iForest网络流量异常检测模型,并将结果存入到HDFS中。

步骤S2、基于Spark并行计算框架实现异常评价的批量处理:通过隔离树传递测试数据,记录每个测试数据的路径长度,然后根据异常得分计算公式,获得每个测试数据的异常得分,参见图3。

步骤S2-1、将实时采集的网络流量数据构建测试数据集D′,并初始化测试数据集D′;

步骤S2-2、将测试数据集D′划分为多个RDD分区,并由master节点将RDD分区任务分发给集群上的各个节点执行。

对于单个RDD分区任务,从该RDD分区中逐条读取网络流量数据,令该网络流量数据遍历步骤1所得到的隔离森林网络流量异常检测模型,以计算出该条网络流量数据的平均路径长度和异常得分,从而实现对该条网络流量数据的异常评价。

步骤S2-3、执行完测试数据集D′所有数据对象的异常评价并返回所有的异常数据对象,算法执行完毕后,将步骤2-2得到的异常评价结果进行统计并输出。

为了验证SPIF方法在海量网络流量数据异常检测方面的优势,下面利用Hadoop平台的MapReduce分布式并行架构来实现iForest算法的并行化,即HPIF(基于Hadoop与隔离森林的并行网络流量异常检测)方法。HPIF方法通过两个执行部分来实现,第一部分是通过Map和Reduce两个阶段实现建树过程的并行化,第二部分通过Map和Reduce两个阶段实现异常评价的批量处理,最终实现网络流量的异常检测。HPIF方法的总体流程如图4所示。

本实验采用目前学术界最新的网络入侵检测系统的综合数据集UNSW-NB15数据集作为实验数据,该数据集是由澳大利亚网络安全中心的网络安全实验室利用IXIAPerfectStorm工具创建的,并从网络流量中产生现实的现代正常活动和综合的现代攻击行为。该数据集是由四个csv文件组成,每个csv文件都包含攻击和正常记录,该数据集共包含2540404条记录,其中异常数据占30万条,共有49个网络流量特征,9种类型的攻击,数据集的分布情况如表1所示:

表1 UNSW-NB15数据集分布情况

为了适应不同实验的要求,我们设置了五个不同规模的数据集,各数据集规模大小如表2所示:

表2 不同数据集中的流量条数

本实验从网络流量异常检测的有效性、执行效率和可扩展性三个方面对SPIF方法进行验证。在验证有效性环节,我们将SPIF方法与单机环境下的隔离森林算法及HPIF方法进行实验对比。为了增加实验结果的可靠性,本节使用不同规模的数据集Data2~Data5来验证改进算法的执行效率。

图5为不同建树规模下的执行效率;其中(a)为100w数据集,(b)为150w数据集,(c)为200w数据集,(d)为250w数据集。如图5所示,在数据规模一定时,SPIF方法和HPIF方法在处理大规模网络流量数据时计算速度明显优于单机环境下的iForest算法,而随着网络流量数据规模的不断增加,基于Spark大数据处理平台的SPIF方法将网络流量数据放入内存进行缓存,当进行迭代操作时可以直接从内存中调用数据,避免了MapReduce频繁的磁盘I/O操作,提升了迭代效率,大大减少了数据处理时间。

实验结果表明,在处理大规模网络流量数据异常检测时,SPIF方法的执行效率明显优于HPIF方法和单机环境下的iForest算法,可以减少大量的时间开销,提高了大规模网络流量数据的异常检测效率。

为了验证SPIF方法的可扩展性,本实例将SPIF方法与单机环境下的iForest算法及HPIF方法做对比实验,并比较执行所需要的时间,实验结果如图6所示,从图中可以看出,在采样大小和建树颗数一定时,随着数据集规模的不断增长,SPIF方法运行时间的增长率远远小于单机环境下的iForest算法和HPIF方法,更适合处理大规模网络流量数据的异常检测。

为了能更精确地衡量所提方法采用并行化技术所带来的性能方面的提升,下面使用加速比Speedup作为评价指标:

Speedup=TIFOREST/TSIFP

其中TIFOREST表示单机串行环境下iForest方法的运行时间,TSIFP表示并行环境下SPIF方法的运行时间。

从图7可知,在建树数目一定时,随着节点数目的增多,加速比逐渐增大;在节点数目一定时,随着建树数目的不但增加,加速比呈现出逐步增大的趋势,且不同节点间的加速比差距逐渐增大。实验结果表明,SPIF方法可以有效地加快建树过程的速度,减少数据异常评价的时间,能在较短的时间内对网络流量数据进行异常检测,能够适应大规模网络流量异常处理的需求。综上所述,Spark并行处理技术可以有效地提高网络流量异常检测的效率,使SPIF方法具有良好的可扩展性。

在验证有效性方面本实例选择与iForest算法进行对比试验,将两种算法分别应用到UNSW-NB15数据集中,这里使用的数据集是Data5,并使用AUC和准确率(Accuracy)作为网络流量异常检测结果的评价指标。

表3 两种算法的执行结果

从表3中可以看出,在相同数据集的情况下,使用两种方法对网络流量进行异常检测之后,SPIF方法得到的AUC、Accuracy与iForest算法得到的AUC、Accuracy基本保持一致,并无明显的差别。实验结果表明,SPIF方法在保持准确率不变的同时有效的减少了数据处理时间,提高了网络流量异常检测的执行速率,适应于大规模网络流量异常检测的处理。

以上实验表明,本发明一种基于Spark与隔离森林的并行网络流量异常检测方法借助Spark并行处理技术有效的提高了网络流量异常检测的效率。

本发明在隔离森林算法的基础上,借助并行处理技术Spark,为建树过程和异常评价过程提供计算资源,实现了iForest算法建模过程的并行化和异常评价的批量处理,有效的提高了异常检测的准确率并减少时间复杂度,同时也为网络流量异常检测提供了新的思路和理论方法依据。

需要说明的是,尽管以上本发明所述的实施例是说明性的,但这并非是对本发明的限制,因此本发明并不局限于上述具体实施方式中。在不脱离本发明原理的情况下,凡是本领域技术人员在本发明的启示下获得的其它实施方式,均视为在本发明的保护之内。

基于Spark与隔离森林的并行网络流量异常检测方法专利购买费用说明

专利买卖交易资料

Q:办理专利转让的流程及所需资料

A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。

1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。

2:按规定缴纳著录项目变更手续费。

3:同时提交相关证明文件原件。

4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。

Q:专利著录项目变更费用如何缴交

A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式

Q:专利转让变更,多久能出结果

A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。

动态评分

0.0

没有评分数据
没有评价数据
×

打开微信,点击底部的“发现”

使用“扫一扫”即可将网页分享至朋友圈

×
复制
用户中心
我的足迹
我的收藏

您的购物车还是空的,您可以

  • 微信公众号

    微信公众号
在线留言
返回顶部