CN110572382B - 基于smote算法和集成学习的恶意流量检测方法 - Google Patents

基于smote算法和集成学习的恶意流量检测方法 Download PDF

Info

Publication number
CN110572382B
CN110572382B CN201910823488.0A CN201910823488A CN110572382B CN 110572382 B CN110572382 B CN 110572382B CN 201910823488 A CN201910823488 A CN 201910823488A CN 110572382 B CN110572382 B CN 110572382B
Authority
CN
China
Prior art keywords
malicious
cluster
benign
sample
stream
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
Application number
CN201910823488.0A
Other languages
English (en)
Other versions
CN110572382A (zh
Inventor
杨超
张晓雨
苏锐丹
郑昱
强薇
贾哲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
CETC 54 Research Institute
Original Assignee
Xidian University
CETC 54 Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xidian University, CETC 54 Research Institute filed Critical Xidian University
Priority to CN201910823488.0A priority Critical patent/CN110572382B/zh
Publication of CN110572382A publication Critical patent/CN110572382A/zh
Application granted granted Critical
Publication of CN110572382B publication Critical patent/CN110572382B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Medical Informatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出一种基于SMOTE算法和集成学习的恶意流量检测方法,旨在保证恶意流量检测准确率的基础上,解决因良性及恶意流量不均衡导致的恶意流量检测召回率较低的技术问题,实现步骤为:获取良性流量和恶意流量;提取所获流量的统计特征,得到恶意流特征向量和良性流特征向量,构成训练集和测试集;对恶意流特征向量进行聚类;采用KNN近邻算法算出每个聚类簇的危险点,删除危险点获得安全聚类簇;优化SMOTE算法;采用优化后的SMOTE算法以聚类簇簇心为中心,簇内任一样本为参照样本插值生成新样本;添加新样本到训练集中获得平衡训练集;构建集成学习分类器模型;通过多数类投票法获取测试集的预测标签。

Description

基于SMOTE算法和集成学习的恶意流量检测方法
技术领域
本发明属于恶意流量检测技术领域,涉及一种恶意流量检测方法,具体涉及一种基于SMOTE算法和集成学习的恶意流量检测方法。
背景技术
恶意流量是指病毒、木马和恶意软件在电子设备运行产生的流量,进一步可分为加密恶意流量和未加密恶意流量。若在实际网络中没有及时发现病毒、木马和恶意软件,会造成病毒、木马和恶意软件的广泛传播,破坏网络安全。恶意流量检测技术通过检测网络流量中的恶意流量发现病毒、木马和恶意软件,该技术可分为基于深度包技术的恶意流量检测和基于机器学习算法的恶意流量检测。
基于深度包技术的恶意流量检测主要思想是:解析恶意流量中的数据包,由解析得的数据包内部信息判断流量行为是否为恶意。基于机器学习算法的恶意流量检测主要思想是:收集良性流量和恶意流量,提取良性流量及恶意流量的特征,构建特征矩阵,将特征矩阵输入机器学习算法进行训练,使用训练好的模型在网络中检测恶意流量。基于机器学习算法检测恶意流量的评价指标包含准确率和召回率,准确率与预测正确的流量条数有关,召回率与恶意流量被误分为良性流量的条数有关,由于恶意流量被误分为良性流量造成的危害更大,基于机器学习算法的恶意流量检测更关注召回率。
近年来,由于深度包检测流量的过程中,会解析数据包底层信息,这侵犯了用户的隐私,同样破坏网络安全,而且采用深度包检测技术检测恶意流量时误判频发,这使采用机器学习算法检测恶意流量成为恶意流量检测领域的主流方法。例如,2017年,来自思科(Cisco)的工程师Blake Anderson和David McGrew在KDD上发表了论文“加密恶意流量分类的机器学习:考虑噪音标签和非平稳性”,它提出了一种通过TLS协议特征来检测恶意流量的方法,该方法首次使用TLS协议头特征检测加密恶意流量,并采用深度学习、逻辑回归、SVM、随机森林算法对提取完的TLS协议特征进行训练,提高了加密恶意流量检测的准确率。但该方法不足之处在于,没有考虑恶意流量检测领域中存在网络环境中恶意流量远少于良性流量这一数据不均衡问题,而现有的机器学习算法都是针对数据均衡的前提条件提出的,故使用机器学习算法检测恶意流量,恶意流量检测的召回率又会降低。因此,如何解决良性及恶意流量不均衡造成采用机器学习算法检测恶意流量召回率较低仍是该领域亟待解决的问题。
发明内容
本发明的目的在于克服上述现有技术存在的不足,提出一种基于SMOTE算法和集成学习的恶意流量检测方法,旨在保证恶意流量检测准确率的基础上,解决因良性及恶意流量不均衡导致的恶意流量检测召回率较低的技术问题。
本发明的技术思路是,获取TCP重传过滤后的恶意流量及良性流量采集包,进行五元组分流,提取每条流的统计特征并作归一化处理,得到所有恶意流和良性流的特征向量,构成训练集和测试集;对恶意流特征向量进行k-means聚类,采用KNN近邻算法得到每个聚类簇中的危险点,在聚类簇中删除危险点得到安全聚类簇;优化SMOTE插值公式,使用优化后的SMOTE插值公式以安全聚类簇的簇心为中心,簇内任一样本为参照样本,插值生成恶意流特征向量;在训练集中加入生成的恶意流特征向量,将其传入基于SVM算法的集成学习分类器进行训练,最后对测试集进行预测。
根据上述技术思路,实现本发明目的采取的技术方案,包括如下步骤:
(1)获取训练集A和测试集T:
(1a)对n个恶意流量采集包和n个良性流量采集包分别进行TCP重传过滤,并对经过TCP重传过滤的n个恶意流量采集包和n个良性流量采集包分别进行五元组分流,得到P条恶意流和Q条良性流;
(1b)提取每条恶意流的特征向量和每条良性流的特征向量,并对提取到的P条恶意流特征向量g1,g2…gi…gp和Q条良性流特征向量I1,I2…Im…IQ分别进行归一化,得到归一化后的P条恶意流特征向量g1',g2'…gi'…gp'和Q条良性流特征向量I1',I2'…Im'…IQ';
(1c)将归一化后的恶意流特征向量标注为1,同时将归一化后的良性流特征向量标注为0,并将半数以上归一化后的恶意流特征向量和良性流特征向量,以及各特征向量对应的标签作为训练集A,其余归一化后的恶意流特征向量和良性流特征向量及各特征向量对应的标签作为测试集T,n≥5000,Q>>P>n;
(2)对归一化后的P条恶意流特征向量进行聚类:
(2a)设聚类簇中心点的个数为k,阈值为a,轮廓指数为SCk,最大迭代次数为Y,Y≥100,a≥0.7,并令k=2;
(2b)以k个聚类簇中心点为聚类中心,采用k-means聚类算法对归一化后的P条恶意流特征向量g1',g2'…gi'…gp'进行聚类,并判断SCk>a或者k≥Y是否成立,若是,保留k-means聚类生成的k个聚类簇,否则,丢弃k-means聚类生成的k个聚类簇,并执行步骤(2c);
(2c)令k=k+1,并执行步骤(2b);
(3)获取k个安全聚类簇:
(3a)采用KNN近邻算法,计算每条归一化后的恶意流特征向量gi'的K个近邻特征向量,并遍历gi'的K个近邻特征向量,若其中至少有一个近邻特征向量存在于良性流特征向量I1',I2'…Im'…IQ'中,将gi'作为危险样本,将所有危险样本构成危险点样本集M,否则,将除危险样本以外的gi'作为安全样本,K≥3;
(3b)判断k个聚类簇中的每个簇内样本是否存在于危险点样本集M中,若是,执行步骤(3c),否则,得到k个安全聚类簇;
(3c)计算k个聚类簇中的每个簇内样本与该簇内样本所属簇心的欧式距离,同时计算k个聚类簇中的每个簇内样本的K个近邻特征向量与簇内样本所属簇心的平均欧式距离,删除欧氏距离大于等于平均欧式距离的簇内样本,得到k个安全聚类簇,同时将所有删除的簇内样本构成集合Sdel
(4)对SMOTE插值公式进行优化:
以k个安全聚类簇的中心we替换SMOTE插值公式X中的生成样本中心
Figure BDA0002188314630000031
e=1,2,…k,以每个安全聚类簇内的任一样本X簇内样本替换SMOTE插值公式X中生成样本时的参考样本X近邻,得到优化后的SMOTE插值公式Xe',其中X和Xe'的表达式分别为:
Figure BDA0002188314630000032
Xe'=we+rand(0,1)×(X簇内样本-we)
其中,rand(0,1)代表0到1内的随机数,不包括0和1;
(5)获取平衡训练集A':
(5a)计算归一化后的Q条良性流特征向量I1',I2'…Im'…IQ'和P条恶意流特征向量g1',g2'…gi'…gp'的不平衡数量比d,
Figure BDA0002188314630000041
并计算使数据平衡需合成的恶意流特征向量条数N,N=P×(d-1);
(5b)计算每个安全聚类簇需要生成的恶意流特征向量的个数Te
Figure BDA0002188314630000042
其中,Se代表第i个安全聚类簇中簇内特征向量的个数,Te表示第e个安全聚类簇生成恶意流特征向量的条数,num表示集合Sdel中样本的个数;
(5c)采用优化后的SMOTE插值公式,以第e个安全聚类簇的簇心为中心,选择该簇内的每一簇内样本作为参照样本,在这两者中插值生成Te个恶意流特征向量,将k个安全聚类簇生成的
Figure BDA0002188314630000043
条恶意流特征向量添加到训练集A,得到平衡训练集A';
(6)构建集成学习分类器H(x),并对其进行训练:
构建包括O个SVM分类器的集成学习分类器模型H(x),H(x)={h1(x),h2(x),...,ht(x),...,hO(x)},并将平衡训练集A'划分成O个训练集A1',A2',…At'…AO',然后将第t个训练集At'作为第t个SVM分类器ht(x)的输入对其进行训练,得到训练完成的分类器模型H(x),O>2;
(7)获取测试样本的识别结果:
输入测试集T,使用集成学习分类器H(x)对测试集T中的所有测试样本进行识别,得到每一个测试样本的预测标签,当预测标签为1时说明测试样本被预测为恶意流,当预测标签为0时说明测试样本被预测为良性流。
本发明与现有技术相比,具有如下优点:
本发明使用优化后的SMOTE算法获取平衡训练集,并用集成学习分类器对平衡训练集进行训练,可以避免机器学习算法对不平衡训练集训练下存在的分类边界偏向多数类、对少数类样本学习能力不足的问题,提高恶意流量检测的召回率,此外采用集成学习方法,提高了模型的稳定性,降低每个基分类器的方差,改善了模型的泛化误差,保证了恶意流量检测的准确率。
附图说明
图1是基于SMOTE算法和集成学习的恶意流量检测方法的实现流程图。
具体实施方式
下面结合附图和具体实施例,对本发明作进一步的详细描述:
参照图1,本实施例包括步骤如下:
步骤1)获取训练集A和测试集T:
步骤1a)在可与网络通信的环境下,在虚拟机中依次运行收集的5000个恶意软件样本,打开wireshark收集恶意软件样本运行中其自身与网络交互产生的流量,每5分钟终止当前恶意软件样本的运行,保存这5分钟wireshark收集到的数据包,最终采集得5000个恶意流量采集包,采用wireshark收集未中病毒的手机、电脑与网络交互产生的流量,每5分钟终止wireshark收集流量,重复5000次,最终采集得5000个良性流量采集包,对5000个恶意流量采集包和5000个良性流量采集包分别进行TCP重传过滤,并对经过TCP重传过滤的5000个恶意流量采集包和5000个良性流量采集包分别进行五元组分流,得到135643条恶意流和513776条良性流;
步骤1b)提取每条恶意流的特征向量和每条良性流的特征向量,对于任一条流,其特征提取方法是,计算发送到外界数据包的个数s和接收到外界数据包的个数r,算得该流中数据包的总个数f,f=s+r,读取每个数据包字节值和每个数据包在流中出现的时间,按照时间顺序排序,得到向量l=(l1,l2,…li…lf)和传输这条流耗费的总时间ttal,li表示第i个数据包字节值,计算max(l)、min(l)、avg(l)、var(l)、l的众数,其中max表示最大值、min表示最小值、avg表示平均值、var表示方差,再根据向量l=(l1,l2,…li…lf)计算每个字节值出现的概率,计算公式为:
Figure BDA0002188314630000051
t(li)表示li字节值在l中出现的次数,p(li)表示li字节值在l中出现的频率,对所有恶意流和良性流进行如上特征提取操作,得到135643条恶意流特征向量g1,g2…g135643和513776条良性流特征向量I1,I2…I513776
步骤1c)对提取到的135643条恶意流特征向量g1,g2…gi…g135643和513776条良性流特征向量I1,I2…I513776分别进行归一化,得到归一化后的135643条恶意流特征向量g1',g2'…gi'…g135643'和513776条良性流特征向量I1,I2…I513776
步骤1d)将归一化后的恶意流特征向量标注为1,同时将归一化后的良性流特征向量标注为0,并将70%归一化后的恶意流特征向量和良性流特征向量,以及各特征向量对应的标签作为训练集A,其余归一化后的恶意流特征向量和良性流特征向量及各特征向量对应的标签作为测试集T;
步骤2)对归一化后的P条恶意流特征向量进行聚类:
步骤2a)聚类的目的是找出归一化后135643条恶意流特征向量内部数据分布情况,由于聚类样本均属于恶意流特征向量,无法通过传统的机器学习指标准确率、召回率判断聚类效果,构造一个可以度量簇内样本点紧凑度和不同簇间分离度的指标轮廓指数为SCk,设聚类簇中心点的个数为k,阈值为0.7,最大迭代次数为100,初始化k=2,其中:
Figure BDA0002188314630000061
Figure BDA0002188314630000062
Figure BDA0002188314630000063
SSE是类内方差,SSB是类间方差,I表示需要进行聚类样本的数目,me表示第e个聚类簇的聚类中心,x表示第e个聚类簇的任一样本,m为k个聚类簇中心中距离其他k-1个聚类簇中心平均欧式距离最小的中心,Ce表示第e个聚类簇,e=1,2…k;
步骤2b)以k个聚类簇中心点为聚类中心,采用k-means聚类算法对归一化后135643条恶意流特征向量g1',g2'…gi'…g135643'进行聚类,并判断SCk>0.7或者k≥100是否成立,若是,保留k-means聚类生成的k个聚类簇,否则,丢弃k-means聚类生成的k个聚类簇,并执行步骤(2c);
步骤2c)令k=k+1,并执行步骤(2b);
步骤2d)在步骤2b)和步骤2c)中得到迭代完成的聚类簇数,最终k=65;
步骤3)获取65个安全聚类簇:
步骤3a)采用KNN近邻算法,计算每条归一化后的恶意流特征向量gi'的3个近邻特征向量,即找出距离欧式距离dij最小的三个特征向量,计算方法如下:
Figure BDA0002188314630000071
之后遍历gi'的3个近邻特征向量,若其中至少有一个近邻特征向量存在于良性流特征向量I1,I2…I513776中,将gi'作为危险样本,将所有危险样本构成危险点样本集M,其中包含51236个样本,否则,将除危险样本以外的gi'作为安全样本;
步骤3b)判断65个聚类簇中的每个簇内样本是否存在于危险点样本集M中,若是,执行步骤(3c),否则,得到65个安全聚类簇;
步骤3c)计算65个聚类簇中的每个簇内样本与该簇内样本所属簇心的欧式距离,同时计算65个聚类簇中的每个簇内样本的3个近邻特征向量与簇内样本所属簇心的平均欧式距离,删除欧氏距离大于等于平均欧式距离的簇内样本,得到65个安全聚类簇,同时将所有删除的簇内样本构成集合Sdel,其中包含9866个恶意样本;
步骤4)对SMOTE插值公式进行优化:
以65个安全聚类簇的中心we替换SMOTE插值公式X中的生成样本中心
Figure BDA0002188314630000072
e=1,2,…65,以每个安全聚类簇内的任一样本X簇内样本替换SMOTE插值公式X中生成样本时的参考样本X近邻,得到优化后的SMOTE插值公式Xe',其中X和Xe'的表达式分别为:
Figure BDA0002188314630000073
Xe'=we+rand(0,1)×(X簇内样本-we)
其中,rand(0,1)代表0到1内的随机数,不包括0和1,修改后的SMOTE插值公式以聚类簇的中心we生成样本;
步骤5)获取平衡训练集A':
步骤5a)计算归一化后的513776条良性流特征向量I1,I2…I513776和135643条恶意流特征向量g1',g2'…gi'…g135643'的不平衡数量比d,d=3.78,并计算使数据平衡需合成的恶意流特征向量条数N,N=377087;
步骤5b)计算每个安全聚类簇需要生成的恶意流特征向量的个数Te,Te应使生成的恶意流特征向量满足原有恶意流特征向量数据分布情况,即根据步骤3)得到的65个安全聚类簇,按照每个聚类簇中簇内样本的个数,来决定每个聚类簇生成恶意流特征向量的个数,其中:
Figure BDA0002188314630000081
其中,Se代表第i个安全聚类簇中簇内特征向量的个数,Te表示第e个安全聚类簇生成恶意流特征向量的条数,num表示集合Sdel中样本的个数;
步骤5c)采用优化后的SMOTE插值公式,以第e个安全聚类簇的簇心为中心,选择该簇内的每一簇内样本作为参照样本,在这两者中插值生成Te个恶意流特征向量,将65个安全聚类簇生成的
Figure BDA0002188314630000082
条恶意流特征向量添加到训练集A,得到平衡训练集A',e=1,2,…65;
步骤6)构建集成学习分类器H(x),并对其进行训练:
采用集成学习中的Bagging思想,其思想是将一个大数据集划分成多个小数据集,学习多个模型进行组合,Bagging通过降低基分类器的方差,改善了泛化误差,其性能依赖于基分类器的稳定性,故这里选择准确率高模型稳定的SVM分类器作为基学习器,构建包括15个SVM分类器的集成学习分类器模型H(x),H(x)={h1(x),h2(x),...,ht(x),...,h15(x)},并将平衡训练集A'划分成15个训练集A1',A2',…At'…A15',然后将第t个训练集At'作为第t个SVM分类器ht(x)的输入对其进行训练,得到训练完成的分类器模型H(x);
步骤7)获取测试样本的识别结果:
输入测试集T,使用集成学习分类器H(x)对测试集T中的所有测试样本进行识别,每一个测试样本输入到分类器H(x)={h1(x),h2(x),...,ht(x),...,h15(x)}进行判别,得到15个预测结果,对这15个预测结果采用投票法选出出现次数最多的标签,作为最终预测标签,当预测标签为1时,说明测试样本被预测为恶意流,当预测标签为0时,说明测试样本被预测为良性流。

