CN111181939B - 一种基于集成学习的网络入侵检测方法及装置 - Google Patents

一种基于集成学习的网络入侵检测方法及装置 Download PDF

Info

Publication number
CN111181939B
CN111181939B CN201911327275.5A CN201911327275A CN111181939B CN 111181939 B CN111181939 B CN 111181939B CN 201911327275 A CN201911327275 A CN 201911327275A CN 111181939 B CN111181939 B CN 111181939B
Authority
CN
China
Prior art keywords
data
type
training
data type
ensemble learning
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
CN201911327275.5A
Other languages
English (en)
Other versions
CN111181939A (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.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
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 Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN201911327275.5A priority Critical patent/CN111181939B/zh
Publication of CN111181939A publication Critical patent/CN111181939A/zh
Application granted granted Critical
Publication of CN111181939B publication Critical patent/CN111181939B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种基于集成学习的网络入侵检测方法及装置,所述方法包括:采集网络入侵检测数据并提取特征和预处理,建立训练数据集,选择数据量较少的攻击类型数据增加其数据量;对于训练数据集中的每个数据类型训练多个学习器,然后用集成学习的方式将多个学习器融合在一起,形成每一种数据类型对应的集成学习模型;为每个数据类型设置最优的分类阈值,使发生误分类的代价最小;将待检测数据分别输入到每一种数据类型的集成学习模型中,根据集成学习模型的输出结果和所述的分类阈值得到待检测数据所属的数据类型。本申请能有效解决现有技术中存在的对数据量少的攻击类型的攻击数据检测准确率低下、误报率和虚警率较高的问题。

Description

一种基于集成学习的网络入侵检测方法及装置
技术领域
本申请涉及信息科学技术领域,具体涉及一种基于集成学习的网络入侵检测方法及装置。
背景技术
近些年来,机器学习的发展使得网络入侵检测问题有了新的解决办法。从最初的应用基本的机器学习算法,如决策树算法、随机森林算法、贝叶斯网络算法、马尔科夫算法、支持向量机算法、K-近邻算法、人工神经网络算法等等,到将几种机器学习算法相互结合,达到新的效果,解决各种不同方面的问题。例如Muda Z等人提出了一种融合K-menas算法和贝叶斯算法的方法,GaddamS R等人提出了一种将K-Means算法和决策树算法中ID3算法融合的方法,这些方法在某些方面都取得了一定的效果。
随着网络入侵检测系统的不断发展,研究者们发现单一分类器存在泛化能力不足,并且对于不均衡数据集的处理效果不太理想。然而网络入侵检测数据流量在分布上就是一个不均衡的数据分布。例如在网络入侵检测经典数据集KDDCUP99的训练集中,正常数据流量占总比例的19.85%,R2L攻击类型数据占总比例的0.023%,Probe攻击类型的数据占0.84%,Dos攻击类型的数据占79.3%。因此为了解决数据不均衡问题,有研究人员提出人工合成或者欠采样降低多数类样本的方法来处理入侵数据。此外针对分类器泛化能力弱,研究人员又提出使用集成学习的方式,训练多个学习器进行结合。
现有的基于机器学习的网络入侵检测技术从早期的应用单一机器学习算法到将不同的算法进行融合改进,进而获取较高的分类准确率,但较高的分类准确率不一定可以在实际的应用中获取好的效果,因为大多数网络入侵流量属于正常流量,亦或者在数据分布中,某一种或几种攻击类型的数据流量较多,其他攻击类型的数据流量较少,由于机器学习算法的内在本质会偏向于数据样本较多的类别,忽略数据样本少的类别,即使将那些数据样本少的类别预测错误也不会在整体上影响分类准确率,因为这些样本的数量占比率可能非常小,但是这些流量可能是极具危害的攻击流量。
此外,机器学习算法默认各种类别数据分类错误的代价都是相同的,即将正常数据流量预测为攻击数据流量,或者将分布式攻击数据流量预测为其他攻击类型数据流量的代价损失是相同,显然在实际应用上并不是这样的。应用过程中,在一定程度上可以接受将某种攻击类型的数据错误预测成另外一种攻击类型的数据,但是尽可能希望不要出现将正常数据流量预测为攻击流量数据。
发明内容
本申请考虑到实际情况下对不同类型数据流量分类错误的损失代价不同,提出一种基于集成学习的网络入侵检测方法及装置,用以解决现有技术中存在的对数据量少的攻击类型的攻击数据检测准确率低下、误报率和虚警率较高的问题。
为了实现上述任务,本申请采用以下技术方案:
第一方面,本申请提供了一种基于集成学习的网络入侵检测方法,包括以下步骤:
采集网络入侵检测数据,并对网络入侵检测数据进行特征的提取,利用提取后的特征构建训练数据集,并对训练数据集进行预处理,包括对训练数据集中的非数值特征进行数值化,并将连续数值特征标准化以使其满足正态分布;
根据训练数据集中每一个数据类型的数据量,选择数据量较少的攻击类型数据,通过人工合成的方法增加其数据量;所述数据类型包括正常数据类型以及不同的攻击类型;
对于训练数据集中的每个数据类型训练多个学习器,然后用集成学习的方式将多个学习器融合在一起,形成每一种数据类型对应的集成学习模型;
为每个数据类型设置最优的分类阈值,使发生误分类的代价最小;
对于待检测数据,将其进行特征提取和预处理之后分别输入到每一种数据类型的集成学习模型中,根据集成学习模型的输出结果和所述的分类阈值得到待检测数据所属的数据类型。
进一步地,所述选择数据量较少的攻击类型数据,通过人工合成的方法增加其数据量,包括:
对于数据量较少的攻击类型数据,采用K近邻算法确定边界数据样本,对于该攻击类型数据中的每个数据样本a,根据其与其他数据样本间的距离,找出2K+1个最近邻数据样本,如果在最近邻数据样本中有大于K个数据样本不属于该攻击类型数据,则将该数据样本a作为边界样本;对于该攻击类型数据中所有的边界样本,通过随机选择的方式从中选择一个边界样本x,从该边界样本x的最近邻数据样本中随机选择一个数据样本y,利用公式xnew=x+δ*(x-y)生成一个新的数据样本xnew,其中δ为随机生成的一个(0,1)之间的值。
进一步地,所述对于训练数据集中的每个数据类型训练多个学习器,包括:
对于训练数据集中的每个数据类型i,从中抽取出一定数量的数据样本,将抽取出的数据样本的类标签设置为1;其中抽取方式可以为随机抽取,也可以是基于数据样本的权重抽取;从其他数据类型的数据样本中抽取出同等数量的数据样本,将这部分数据样本的类标签设置为-1,然后将两部分抽取出的数据样本一起组成针对于所述数据类型i的训练集,将数据类型i中剩余的数据样本中的全部或部分组成测试集;
利用所述训练集为每个数据类型训练多个学习器,并通过所述测试集对训练得到的学习器进行测试,保留合格的学习器。
进一步地,所述利用所述训练集为每个数据类型训练多个学习器,并通过所述测试集对训练得到的学习器进行测试,保留合格的学习器,包括:
选择机器学习算法,所述机器学习算法为有监督学习算法,将所述训练集输入学习算法中进行训练,保存训练得到的学习器,并在所述测试集上进行测试;记第k个学习器在测试集上的误差为
Figure BDA0002328704420000031
其中x表示测试集中数据样本,l表示测试集中数据样本的数量,Classifier(x)表示x经过学习器后的输出,y表示x的真实数据类别;当Classifier(x)≠y时,[|Classifier(x)≠y|]=1;若∈k小于50%,则认为学习器不合格,则从所述数据类型i中重新抽取数据样本后重新训练;否则认为学习器合格,保存合格的学习器。
进一步地,所述机器学习算法包括支持向量机、K近邻算法、贝叶斯算法。
进一步地,所述集成学习模型的输出结果表示为:
Figure BDA0002328704420000032
其中,Pi表示第i中数据类型对应的集成学习模型的输出结果,x表示测试集中任意一个数据样本,Classifierk(x)表示x经过第k个学习器的输出,t表示第i种数据类型的分类器的数量,βk表示第k个学习器的投票权重;
若Pi>0则预测结果为1,否则为-1。
进一步地,所述为每个数据类型设置最优的分类阈值,使发生误分类的代价最小,包括:
设置代价矩阵,假设将数据类型为i的数据样本误分类为其他数据类型为错误代价为eij,若一共有C种数据类型,则形成一个代价矩阵;
记在测试集上将数据类型为i的数据样本预测为数据类型j的个数为nij,由此建立一个混淆矩阵,通过混淆矩阵计算出将一个属于数据类型i的数据样本预测为数据类型为j的概率Pij
根据所述错误代价eij和概率Pij,计算任意一种数据类型i中的数据样本的其虚警代价和漏报代价;
对于每一种数据类型c,计算该数据类型中,当分类阈值为τ时的虚警个数FP和漏报个数FN,由此得到对于数据类型c的误分类总代价为:
Costc(τ)=Cost[+]c×FP+Cost[-]c×FN
其中,Cost[+]c、Cost[-]c分别表示数据类型c的虚警代价和漏报代价;
则数据类型c的最优分类阈值为τc=arg minτCostc(τ)。
进一步地,所述根据集成学习模型的输出结果和所述的分类阈值得到待检测数据所属的数据类型,包括:
将待检测数据进行特征提取和预处理之后将得到的特征向量分别输入到每一种数据类型的集成学习模型中,获得多个预测值;将每个预测值与对应数据类型的最优的分类阈值进行比较:当某预测值大于对应数据类型的分类阈值时,则将该数据类型作为所述待检测数据的数据类型;当存在多个预测值大于对应数据类型的分类阈值的情况时,则计算预测值与对应数据类型的分类阈值的差值,将最大差值对应的数据类型作为所述待检测数据的数据类型。
第二方面,本申请提供了一种基于集成学习的网络入侵检测装置,包括:
采集与预处理模块,用于采集网络入侵检测数据,并对网络入侵检测数据进行特征的提取,利用提取后的特征构建训练数据集,并对训练数据集进行预处理,包括对训练数据集中的非数值特征进行数值化,并将连续数值特征标准化以使其满足正态分布;
数据增量模块,用于根据训练数据集中每一个数据类型的数据量,选择数据量较少的攻击类型数据,通过人工合成的方法增加其数据量;所述数据类型包括正常数据类型以及不同的攻击类型;
集成学习模块,用于对于训练数据集中的每个数据类型训练多个学习器,然后用集成学习的方式将多个学习器融合在一起,形成每一种数据类型对应的集成学习模型;
分类阈值设置模块,用于为每个数据类型设置最优的分类阈值,使发生误分类的代价最小;
检测模块,用于对于待检测数据,将其进行特征提取和预处理之后分别输入到每一种数据类型的集成学习模型中,根据集成学习模型的输出结果和所述的分类阈值得到待检测数据所属的数据类型。
第三方面,本申请提供了一种终端设备,包括包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,处理器执行计算机程序时实现前述第一方面的基于集成学习的网络入侵检测方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现前述第一方面的基于集成学习的网络入侵检测方法的步骤。
本申请具有以下技术特点:
1.本申请在机器学习模型的训练阶段中,合成的样本点更加靠近数据边界,能使学习器充分学习到该类型数据信息。
2.本申请采用集成学习的方法,为不同的学习器根据其准确率分配不同的权重,提高分类准确率的同时降低虚警率和漏报率。
3.本申请考虑了实际情况下不同误分类所带来的代价损失是不同的,采用代价最小化的方式调整每个类型的分类阈值,将误分类损失代价降低至最小。
附图说明
图1为本申请的基于集成学习的网络入侵检测方法的流程示意图;
图2的(a)、(b)、(c)分别为一个实施例中训练数据集中的数据原始分布情况、选择边界样本后的情况以及进行数据增量后的情况;
图3为集成学习的流程示意图;
图4为针对于KDDCUP99数据集进行入侵检测的方法示意图;
图5为本申请的基于集成学习的网络入侵检测装置的结构示意图;
图6为本申请一个实施例提供的终端设备的结构示意图。
具体实施方式
为了解决现有网络入侵检测方法在高分类准确率的情况下,某些少数攻击类型分类准确低的问题,本申请提出了一种基于集成学习的网络入侵检测方法,该方法首先在数据预处理阶段,采用一种边界过采样算法,人工合成一些少数攻击类样本提高其样本数量,解决少数攻击类型被学习器算法忽略的问题;其次采用集成学习方法生成多个学习器提高分类准确率,降低虚警率和漏报率;在最终的输出中提出了一种代价最小化方法来调整最终输出结果,满足实际应用场景需求。本申请的具体步骤如下:
S1,建立训练数据集并进行预处理
S11,采集网络入侵检测数据,例如可以从网络连接数据流量包和系统审计数据中出采集网络入侵检测数据,并对网络入侵检测数据进行特征的提取,利用提取后的特征构建训练数据集。
例如,本申请的实施例中以现有的KDDCUP99数据集为例,该数据集中存储有已采集的入侵检测数据;对KDDCUP99数据集中的数据进行特征提取,从而得到了包括连接时间、协议类型等共计41个特征;将所有入侵检测数据中提取出的特征构建训练数据集,即训练数据集中的每一条数据样本包含多个特征。
S12,将训练数据集中的特征进行预处理
将训练数据集中的非数值特征进行数值化,并将连续数值特征标准化以使其满足正态分布,从而使得训练数据集中的每一条数据样本转化为一个多维的特征向量。
本实施例中,对于非数值特征,采用独热编码的方式进行数值化。例如,对于某一个物体具有绿、黑、白三种颜色特征,则可以用三维向量(1,0,0)表示绿色特征,将(0,1,0)表示黑色特征,将(0,0,1)表示白色特征。
对于连续数值特征,利用公式
Figure BDA0002328704420000071
进行标准化处理,其中
Figure BDA0002328704420000072
表示期望,σ表示标准差,从而使得连续数值特征满足正态分布。
S2,根据训练数据集中每一个数据类型的数据量,选择数据量较少的攻击类型数据,通过人工合成的方法增加其数据量;所述数据类型包括正常数据类型以及不同的攻击类型;
例如在KDDCUP99数据集种共有四种数据类型:正常数据类型(Normal),拒绝服务攻击类型(Dos),提权攻击类型(U2R),远程攻击类型(R2L)。其中R2L攻击类型数据的数据量(数据样本的数量)占总体数据量的比例为0.023%,因此对这个类型的数据进行增量。对于数据量较大的数据类别,例如正常数据类型Normal占比为19.85%,则无需对该数据类型进行增量。
可以设定一个比例阈值,当某攻击类型数据的数据量小于该比例阈值时,则进行增量处理。增量处理的过程具体包括:
对于数据量较少的攻击类型数据,采用K近邻算法确定边界数据样本,算法的K值可根据实际情况确定或通过试验确定。对于该攻击类型数据中的每个数据样本a,根据其与其他数据样本间的距离,找出2K+1个最近邻数据样本,如果在最近邻数据样本中有大于K个数据样本不属于该攻击类型数据,则将该数据样本a作为边界样本。采用同样的方法,找出该攻击类型数据中所有的边界样本,通过随机选择的方式从中选择一个边界样本x,从该边界样本x的最近邻数据样本中随机选择一个数据样本y,利用公式xnew=x+δ*(x-y)生成一个新的数据样本xnew,其中δ为随机生成的一个(0,1)之间的值。
通过多次重复上述过程,即可针对数据量较少的攻击类型数据增加数据量。
如图2所示,其中(a)表示训练数据集中数据的原始分布情况,在图中不同灰度和大小的点表示不同的数据类型。在该图中,纯黑色的圆点表示数据量较多的数据类型,而左下方和右上方的两个圆形空白区域中的点则表示数据量较少的攻击类型数据。(b)图中,两个圆形空白区域边缘的点表示边界样本,边界样本位于多数的数据类型和少数数据类型的交界处。(c)为数据量较少的攻击类型数据进行数据增量后的示意图,从图中可以看到,进行数据增量后,可以增强边界,使从而使学习器能充分学习到类样本的信息。
S3,对于训练数据集中的每个数据类型训练多个学习器,然后用集成学习的方式将多个学习器融合在一起,形成每一种数据类型对应的集成学习模型。
S31,对于训练数据集中的每个数据类型i,从中抽取出一定数量N的数据样本,具体数量可以根据实际需求设定;将抽取出的数据样本的类标签设置为1;其中抽取方式可以为随机抽取,也可以是基于数据样本的权重抽取。从其他数据类型的数据样本中抽取出同等数量N的数据样本,将这部分数据样本的类标签设置为-1,然后将两部分抽取出的数据样本一起组成针对于所述数据类型i的训练集Ai,将数据类型i中(除去抽取的数据样本之外)剩余的数据样本的全部或部分组成测试集Bi;即剩余的数据样本的数量较多时,从其中抽取一部分数据样本作为所述测试集;而数量不多时,则全部作为测试集。
S32,利用所述训练集为每个数据类型训练多个学习器,并通过所述测试集对训练得到的学习器进行测试,保留合格的学习器,具体包括:
选择机器学习算法,例如可以是支持向量机、K近邻算法、贝叶斯算法等有监督学习算法,将所述训练集Ai输入学习算法中进行训练,保存训练得到的学习器Classifier,并在所述测试集Bi上进行测试;记第k个学习器在测试集上的误差为
Figure BDA0002328704420000081
其中x表示测试集中数据样本,l表示测试集中数据样本的数量,Classifier(x)表示x经过学习器后的输出,y表示x的真实数据类别;当Classifier(x)≠y时,[|Classifier(x)≠y|]=1;若∈k小于50%,则认为学习器不合格,则从所述数据类型i中重新抽取数据样本,按照上述方法,与其他数据类型中抽取的数据样本组成训练集重新训练;否则认为学习器合格,保存合格的学习器。
通过选择不同的学习算法进行训练或对同一个学习算法进行多次训练,可得到多个学习器,将这些学习器通过集成学习的方式进行融合,得到集成学习模型。
由于不同的学习器有不同的准确率,因此在集成学习中的最终输出结果中具有不同的权重。记第k个学习器Classifierk在测试集上的误差为∈k,则该学习器的投票权重为
Figure BDA0002328704420000082
记第i种数据类型的分类器的数量为t,则对于任意一个数据样本x,该数据样本在第i种数据类型的集成学习模型的输出结果为:
Figure BDA0002328704420000091
若Pi>0则预测结果为1,否则为-1。
如图3所示,为集成学习流程示意图。在本申请的一个实施例中,将某种有监督的机器学习算法algorithm作用于训练集TrainingSet上,训练出对应的学习器Classifier,然后用测试集ValidationSet检验学习器。如果测试误差∈k小于或等于50%则将该学习器丢弃,重新抽取训练数据集TrainingSet,机器学习算法algorithm也可以重新选取,也可以不更改。如果测试误差大于50%则保留该学习器和∈k,∈k用来计算投票其权重。如果学习器的数量超过预设值T则停止,否则重复上述流程直到满足条件为止。对每种类型的数据都可以采用以上流程,将多分类问题转化为多个二分类问题。
S33,针对于训练数据集中的每个数据类型i,均按照上述方法训练得到多个学习器进行集成学习,得到针对于每一种数据类型的集成学习模型,从而将多分类问题转化为多个二分类问题。
例如,在KDDCUP99数据集中,共有四种数据类型,分别为:正常数据类型(Normal),拒绝服务攻击类型(Dos),提权攻击类型(U2R),远程攻击类型(R2L)。则通过该步骤,分别得到针对于每一种数据类型的集成学习模型。
S4,为每个数据类型设置最优的分类阈值,使发生误分类的代价最小,具体包括:
设置代价矩阵,假设将数据类型为i的数据样本误分类为其他数据类型为错误代价为eij,若一共有C种数据类型,则形成一个C×C的代价矩阵:
Figure BDA0002328704420000092
记在测试集上将数据类型为i的数据样本预测为数据类型j的个数为nij,由此建立一个混淆矩阵:
Figure BDA0002328704420000093
根据混淆矩阵可以计算将一个属于数据类型i的数据样本预测为数据类型为j的概率
Figure BDA0002328704420000101
因此对于任意一种数据类型i中的数据样本,其虚警(falsealarm)代价为:
Figure BDA0002328704420000102
其漏报(negativefalse)代价为:
Figure BDA0002328704420000103
在不考虑分类错误的代价情况下,默认集成学习输出结果Pi≥0,则分类为1,否则为-1。但是在考虑分类错误不同代价的情况下需要重新设置分类阈值τ,只有当Pi≥τ的情况下,分类为1否则为-1。
为了计算出阈值τ,输入测试集,可以获得将每个数据样本被预测为每种数据类型的置信度Pi1,Pi2,Pi3,...,PiC。对于其中一种数据类型c∈C,可以计算出该数据类型中,当分类阈值为τ时虚警个数:
FP(Pic≥τ&y≠c&Classifier(x)=c)
和漏报个数:
FN(Pic<τ&Classifier(x)≠c&y=c)
其中,Pic代表数据样本x被预测为数据类型c的置信度,Classifier(x)是数据样本x通过第i种数据类型的集成学习模型的预测分类结果,y是数据样本x的真实类别。
因此FP和FN是关于τ的函数。此时对于数据类型c的误分类总代价为:
costc(τ)=Cost[+]c×FP+Cost[-]c×FN
则数据类型c的最优分类阈值为τc=argminτCostc(τ)。只有当Pic≥τc时数据样本x才会被预测为c数据类型的数据。特殊地,如果不考虑误分类代价不同,τc=0;对每一种数据类型求出其对应的最优分类阈值τ,即可满足总体误分类代价最小化。
S5,实际检测时,对于获取到的待检测数据,将其进行特征提取和预处理之后分别输入到每一种数据类型的集成学习模型中,根据集成学习模型的输出结果和所述的分类阈值得到待检测数据所属的数据类型。具体包括:
将进行特征提取和预处理(按照步骤1相同方法)之后将得到的特征向量分别输入到每一种数据类型的集成学习模型中,获得多个预测值;将每个预测值与对应数据类型的最优的分类阈值进行比较:当某预测值大于对应数据类型的分类阈值时,则将该数据类型作为所述待检测数据的数据类型;当存在多个预测值大于对应数据类型的分类阈值的情况时,则计算预测值与对应数据类型的分类阈值的差值,将最大差值对应的数据类型作为所述待检测数据的数据类型。
本实施例中,仍以KDDCUP99数据集进行说明。当为该数据集中的四类数据类型分别设置好不同的最优分类阈值之后,模型训练完毕。对于待检测数据预处理后得到的特征向量,输入到Normal,Dos,U2R,R2L四种数据类型分别对应的集成学习模型中,从而获得四个预测值PNormal,PDos,PU2R,PR2L。记四种数据类型对应的最优的分类阈值分别为τNormal,τDos,τU2R,τR2L,则分别计算差值:DNormal=PNormalNormal、DDos=PDosDosl、DU2R=PU2RU2R、DR2L=PR2LR2L
若差值DNormal、DDos、DU2R、DR2L中仅有一个正值,即仅有一个预测值大于分类阈值的情况,例如是DDos,则认为待检测数据的数据类型为Dos,即拒绝服务攻击类型。
若DNormal、DDos、DU2R、DR2L中有多个正值,即存在多个预测值大于分类阈值的情况,则从DNormal、DDos、DU2R、DR2L中选择数值最大的一个对应的数据类型作为待检测数据的数据类型。
本申请的方法经过过实验验证可行。在使用相同的硬件条件下,采用PAM对RSSI和LQI进行聚类,可以更明显的检测到网络中节点数量的变化。
在KDDCUP99数据集上经过试验,证明可行。能够有效的降低误分类代价,提高分类准确率,尤其是对少数类样本如提权攻击U2R(User to Root Attacks)和远程攻击R2L(Remote to Local attacks)的分类。
根据本申请的另一方面,提供了一种基于集成学习的网络入侵检测装置1,如图5所示,包括:
采集与预处理模块11,用于采集网络入侵检测数据,并对网络入侵检测数据进行特征的提取,利用提取后的特征构建训练数据集,并对训练数据集进行预处理,包括对训练数据集中的非数值特征进行数值化,并将连续数值特征标准化以使其满足正态分布;
数据增量模块12,用于根据训练数据集中每一个数据类型的数据量,选择数据量较少的攻击类型数据,通过人工合成的方法增加其数据量;所述数据类型包括正常数据类型以及不同的攻击类型;
集成学习模块13,用于对于训练数据集中的每个数据类型训练多个学习器,然后用集成学习的方式将多个学习器融合在一起,形成每一种数据类型对应的集成学习模型;
分类阈值设置模块14,用于为每个数据类型设置最优的分类阈值,使发生误分类的代价最小;
检测模块15,用于对于待检测数据,将其进行特征提取和预处理之后分别输入到每一种数据类型的集成学习模型中,根据集成学习模型的输出结果和所述的分类阈值得到待检测数据所属的数据类型。
请参阅图6,本申请实施例进一步提供一种终端设备2,该终端设备2可以为计算机、服务器;包括存储器22、处理器21以及存储在存储器22中并可在处理器上运行的计算机程序23,处理器21执行计算机程序23时实现上述基于集成学习的网络入侵检测方法的步骤,例如,前述的S1至S5。
计算机程序23也可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器22中,并由处理器21执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序23在终端设备2中的执行过程,例如,计算机程序23可以被分割为获取模块、识别模块、显示模块,各模块的功能参见前述装置中的描述,不再赘述。
本申请的实施提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述基于集成学习的网络入侵检测方法的步骤,例如,前述的S1至S5。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种基于集成学习的网络入侵检测方法,其特征在于,包括以下步骤:
采集网络入侵检测数据,并对网络入侵检测数据进行特征的提取,利用提取后的特征构建训练数据集,并对训练数据集进行预处理,包括对训练数据集中的非数值特征进行数值化,并将连续数值特征标准化以使其满足正态分布;
根据训练数据集中每一个数据类型的数据量,选择数据量较少的攻击类型数据,通过人工合成的方法增加其数据量;所述数据类型包括正常数据类型以及不同的攻击类型;
对于训练数据集中的每个数据类型训练多个学习器,然后用集成学习的方式将多个学习器融合在一起,形成每一种数据类型对应的集成学习模型;
为每个数据类型设置最优的分类阈值,使发生误分类的代价最小;
对于待检测数据,将其进行特征提取和预处理之后分别输入到每一种数据类型的集成学习模型中,根据集成学习模型的输出结果和所述的分类阈值得到待检测数据所属的数据类型。
2.根据权利要求1所述的基于集成学习的网络入侵检测方法,其特征在于,所述选择数据量较少的攻击类型数据,通过人工合成的方法增加其数据量,包括:
对于数据量较少的攻击类型数据,采用K近邻算法确定边界数据样本,对于该攻击类型数据中的每个数据样本a,根据其与其他数据样本间的距离,找出2K+1个最近邻数据样本,如果在最近邻数据样本中有大于K个数据样本不属于该攻击类型数据,则将该数据样本a作为边界样本;对于该攻击类型数据中所有的边界样本,通过随机选择的方式从中选择一个边界样本x,从该边界样本x的最近邻数据样本中随机选择一个数据样本y,利用公式xnew=x+δ*(x-y)生成一个新的数据样本xnew,其中δ为随机生成的一个(0,1)之间的值。
3.根据权利要求1所述的基于集成学习的网络入侵检测方法,其特征在于,所述对于训练数据集中的每个数据类型训练多个学习器,包括:
对于训练数据集中的每个数据类型i,从中抽取出一定数量的数据样本,将抽取出的数据样本的类标签设置为1;其中抽取方式可以为随机抽取,也可以是基于数据样本的权重抽取;从其他数据类型的数据样本中抽取出同等数量的数据样本,将这部分数据样本的类标签设置为-1,然后将两部分抽取出的数据样本一起组成针对于所述数据类型i的训练集,将数据类型i中剩余的数据样本中的全部或部分组成测试集;
利用所述训练集为每个数据类型训练多个学习器,并通过所述测试集对训练得到的学习器进行测试,保留合格的学习器。
4.根据权利要求3所述的基于集成学习的网络入侵检测方法,其特征在于,所述利用所述训练集为每个数据类型训练多个学习器,并通过所述测试集对训练得到的学习器进行测试,保留合格的学习器,包括:
选择机器学习算法,所述机器学习算法为有监督学习算法,将所述训练集输入学习算法中进行训练,保存训练得到的学习器,并在所述测试集上进行测试;记第k个学习器在测试集上的误差为
Figure FDA0003276695290000021
其中x表示测试集中数据样本,l表示测试集中数据样本的数量,Classifier(x)表示x经过学习器后的输出,y表示x的真实数据类别;当Classifier(x)≠y时,[|Classifier(x)≠y|]=1;若∈k小于50%,则认为学习器不合格,则从所述数据类型i中重新抽取数据样本后重新训练;否则认为学习器合格,保存合格的学习器。
5.根据权利要求1所述的基于集成学习的网络入侵检测方法,其特征在于,所述集成学习模型的输出结果表示为:
Figure FDA0003276695290000022
其中,Pi表示第i中数据类型对应的集成学习模型的输出结果,x表示测试集中任意一个数据样本,Classifierk(x)表示x经过第k个学习器的输出,t表示第i种数据类型的分类器的数量,βk表示第k个学习器的投票权重;
若Pi>0则预测结果为1,否则为-1。
6.根据权利要求1所述的基于集成学习的网络入侵检测方法,其特征在于,所述为每个数据类型设置最优的分类阈值,使发生误分类的代价最小,包括:
设置代价矩阵,假设将数据类型为i的数据样本误分类为其他数据类型为j错误代价为eij,若一共有C种数据类型,则形成一个代价矩阵;
记在测试集上将数据类型为i的数据样本预测为数据类型j的个数为nij,由此建立一个混淆矩阵,通过混淆矩阵计算出将一个属于数据类型i的数据样本预测为数据类型为j的概率Pij
根据所述错误代价eij和概率Pij,计算任意一种数据类型i中的数据样本的虚警代价和漏报代价,其中,虚警代价为:
Figure FDA0003276695290000031
对于每一种数据类型c,计算该数据类型中,当分类阈值为τ时的虚警个数FP和漏报个数FN,由此得到对于数据类型c的误分类总代价为:
Costc(τ)=Cost[+]c×FP+Cost[-]c×FN
其中,Cost[+]c、Cost[-]c分别表示数据类型c的虚警代价和漏报代价;
则数据类型c的最优分类阈值为
Figure FDA0003276695290000032
7.根据权利要求1所述的基于集成学习的网络入侵检测方法,其特征在于,所述根据集成学习模型的输出结果和所述的分类阈值得到待检测数据所属的数据类型,包括:
将待检测数据进行特征提取和预处理之后将得到的特征向量分别输入到每一种数据类型的集成学习模型中,获得多个预测值;将每个预测值与对应数据类型的最优的分类阈值进行比较:当某预测值大于对应数据类型的分类阈值时,则将该数据类型作为所述待检测数据的数据类型;当存在多个预测值大于对应数据类型的分类阈值的情况时,则计算预测值与对应数据类型的分类阈值的差值,将最大差值对应的数据类型作为所述待检测数据的数据类型。
8.一种基于集成学习的网络入侵检测装置,其特征在于,包括:
采集与预处理模块,用于采集网络入侵检测数据,并对网络入侵检测数据进行特征的提取,利用提取后的特征构建训练数据集,并对训练数据集进行预处理,包括对训练数据集中的非数值特征进行数值化,并将连续数值特征标准化以使其满足正态分布;
数据增量模块,用于根据训练数据集中每一个数据类型的数据量,选择数据量较少的攻击类型数据,通过人工合成的方法增加其数据量;所述数据类型包括正常数据类型以及不同的攻击类型;
集成学习模块,用于对于训练数据集中的每个数据类型训练多个学习器,然后用集成学习的方式将多个学习器融合在一起,形成每一种数据类型对应的集成学习模型;
分类阈值设置模块,用于为每个数据类型设置最优的分类阈值,使发生误分类的代价最小;
检测模块,用于对于待检测数据,将其进行特征提取和预处理之后分别输入到每一种数据类型的集成学习模型中,根据集成学习模型的输出结果和所述的分类阈值得到待检测数据所属的数据类型。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现根据权利要求1至7中任一权利要求所述方法的步骤。
10.一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现根据权利要求1至7中任一权利要求所述方法的步骤。
CN201911327275.5A 2019-12-20 2019-12-20 一种基于集成学习的网络入侵检测方法及装置 Active CN111181939B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911327275.5A CN111181939B (zh) 2019-12-20 2019-12-20 一种基于集成学习的网络入侵检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911327275.5A CN111181939B (zh) 2019-12-20 2019-12-20 一种基于集成学习的网络入侵检测方法及装置

Publications (2)

Publication Number Publication Date
CN111181939A CN111181939A (zh) 2020-05-19
CN111181939B true CN111181939B (zh) 2022-02-25

Family

ID=70657428

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911327275.5A Active CN111181939B (zh) 2019-12-20 2019-12-20 一种基于集成学习的网络入侵检测方法及装置

Country Status (1)

Country Link
CN (1) CN111181939B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111756708B (zh) * 2020-06-09 2022-06-28 北京天空卫士网络安全技术有限公司 一种定向威胁攻击的检测方法和装置
CN111881289B (zh) * 2020-06-10 2023-09-08 北京启明星辰信息安全技术有限公司 分类模型的训练方法、数据风险类别的检测方法及装置
JP2022021203A (ja) * 2020-07-21 2022-02-02 富士通株式会社 学習プログラム,学習装置及び学習方法
CN111914253B (zh) * 2020-08-10 2022-05-17 中国海洋大学 一种入侵检测的方法、系统、设备及可读存储介质
CN112382382B (zh) * 2020-10-23 2024-04-12 北京科技大学 一种代价敏感的集成学习分类方法及系统
CN113518063B (zh) * 2021-03-01 2022-11-22 广东工业大学 基于数据增强和BiLSTM的网络入侵检测方法及系统
CN112988212B (zh) * 2021-03-24 2022-09-13 厦门吉比特网络技术股份有限公司 神经网络模型之在线增量更新方法、装置、系统及存储介质
CN113259332B (zh) * 2021-04-29 2022-12-27 上海电力大学 一种基于端到端的多类型网络流量异常检测方法及系统
CN113242240B (zh) * 2021-05-10 2022-07-01 北京交通大学 一种可检测多种类应用层DDoS攻击的方法和装置
CN113434859B (zh) * 2021-06-30 2023-08-15 平安科技(深圳)有限公司 入侵检测方法、装置、设备及存储介质
CN113922985B (zh) * 2021-09-03 2023-10-31 西南科技大学 一种基于集成学习的网络入侵检测方法及系统
CN114218051B (zh) * 2021-09-22 2022-07-22 成都网丁科技有限公司 一种时延异常检测方法
CN113934719B (zh) * 2021-10-15 2024-04-19 吉林大学 基于d-n的工业互联网入侵检测数据集处理方法
CN114070635A (zh) * 2021-11-22 2022-02-18 深圳大学 Shdos数据处理、模型训练方法、设备及存储介质
CN115250193B (zh) * 2021-12-22 2024-02-23 长沙理工大学 一种面向SDN网络的DoS攻击检测方法、装置及介质
CN114422262A (zh) * 2022-02-21 2022-04-29 上海应用技术大学 一种基于自动机器学习的工控网络入侵检测模型构建方法
CN114745194B (zh) * 2022-04-25 2022-11-01 东北林业大学 一种SDN环境下基于集成学习的DDoS检测方法、装置、电子设备及存储介质
CN114567512B (zh) * 2022-04-26 2022-08-23 深圳市永达电子信息股份有限公司 基于改进art2的网络入侵检测方法、装置及终端
CN115022038A (zh) * 2022-05-31 2022-09-06 广东电网有限责任公司 一种电网网络异常检测方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184422A (zh) * 2011-05-15 2011-09-14 中科院成都信息技术有限公司 一种平均错分代价最小化的分类器集成方法
CN108023876A (zh) * 2017-11-20 2018-05-11 西安电子科技大学 基于可持续性集成学习的入侵检测方法及入侵检测系统
CN108766559A (zh) * 2018-05-22 2018-11-06 合肥工业大学 用于智能疾病筛查的临床决策支持方法及系统
CN109858541A (zh) * 2019-01-25 2019-06-07 北京理工大学 一种基于数据集成的特异数据自适应检测方法
CN109951468A (zh) * 2019-03-12 2019-06-28 清华大学 一种基于f值优化的网络攻击检测方法与系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10855707B2 (en) * 2017-03-20 2020-12-01 Nec Corporation Security system using automatic and scalable log pattern learning in security log analysis

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184422A (zh) * 2011-05-15 2011-09-14 中科院成都信息技术有限公司 一种平均错分代价最小化的分类器集成方法
CN108023876A (zh) * 2017-11-20 2018-05-11 西安电子科技大学 基于可持续性集成学习的入侵检测方法及入侵检测系统
CN108766559A (zh) * 2018-05-22 2018-11-06 合肥工业大学 用于智能疾病筛查的临床决策支持方法及系统
CN109858541A (zh) * 2019-01-25 2019-06-07 北京理工大学 一种基于数据集成的特异数据自适应检测方法
CN109951468A (zh) * 2019-03-12 2019-06-28 清华大学 一种基于f值优化的网络攻击检测方法与系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"面向异常数据流的多分类器选择集成方法";杨融泽等;《计算机工程与应用》;20170228;第54卷(第02期);第107-113页 *

Also Published As

Publication number Publication date
CN111181939A (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
CN111181939B (zh) 一种基于集成学习的网络入侵检测方法及装置
CN109919252B (zh) 利用少数标注图像生成分类器的方法
CN110717554B (zh) 图像识别方法、电子设备及存储介质
CN110162970A (zh) 一种程序处理方法、装置以及相关设备
CN112989977B (zh) 一种基于跨模态注意力机制的视听事件定位方法及装置
CN110213222A (zh) 基于机器学习的网络入侵检测方法
CN103716204A (zh) 一种基于维纳过程的异常入侵检测集成学习方法及装置
JP6897749B2 (ja) 学習方法、学習システム、および学習プログラム
CN109903053B (zh) 一种基于传感器数据进行行为识别的反欺诈方法
CN107067022B (zh) 图像分类模型的建立方法、建立装置和设备
CN115801374A (zh) 网络入侵数据分类方法、装置、电子设备及存储介质
CN111586728B (zh) 一种面向小样本特征的异构无线网络故障检测与诊断方法
CN112115957A (zh) 数据流识别方法及装置、计算机存储介质
CN109523514A (zh) 对逆合成孔径雷达isar的批量成像质量评估方法
CN112115996B (zh) 图像数据的处理方法、装置、设备及存储介质
CN114037001A (zh) 基于wgan-gp-c和度量学习的机械泵小样本故障诊断方法
CN111275137B (zh) 基于专属孪生网络模型的茶叶验真方法
CN113065395A (zh) 一种基于生成对抗网络的雷达目标新类检测方法
CN115797701A (zh) 目标分类方法、装置、电子设备及存储介质
CN106530199B (zh) 基于窗口式假设检验的多媒体综合隐写分析方法
CN115620083A (zh) 模型训练方法、人脸图像质量评价方法、设备及介质
CN114581819A (zh) 一种视频行为识别方法及系统
CN113313138A (zh) 基于概率生成模型的入侵行为特征转换方法、检测方法
CN113569957A (zh) 一种业务对象的对象类型识别方法、装置及存储介质
CN113221995A (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