CN108540451A - 一种用机器学习技术对网络攻击行为进行分类检测的方法 - Google Patents

一种用机器学习技术对网络攻击行为进行分类检测的方法 Download PDF

Info

Publication number
CN108540451A
CN108540451A CN201810202552.9A CN201810202552A CN108540451A CN 108540451 A CN108540451 A CN 108540451A CN 201810202552 A CN201810202552 A CN 201810202552A CN 108540451 A CN108540451 A CN 108540451A
Authority
CN
China
Prior art keywords
data
value
training
training data
classification
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.)
Pending
Application number
CN201810202552.9A
Other languages
English (en)
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.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
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 Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN201810202552.9A priority Critical patent/CN108540451A/zh
Publication of CN108540451A publication Critical patent/CN108540451A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种用机器学习技术对网络攻击行为进行分类检测的方法,属于信息安全技术领域。具体为:①采集网络数据并进行预处理,得到训练数据。②构建并训练多级分类器。③用训练好的多级分类器对测试数据进行分类检测。本发明提出的方法与已有技术相比较,优点是:①通过对采集数据的预处理方法能够缩减数据规模,同时去除部分无关数据,提高了整体效率。②利用多级分类器和集成学习的思想,解决了单一分类器拟合精度不高的问题,大大提高了***的检测精度。③基于改进的随机森林算法的数据分块方法的设计能够将不同类型的攻击行为检测实现为并行算法,提高***的总体的检测速度。

Description

