CN108632279B - 一种基于网络流量的多层异常检测方法 - Google Patents
一种基于网络流量的多层异常检测方法 Download PDFInfo
- Publication number
- CN108632279B CN108632279B CN201810434106.0A CN201810434106A CN108632279B CN 108632279 B CN108632279 B CN 108632279B CN 201810434106 A CN201810434106 A CN 201810434106A CN 108632279 B CN108632279 B CN 108632279B
- Authority
- CN
- China
- Prior art keywords
- data
- classifier
- network
- multilayer
- algorithm
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 64
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 60
- 238000000034 method Methods 0.000 claims abstract description 47
- 230000002068 genetic effect Effects 0.000 claims abstract description 25
- 238000013450 outlier detection Methods 0.000 claims abstract description 22
- 230000009467 reduction Effects 0.000 claims abstract description 21
- 238000007781 pre-processing Methods 0.000 claims abstract description 12
- 238000012549 training Methods 0.000 claims description 39
- 238000012360 testing method Methods 0.000 claims description 21
- 239000011159 matrix material Substances 0.000 claims description 19
- 230000003044 adaptive effect Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 12
- 238000004458 analytical method Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000013075 data extraction Methods 0.000 claims description 8
- 238000007637 random forest analysis Methods 0.000 claims description 7
- 238000010606 normalization Methods 0.000 claims description 4
- 238000010353 genetic engineering Methods 0.000 claims description 3
- 238000010187 selection method Methods 0.000 claims description 2
- 230000006399 behavior Effects 0.000 abstract description 51
- 230000000694 effects Effects 0.000 abstract description 11
- 238000000926 separation method Methods 0.000 abstract 1
- 239000000523 sample Substances 0.000 description 10
- 230000002159 abnormal effect Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000035772 mutation Effects 0.000 description 6
- 238000012706 support-vector machine Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 4
- 238000007418 data mining Methods 0.000 description 3
- 238000003066 decision tree Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000013145 classification model Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 239000005995 Aluminium silicate Substances 0.000 description 1
- 241000269586 Ambystoma 'unisexual hybrid' Species 0.000 description 1
- 238000001069 Raman spectroscopy Methods 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 235000012211 aluminium silicate Nutrition 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 239000012636 effector Substances 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- NLYAJNPCOHFWQQ-UHFFFAOYSA-N kaolin Chemical compound O.O.O=[Al]O[Si](=O)O[Si](=O)O[Al]=O NLYAJNPCOHFWQQ-UHFFFAOYSA-N 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000011524 similarity measure Methods 0.000 description 1
- 238000011425 standardization method Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
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/1416—Event detection, e.g. attack signature detection
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
本发明公开了一种基于网络流量的多层异常检测方法。使用本发明能够很好地检测出小流量攻击行为,检测正确率高,且能适应不同的数据集。本发明首先在数据预处理阶段,将符号属性采用二进制表示,消除了传统的数值大小对分类的负面影响,且将数据集的属性集升高到一个较高的维度,使得后续的数据分类效果更加准确;然后采用降维方法提取特征,降低了数据量,使得后续步骤能够运行速度更快、内存消耗更低;随后,采用KNN离群点检测方法和遗传算法的结合方法进行数据选择,使得不同类别的数据量更加平衡,每类数据之间分离的尽可能远,分类结果更加公平;最后,利用构建的多层分类器,能够更为准确地将大流量攻击、小流量攻击识别出来。
Description
技术领域
本发明涉及网络安全技术领域,具体涉及一种基于网络流量的多层异常检测方法。
背景技术
随着计算机技术和通信技术相结合产生的网络技术不断发展,已经对人们的学习和生活方式产生了极大的影响。网络的增长在带给人们方便的同时,也带来了巨大的威胁。各种攻击事件(0day攻击、蠕虫和网络病毒等)不断发生,给国家和人民的经济生活带来了巨大的经济损失。因此网络安全是重要的亟待解决的问题。网络入侵检测技术能根据网络流量判断网络行为是否异常,是网络安全领域重要的检测技术。目前入侵检测技术主要分为两类:基于误用的入侵检测技术和基于异常的入侵检测技术。
基于误用的入侵检测技术是依赖预先定义的攻击特征,它在命令序列或网络流量中寻找特定的特征,用模式匹配的方法检测攻击。基于误用的检测方法的优点是能够精确地检测已知的攻击,误报率低。该方法的缺点是不能检测新的攻击(如零日攻击),而且具有高漏报率;其次是对新攻击的反应时间较慢,是小时或天量级的,而一些蠕虫可在几十秒内快速传播。基于异常的入侵检测技术是通过监视网络行为来检测入侵系统的活动。首先创建一个网络正常流量的状态文件(阈值或基线),将观测到的网络流量与正常流量相比较。如果存在显著的偏离行为则视为恶意入侵。基于异常的入侵检测技术的主要优点是具有检测新攻击(如零日攻击)和多态蠕虫的能力,并且不需要系统的先验知识,具有更好的适应性。这种方法也存在着一定的缺陷。因为网络数据的动态性和用户行为的不可预见性,创建的描述网络流量阈值并不一定准确,检测出异常事件也不一定是攻击行为,具有高误警率。而且,在基于异常检测系统中攻击者可逐步地把恶意行为训练为正常行为。
基于误用的检测具有一定的滞后性,并且网络面临着越来越多的零日攻击和新型攻击等日益复杂的攻击行为,该检测方法不能很好地适应当前网络的发展。基于异常的检测技术能更好地检测出网络中日益复杂的攻击行为。为了解决基于异常的入侵检测技术高误报率的问题,许多数据挖掘和机器学习的方法应用到入侵检测研究中。
基于数据挖掘的方法是从原始数据中提取简约化的信息,并与测试数据相比较,该方法分为聚类和分类。聚类是一种非监督的方法,将数据按照一定的相似性度量来聚类。程晓旭等人采用改进的K-means算法进行聚类划分,得到全局最优的聚类结果,降低了异常检测的时间复杂度(程晓旭,于海涛,李梓.改进的K-means网络入侵检测算法,2012,2(2):21-23)。Al-Yaseen W L等将改进的K-means来降低数据量,提高数据质量,并与C4.5结合来构造入侵检测模型的分类器,大大降低了入侵检测系统的运行时间,并提高了检测的准确度(Al-Yaseen W L,Othman Z A,Nazri M Z A.Hybrid Modified K-Means with C4.5forIntrusion Detection Systems in Multiagent Systems[J].Scientificworldjournal,2015,2015(2):294761);与支持向量机算法相结合,有效地提高了异常数据类型DoS、R2L和U2R的检测率(Al-Yaseen W L,Othman Z A,Nazri M Z A.Intrusion Detection SystemBased on Modified K-means and Multi-level Support Vector Machines[C]//International Conference on Soft Computing in Data Science2015Proceedings.2015:265-274);与支持向量机和极限学习机的混合模型相结合来提高入侵检测系统的准确性和效率(Al-Yaseen W L,Othman Z A,Nazri M Z A.Multi-levelhybrid support vector machine and extreme learning machine based on modifiedK-means for intrusion detection system[J].Expert Systems with Applications,2017,67:296-303)。
基于机器学习的方法是采用历史观察数据来构建模型,该方法又可进一步分为:贝叶斯网络,神经网络、模糊還辑、遗传算法和支持向量机等,还有一些研究者把几种方法结合起来,取得了较好的检测结果。这种方法的主要特点是从训练数据进行分析,构建分类模型来判断测试数据是正常行为或异常行为,这与数据挖掘方法中分类方法十分相似。该方法具有较强的适应性,对于未知类型的攻击检测效果更优。Raman等人提出将超图、遗传算法和支持向量机相结合来实现入侵检测系统。超图和遗传算法用于实现支持向量机模型的参数估计和特征选择,支持向量机用来对网络数据进行异常检测,该方法证明了特征选择和支持向量机相结合可以提高数据识别的准确率(Raman M R G,Somu N,Kirthivasan Ket al.An Efficient Intrusion Detection System based on Hypergraph-GeneticAlgorithm for Parameter Optimization and Feature Selection in Support VectorMachine[J].Knowledge-Based Systems,2017,134:1-12)。Khammassi等人采用遗传算法和逻辑回归算法进行特征选择,选取最优的特征子集,并采用不同的算法验证本方法选取的特征子集对于入侵检测是有效的(Khammassi C,Krichen S.A GA-LR Wrapper Approachfor Feature Selection in Network Intrusion Detection[J].Computers&Security,2017,DOI:10.1016/j.cose.2017.06.005)。
现有的与入侵检测相关专利主要集中在不同算法实现的入侵检测系统。2014年授予的发明专利入侵检测系统分析方法和入侵检测系统,将捕获的数据包进行协议解析,将解析结果与预先设置的规则库中对应的攻击特征进行规则匹配,如果匹配成功,则减少了计算量,并实现了快速探测入侵攻击(马晓明.入侵检测系统分析方法和入侵检测系统.申请号:201410400290.9)。发明专利一种入侵检测方法、装置在KDD99数据集上进行降维处理,利用半监督的仿射传播聚类算法对数据进行聚类,得到一个正常簇和至少一个异常簇,获取所述至少一个异常簇中的数据,所述数据是入侵检测到的异常数据。该方法具有较好的计算速度和准确率(张爽;张涌;宋立.一种入侵检测方法、装置.申请号:20140751220.8)。通过网络入侵数据的训练数据建立决策树,将网络目标属性与预先建立的决策树中各个节点的测试属性进行遍历匹配的方式,确定网络数据的分类(翟建军;钟金鑫;齐志彬;陈青民;李周;丁晓.一种入侵检测方法及系统.申请号:201611187136.3)。在2017年授予的发明专利基于改进协同训练-ADBN的入侵检测算法主要包括三个方面,基于改进协同训练算法的数据预训练、主动DBN数据训练算法和基于改进协同-ADBN的入侵检测,大大提高了入侵检测的效率和准确率(高岭;杨旭东;毛勇;曹瑞;邓杰;孙骞;王海;高权力.一种基于改进协同训练-ADBN的入侵检测算法.申请号:201710743859.5)。
然而,现有的入侵检测的研究大多是针对于KDD99数据集或者NSL_KDD数据集来进行的,该数据集是于1998年做的实验,当时的网络环境和攻击手段都已经过时,在该数据集上训练的异常检测分类器的检测效果不能很好地满足现代网络,同时对目前的攻击行为不能很好地进行检测。并且,现有的入侵检测方法不能很好地迁移到不同的数据集中,不具有普适性。在对攻击行为的检测中,能较为有效的识别出大流量的攻击行为,例如DOS攻击,但不能很好地识别出小流量的攻击行为,例如蠕虫、U2R和R2L等攻击行为。
发明内容
有鉴于此,本发明提供了一种基于网络流量的多层异常检测方法,能够很好地检测出小流量攻击行为,检测正确率高、误报率低,且能适应不同的数据集,在不同网络环境中均可得到很好的检测效果。
本发明的基于网络流量的多层异常检测方法,包括如下步骤:
步骤1,对训练集和测试集中的各网络数据进行预处理:首先将网络数据的符号属性转化为二进制表示,然后将网络数据进行[0,1]标准化处理;将网络数据的攻击类别标签转化为数值表示;
步骤2,对预处理后的训练集和测试集进行降维处理,得到低维的训练集和测试集;
步骤3,针对步骤2获得的低维的训练集,将同一攻击类别的网络数据采用遗传算法和KNN离群点检测算法相结合的算法进行数据抽取,获得抽取后的训练集;
其中,数据抽取包括如下子步骤:
步骤3.1,设置种群,种群个体为(K,M),其中,K、M为KNN离群点检测算法的参数;初始时,种群个体值为随机设置的;迭代次数为0;
步骤3.2,分别以各种群个体(K,M)为参数,对同一攻击类别的网络数据,执行KNN离群点检测算法,获得各个体对应的聚类后的数据集;
步骤3.3,分别计算各个体对应的聚类后的数据集的适应值,其中,适应值的计算公式为:
其中,SB和SW分别为该聚类后数据集的类间散布矩阵和类内散布矩阵,α为调节因子;
步骤3.4,判断是否达到最大迭代次数,如果到达,则算法终止,最大适应值所聚类后的数据集即作为抽取后的训练集输出;如果没有达到最大迭代次数,则执行步骤3.5;
步骤3.5,对当前的各种群个体执行遗传操作,对种群进行更新,且迭代次数加1;
步骤3.6,重复执行3.2~步骤3.5,直到达到最大迭代次数。
步骤4,构建多层分类器;其中,第一层包含一个分类器,用于将大流量攻击行为从正常行为和小流量攻击行为中识别出来;第二层包括两个分类器,其中一个分类器用于识别大流量攻击行为的攻击类型,另一个分类器用于将小流量攻击行为从正常行为中识别出来;第三层包含一个分类器,用于识别小流量攻击行为的攻击类型;
步骤5,利用步骤3获得的抽取后的训练集网络数据对步骤4构建的多层分类器进行训练,获得训练好的多层分类器;
步骤6,利用训练好的多层分类器对步骤2获得的低维的测试集网络数据进行入侵检测。
进一步的,所述步骤2中,采用线性判别式分析法进行降维处理。
进一步的,所述步骤4中,分类器为随机森林分类器。
进一步的,所述步骤1中,采用Min-max标准化方法将网络数据进行[0,1]标准化处理。
有益效果:
(1)本发明首先在数据预处理阶段,将符号属性采用二进制表示,代替传统的数值表示,有效地表示了符号属性之间的差异,并消除了数值大小对分类的负面影响,同时将数据集的属性集升高到一个较高的维度,使得后续的数据分类效果更加准确;然后采用降维方法提取特征,降低了数据量,使得后续步骤能够运行速度更快、内存消耗更低;然后采用KNN离群点检测方法和遗传算法的结合方法进行数据选择,使得不同类别的数据量更加平衡,每类数据之间分离的尽可能远,分类结果更加公平,而不是趋向于数据量更大的类别;最后,利用构建的多层分类器,能够更为准确的将大流量攻击、小流量攻击识别出来。
(2)采用LDA降维方法选取与类别相关的数据属性,删除了与类别相关性较低的属性,使得数据更紧凑,分类的效果更准确。
(3)通过采用遗传算法来优化KNN离群点检测算法中的参数选择,使得参数的选择更加合理,自适应不同的数据集,避免了人为的实验调整参数。
(4)本发明在现代网络的数据集上进行实验,使得该方法更适应现代网络,同时提出的数据处理方法和多层异常检测方法能够有效的降低分类器的训练时间,提高分类准确性,降低误报率。
附图说明
图1为本发明检测方法流程图。
图2为数据预处理过程示意图。
图3为数据抽取过程示意图。
图4为多层分类器构架示意图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明提供了一种基于网络流量的多层异常检测方法,该方法结合线性判别分析方法LDA、遗传算法、KNN离群点检测算法和随机森林算法,是一种融合的自适应方法。
本发明是基于基准数据集KDD99、KDD99的改进数据集NSL_KDD以及更符合现代网络的NUSW_NB15数据集进行研究的,其中,NUSW_NB15数据集是2015年公开的网络异常检测数据集,包含9种新的攻击类型,该数据集更能反映当前网络的流量特点和攻击手段。
本发明方法可以分为两个方面:数据处理和异常检测。数据处理主要是利用LDA、遗传算法和KNN离群点检测算法,首先利用LDA方法对数据进行降维处理,选取与类别分析主要相关的数据特征,然后将遗传算法和KNN离群点检测算法相结合进行数据选择,将每个类别中散布分布的数据删除,获得一个数据类别平衡的数据集,其中遗传算法用来进行KNN离群点检测算法的参数优化。在异常检测中,首先构建一个多层随机森林分类器,然后利用处理过的训练数据集训练多层随机森林分类器,最后采用训练好的多层随机森林分类器对测试数据集中的检测异常数据进行异常检测。
本发明方法分为5个部分:数据预处理、数据降维、数据抽取、分类器训练和异常检测,流程图如图1所示,具体介绍如下:
(一)数据预处理
对训练集和测试集中的网络数据进行预处理,预处理的整体过程如图2所示,具体包括如下子步骤:(1)对训练集中的网络数据进行去重处理。(2)将训练集和测试集中的各网络数据的符号属性(例如protocol_type属性)转化为二进制表示。例如protocol_type属性有TCP、UDP和ICMP三个值,将该列转变为二进制表示,一列转变为3列,TCP表示为100,UDP表示为010,ICMP表示为001。将符号属性采用二进制表示,代替传统的数值表示,能够有效地表示符号属性之间的差异,并消除了数值大小对分类的负面影响,同时将数据集的属性集升高到一个较高的维度,这将使得后续的数据分类效果更加准确。(3)将训练集和测试集中的网络数据进行[0,1]标准化处理。可以采用Min-max标准化方法对训练集和测试集进行标准化,标准化公式如下:
其中,v是第i属性列的一个值,mini是第i属性列的最小值,maxi是第i属性列的最大值。
(4)将训练集和测试集中各网络数据的攻击类型打标签,并将攻击类型标签转化为数值表示,例如在KDD99数据集中1表示Normal类别,2表示Probe类别,3表示DoS类别,4表示U2R类别,5表示R2L类别。
(二)数据降维
将预处理后的训练集和测试集的网络数据写成矩阵的方式,其中,行代表一条网络数据,列代表网络数据的符号属性,然后采用降维方法对网络数据矩阵进行特征提取。针对数据预处理阶段中网络数据的属性集合上升到较高维度这一问题,采用降维的方法可以选取出部分与类别相关的数据属性,同时删除与类别相关性较低的属性。降维处理后得到的新的属性集合不仅大大降低了数据量,使得后续步骤能够运行速度更快、内存消耗更低,同时也使得数据更紧凑,分类的效果更准确。
不同的降维方法都可以应用于本步骤来选择数据特征,例如缺失值比率(missingvalues ratio)、低方差滤波(low variance filter)、高相关滤波(high correlationfilter)、主成分分析(principle component analysis)、线性判别式分析(LinearDiscriminant Analysis,LDA)等。其中,缺失值比率是基于包含太多缺失值的数据列包含有用的信息的可能性较少,将数据列缺失值大于某一阈值的数据列去除。低方差滤波是假设数据列变化非常少的列包含的信息量较少,将数据列中方差小的数据列去除;数据列的方差小,数据列所包含的信息越少。高相关滤波认为两列数据变化趋势相似时,它们包含的信息越相似,这样的相似列只保留一列就可以了。本实例采用LDA进行降维,得到与类别主要相关的特征,除了能够降低数据量外,还可以保证后续步骤中数据的分类效果,采用LDA进行降维,效果较优。
LDA是一种监督学习的降维技术,它会选择一个最优的投影矩阵,将高维数据投影到低维空间,并且保留数据的分类信息。投影后的每一种类别数据的投影点尽可能地接近,而不同类别的数据的类别中心的距离尽可能的大。LDA技术中,两种散布矩阵(类间散布矩阵SB和类内散布矩阵SW)被定义。假设一个d维样本集x1,x2,…,xi,…,xn,其中n表示样本集的数据量,xi表示一条d维样本数据,该样本集包含k个不同类别,每个类别Ci(i=1,2,…,k)包含ni个样本。则类间散布矩阵SB和类内散布矩阵SW的定义如下所示:
LDA的整体流程如下所示。
输入:数据集D={(x1,y1),(x2,y2),…,(xi,yi),…,(xn,yn)},其中任意样本xi为d维向量,yi∈{C1,C2,…,Ck},维度降到m
输出:降维后的样本数据集D′
①计算数据集D的类内散布矩阵SW
②计算数据集D的类间散布矩阵SB
③计算矩阵SW -1SB
④计算SW -1SB的最大的m个特征值和对应的m个特征向量(w1,w2,…,wm),其中wi表示n维的列向量,得到投影矩阵Wn×m=(w1,w2,…,wm)。
⑤将数据集D中的每个样本xi转化为zi=WTxi,其中,上标T表示转置
⑥得到输出样本D′={(z1,y1),(z2,y2),…,(zn,yn)}.
对训练数据集和测试数据集进行降维处理,得到低维数据集,也有助于提高数据分类的准确性并降低数据处理的时间。
(3)数据抽取
采用遗传算法和KNN离群点检测算法相结合的算法对降维后的训练集进行数据抽取,以获得一个数量较小、质量较高的数据集,其中遗传算法用来优化KNN离群点检测算法的参数选择。对于降维后的训练集中的每一类攻击类别的网络数据,该方法将该类别的网络数据中分布稀疏且离高密度群体较远的点进行删除,从而使得各类数据之间分离得尽可能远,从而使得不同类别的数据量更加平衡,分类结果更加公平,而不是趋向于数据量更大的攻击类别。通过采用遗传算法来优化KNN离群点检测算法中的参数选择,使得参数的选择更加合理,同时该算法能自适应不同的数据集,避免了人为的实验调整参数。数据抽取的详细过程如图3所示。
遗传算法是模仿自然界的生物进化机制而来的随机全局搜索和优化方法,能在搜索过程中自适应地控制搜索过程以求得最佳解。该算法从一个初始种群出发,对种群中的每个个体进行随机选择、交叉和变异操作,产生一群新的更适应环境的个体,使群体进化到搜索空间中越来越好的区域。这样不断迭代,产生一群最适应环境的个体,从而得到问题的最优解。KNN离群点检测算法是一种基于距离的离群点检测算法。该方法的基本思想是计算数据集中每个数据与其它数据的K近邻平均距离,降序排序每个点的K近邻平均距离,则距离最大的前N个数据点是离群点。在数据选择时,将这N个数据进行删除,得到新的数据集,新的数据集的大小为M=|L-N|,L表示原数据集的大小。
将遗传算法与KNN离群点检测算法进行结合,遗传算法通过选择、交叉和变异操作来得到KNN离群点检测算法的最优参数。
下面结合图3对遗传算法与KNN离群点检测算法的结合过程进行详细介绍:
步骤3.1,设置初始种群:初始种群最初随机设置为Q组的(K,M),Q为种群规模,Q≥2;其中,K值表示数据的K近邻数量,M表示选择的数据大小。初始种群在算法计算过程中不断被更新。
步骤3.2,针对低维的训练集中的各类的网络数据,执行KNN离群点检测算法:
初始种群设置完成后,分别以每一组(K,M)为参数,对各类的网络数据执行KNN离群点检测算法,得到对应的新数据集,共Q组新数据集。
步骤3.3,计算每组新数据集的适应值。
适应值的计算公式如下所示:
其中,SB和SW分别是该组新数据集的类间散布矩阵和类内散布矩阵,α为调节因子,用来调整类间散布矩阵和类内散布矩阵的对比。
步骤3.4,适应值计算完成之后,判断算法是否到达预先规定的最大迭代次数,如果到达,则算法终止,输出Q组新数据集中最大适应值对应的(K,M)以及数据集;如果没有达到最大迭代次数,则执行步骤3.5。
步骤3.5,执行遗传操作:
遗传操作包括三部分:选择操作、交叉操作和变异操作。
选择操作执行锦标赛选择法。锦标赛选择法收敛的更慢,同时保证了选择结果的多样性。其具体的操作步骤如下:(1)确定每次选择的数量P(P≤Q);(2)从种群中随机选择P个(K,M)构成组,根据每个(K,M)的适应度值,选择适应度值最大的个体进入到变异操作中;(3)重复步骤(2),直到选择的Q个(K,M),构成与初始种群同样大小的新一代种群。
在交叉操作中,计算新一代种群中Q个(K,M)的平均值。
在变异操作中,通过随机产生一个概率值,如果该值大于预先设置的阈值β,则使参数(K,M)增加一个5%的整数值,这避免了搜索空间的过早收敛而得到一个局部最优解。
通过执行Q次遗传操作,得到Q组(K,M),这Q组(K,M)构成更新后的初始种群。
步骤3.6,针对更新后的初始种群,执行步骤3.2~3.6,直到达到预先规定的最大迭代次数。
假设初始种群的大小设置为10,最大迭代次数为100,选择操作中个体数量P=3,变异操作中阈值β=0.3。初始种群为10组(K,M)。接下来针对各组(K,M),分别执行KNN离群点检测算法,得到对应的10个新的数据集,并计算每个数据集的适应值。判断是否达到最大迭代次数,如果没有则进行遗传操作;否则选择最大的适应值对应的(K,M)和对应的数据集。在遗传操作中,首先进行选择操作,随机选取10个(K,M)中的3个构成一组,并选取该组中最大适应值所对应的(K,M),选择操作执行10次,得到10个(K,M)。然后进行交叉操作,交叉操作得到10组(K,M)中K的平均值Avg_K和M的平均值Avg_M。然后进行变异操作,变异操作随机生成一个概率值,如果概率值大于0.3,则分别将Avg_K和Avg_K值增加5%的整数值;否则,Avg_K和Avg_M值不变。一次遗传操作结束,得到变异操作后的一组值(Avg_K,Avg_M)。遗传操作进行10次,得到10组(Avg_K,Avg_M),与初始种群大小相等。将新的10组(Avg_K,Avg_M)作为更新后的初始种群,进行下一次循环,执行KNN离群点检测算法,直到达到终止条件为止。
(4)训练多层分类器
首先,构建一个多层分类器。
根据不同网络行为的流量特点,将网络行为分为大流量攻击行为、小流量攻击行为和正常行为。大流量攻击行为包括DoS、Probe或Reconnaissance等,小流量攻击行为包括Guess_passwd、Rootkit和Worms等。大流量攻击行为和正常行为在流量特征上区分较为明显,检测更为容易,而小流量攻击行为与正常行为在网络流量的表现上更为相似,不易检测出来,同时小流量攻击行为具有更大的危害性和破坏力,因此对于小流量攻击行为的检测是非常重要的。为此,本发明构建了一个多层分类器,将正常行为、大流量攻击类型和小流量攻击类型进行分组识别,如图4所示,首先将大流量攻击行为作为第一组,将正常行为和小流量攻击行为作为第二组,构建第一层分类器,采用一个分类器(分类器I)对大流量攻击行为进行识别,获得大流量攻击行为、以及正常行为和小流量攻击行为的组合;然后构建第二层分类器,第二层分类器包含两个分类器,分类器II对第一层识别出的大流量攻击行为进行具体的攻击类别识别;分类器III对第一层识别出的正常行为和小流量攻击行为的组合进行识别,识别出正常行为和小流量攻击行为;然后构建第三层分类器,采用一个分类器(分类器IV)对第二层识别出的小流量攻击行为进行具体的攻击类别识别。采用多层分类器能更有效地检测小流量攻击行为。
理论上,各种分类器均可适用于本发明的多层分类器中,例如支持向量机、极限学习机、决策树等。其中,随机森林模型是一种集成的分类模型,在分类效果上要远远优于其他模型,因此,多层分类器中,采用随机森林分类器效果较优。
然后,将经过预处理、降维处理、数据抽取后得到的新的训练数据集中的网络数据对构建的多层分类器进行训练,得到训练好的多层分类器。
(5)将经过预处理、降维处理后的测试数据集网络数据输入到训练好的多层分类器中,得到测试数据集的异常检测结果。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种基于网络流量的多层异常检测方法,其特征在于,包括如下步骤:
步骤1,对训练集和测试集中的各网络数据进行预处理:首先将网络数据的符号属性转化为二进制表示,然后将网络数据进行[0,1]标准化处理;将网络数据的攻击类别标签转化为数值表示;
步骤2,对预处理后的训练集和测试集进行降维处理,得到低维的训练集和测试集;
步骤3,针对步骤2获得的低维的训练集,将同一攻击类别的网络数据采用遗传算法和KNN离群点检测算法相结合的算法进行数据抽取,获得抽取后的训练集;
其中,数据抽取包括如下子步骤:
步骤3.1,设置种群,种群个体为(K,M),其中,K、M为KNN离群点检测算法的参数;初始时,种群个体值为随机设置的;迭代次数为0;
步骤3.2,分别以各种群个体(K,M)为参数,对同一攻击类别的网络数据,执行KNN离群点检测算法,获得各个体对应的聚类后的数据集;
步骤3.3,分别计算各个体对应的聚类后的数据集的适应值,其中,适应值的计算公式为:
其中,SB和SW分别为该聚类后数据集的类间散布矩阵和类内散布矩阵,α为调节因子;
步骤3.4,判断是否达到最大迭代次数,如果到达,则算法终止,最大适应值所对应的聚类后的数据集即作为抽取后的训练集输出;如果没有达到最大迭代次数,则执行步骤3.5;
步骤3.5,对当前的各种群个体执行遗传操作,对种群进行更新,且迭代次数加1;其中,遗传操作中的选择操作执行锦标赛选择法;
步骤3.6,重复执行3.2~步骤3.5,直到达到最大迭代次数;
步骤4,构建多层分类器;其中,第一层包含一个分类器,用于将大流量攻击行为从正常行为和小流量攻击行为中识别出来;第二层包括两个分类器,其中一个分类器用于识别大流量攻击行为的攻击类型,另一个分类器用于将小流量攻击行为从正常行为中识别出来;第三层包含一个分类器,用于识别小流量攻击行为的攻击类型;
步骤5,利用步骤3获得的抽取后的训练集网络数据对步骤4构建的多层分类器进行训练,获得训练好的多层分类器;
步骤6,利用训练好的多层分类器对步骤2获得的低维的测试集网络数据进行入侵检测。
2.如权利要求1所述的基于网络流量的多层异常检测方法,其特征在于,所述步骤2中,采用线性判别式分析法进行降维处理。
3.如权利要求1所述的基于网络流量的多层异常检测方法,其特征在于,所述步骤4中,分类器为随机森林分类器。
4.如权利要求1所述的基于网络流量的多层异常检测方法,其特征在于,所述步骤1中,采用Min-max标准化方法将网络数据进行[0,1]标准化处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810434106.0A CN108632279B (zh) | 2018-05-08 | 2018-05-08 | 一种基于网络流量的多层异常检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810434106.0A CN108632279B (zh) | 2018-05-08 | 2018-05-08 | 一种基于网络流量的多层异常检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108632279A CN108632279A (zh) | 2018-10-09 |
CN108632279B true CN108632279B (zh) | 2020-07-10 |
Family
ID=63696010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810434106.0A Active CN108632279B (zh) | 2018-05-08 | 2018-05-08 | 一种基于网络流量的多层异常检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108632279B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109151880B (zh) * | 2018-11-08 | 2021-06-22 | 中国人民解放军国防科技大学 | 基于多层分类器的移动应用流量识别方法 |
CN109753408B (zh) * | 2018-12-11 | 2022-03-25 | 江阴逐日信息科技有限公司 | 一种基于机器学习的流程异常预测方法 |
CN109818971B (zh) * | 2019-03-12 | 2020-07-03 | 清华大学 | 一种基于高阶关联挖掘的网络数据异常检测方法与系统 |
CN110097120B (zh) * | 2019-04-30 | 2022-08-26 | 南京邮电大学 | 网络流量数据分类方法、设备及计算机存储介质 |
CN110163141B (zh) * | 2019-05-16 | 2023-04-07 | 西安电子科技大学 | 基于遗传算法的卫星图像预处理方法 |
CN112188532A (zh) * | 2019-07-02 | 2021-01-05 | 中国移动通信集团贵州有限公司 | 网络异常检测模型的训练方法、网络检测方法及装置 |
CN110391955B (zh) * | 2019-07-22 | 2022-04-12 | 平安科技(深圳)有限公司 | 网络数据预处理方法、装置、设备及可读存储介质 |
CN110414594B (zh) * | 2019-07-24 | 2021-09-07 | 西安交通大学 | 一种基于双阶段判定的加密流量分类方法 |
CN110543892B (zh) * | 2019-08-05 | 2023-08-25 | 青岛理工大学 | 一种基于多层随机森林的零部件识别方法 |
CN112398779B (zh) * | 2019-08-12 | 2022-11-01 | 中国科学院国家空间科学中心 | 一种网络流量数据分析方法及系统 |
CN110460605B (zh) * | 2019-08-16 | 2021-09-10 | 南京邮电大学 | 一种基于自动编码的异常网络流量检测方法 |
CN110661802A (zh) * | 2019-09-27 | 2020-01-07 | 湖南大学 | 一种基于pca-svm算法的慢速拒绝服务攻击检测方法 |
CN110995459B (zh) * | 2019-10-12 | 2021-12-14 | 平安科技(深圳)有限公司 | 异常对象识别方法、装置、介质及电子设备 |
CN111222638B (zh) * | 2019-11-21 | 2023-05-12 | 湖南大学 | 一种基于神经网络的网络异常检测方法及装置 |
US11983611B2 (en) * | 2019-12-30 | 2024-05-14 | Armis Security Ltd. | System and method for determining device attributes using a classifier hierarchy |
CN111107102A (zh) * | 2019-12-31 | 2020-05-05 | 上海海事大学 | 基于大数据实时网络流量异常检测方法 |
CN111291792B (zh) * | 2020-01-19 | 2023-10-27 | 深圳大学 | 基于双进化的流量数据类型集成分类方法及装置 |
CN111314327A (zh) * | 2020-02-03 | 2020-06-19 | 南京邮电大学 | 一种基于knn离群点检测算法的网络入侵检测方法及系统 |
CN111586051B (zh) * | 2020-05-08 | 2021-06-01 | 清华大学 | 一种基于超图结构质量优化的网络异常检测方法 |
CN112491854B (zh) * | 2020-11-19 | 2022-12-09 | 郑州迪维勒普科技有限公司 | 一种基于fcnn的多方位安全入侵检测方法及系统 |
CN112788038A (zh) * | 2021-01-15 | 2021-05-11 | 昆明理工大学 | 一种基于PCA和随机森林的区分DDoS攻击和大象流的方法 |
CN113162926B (zh) * | 2021-04-19 | 2022-08-26 | 西安石油大学 | 一种基于knn的网络攻击检测属性权重分析方法 |
CN113259380B (zh) * | 2021-06-15 | 2021-09-17 | 广东电网有限责任公司湛江供电局 | 一种山区微电网网络攻击检测方法及装置 |
CN113722707A (zh) * | 2021-11-02 | 2021-11-30 | 西安热工研究院有限公司 | 基于距离度量的数据库异常访问检测方法、系统及设备 |
CN115296851B (zh) * | 2022-07-06 | 2024-07-26 | 国网山西省电力公司信息通信分公司 | 一种基于互信息与灰狼提升算法的网络入侵检测方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105956473B (zh) * | 2016-05-15 | 2018-11-13 | 广东技术师范学院 | 基于sdn网络的恶意代码检测方法 |
CN105897517A (zh) * | 2016-06-20 | 2016-08-24 | 广东电网有限责任公司信息中心 | 一种基于svm的网络流量异常检测方法 |
-
2018
- 2018-05-08 CN CN201810434106.0A patent/CN108632279B/zh active Active
Non-Patent Citations (2)
Title |
---|
遗传算法中选择策略的分析;胡妙娟等;《计算机与数字工程》;20060331;全文 * |
遗传算法选择策略比较;张琛等;《计算机工程与设计》;20091231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108632279A (zh) | 2018-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108632279B (zh) | 一种基于网络流量的多层异常检测方法 | |
Mirza | Computer network intrusion detection using various classifiers and ensemble learning | |
Zhong et al. | Clustering-based network intrusion detection | |
CN111708343B (zh) | 一种面向制造业行业现场工艺行为异常行为检测方法 | |
CN107465664B (zh) | 基于并行多人工蜂群算法和支持向量机的入侵检测方法 | |
Kim et al. | Fusions of GA and SVM for anomaly detection in intrusion detection system | |
CN106817248A (zh) | 一种apt攻击检测方法 | |
Anil et al. | A hybrid method based on genetic algorithm, self-organised feature map, and support vector machine for better network anomaly detection | |
CN110826617A (zh) | 态势要素分类方法及其模型的训练方法、装置及服务器 | |
Jayakumar et al. | Intrusion detection using artificial neural networks with best set of features. | |
CN112132262A (zh) | 基于可解释模型的循环神经网络后门攻击检测方法 | |
CN109902754A (zh) | 一种高效的半监督多层次入侵检测方法及系统 | |
Singh et al. | Autoencoder-based unsupervised intrusion detection using multi-scale convolutional recurrent networks | |
CN113609480B (zh) | 基于大规模网络流的多路学习入侵检测方法 | |
Liu et al. | Automatic feature extraction and selection for machine learning based intrusion detection | |
CN114065933A (zh) | 一种基于人工免疫思想的未知威胁检测方法 | |
Farrahi et al. | KCMC: A hybrid learning approach for network intrusion detection using K-means clustering and multiple classifiers | |
Khalid et al. | Frameworks for multivariate m-mediods based modeling and classification in Euclidean and general feature spaces | |
Oliveira et al. | Improving cascading classifiers with particle swarm optimization | |
CN114547601B (zh) | 一种基于多层分类策略的随机森林入侵检测方法 | |
Jian | Unsupervised intrusion feature selection based on genetic algorithm and fcm | |
CN113159181B (zh) | 基于改进的深度森林的工业控制系统异常检测方法和系统 | |
CN115688097A (zh) | 一种基于改进遗传算法特征选择的工控系统入侵检测方法 | |
Liu et al. | A Novel Network Anomaly Detection Method based on Data Balancing and Recursive Feature Addition. | |
Han et al. | Few-shot anomaly detection and classification through reinforced data selection |
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 |