CN108900476B - 基于Spark与隔离森林的并行网络流量异常检测方法 - Google Patents
基于Spark与隔离森林的并行网络流量异常检测方法 Download PDFInfo
- Publication number
- CN108900476B CN108900476B CN201810578166.XA CN201810578166A CN108900476B CN 108900476 B CN108900476 B CN 108900476B CN 201810578166 A CN201810578166 A CN 201810578166A CN 108900476 B CN108900476 B CN 108900476B
- Authority
- CN
- China
- Prior art keywords
- network traffic
- data set
- spark
- data
- forest
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种基于Spark与隔离森林的并行网络流量异常检测方法,在隔离森林算法的基础上,借助并行处理技术Spark,为建树过程和异常评价过程提供计算资源,实现了iForest算法建模过程的并行化和异常评价的批量处理,有效的提高了异常检测的准确率并减少时间复杂度,同时也为网络流量异常检测提供了新的思路和理论方法依据。
Description
技术领域
本发明涉及网络安全技术领域,具体涉及一种基于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算法建模过程的并行化和异常评价的批量处理,有效的提高了异常检测的准确率并减少时间复杂度,同时也为网络流量异常检测提供了新的思路和理论方法依据。
需要说明的是,尽管以上本发明所述的实施例是说明性的,但这并非是对本发明的限制,因此本发明并不局限于上述具体实施方式中。在不脱离本发明原理的情况下,凡是本领域技术人员在本发明的启示下获得的其它实施方式,均视为在本发明的保护之内。
Claims (2)
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进行随机采样。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810578166.XA CN108900476B (zh) | 2018-06-07 | 2018-06-07 | 基于Spark与隔离森林的并行网络流量异常检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810578166.XA CN108900476B (zh) | 2018-06-07 | 2018-06-07 | 基于Spark与隔离森林的并行网络流量异常检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108900476A CN108900476A (zh) | 2018-11-27 |
CN108900476B true CN108900476B (zh) | 2021-05-11 |
Family
ID=64344032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810578166.XA Active CN108900476B (zh) | 2018-06-07 | 2018-06-07 | 基于Spark与隔离森林的并行网络流量异常检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108900476B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109802960A (zh) * | 2019-01-08 | 2019-05-24 | 深圳中兴网信科技有限公司 | 防火墙策略处理方法及装置、计算机设备和存储介质 |
CN109951554A (zh) * | 2019-03-25 | 2019-06-28 | 北京理工大学 | 信息安全技术竞赛实时反作弊方法 |
US11972334B2 (en) * | 2019-08-13 | 2024-04-30 | Sony Corporation | Method and apparatus for generating a combined isolation forest model for detecting anomalies in data |
CN110705635B (zh) * | 2019-09-29 | 2020-11-03 | 京东城市(北京)数字科技有限公司 | 用于生成隔离森林的方法和装置 |
CN111917600A (zh) * | 2020-06-12 | 2020-11-10 | 贵州大学 | 一种基于Spark性能优化的网络流量分类装置及分类方法 |
CN111726349B (zh) * | 2020-06-16 | 2022-07-08 | 桂林电子科技大学 | 基于ga优化的gru并行网络流量异常检测方法 |
CN111726351B (zh) * | 2020-06-16 | 2022-07-05 | 桂林电子科技大学 | 基于Bagging改进的GRU并行网络流量异常检测方法 |
CN111885059B (zh) * | 2020-07-23 | 2021-08-31 | 清华大学 | 一种工业网络流量异常检测定位的方法 |
US11824877B2 (en) | 2020-11-10 | 2023-11-21 | Armis Security Ltd. | System and method for anomaly detection interpretation |
CN113011476B (zh) * | 2021-03-05 | 2022-11-11 | 桂林电子科技大学 | 基于自适应滑动窗口gan的用户行为安全检测方法 |
CN115102777A (zh) * | 2022-07-11 | 2022-09-23 | 上海磐御网络科技有限公司 | 一种网络流量的隔离引导方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7191096B1 (en) * | 2004-08-13 | 2007-03-13 | Sun Microsystems, Inc. | Multi-dimensional sequential probability ratio test for detecting failure conditions in computer systems |
CN1996888A (zh) * | 2006-12-15 | 2007-07-11 | 华为技术有限公司 | 一种网络流量异常的检测方法及检测装置 |
CN106846806A (zh) * | 2017-03-07 | 2017-06-13 | 北京工业大学 | 基于Isolation Forest的城市道路交通异常检测方法 |
CN107426207A (zh) * | 2017-07-21 | 2017-12-01 | 哈尔滨工程大学 | 一种基于SA‑iForest的网络入侵异常检测方法 |
-
2018
- 2018-06-07 CN CN201810578166.XA patent/CN108900476B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7191096B1 (en) * | 2004-08-13 | 2007-03-13 | Sun Microsystems, Inc. | Multi-dimensional sequential probability ratio test for detecting failure conditions in computer systems |
CN1996888A (zh) * | 2006-12-15 | 2007-07-11 | 华为技术有限公司 | 一种网络流量异常的检测方法及检测装置 |
CN106846806A (zh) * | 2017-03-07 | 2017-06-13 | 北京工业大学 | 基于Isolation Forest的城市道路交通异常检测方法 |
CN107426207A (zh) * | 2017-07-21 | 2017-12-01 | 哈尔滨工程大学 | 一种基于SA‑iForest的网络入侵异常检测方法 |
Non-Patent Citations (2)
Title |
---|
基于Isolation Forest的并行化异常探测设计;侯泳旭;《计算机工程与科学》;20170227;第39卷(第2期);第236-243页 * |
更快更准的异常检测?交给分布式的Isolation Forest吧;卢欣;《URL: https://cloud.tencent.com/developer/article/1006135》;20171018;第1-4页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108900476A (zh) | 2018-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108900476B (zh) | 基于Spark与隔离森林的并行网络流量异常检测方法 | |
Kim et al. | Parallel in situ indexing for data-intensive computing | |
Fu et al. | Spark–a big data processing platform for machine learning | |
Le et al. | Online load balancing for mapreduce with skewed data input | |
Kotenko et al. | Attack detection in IoT critical infrastructures: a machine learning and big data processing approach | |
CN110222029A (zh) | 一种大数据多维分析计算效率提升方法及系统 | |
Chawda et al. | Processing Interval Joins On Map-Reduce. | |
Canilho et al. | Multi-core for K-means clustering on FPGA | |
CN111709022B (zh) | 基于ap聚类与因果关系的混合报警关联方法 | |
CN109656898B (zh) | 基于节点度的分布式大规模复杂社团探测方法及装置 | |
US10162830B2 (en) | Systems and methods for dynamic partitioning in distributed environments | |
US20210365300A9 (en) | Systems and methods for dynamic partitioning in distributed environments | |
Dinh et al. | BDF-SDN: A big data framework for DDoS attack detection in large-scale SDN-based cloud | |
Kim et al. | Behavior-based anomaly detection on big data | |
Tang et al. | A scheduling optimization technique based on reuse in spark to defend against apt attack | |
CN106570104A (zh) | 一种流数据的多分区聚类预处理方法 | |
CN108319604B (zh) | 一种hive中大小表关联的优化方法 | |
WO2016111748A1 (en) | Data partition and transformation methods and apparatuses | |
Tulasi et al. | High Performance Computing and Big Data Analytics a [euro]" Paradigms and Challenges | |
Dong et al. | GAT: A unified GPU-accelerated framework for processing batch trajectory queries | |
US20210103478A1 (en) | Systems and methods for dynamic partitioning in distributed environments | |
Rana et al. | Shuffle performance in apache spark | |
Soewito et al. | Methodology for evaluating dna pattern searching algorithms on multiprocessor | |
Yadav et al. | Big Data and cloud computing: An emerging perspective and future trends | |
Wickramaarachchi et al. | Empowering fast incremental computation over large scale dynamic graphs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20181127 Assignee: Guangxi Jun'an Network Security Technology Co.,Ltd. Assignor: GUILIN University OF ELECTRONIC TECHNOLOGY Contract record no.: X2022450000459 Denomination of invention: A Parallel Network Traffic Anomaly Detection Method Based on Spark and Isolated Forest Granted publication date: 20210511 License type: Common License Record date: 20221228 |