Claims (4)

1.一种基于SMOTE算法和集成学习的恶意流量检测方法,其特征在于,包括如下步骤:
(1)获取训练集A和测试集T:
(1a)对n个恶意流量采集包和n个良性流量采集包分别进行TCP重传过滤,并对经过TCP重传过滤的n个恶意流量采集包和n个良性流量采集包分别进行五元组分流,得到P条恶意流和Q条良性流;
(1b)提取每条恶意流的特征向量和每条良性流的特征向量,得到P条恶意流特征向量g1,g2…gi…gp和Q条良性流特征向量I1,I2…Im…IQ
(1c)对提取到的P条恶意流特征向量g1,g2…gi…gp和Q条良性流特征向量I1,I2…Im…IQ分别进行归一化,得到归一化后的P条恶意流特征向量g1',g2'…gi'…gp'和Q条良性流特征向量I1',I2'…Im'…IQ';
(1d)将归一化后的恶意流特征向量标注为1,同时将归一化后的良性流特征向量标注为0,并将半数以上归一化后的恶意流特征向量和良性流特征向量,以及各特征向量对应的标签作为训练集A,其余归一化后的恶意流特征向量和良性流特征向量及各特征向量对应的标签作为测试集T,n≥5000,Q>>P>n;
(2)对归一化后的P条恶意流特征向量进行聚类:
(2a)设聚类簇中心点的个数为k,阈值为a,轮廓指数为SCk,最大迭代次数为Y,Y≥100,a≥0.7,并令k=2;
(2b)以k个聚类簇中心点为聚类中心,采用k-means聚类算法对归一化后的P条恶意流特征向量g1',g2'…gi'…gp'进行聚类,并判断SCk>a或者k≥Y是否成立,若是,保留k-means聚类生成的k个聚类簇,否则,丢弃k-means聚类生成的k个聚类簇,并执行步骤(2c);
(2c)令k=k+1,并执行步骤(2b);
(3)获取k个安全聚类簇:
(3a)采用KNN近邻算法,计算每条归一化后的恶意流特征向量gi'的K个近邻特征向量,并遍历gi'的K个近邻特征向量,若其中至少有一个近邻特征向量存在于良性流特征向量I1',I2'…Im'…IQ'中,将gi'作为危险样本,将所有危险样本构成危险点样本集M,否则,将除危险样本以外的gi'作为安全样本;
(3b)判断k个聚类簇中的每个簇内样本是否存在于危险点样本集M中,若是,执行步骤(3c),否则,得到k个安全聚类簇;
(3c)计算k个聚类簇中的每个簇内样本与该簇内样本所属簇心的欧式距离,同时计算k个聚类簇中的每个簇内样本的K个近邻特征向量与簇内样本所属簇心的平均欧式距离,删除欧氏距离大于等于平均欧式距离的簇内样本,得到k个安全聚类簇,同时将所有删除的簇内样本构成集合Sdel
(4)对SMOTE插值公式进行优化:
以k个安全聚类簇的中心we替换SMOTE插值公式X中的生成样本中心
Figure FDA0002188314620000021
e=1,2,…k,以每个安全聚类簇内的任一样本X簇内样本替换SMOTE插值公式X中生成样本时的参考样本X近邻,得到优化后的SMOTE插值公式Xe',其中X和Xe'的表达式分别为:
Figure FDA0002188314620000022
Xe'=we+rand(0,1)×(X簇内样本-we)
其中,rand(0,1)代表0到1内的随机数,不包括0和1;
(5)获取平衡训练集A':
(5a)计算归一化后的Q条良性流特征向量I1',I2'…Im'…IQ'和P条恶意流特征向量g1',g2'…gi'…gp'的不平衡数量比d,
Figure FDA0002188314620000023
并计算使数据平衡需合成的恶意流特征向量条数N,N=P×(d-1);
(5b)计算每个安全聚类簇需要生成的恶意流特征向量的个数Te
Figure FDA0002188314620000024
其中,Se代表第i个安全聚类簇中簇内特征向量的个数,Te表示第e个安全聚类簇生成恶意流特征向量的条数,num表示集合Sdel中样本的个数;
(5c)采用优化后的SMOTE插值公式,以第e个安全聚类簇的簇心为中心,选择该簇内的每一簇内样本作为参照样本,在这两者中插值生成Te个恶意流特征向量,将k个安全聚类簇生成的
Figure FDA0002188314620000031
条恶意流特征向量添加到训练集A,得到平衡训练集A';
(6)构建集成学习分类器H(x),并对其进行训练:
构建包括O个SVM分类器的集成学习分类器模型H(x),H(x)={h1(x),h2(x),...,ht(x),...,hO(x)},并将平衡训练集A'划分成O个训练集A1',A2',…At'…AO',然后将第t个训练集At'作为第t个SVM分类器ht(x)的输入对其进行训练,得到训练完成的分类器模型H(x),O>2;
(7)获取测试样本的识别结果:
输入测试集T,使用集成学习分类器H(x)对测试集T中的所有测试样本进行识别,得到每一个测试样本的预测标签,当预测标签为1时说明测试样本被预测为恶意流,当预测标签为0时说明测试样本被预测为良性流。
2.根据权利要求1所述的基于SMOTE算法和集成学习的恶意流量检测方法,其特征在于,步骤(1a)中所述的获取n个恶意流量采集包和n个良性流量采集包,实现方法为:
n个恶意流量采集包的获取方法:在可与网络通信的环境下,在虚拟机中依次运行收集的n个恶意软件样本,打开wireshark收集恶意软件样本运行中其自身与网络交互产生的流量,每5分钟终止当前恶意软件样本的运行,同时保存这5分钟wireshark收集到的数据包,最终采集得n个恶意流量采集包;
n个良性流量采集包的获取方法:在可与网络通信的环境下,采用wireshark收集未中病毒的手机、电脑与网络交互产生的流量,每5分钟终止wireshark收集流量,重复n次,最终采集得n个良性流量采集包。
3.根据权利要求1所述的基于SMOTE算法和集成学习的恶意流量检测方法,其特征在于,步骤(1b)中所述的提取每条恶意流的特征向量和每条良性流的特征向量,实现方法为:
对于任一条流,其特征提取方法是,计算发送到外界数据包的个数s和接收到外界数据包的个数r,算得该流中数据包的总个数f,f=s+r,读取每个数据包字节值和每个数据包在流中出现的时间,按照时间顺序排序,得到向量l=(l1,l2,…li…lf)和传输这条流耗费的总时间ttal,li表示第i个数据包字节值,计算max(l)、min(l)、avg(l)、var(l)、l的众数,其中max表示最大值、min表示最小值、avg表示平均值、var表示方差,再根据向量l=(l1,l2,…li…lf)计算每个字节值出现的概率,计算公式为:
Figure FDA0002188314620000041
t(li)表示li字节值在l中出现的次数,p(li)表示li字节值在l中出现的频率,对所有恶意流和良性流进行如上特征提取操作,得到P条恶意流特征向量g1,g2…gp和Q条良性流特征向量I1,I2…IQ
4.根据权利要求1所述的基于SMOTE算法和集成学习的恶意流量检测方法,其特征在于,步骤(2a)中所述的轮廓指数SCk,其计算公式为:
Figure FDA0002188314620000042
Figure FDA0002188314620000043
Figure FDA0002188314620000044
k表示聚类簇数,I表示需要进行聚类样本的数目,SSE是类内方差,SSB是类间方差,me表示第e个聚类簇的聚类中心,x表示第e个聚类簇的任一样本,m为k个聚类簇中心中距离其他k-1个聚类簇中心平均欧式距离最小的聚类中心点,Ce表示第e个聚类簇。
CN201910823488.0A 2019-09-02 2019-09-02 基于smote算法和集成学习的恶意流量检测方法 Active CN110572382B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910823488.0A CN110572382B (zh) 2019-09-02 2019-09-02 基于smote算法和集成学习的恶意流量检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910823488.0A CN110572382B (zh) 2019-09-02 2019-09-02 基于smote算法和集成学习的恶意流量检测方法