一种用机器学习技术对网络攻击行为进行分类检测的方法
技术领域
本发明涉及一种用机器学习技术对网络攻击行为进行分类检测的方法,属于信息安全技术领域。
背景技术
随着网络和计算机技术的发展为人们的生活带来便利的同时,网络***的安全问题也带来了新的困扰。由于网络攻击的数量和种类呈指数增长,网络和信息***面临着严重的安全威胁。在此背景下研究网络的安全的保护方法具有重要的理论和实践价值。
为了保护网络***的安全,鉴别并且阻止***内外的攻击行为和用户的越权行为,研究者们提出了网络***的主动监控技术。该技术通过监控节点主动的向被监控网络产生负载并对采集的数据进行分析,进而得到被监控网络的状态信息并产生相应的决策。主动监控***的主要研究内容是构建合适的模型对数监控信息进行分类检测,分类检测技术的评估指标包括检测时间、检测准确率、检测误报率等。当监控节点的数目增大时对网络的主动监控也更加复杂,因此需要提出在检测精度和检测时间更加优秀的分析方法。
机器学习是通过计算机模拟人类的学习活动,通过从已有的经验中构建学习机,通过学习机进一步对未知的数据进行预测,并在这一过程中不断完善所构建的学习机。将机器学习技术引入主动监控技术提高了数据分析的精确程度,目前在主动监控***中常用的机器学习模型包括SVM、神经网络、逻辑回归、贝叶斯网等。
发明内容
本发明的目的是针对大规模网络中主动监控技术存在的对攻击行为的检测准确率低、响应时间长、检测误报率高的问题,提出一种用机器学习技术对网络攻击行为进行分类检测的方法。本发明方法通过完整的特征工程方法提高待检测数据的质量和缩减数据规模,在此基础上构建基于随机森林算法和支持向量机算法的集成机器学习模型,对处理后的数据进行分类检测从而预测网络***中的攻击行为。
本发明的目的是通过以下技术方案实现的。
本发明提出的一种用机器学习技术对网络攻击行为进行分类检测的方法,其具体操作为:
步骤一、采集网络数据并进行预处理,得到训练数据。所述训练数据分为正常数据和攻击数据;所述攻击数据按照不同攻击类型又分为多种类别,攻击类型的数量用符号N表示;N为正整数。每种类型训练数据的数量均不少于3000条。
所述得到训练数据具体操作为:
步骤1.1:从网络***中采集网络数据。所述网络数据包括网络内容相关特征、网络流量相关特征和网路连接相关特征。
步骤1.2:对所述网络数据进行预处理,具体为:
步骤1.2.1:对所述网络数据进行数据清洗,去除特征项有缺失的数据以及特征项取值为非正常取值范围内的数据。
步骤1.2.2:对清洗后的网络数据进行标准化处理。具体为:对字符类型的数据进行数值化映射或者进行二元化的数值变换。经过标准化处理后的网络数据表示为特征向量形式。
步骤1.2.3:通过公式(1)对标准化处理后的网络数据进行归一化处理,使网络数据的每个特征项的取值在[0,1]范围内。
其中,new_v表示网络数据中任意一特征项(用符号V表示)标准化之后的取值,new_v∈[0,1];v表示网络数据中特征项V的原始值;max表示全部网络数据中特征项V的原始值中的最大值;min表示全部网络数据中特征项V的原始值中的最小值。
步骤1.3:使用基于距离的局部离群因子(LOF)算法,计算经过预处理的网络数据的局部离群因子。具体为:
步骤1.3.1:每条网络数据表示为一个m维特征向量,所述特征向量用符号s表示,s={x1,x2,x3…xm},m为一条网络数据包含的特征项数量,m为正整数;x1,x2,x3…xm分别表示m个特征项。然后将所述特征向量映射到m维的特征空间中,则每个特征向量对应特征空间中的一个点。
步骤1.3.2:用符号p表示任意一个m维特征向量在特征空间中对应的点,通过公式(2)计算点p的局部离群因子。
其中,LOFk(p)表示点p的第k邻域的局部离群因子;k的值由人为指定,k>10;Nk(p)表示点p的第k邻域点集合,所述点p的第k邻域点是点p的第k距离以内的所有点;lrdk(o)表示点o的局部可达密度,o∈Nk(p);lrdk(p)表示点p的局部可达密度,lrdk(p)通过公式(3)计算得到。
其中,|Nk(p)|表示点p的第k距离;dist(p,o)表示点p到点o的距离。
步骤1.4:根据局部离群因子LOFk(p),判断点p是否为离群点。
用符号ε表示离群点的阈值,ε为人为设定值,ε的取值范围为(1,2]。当LOFk(p)>ε时,将点p标记为异常点,则点p对应的特征向量为异常数据,对异常数据做删除处理。否则,执行步骤1.5的操作。
经过步骤1.4的操作,将剔除异常数据后得到的数据作为基础训练数据。
步骤1.5:如果基本训练数据的维度m>Q,则执行步骤1.6的操作。否则,将基础训练数据作为训练数据。其中,Q为人为设定值,Q≥40。
步骤1.6:采用特征选择算法对基础训练数据进行降维处理,使基础训练数据的维度降到T,T为人为设定值,T≤40。
所述特征选择算法包括:方差选择方法、信息增益方法、互信息方法、卡方检验方法和基于树模型的特征选择方法。
步骤1.7:分析并确认特征选择算法的有效性。具体操作为:
步骤1.7.1:选定一个用于对基础训练数据进行分类的机器学习模型。所述机器学习模型为二值分类模型,用于将基础训练数据划分为正常数据或者攻击数据。
所述机器学习模型包括逻辑回归模型、决策树和感知器。
步骤1.7.2:将步骤1.4得到的基础训练数据作为所述机器学习模型的输入,得到分类结果,然后计算基础训练数据的分类准确率,用符号L1表示。
步骤1.7.3:将步骤1.6得到的降维后的基础训练数据作为所述机器学习模型的输入,得到分类结果,并计算降维后的基础训练数据的分类准确度,用符号L2表示。
步骤1.7.3:用符号δ表示评估结果的阈值,δ∈(0.9,1)。如果则调大T值,然后重复步骤1.6至步骤1.7的操作。否则,结束本步骤的操作,将降维处理后的基础训练数据作为训练数据。
步骤二、构建并训练多级分类器,具体操作步骤为:
步骤2.1:对随机森林算法的投票表决规则进行改进,构建改进随机森林分类器。具体为:
步骤2.1.1:构造n棵决策树,n为人为设定值,n>500。
步骤2.1.2:用符号θ表示分类阈值,θ为人为设定值,θ∈(0,1)。
步骤2.1.3:用符号y表示网络数据的某一种类型,y∈Y,Y为网络数据的类型集合。
步骤2.1.4:通过公式(4)得到一条训练数据的分类结果。
其中,x表示一条训练数据,f(x)表示训练数据x属于类型y的分类函数取值;xi表示第i棵决策树的输入,xi为训练数据x的抽样;fi(xi)表示通过随机抽样构建的第i棵决策树的分类函数的取值。
如果f(x)值为1,则将训练数据x的初始类型标注为类别y。
步骤2.1.5:将步骤一得到的训练数据作为改进随机森林分类器的输入,经过分类操作,完成对训练数据的初始类型标注。由于攻击类型数量为N,加上正常数据类型,一共有(N+1)种类型。
步骤2.2:使用迭代方法构建基于自适应增强(AdaBoost)思想的支持向量机(SVM)的集成分类器。迭代过程中各训练数据和集成分类器的权重计算方法具体为:
步骤2.2.1:对于m条训练数据,用符号w1,w2,w3…wm分别表示1至第m个训练数据的权重,并设置w1,w2,w3…wm的初始值均为用符号t表示当前迭代次数,设置当前迭代次数的初始值t=0。
步骤2.2.2:构建第t个以高斯函数为核函数的支持向量机SVM的基分类器,用符号gt表示,该分类器的分类函数如公式(5)所示。以训练数据集作为基分类器gt的输入,得到训练结果。
其中,g(x)表示基分类器gt的分类函数取值;sgn(·)表示符号函数;a为一条训练数据;为支持向量;b为偏置值,b的初始值为人为设定值,其取值范围为[0,0.5];K(xr,xs)为高斯核函数。
步骤2.2.3:选择平方损失函数作为基分类器gt的损失函数。计算基分类器gt的损失函数的值,设置基分类器gt的损失函数的阈值为 为人为设定值,
步骤2.2.4:如果基分类器gt损失函数的值小于阈值则得到所述多级分类器,所述多级分类器的分类函数如公式(6);然后,通过公式(7)计算基分类器gt的模型权重,用符号dt表示;结束操作。如果基分类器gt损失函数的值不小于阈值则执行步骤2.2.5的操作。
其中,g表示多级分类器的分类函数的值;T为总迭代次数。
其中,a表示第a条训练数据;wt(a)表示第a条训练数据在第t次迭代中的权重取值;gt(a)表示基分类器gt对训练数据a的训练结果;yt(a)表示训练数据a的真实结果。
步骤2.2.5:使用公式(8)调整训练数据的权重w1,w2,w3…wm,并对各训练数据的权重进行标准化处理,保证所有训练数据的权重和为1。然后使迭代次数自增1,返回到步骤2.2.2,执行步骤2.2.2的操作。
其中,wt+1(a)表示训练数据a第(t+1)次迭代中的权重取值;β为调整系数,当训练数据a的训练结果和真实结果相同时,β=1,当训练数据a的训练结果和真实结果不同时,β=-1;
步骤2.3:训练基于自适应增强(AdaBoost)思想的支持向量机(SVM)。
将步骤2.1得到的每种类型的训练数据分别输入到一个基于自适应增强(AdaBoost)思想的支持向量机(SVM)的输入。经过训练,得到(N+1)个训练好的基于自适应增强(AdaBoost)思想的支持向量机(SVM)。
经过步骤二的操作,得到一个训练好的多级分类器。
步骤三、用训练好的多级分类器对测试数据进行分类检测。
在步骤二操作的基础上,将测试数据输入到多级分类器,得到最终分类结果。
有益效果
本发明提出的用机器学习技术对网络攻击行为进行分类检测的方法与已有技术相比较,具有以下优点:
①通过对采集数据的预处理方法能够缩减数据规模,同时去除部分无关数据,提高了整体效率
②利用多级分类器和集成学习的思想,解决了单一分类器拟合精度不高的问题,大大提高了***的检测精度。
③基于改进的随机森林算法的数据分块方法的设计能够将不同类型的攻击行为检测实现为并行算法,提高***的总体的检测速度。
附图说明
图1为本发明具体实施方式中用机器学习技术对网络攻击行为进行分类检测的方法的操作流程图。
具体实施方式
下面结合附图和具体实施例对本发明技术方案做进一步描述。
采用本发明提出的一种用机器学习技术对网络攻击行为进行分类检测的方法对网络数据进行分类,其操作流程如图1所示,具体步骤为:
步骤一、采集网络数据并进行预处理,得到训练数据。
获取KDD CUP99数据,并对KDD CUP99数据集进行10%抽样,作为本实施例的网络数据。
所述训练数据分为正常(Normal)数据和攻击数据;攻击数据按照不同攻击类型又分为4种类别。每种类型训练数据的数量均不少于3000条。其中攻击类型分别是:拒绝服务(DOS)、监测或探针(Probing)、远程非法访问(R2L)以及用户权限非法提升(U2R)。
所述得到训练数据具体操作为:
步骤1.1:获取KDD CUP99数据,并对KDD CUP99数据集进行10%抽样,作为本实施例的网络数据,包括41个属性,如表1所示。
表1 KDD CUP00数据的特征项
步骤1.2:对所述网络数据进行预处理,KDD CUP99数据集中有38个数值类型的属性和3个字符类型的属性,分别是Protocol_type、Flag和Service。具体处理为:
步骤1.2.1:对所述网络数据进行数据清洗,去除特征项有缺失的数据以及特征项取值为非正常取值范围内的数据。
步骤1.2.2:对清洗后的网络数据进行标准化处理。具体为:将字符类型的数据进行数值化的映射或者对字符串进行二元化的数值变换。其中,字符属性Protocol_type意思是协议类型,取值范围是TCP、ICMP和UDP,将TCP、ICMP和UDP数值化处理,分别对应0,1,2。特征属性Flag的取值与数值化处理后的对应关系如表2所示。特征属性Service具有几十个不同的取值,根据数据字典顺序直接进行数值化的变换,对应1,2,3……。
表2 Flag属性的数值化映射
经过标准化处理后的网络数据表示为特征向量形式。
步骤1.2.3:通过公式(1)对标准化处理后的网络数据进行归一化处理,使网络数据的每个特征项的取值在[0,1]范围内。
其中,new_v表示网络数据中任意一特征项(用符号V表示)标准化之后的取值,new_v∈[0,1];v表示网络数据中特征项V的原始值;max表示全部网络数据中特征项V的原始值中的最大值;min表示全部网络数据中特征项V的原始值中的最小值。
步骤1.3:使用基于距离的局部离群因子(LOF)算法,计算经过预处理的网络数据的局部离群因子。具体为:
步骤1.3.1:每条网络数据表示为一个m维特征向量,m=41。所述特征向量用符号s表示,s={x1,x2,x3…xm};x1,x2,x3…xm分别表示m个特征项。然后将所述特征向量映射到m维的特征空间中,则每个特征向量对应特征空间中的一个点。
步骤1.3.2:用符号p表示任意一个m维特征向量在特征空间中对应的点,通过公式(2)计算点p的局部离群因子。
其中,LOFk(p)表示点p的第k邻域的局部离群因子;k的值由人为指定,k=50;Nk(p)表示点p的第k邻域点集合,所述点p的第k邻域点是点p的第k距离以内的所有点;lrdk(o)表示点o的局部可达密度,o∈Nk(p);lrdk(p)表示点p的局部可达密度,lrdk(p)通过公式(3)计算得到。
其中,|Nk(p)|表示点p的第k距离;dist(p,o)表示点p到点o的距离。
步骤1.4:根据局部离群因子LOFk(p),判断点p是否为离群点。
用符号ε表示离群点的阈值,ε为人为设定值,ε=1.2。当LOFk(p)>ε时,将点p标记为异常点,则点p对应的特征向量为异常数据,对异常数据做删除处理。否则,执行步骤1.5的操作。
经过步骤1.4的操作,将剔除异常数据后得到的数据作为基础训练数据。
步骤1.5:如果基本训练数据的维度m>Q,则执行步骤1.6的操作。否则,将基础训练数据作为训练数据。其中,Q=40。
步骤1.6:采用信息增益方法对基础训练数据进行降维处理,使基础训练数据的维度降到T,T为人为设定值,T=20。
步骤1.7:分析并确认特征选择算法的有效性。具体操作为:
步骤1.7.1:选则逻辑回归模型对基础训练数据进行分类的机器学习模型。逻辑回归模型为二值分类模型,用于将基础训练数据划分为正常数据或者攻击数据。
步骤1.7.2:将步骤1.4得到的基础训练数据作为逻辑回归模型的输入,得到分类结果,然后计算基础训练数据的分类准确率,用符号L1表示。
步骤1.7.3:将步骤1.6得到的降维后的基础训练数据作为逻辑回归模型的输入,得到分类结果,并计算降维后的基础训练数据的分类准确度,用符号L2表示。
步骤1.7.3:用符号δ表示评估结果的阈值,δ=0.95。如果则调大T值,然后重复步骤1.6至步骤1.7的操作。否则,结束本步骤的操作,将降维处理后的基础训练数据作为训练数据。
经过步骤一的操作,得到T=24维的训练数据,选择出的特征对应表1中的编号为:5,3,6,23,26,37,2,12,30,2,3,9,10,13,15,18,1,2,7,1,14,22,4,7。
步骤二、构建并训练多级分类器。
步骤2.1:对随机森林算法的投票表决规则进行改进,并使用改进后的随机森林算法对训练数据进行初始类型标注。具体为:
步骤2.1.1:构造n棵决策树,n=1000。
步骤2.1.2:用符号θ表示分类阈值,θ为人为设定值,θ=0.35
步骤2.1.3:用符号y表示网络数据的某一种类型,y∈Y,Y为网络数据的类型集合。
所述网络数据的类型集合Y={正常,拒绝服务,探针,远程非法访问,非法权限提升}。
步骤2.1.4:通过公式(4)得到一条训练数据的分类结果。
其中,x表示一条训练数据,f(x)表示训练数据x属于类型y的分类函数取值;xi表示第i棵决策树的输入,xi为训练数据x的抽样;fi(xi)表示通过随机抽样构建的第i棵决策树的分类函数的取值。
如果f(x)值为1,则将训练数据x的初始类型标注为类别y。
步骤2.1.5:将步骤一得到的训练数据作为改进随机森林分类器的输入,经过分类操作,完成对训练数据的初始类型标注。由于攻击类型数量为N,加上正常数据类型,一共有(N+1)种类型。
步骤2.2:使用迭代方法构建基于自适应增强(AdaBoost)思想的支持向量机(SVM)的集成分类器,迭代过程中各个训练数据和集成分类器的权重计算方法具体为:
步骤2.2.1:对于包含m条训练数据的训练数据集,用符号w1,w2,w3…wm分别表示1至第m个训练数据的权重,并设置w1,w2,w3…wm的初始值均为其中,m表示训练数据的数量。用符号t表示当前迭代次数,设置当前迭代次数的初始值t=0。
步骤2.2.2:构建第t个以高斯函数为核函数的支持向量机SVM的基分类器,用符号gt表示,该分类器的分类函数如公式(5)所示。以训练数据集作为基分类器gt的输入,得到训练结果。
其中,g(x)表示基分类器gt的分类函数取值;sgn(·)表示符号函数;a为一条训练数据;为支持向量;b为偏置值,b的初始值为人为设定值,其取值范围为[0,0.5];K(xr,xs)为高斯核函数。
对于正常类型的基分类器,b=0.0
对于拒绝服务(DOS)类型的基分类器,b=0.13
对于监测或探针(Probing)的基分类器,b=0.18
对于远程非法访问(R2L)的基分类器,b=0.16
对于用户权限非法提升(U2R)的基分类器,b=0.21
步骤2.2.3:选择平方损失函数作为基分类器gt的损失函数。计算基分类器gt的损失函数的值,设置基分类器gt的损失函数的阈值为 为人为设定值,
步骤2.2.4:如果基分类器gt损失函数的值小于阈值则得到所述多级分类器,所述多级分类器的分类函数如公式(6);然后,通过公式(7)计算基分类器gt的模型权重,用符号dt表示;结束操作。如果基分类器gt损失函数的值不小于阈值则执行步骤2.2.5的操作。
其中,g表示多级分类器的分类函数的值;T为总迭代次数。
其中,a表示第a条训练数据;wt(a)表示第a条训练数据在第t次迭代中的权重取值;gt(a)表示基分类器gt对训练数据a的训练结果;yt(a)表示训练数据a的真实结果。
步骤2.2.5:使用公式(8)调整训练数据的权重w1,w2,w3…wm,并对各训练数据的权重进行标准化处理,保证所有训练数据的权重和为1。然后使迭代次数自增1,返回到步骤2.2.2,执行步骤2.2.2的操作。
其中,wt+1(a)表示训练数据a第(t+1)次迭代中的权重取值;β为调整系数,当训练数据a的训练结果和真实结果相同时,β=1,当训练数据a的训练结果和真实结果不同时,β=-1;
步骤2.3:训练基于自适应增强(AdaBoost)思想的支持向量机(SVM)。
将步骤2.1得到的每种类型的训练数据分别输入到一个基于自适应增强(AdaBoost)思想的支持向量机(SVM)的输入。经过训练,得到5个训练好的基于自适应增强(AdaBoost)思想的支持向量机(SVM)。
经过步骤二的操作,得到一个训练好的多级分类器。
步骤三、用训练好的多级分类器对测试数据进行分类检测。
在步骤二操作的基础上,将测试数据分别输入到每种类型的多级分类器,得到最终分类结果。
本实施例中,对应每种攻击类型,使用的训练数据和测试数据数量以及测试集中新攻击类型样本数量如表3所示。
表3实验数据及样本数量统计
为了评估分类检测方法的有效性,利用分类的准确率、误报率、漏报率作为分类方法的评估指标。本实施例中各种类别的数据的检测指标如表4所示。
表4各种类别数据的检测指标