Publications (2)

Publication Number Publication Date
CN110572382A CN110572382A (zh) 2019-12-13
CN110572382B true CN110572382B (zh) 2021-05-18

Family

ID=68777437

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910823488.0A Active CN110572382B (zh) 2019-09-02 2019-09-02 基于smote算法和集成学习的恶意流量检测方法

Country Status (1)

Country Link
CN (1) CN110572382B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111126627B (zh) * 2019-12-25 2023-07-04 四川新网银行股份有限公司 基于分离度指数的模型训练系统
CN111222570B (zh) * 2020-01-06 2022-08-26 广西师范大学 基于差分隐私的集成学习分类方法
CN111259219B (zh) * 2020-01-10 2023-04-21 北京金睛云华科技有限公司 恶意网页识别模型建立方法、识别方法及系统
CN111385145B (zh) * 2020-03-04 2023-04-25 南京信息工程大学 一种基于集成学习的加密流量识别方法
CN111786903B (zh) * 2020-05-28 2022-02-25 西安电子科技大学 一种基于约束模糊聚类和粒计算的网络流量分类方法
CN111865909B (zh) * 2020-06-08 2021-05-28 西安电子科技大学 Sgx侧信道攻击防御方法、系统、介质、程序及应用
CN114257386B (zh) * 2020-09-10 2023-03-21 华为技术有限公司 检测模型的训练方法、系统、设备及存储介质
CN112235293B (zh) * 2020-10-14 2022-09-09 西北工业大学 一种面向恶意流量检测正负样本均衡生成的过采样方法
CN112861130B (zh) * 2021-01-28 2022-09-06 济南大学 从n到n+1的多类转换恶意软件检测方法
CN112953924B (zh) * 2021-02-04 2022-10-21 西安电子科技大学 网络异常流量检测方法、系统、存储介质、终端及应用
CN112990286A (zh) * 2021-03-08 2021-06-18 中电积至(海南)信息技术有限公司 一种数据不平衡场景下的恶意流量检测方法
CN113705619B (zh) * 2021-08-03 2023-09-12 广州大学 一种恶意流量检测方法、系统、计算机及介质
CN113704762B (zh) * 2021-09-02 2022-06-21 广州大学 基于集成学习的恶意软件加密流量检测方法
CN115641177B (zh) * 2022-10-20 2023-05-30 北京力尊信通科技股份有限公司 一种基于机器学习的防秒杀预判系统
CN116186503B (zh) * 2022-12-05 2024-07-16 广州大学 一种面向工控系统的恶意流量检测方法、装置及计算机存储介质
CN117978543B (zh) * 2024-03-28 2024-06-04 贵州华谊联盛科技有限公司 基于态势感知的网络安全预警方法及系统
CN118535988A (zh) * 2024-07-23 2024-08-23 北京邮电大学 基于插值谱的流量分类方法、装置、存储介质及程序产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106973057A (zh) * 2017-03-31 2017-07-21 浙江大学 一种适用于入侵检测的分类方法
CN108696379A (zh) * 2017-04-07 2018-10-23 南京航空航天大学 基于集成学习和smote的蜂窝网络故障诊断系统
CN110072017A (zh) * 2019-04-28 2019-07-30 济南大学 基于特征选择与集成学习的异常电话识别方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9699205B2 (en) * 2015-08-31 2017-07-04 Splunk Inc. Network security system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106973057A (zh) * 2017-03-31 2017-07-21 浙江大学 一种适用于入侵检测的分类方法
CN108696379A (zh) * 2017-04-07 2018-10-23 南京航空航天大学 基于集成学习和smote的蜂窝网络故障诊断系统
CN110072017A (zh) * 2019-04-28 2019-07-30 济南大学 基于特征选择与集成学习的异常电话识别方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"面向移动恶意应用流量的非平衡识别方法研究";王琳琳;《中国优秀硕士学位论文全文数据库》;20190215;全文 *