Claims (3)

1.一种用机器学习技术对网络攻击行为进行分类检测的方法,其特征在于:其具体操作为:
步骤一、采集网络数据并进行预处理,得到训练数据;所述训练数据分为正常数据和攻击数据;所述攻击数据按照不同攻击类型又分为多种类别,攻击类型的数量用符号N表示;N为正整数;每种类型训练数据的数量均不少于3000条;
所述得到训练数据具体操作为:
步骤1.1:从网络***中采集网络数据;所述网络数据包括网络内容相关特征、网络流量相关特征和网路连接相关特征;
步骤1.2:对所述网络数据进行预处理,具体为:
步骤1.2.1:对所述网络数据进行数据清洗,去除特征项有缺失的数据以及特征项取值为非正常取值范围内的数据;
步骤1.2.2:对清洗后的网络数据进行标准化处理;具体为:对字符类型的数据进行数值化映射或者进行二元化的数值变换;经过标准化处理后的网络数据表示为特征向量形式;
步骤1.2.3:通过公式(1)对标准化处理后的网络数据进行归一化处理,使网络数据的每个特征项的取值在[0,1]范围内;
其中,new_v表示网络数据中任意一特征项V标准化之后的取值,new_v∈[0,1];v表示网络数据中特征项V的原始值;max表示全部网络数据中特征项V的原始值中的最大值;min表示全部网络数据中特征项V的原始值中的最小值;
步骤1.3:使用基于距离的局部离群因子LOF算法,计算经过预处理的网络数据的局部离群因子;具体为:
步骤1.4:根据局部离群因子LOFk(p),判断点p是否为离群点;
用符号ε表示离群点的阈值,ε为人为设定值,ε的取值范围为(1,2];当LOFk(p)>ε时,将点p标记为异常点,则点p对应的特征向量为异常数据,对异常数据做删除处理;否则,执行步骤1.5的操作;
经过步骤1.4的操作,将剔除异常数据后得到的数据作为基础训练数据;
步骤1.5:如果基本训练数据的维度m>Q,则执行步骤1.6的操作;否则,将基础训练数据作为训练数据;其中,Q为人为设定值,Q≥40;
步骤1.6:采用特征选择算法对基础训练数据进行降维处理,使基础训练数据的维度降到T,T为人为设定值,T≤40;
步骤1.7:分析并确认特征选择算法的有效性;具体操作为:
步骤1.7.1:选定一个用于对基础训练数据进行分类的机器学习模型;所述机器学习模型为二值分类模型,用于将基础训练数据划分为正常数据或者攻击数据;
所述机器学习模型包括逻辑回归模型、决策树和感知器;
步骤1.7.2:将步骤1.4得到的基础训练数据作为所述机器学习模型的输入,得到分类结果,然后计算基础训练数据的分类准确率,用符号L1表示;
步骤1.7.3:将步骤1.6得到的降维后的基础训练数据作为所述机器学习模型的输入,得到分类结果,并计算降维后的基础训练数据的分类准确度,用符号L2表示;
步骤1.7.3:用符号δ表示评估结果的阈值,δ∈(0.9,1);如果则调大T值,然后重复步骤1.6至步骤1.7的操作;否则,结束本步骤的操作,将降维处理后的基础训练数据作为训练数据;
步骤二、构建并训练多级分类器,具体操作步骤为:
步骤2.1:对随机森林算法的投票表决规则进行改进,构建改进随机森林分类器;具体为:
步骤2.1.1:构造n棵决策树,n为人为设定值,n>500;
步骤2.1.2:用符号θ表示分类阈值,θ为人为设定值,θ∈(0,1);
步骤2.1.3:用符号y表示网络数据的某一种类型,y∈Y,Y为网络数据的类型集合;
步骤2.1.4:通过公式(4)得到一条训练数据的分类结果;
其中,x表示一条训练数据,f(x)表示训练数据x属于类型y的分类函数取值;xi表示第i棵决策树的输入,xi为训练数据x的抽样;fi(xi)表示通过随机抽样构建的第i棵决策树的分类函数的取值;
如果f(x)值为1,则将训练数据x的初始类型标注为类别y;
步骤2.1.5:将步骤一得到的训练数据作为改进随机森林分类器的输入,经过分类操作,完成对训练数据的初始类型标注;由于攻击类型数量为N,加上正常数据类型,一共有(N+1)种类型;
步骤2.2:使用迭代方法构建基于自适应增强AdaBoost思想的支持向量机SVM的集成分类器;迭代过程中各训练数据和集成分类器的权重计算方法具体为:
步骤2.2.1:对于m条训练数据,用符号w1,w2,w3…wm分别表示1至第m个训练数据的权重,并设置w1,w2,w3…wm的初始值均为用符号t表示当前迭代次数,设置当前迭代次数的初始值t=0;
步骤2.2.2:构建第t个以高斯函数为核函数的支持向量机SVM的基分类器,用符号gt表示,该分类器的分类函数如公式(5)所示;以训练数据集作为基分类器gt的输入,得到训练结果;
其中,g(x)表示基分类器gt的分类函数取值;sgn(·)表示符号函数;a为一条训练数据;为支持向量;b为偏置值,b的初始值为人为设定值,其取值范围为[0,0.5];K(xr,xs)为高斯核函数;
步骤2.2.3:选择平方损失函数作为基分类器gt的损失函数;计算基分类器gt的损失函数的值,设置基分类器gt的损失函数的阈值为为人为设定值,
步骤2.2.4:如果基分类器gt损失函数的值小于阈值则得到所述多级分类器,所述多级分类器的分类函数如公式(6);然后,通过公式(7)计算基分类器gt的模型权重,用符号dt表示;结束操作;如果基分类器gt损失函数的值不小于阈值则执行步骤2.2.5的操作;
其中,g表示多级分类器的分类函数的值;T为总迭代次数;
其中,a表示第a条训练数据;wt(a)表示第a条训练数据在第t次迭代中的权重取值;gt(a)表示基分类器gt对训练数据a的训练结果;yt(a)表示训练数据a的真实结果;
步骤2.2.5:使用公式(8)调整训练数据的权重w1,w2,w3…wm,并对各训练数据的权重进行标准化处理,保证所有训练数据的权重和为1;然后使迭代次数自增1,返回到步骤2.2.2,执行步骤2.2.2的操作;
其中,wt+1(a)表示训练数据a第(t+1)次迭代中的权重取值;β为调整系数,当训练数据a的训练结果和真实结果相同时,β=1,当训练数据a的训练结果和真实结果不同时,β=-1;
步骤2.3:训练基于自适应增强AdaBoost思想的支持向量机SVM;
将步骤2.1得到的每种类型的训练数据分别输入到一个基于自适应增强AdaBoost思想的支持向量机SVM的输入;经过训练,得到(N+1)个训练好的基于自适应增强AdaBoost思想的支持向量机SVM;
经过步骤二的操作,得到一个训练好的多级分类器;
步骤三、用训练好的多级分类器对测试数据进行分类检测;
在步骤二操作的基础上,将测试数据输入到多级分类器,得到最终分类结果。
2.如权利要求1所述的一种用机器学习技术对网络攻击行为进行分类检测的方法,其特征在于:其步骤1.3中所述使用基于距离的局部离群因子LOF算法,计算经过预处理的网络数据的局部离群因子的具体操作为:
步骤1.3.1:每条网络数据表示为一个m维特征向量,所述特征向量用符号s表示,s={x1,x2,x3…xm},m为一条网络数据包含的特征项数量,m为正整数;x1,x2,x3…xm分别表示m个特征项;然后将所述特征向量映射到m维的特征空间中,则每个特征向量对应特征空间中的一个点;
步骤1.3.2:用符号p表示任意一个m维特征向量在特征空间中对应的点,通过公式(2)计算点p的局部离群因子;
其中,LOFk(p)表示点p的第k邻域的局部离群因子;k的值由人为指定,k>10;Nk(p)表示点p的第k邻域点集合,所述点p的第k邻域点是点p的第k距离以内的所有点;lrdk(o)表示点o的局部可达密度,o∈Nk(p);lrdk(p)表示点p的局部可达密度,lrdk(p)通过公式(3)计算得到;
其中,|Nk(p)|表示点p的第k距离;dist(p,o)表示点p到点o的距离。
3.如权利要求1或2所述的一种用机器学习技术对网络攻击行为进行分类检测的方法,其特征在于:其步骤1.6中所述特征选择算法包括:方差选择方法、信息增益方法、互信息方法、卡方检验方法和基于树模型的特征选择方法。
CN201810202552.9A 2018-03-13 2018-03-13 一种用机器学习技术对网络攻击行为进行分类检测的方法 Pending CN108540451A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810202552.9A CN108540451A (zh) 2018-03-13 2018-03-13 一种用机器学习技术对网络攻击行为进行分类检测的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810202552.9A CN108540451A (zh) 2018-03-13 2018-03-13 一种用机器学习技术对网络攻击行为进行分类检测的方法