Also Published As

Publication number Publication date
CN110572382A (zh) 2019-12-13

Similar Documents

Publication Publication Date Title
CN110572382B (zh) 基于smote算法和集成学习的恶意流量检测方法
CN109951444B (zh) 一种加密匿名网络流量识别方法
CN104601565B (zh) 一种智能优化规则的网络入侵检测分类方法
Gritsenko et al. Finding a ‘new’needle in the haystack: Unseen radio detection in large populations using deep learning
CN112381121A (zh) 一种基于孪生网络的未知类别网络流量的检测与识别方法
Zhang et al. Proword: An unsupervised approach to protocol feature word extraction
CN113067839B (zh) 一种基于多模态神经网络的恶意加密流量检测方法
CN113489685B (zh) 一种基于核主成分分析的二次特征提取及恶意攻击识别方法
CN113329023A (zh) 一种加密流量恶意性检测模型建立、检测方法及系统
KR20200087299A (ko) 딥러닝 알고리즘을 이용한 비지도 방식의 네트워크 침입 탐지 방법 및 이를 실행하기 위한 프로그램이 기록된 기록매체
CN111523588B (zh) 基于改进的lstm对apt攻击恶意软件流量进行分类的方法
CN113821793B (zh) 基于图卷积神经网络的多阶段攻击场景构建方法及系统
CN114666273B (zh) 一种面向应用层未知网络协议的流量分类方法
CN111786951A (zh) 流量数据特征提取方法、恶意流量识别方法及网络系统
Jin et al. Mobile network traffic pattern classification with incomplete a priori information
CN102457525A (zh) 一种基于负荷的异常入侵检测方法及系统
CN116150688A (zh) 智能家居中轻量级的物联网设备识别方法与装置
Khaleefah et al. Detection of iot botnet cyber attacks using machine learning
Yan et al. Network-based malware detection with a two-tier architecture for online incremental update
CN113746707B (zh) 一种基于分类器及网络结构的加密流量分类方法
CN114978593B (zh) 基于图匹配的不同网络环境的加密流量分类方法及系统
Sajeev et al. LASER: A novel hybrid peer to peer network traffic classification technique
Elrawy et al. IDS in telecommunication network using PCA
Atli et al. Network intrusion detection using flow statistics
CN114021637A (zh) 一种基于度量空间下去中心化应用加密流量分类方法及装置

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