Publications (1)

Publication Number Publication Date
CN108540451A true CN108540451A (zh) 2018-09-14

Family

ID=63484291

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810202552.9A Pending CN108540451A (zh) 2018-03-13 2018-03-13 一种用机器学习技术对网络攻击行为进行分类检测的方法

Country Status (1)

Country Link
CN (1) CN108540451A (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109379379A (zh) * 2018-12-06 2019-02-22 中国民航大学 基于改进卷积神经网络的网络入侵检测方法
CN109450880A (zh) * 2018-10-26 2019-03-08 平安科技(深圳)有限公司 基于决策树的钓鱼网站检测方法、装置及计算机设备
CN109450876A (zh) * 2018-10-23 2019-03-08 中国科学院信息工程研究所 一种基于多维度状态转移矩阵特征的DDos识别方法和***
CN109660522A (zh) * 2018-11-29 2019-04-19 华东师范大学 面向综合电子***的基于深层自编码器的混合入侵检测方法
CN109741175A (zh) * 2018-12-28 2019-05-10 上海点融信息科技有限责任公司 基于人工智能对分期购车用户的再授信评估方法和设备
CN110008976A (zh) * 2018-12-05 2019-07-12 阿里巴巴集团控股有限公司 一种网络行为分类方法和装置
CN110133146A (zh) * 2019-05-28 2019-08-16 国网上海市电力公司 一种考虑不平衡数据样本的变压器故障诊断方法及***
CN110478911A (zh) * 2019-08-13 2019-11-22 苏州钛智智能科技有限公司 基于机器学习的智能游戏车无人驾驶方法及智能车、设备
CN110581840A (zh) * 2019-07-24 2019-12-17 中国科学院信息工程研究所 基于双层异质集成学习器的入侵检测方法
CN110719279A (zh) * 2019-10-09 2020-01-21 东北大学 基于神经网络的网络异常检测***及检测方法
CN111107077A (zh) * 2019-12-16 2020-05-05 中国电子科技网络信息安全有限公司 一种基于svm的攻击流量分类方法
CN112269907A (zh) * 2020-11-02 2021-01-26 山东万里红信息技术有限公司 一种物联网健康大数据的处理方法
CN112333706A (zh) * 2019-07-16 2021-02-05 ***通信集团浙江有限公司 物联网设备异常检测方法、装置、计算设备及存储介质
CN112367303A (zh) * 2020-10-21 2021-02-12 中国电子科技集团公司第二十八研究所 分布式自学习异常流量协同检测方法及***
CN112398779A (zh) * 2019-08-12 2021-02-23 中国科学院国家空间科学中心 一种网络流量数据分析方法及***
CN112559591A (zh) * 2020-12-08 2021-03-26 晋中学院 一种用于冷轧辊制造过程的离群检测***及其检测方法
CN112583844A (zh) * 2020-12-24 2021-03-30 北京航空航天大学 一种面向高级可持续威胁攻击的大数据平台防御方法
CN113114618A (zh) * 2021-03-02 2021-07-13 西安电子科技大学 一种基于流量分类识别的物联网设备入侵检测的方法
CN113239025A (zh) * 2021-04-23 2021-08-10 四川大学 基于特征选择和超参数优化的船舶轨迹分类方法
CN113347181A (zh) * 2021-06-01 2021-09-03 上海明略人工智能(集团)有限公司 异常广告流量检测方法、***和计算机设备和存储介质
CN114039837A (zh) * 2021-11-05 2022-02-11 奇安信科技集团股份有限公司 告警数据处理方法、装置、***、设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150193693A1 (en) * 2014-01-06 2015-07-09 Cisco Technology, Inc. Learning model selection in a distributed network
CN104794192A (zh) * 2015-04-17 2015-07-22 南京大学 基于指数平滑、集成学习模型的多级异常检测方法
CN107276999A (zh) * 2017-06-08 2017-10-20 西安电子科技大学 一种无线传感器网络中的事件检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150193693A1 (en) * 2014-01-06 2015-07-09 Cisco Technology, Inc. Learning model selection in a distributed network
CN104794192A (zh) * 2015-04-17 2015-07-22 南京大学 基于指数平滑、集成学习模型的多级异常检测方法
CN107276999A (zh) * 2017-06-08 2017-10-20 西安电子科技大学 一种无线传感器网络中的事件检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
贾斌: "基于组合分类器的DDos攻击流量分布式检测模型", 《华中科技大学学报(自然科学版)》 *

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109450876B (zh) * 2018-10-23 2020-12-22 中国科学院信息工程研究所 一种基于多维度状态转移矩阵特征的DDos识别方法和***
CN109450876A (zh) * 2018-10-23 2019-03-08 中国科学院信息工程研究所 一种基于多维度状态转移矩阵特征的DDos识别方法和***
CN109450880A (zh) * 2018-10-26 2019-03-08 平安科技(深圳)有限公司 基于决策树的钓鱼网站检测方法、装置及计算机设备
CN109660522A (zh) * 2018-11-29 2019-04-19 华东师范大学 面向综合电子***的基于深层自编码器的混合入侵检测方法
CN109660522B (zh) * 2018-11-29 2021-05-25 华东师范大学 面向综合电子***的基于深层自编码器的混合入侵检测方法
CN110008976A (zh) * 2018-12-05 2019-07-12 阿里巴巴集团控股有限公司 一种网络行为分类方法和装置
CN109379379B (zh) * 2018-12-06 2021-03-02 中国民航大学 基于改进卷积神经网络的网络入侵检测方法
CN109379379A (zh) * 2018-12-06 2019-02-22 中国民航大学 基于改进卷积神经网络的网络入侵检测方法
CN109741175A (zh) * 2018-12-28 2019-05-10 上海点融信息科技有限责任公司 基于人工智能对分期购车用户的再授信评估方法和设备
CN110133146A (zh) * 2019-05-28 2019-08-16 国网上海市电力公司 一种考虑不平衡数据样本的变压器故障诊断方法及***
CN112333706B (zh) * 2019-07-16 2022-08-23 ***通信集团浙江有限公司 物联网设备异常检测方法、装置、计算设备及存储介质
CN112333706A (zh) * 2019-07-16 2021-02-05 ***通信集团浙江有限公司 物联网设备异常检测方法、装置、计算设备及存储介质
CN110581840B (zh) * 2019-07-24 2020-10-16 中国科学院信息工程研究所 基于双层异质集成学习器的入侵检测方法
CN110581840A (zh) * 2019-07-24 2019-12-17 中国科学院信息工程研究所 基于双层异质集成学习器的入侵检测方法
CN112398779B (zh) * 2019-08-12 2022-11-01 中国科学院国家空间科学中心 一种网络流量数据分析方法及***
CN112398779A (zh) * 2019-08-12 2021-02-23 中国科学院国家空间科学中心 一种网络流量数据分析方法及***
CN110478911A (zh) * 2019-08-13 2019-11-22 苏州钛智智能科技有限公司 基于机器学习的智能游戏车无人驾驶方法及智能车、设备
CN110719279A (zh) * 2019-10-09 2020-01-21 东北大学 基于神经网络的网络异常检测***及检测方法
CN111107077B (zh) * 2019-12-16 2021-12-21 中国电子科技网络信息安全有限公司 一种基于svm的攻击流量分类方法
CN111107077A (zh) * 2019-12-16 2020-05-05 中国电子科技网络信息安全有限公司 一种基于svm的攻击流量分类方法
CN112367303A (zh) * 2020-10-21 2021-02-12 中国电子科技集团公司第二十八研究所 分布式自学习异常流量协同检测方法及***
CN112269907A (zh) * 2020-11-02 2021-01-26 山东万里红信息技术有限公司 一种物联网健康大数据的处理方法
CN112559591A (zh) * 2020-12-08 2021-03-26 晋中学院 一种用于冷轧辊制造过程的离群检测***及其检测方法
CN112559591B (zh) * 2020-12-08 2023-06-13 晋中学院 一种用于冷轧辊制造过程的离群检测***及其检测方法
CN112583844B (zh) * 2020-12-24 2021-09-03 北京航空航天大学 一种面向高级可持续威胁攻击的大数据平台防御方法
CN112583844A (zh) * 2020-12-24 2021-03-30 北京航空航天大学 一种面向高级可持续威胁攻击的大数据平台防御方法
CN113114618A (zh) * 2021-03-02 2021-07-13 西安电子科技大学 一种基于流量分类识别的物联网设备入侵检测的方法
CN113239025A (zh) * 2021-04-23 2021-08-10 四川大学 基于特征选择和超参数优化的船舶轨迹分类方法
CN113347181A (zh) * 2021-06-01 2021-09-03 上海明略人工智能(集团)有限公司 异常广告流量检测方法、***和计算机设备和存储介质
CN114039837A (zh) * 2021-11-05 2022-02-11 奇安信科技集团股份有限公司 告警数据处理方法、装置、***、设备和存储介质
CN114039837B (zh) * 2021-11-05 2023-10-31 奇安信科技集团股份有限公司 告警数据处理方法、装置、***、设备和存储介质

Similar Documents

Publication Publication Date Title
CN108540451A (zh) 一种用机器学习技术对网络攻击行为进行分类检测的方法
CN107395590B (zh) 一种基于pca和随机森林分类的入侵检测方法
Özgür et al. A review of KDD99 dataset usage in intrusion detection and machine learning between 2010 and 2015
CN104601565B (zh) 一种智能优化规则的网络入侵检测分类方法
Ibrahimi et al. Management of intrusion detection systems based-KDD99: Analysis with LDA and PCA
CN106973038B (zh) 基于遗传算法过采样支持向量机的网络入侵检测方法
CN107862347A (zh) 一种基于随机森林的窃电行为的发现方法
Raj et al. Applications of pattern recognition algorithms in agriculture: a review
US20080086493A1 (en) Apparatus and method for organization, segmentation, characterization, and discrimination of complex data sets from multi-heterogeneous sources
CN114124482B (zh) 基于lof和孤立森林的访问流量异常检测方法及设备
CN114707571B (zh) 基于增强隔离森林的信用数据异常检测方法
CN105354198A (zh) 一种数据处理方法及装置
Chandolikar et al. Efficient algorithm for intrusion attack classification by analyzing KDD Cup 99
CN112437053B (zh) 入侵检测方法及装置
CN107483451A (zh) 基于串并行结构网络安全数据处理方法及***、社交网络
CN113542241A (zh) 一种基于CNN-BiGRU混合模型的入侵检测方法及装置
CN116865994A (zh) 一种基于大数据的网络数据安全预测方法
Gong et al. Intrusion detection system combining misuse detection and anomaly detection using genetic network programming
Machoke et al. Performance Comparison of Ensemble Learning and Supervised Algorithms in Classifying Multi-label Network Traffic Flow
CN109344848A (zh) 基于Adaboost的移动智能终端安全等级分类方法
Thanh et al. An approach to reduce data dimension in building effective network intrusion detection systems
CN115392351A (zh) 风险用户识别方法、装置、电子设备及存储介质
Chareka et al. A study of fitness functions for data classification using grammatical evolution
Shah et al. Analyzing data complexity using metafeatures for classification algorithm selection
CN112422505A (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180914

WD01 Invention patent application deemed withdrawn after publication