CN113922985B - 一种基于集成学习的网络入侵检测方法及系统 - Google Patents
一种基于集成学习的网络入侵检测方法及系统 Download PDFInfo
- Publication number
- CN113922985B CN113922985B CN202111034218.5A CN202111034218A CN113922985B CN 113922985 B CN113922985 B CN 113922985B CN 202111034218 A CN202111034218 A CN 202111034218A CN 113922985 B CN113922985 B CN 113922985B
- Authority
- CN
- China
- Prior art keywords
- data
- model
- intrusion detection
- training
- data set
- 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 56
- 238000000034 method Methods 0.000 claims abstract description 24
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 18
- 238000007781 pre-processing Methods 0.000 claims abstract description 16
- 238000002790 cross-validation Methods 0.000 claims abstract description 7
- 238000012549 training Methods 0.000 claims description 64
- 238000009826 distribution Methods 0.000 claims description 41
- 238000012360 testing method Methods 0.000 claims description 31
- 230000006870 function Effects 0.000 claims description 17
- 239000011159 matrix material Substances 0.000 claims description 17
- 239000013598 vector Substances 0.000 claims description 13
- 230000004927 fusion Effects 0.000 claims description 6
- 238000007477 logistic regression Methods 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 6
- 230000001502 supplementing effect Effects 0.000 claims description 5
- 238000010606 normalization Methods 0.000 claims description 3
- 238000007637 random forest analysis Methods 0.000 claims description 3
- 230000008901 benefit Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000007635 classification algorithm Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Signal Processing (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于集成学习的网络入侵检测方法及系统,首先在数据预处理阶段,采用基于WGAN的网络攻击流量数据增强方法,生成攻击类样本提高其样本数量,解决少数攻击类型被学习器算法忽略的问题;其次采用集成学习中的Stacking算法生成多个学习器,配合五折交叉验证算法解决集成学习中的过拟合问题,大幅提高少数类分类准确率,小幅提高整体类别准确率。本发明系统主要包括四个模块:数据获取模块,数据预处理模块、数据生成模块和基于Stacking的入侵检测模块。本方案通过WGAN对少数类数据进行过采样,实现数据再平衡的目的,采用集成学习解决现有入侵检测技术存在的对非平衡数据集分类性能较差的问题,提升网络入侵检测中少数类和整体的检测准确率。
Description
技术领域
本发明涉及互联网安全领域,具体涉及一种基于集成学习的网络入侵检测方法及系统。
背景技术
近年来我国互联网普及率和网民总规模稳步上升,互联网产业应用和人们的日常生活紧密相连,正在改变人们的生活、学习和工作方式。而互联网产业的快速发展伴随而来的各类网络安全问题也应当予以重视:DDoS攻击、挖矿活动、Web攻击、利用系统漏洞攻击等攻击行为始终存在于互联网中,这些攻击行为已经造成巨大的经济损失,甚至严重威胁到国家安全和社会的稳定发展。入侵检测是计算机网络安全领域的一个分支,旨在自动有效地检测计算机网络入侵,许多学者和研究机构在该领域做出了大量的研究。而国内外研究更多地强调模型在数据集整体上的准确率,忽略了对少数类检测率的关注,而少数类别往往是更值得关注的:因为这些少数类攻击通常比常见的攻击对网络带来的破坏更大。很多机器学习分类方法通常假定训练数据集是平衡的,当遇到类别不平衡的数据集时,会影响算法最终的分类效果较差。因此,解决网络入侵检测的数据不平衡问题具有重要的实用价值。
生成式对抗网络(GAN)及其变体是近年来最具前景的无监督方法之一,通过生成器和判别器对抗的方式学习真实样本分布的生成式模型,可以生成无限逼近真实样本的伪造样本,从而提升生成样本的质量,避免了由于训练样本不足而导致的过拟合问题。GAN自提出以来被广泛应用于多个领域的生成数据研究中,体现出在异常生成中的巨大潜力。目前很少被运用于解决网络入侵检测数据不平衡问题上,为解决该问题提供了新思路。
另外针对分类器泛化能力弱,研究人员又提出使用集成学习的方式,训练多个学习器进行结合。作为集成学习三大类方法之一的Stacking,优点在于可以综合各个模型的优点,避免单一模型身上的明显的缺点。不仅如此,Stacking模型比较稳定,相比于单一模型有更好的泛化性能。
发明内容
针对现有技术中的上述不足,本发明提供了一种基于集成学习的网络入侵检测方法。
为了达到上述发明目的,本发明采用的技术方案为:
一种基于集成学习的网络入侵检测方法,包括如下步骤:
S1、获取不平衡的网络攻击流量数据并通过数据筛选划分为第一数据类型数据集和第二数据类型数据集,并对第一数据类型数据集中的数据进行预处理提取其特征值;
S2、对预处理后的第一数据类型数据集中的数据进行数据增强,得到分布平衡的新生成数据;
S3、将步骤S2得到的新生成数据加入步骤S1获取的不平衡的网络攻击流量数据进行数据扩充,得到扩充后的平衡数据集;
S4、对步骤S3得到的平衡数据集采用基于Stacking算法模型的融合算法构建入侵检测模型并进行训练;
S5、利用步骤S4训练好的入侵检测模型进行网络入侵检测。
上述方案的有益效果是,
1)通过WGAN模型产生的少数类样本,相较于传统的数据增强方法,它通过学习目标数据样本的概率分布,通过对抗的方式不断地生成最大可能逼近真实样本的伪造样本,提高伪造样本的生成质量。解决了数据的不平衡问题以后再对检测模型进行训练,使得检测模型对样本数量较少类别的分类更加准确,大大提高了检测模型整体的准确率。
2)Stacking的优点在于可以综合各个模型的优点,避免单一模型身上的明显的缺点。不仅如此,Stacking模型比较稳定,相比于单一模型有更好的泛化性能。通过与其他机器学习算法比较,大幅提高少数类分类准确率,小幅提高整体类别准确率,降低虚警率和漏报率。
进一步的,所述S1中第一数据类型数据集为包含攻击流量的数据集,第二数据类型数据集为包含正常流量的数据集,其中,第一数据类型数据集中的数据量小于第二类型数据集中的数据量。
上述进一步方案的有益效果是,通过WGAN扩充少数类数据,实现数据再平衡,使攻击流量和正常流量数目接近平衡,分类器准确率可大幅提升。采用Stacking算法结合好而不同的分类器,可在单分类器的基础上进一步提高准确率。
进一步的,所述S1中预处理的具体方法为:
S11、分离所述第一数据类型数据集中包括特定攻击类别的数据集,将其中的字符型属性进行特征转换成二进制特征;
S12、将步骤S11中得到的二进制特征重组为矩阵向量,并在矩阵末位进行补位;
S13、对步骤S12得到的矩阵向量中的数据进行归一化。
上述进一步方案的有益效果是使数据标准化:原数据集中一些标签为字符串值,通过编码成数值便于分类器学习每个元组所属的类号;原数据集中数值数据属于不同的范围,这给分类器在训练过程中补偿这些差异带来挑战。因此规范化每个属性的值很重要;
进一步的,所述S13中归一化的方式为:
其中,y表示矩阵向量中的值,MIN为矩阵向量中的最小值,MAX为矩阵向量中的最大值。
上述进一步方案的有益效果是:通过归一化为分类器提供了更均匀的值,同时保持了每个属性值之间的相关性。
进一步的,所述S2具体为:
S21、利用给定模型生成多维假数据,并与步骤S11分离出的数据进行混合并训练判别器;
S22、对判别器进行多次迭代,判断判别结果是否达到最优,若是则固定此时的给定模型参数,并将判别结果反馈至步骤S21的给定模型;
S23、对步骤S21的给定模型进行多次迭代,判断判别结果是否最差,若是则固定此时的给定模型参数,并重复步骤S22-S23直至给定模型平衡;
S24、将给定模型生成的攻击流量数据作为扩充样本与步骤S1得到的不平衡的网络攻击流量数据进行扩充,并取前若干维数据作为扩充样本,得到分布平衡的新生成数据。
上述进一步方案的有益效果是,很多机器学习分类方法通常假定训练数据集是平衡的,当遇到类别不平衡的数据集时,会影响分类算法最终的表现:分类器对少数类别的学习不足,导致决策边界和真实的分类边界相去甚远,更倾向于将本来属于少数类别的样本错分为多数类别,而使得少数类别的分类性能下降。通过数据再平衡可提高分类精确度。
进一步的,所述S21中给定模型的目标函数表示为:
其中,V(D,G)是损失函数;Pdata是真实数据分布;Pz是生成数据分布;表示x为真实数据的期望;/>表示z为生成数据的期望,G(z)表示G从输入噪声z生成的伪造样本;D(x)表示D判断x为真实数据的概率;D(x)和G(z)交替的最大化和最小化损失函数,最终求出近似最优解的生成式模型。
上述进一步方案的有益效果是,在训练效果较好时,G可以生成“以假乱真”的数据G(z),通过对生成数据G(z)进行随机采样,扩充少数类数据,完成数据再平衡的目标。
进一步的,所述S21中给定模型的损失函数表示为:
其中,∏(Pr,Pg)是Pr和Pg组合起来的所有可能的联合分布的集合,反过来说,∏(Pr,Pg)中每一个分布的边缘分布都是Pr和Pg。对于每一个可能的联合分布γ而言,可以从中采样(x,y)~γ得到一个真实样本x和一个生成样本y,并算出这对样本的距离||x-y||,所以可以计算该联合分布γ下样本对距离的期望值E(x,y)~γ[||x-y||]。在所有可能的联合分布中能够对这个期望值取到的下界就定义为Wasserstein距离。Wasserstein距离相比KL散度、JS散度的优越性在于,即便两个分布没有重叠,Wasserstein距离仍然能够反映它们的远近。
上述进一步方案的有益效果是,解决了GAN训练困难和不稳定、解决模式抖动等问题,确保了生成样本的多样性、新增评价指标:G的损失函数越小,对应生成的数据质量就越高、简化GAN网络架构。最终使得GAN更加具有鲁棒性和稳定性。
进一步的,所述S4的具体方法为:
S41、将扩充后的平衡数据集作为训练集,利用步骤S1获取的不平衡的网络攻击流量数据作为测试集构建多层训练模型;
S42、在第一层训练模型使用LightGBM、CatBoost、Random Forest模型作为基模型并分别设置超参数,利用S41中的训练集作为输入数据训练各自模型,输出各自的训练集预测结果和测试集预测结果;
S42、将步骤S42得到的预测结果作为新数据的一列进行拼接,得到新的训练集和新的测试集;
S43、在第二层训练模型使用逻辑回归模型,将新的训练集作为输入训练其逻辑回归模型的分类器,利用新的测试集生成预测结果。
上述进一步方案的有益效果是,很多机器学习分类方法通常假定训练数据集是平衡的,当遇到类别不平衡的数据集时,会影响分类算法最终的表现:分类器对少数类别的学习不足,导致决策边界和真实的分类边界相去甚远,更倾向于将本来属于少数类别的样本错分为多数类别,而使得少数类别的分类性能下降。通过数据再平衡可提高分类精确度。
进一步的,所述S4中模型训练采用5折交叉验证防止模型过拟合,其具体方法为:
A1、将输入数据打乱并随机划分为多份;
A2、每次选取其中一份作为当次的测试集,其余数据作为当次的训练集并重复多次;
A3、在上一步得到的多个训练好的模型中利用步骤S1采集的数据作为测试集进行预测,得到多份测试结果;
A4、对输出结果进行投票,以少数服从多数原则得到最终结果。
上述进一步方案的有益效果是,防止模型过拟合,使模型在测试集上取得优良的性能。
进一步的,还提出一种基于集成学习的网络入侵检测系统,包括:
数据采集模块、数据预处理模块、数据生成模块和基于Stacking的入侵检测模块,其中:
所述数据采集模块用于获取不平衡的网络攻击流量数据并通过数据筛选划分为第一数据类型数据集和第二数据类型数据集,并对第一数据类型数据集中的数据进行预处理提取其特征值;
所述数据预处理模块用于利用WGAN模型对预处理后的第一数据类型数据集中的数据进行数据增强,得到分布平衡的新生成数据;
所述数据生成模块用于将新生成数据加入不平衡的网络攻击流量数据进行数据扩充,得到扩充后的平衡数据集;
所述基于Stacking的入侵检测模块用于对平衡数据集采用基于Stacking算法模型的融合算法构建入侵检测模型并进行训练
附图说明
图1为本发明的基于集成学习的网络入侵检测方法的模块示意图。
图2为本发明的基于集成学习的网络入侵检测方法的流程示意图。
图3为本发明实施例基于WGAN的数据生成流程图。
图4为本发明实施例基于Stacking的网络入侵检测流程图。
图5为本发明实施例使用的五折交叉验证流程图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
一种基于集成学习的网络入侵检测方法,如图2所示,包括如下步骤:
S1、获取不平衡的网络攻击流量数据并通过数据筛选划分为第一数据类型数据集和第二数据类型数据集,并对第一数据类型数据集中的数据进行预处理提取其特征值;
为证明本方法在网络攻击流量数据增强的有效性,实验中基于NSL-KDD数据集构建了一个不平衡数据集用于测试。该数据集数据来源于局域网网络环境中收集的9个星期的网络连接数据,包含各种不同的网络流量和攻击手段,使其具有一定现实性。该数据集被广泛应用于基于异常的网络入侵检测领域,评估分类模型的检测性能。该数据集包括有标签的正常流量和攻击流量,共含有四大攻击:拒绝服务攻击,端口扫描,攻击提权攻击,远程用户攻击,表1详细展示了各个攻击类型的数量。该数据集的四大攻击总共包含39种攻击类型,如表2所示。该数据集中的主要特征包括TCP连接特征、TCP连接的内容特征、基于时间的网络流量统计特征以及基于主机的网络流量统计特征,如表3所示。其中每个样本提供了CSV文件,格式如表4所示。
表1 NSL-KDD数据集数据类型分布情况表
类型 | 训练样本(占比) | 测试样本(占比) |
正常 | 67343(53.46%) | 9711(43.08%) |
拒绝服务攻击 | 45927(36.46%) | 7458(33.08%) |
端口扫描攻击 | 11656(9.25%) | 2421(10.74%) |
提权攻击 | 52(0.04%) | 200(0.89%) |
远程用户攻击 | 995(0.79%) | 2754(12.22%) |
表2 NSL-KDD数据集包含的39种攻击类型
表3 NSL-KDD数据集特征详细情况表
表4 NSL-KDD数据集样本示例
具体操作为:
S11、分离所述第一数据类型数据集中包括特定攻击类别的数据集,将其中的字符型属性进行特征转换成二进制特征;
首先分离出只包括R2L,U2L两类攻击的两个数据集。因为本文采用的WGAN模型的输入需要数值类型的数据,但由表4可知数据集的特征中存在非数值属性特征,因此需要对字符型属性进行特征映射,将其转换成二进制特征,例如协议类型TCP、UDP、ICMP,使用二进制数字将这三种协议类型分别表示为[1,0,0]、[0,1,0]、[0,0,1]。目的是为了让三个符号中任意两个符号之间的欧几里得距离相同。
S12、将步骤S11中得到的二进制特征重组为矩阵向量,并在矩阵末位进行补位;
通过特征映射,最终41维的特征转换为122维特征。然后依据WGAN模型输入格式要求将122维的训练数据维度重组为12×12矩阵向量,因训练数据维度数不够,需要在矩阵的末位进行补0。
S13、对步骤S12得到的矩阵向量中的数据进行归一化。
最后为了避免各个特征属性的量纲对检测结果造成影响,需要对特征映射后的数据做均值化处理,将数据归一化到[0,1]范围,转化公式如下:
S2、利用WGAN模型对预处理后的第一数据类型数据集中的数据进行数据增强,得到分布平衡的新生成数据;
将从特征处理模块处理好的数据输入数据生成模块,数据生成模块由改进的GAN:Wasserstein GAN(WGAN)实现,采用类别扩充的形式,将需要生成数据的类别中进行训练,并生成相应类别的数据对输入数据进行数据增强。GAN的思想来自于博弈论中的“二人零和博弈”,G和D在对抗训练过程中不断迭代优化,两个模型的能力越来越强,当生成模型生成的样本达到以假乱真的地步,同时判别模型能够区分真实样本和生成样本时,最终达到稳态,此时G能够生成接近真实样本分布的伪造样本。其目标函数可用数学公式表示如下:
式中V(D,G)是损失函数;Pdata是真实数据分布;Pz是生成数据分布;表示x为真实数据的期望;/>表示z为生成数据的期望,G(z)表示G从输入噪声z生成的伪造样本;D(x)表示D判断x为真实数据的概率;D(x)和G(z)交替的最大化和最小化损失函数,最终求出近似最优解的生成式模型。
原始GAN存在着训练困难、生成器和判别器的loss无法指示训练进程、生成样本缺乏多样性等问,其主要原因是使用JS距离(Jensen-Shannon Divergence)来衡量两个分布。WGAN的损失函数采用Wasserstein距离代替JS距离对真实样本和生成样本之间的距离进行度量。解决GAN训练时梯度消失/爆炸的问题,确保生成样本的多样性。损失函数公式如下所示:
其中,Pr表示真实分布;Pg表示生成分布;∏(Pr,Pg)则表示Pr和Pg组合起来的所有可能的联合分布的集合;γ表示在该集合下的任意可能的联合分布;对于任意可能的联合分布γ而言,可以从中采样(x,y)~γ得到一个真实样本x和一个生成样本y;||x-y||表示这对样本的距离;E(x,y)~γ[||x-y||]表示该联合分布γ下样本对距离的期望值;表示所有可能的联合分布中能够对这个期望值取到的下界;这个值被定义为Wasserstein距离。Wasserstein距离相比KL散度、JS散度的优越性在于,即便两个分布没有重叠,Wasserstein距离仍然能够反映它们的远近。
具体方式如图3所示,
S21、利用给定模型生成多维假数据,并与步骤S11分离出的数据进行混合并训练判别器。
在本实施例里,给定生成模型一个取值范围在[-1,1]的144维噪声z,将该生成的假数据与分离出来的数据进行混合,训练判别器。
S22、对判别器进行多次迭代,判断判别结果是否达到最优,若是则固定此时的给定模型参数,并将判别结果反馈至步骤S21的给定模型。
据设定的迭代次数进行判别模型的训练迭代,直至判别结果最优,此时固定判别模型的参数,将判别的结果反馈给生成模型。
S23、对步骤S21的给定模型进行多次迭代,判断判别结果是否最差,若是则固定此时的给定模型参数,并重复步骤S22-S23直至给定模型平衡。
根据设定的迭代次数进行生成模型的训练迭代,直至判别结果最差,此时固定生成模型的参数,不断迭代此过程,直至WGAN模型平衡。
S24、将给定模型生成的少数类数据作为扩充样本与步骤S1得到的原始数据进行扩充,并取前若干维数据作为扩充样本,得到分布平衡的新生成数据。其中,少数类数据为攻击流量数据,原始数据为正常流量数据;
将生成的攻击流量数据作为扩充样本与原始数据进行补充,将扩充的样本重组为144维特征,取前122维数据作为扩充的样本,得到平衡的训练数据集。
S3、将步骤S2得到的新生成数据加入步骤S1获取的不平衡的网络攻击流量数据进行数据扩充,得到扩充后的平衡数据集。
WGAN模型训练完成以后,以训练集中的不平衡数据作为原始数据,结合数据的类别标签对不平衡样本按照80%的比例进行扩充,扩充完成后生成较为平衡的新数据集。
S4、对步骤S3得到的平衡数据集采用基于Stacking算法模型的融合算法构建入侵检测模型并进行训练。
扩充完成后生成较为平衡的新数据集,将其输入到基于Stacking的入侵检测模型中进行训练,训练完成后使用测试集对模型进行五折交叉验证,具体步骤如图4所示
S41、将扩充后的平衡数据集作为训练集,利用步骤S1采集的数据作为测试集构建多层训练模型;
S42、在第一层训练模型使用LightGBM、CatBoost、Random Forest这3个模型作为基模型并分别设置超参数,利用S41中的训练集作为输入数据训练各自模型,输出各自的训练集预测结果和测试集预测结果;
S42、将步骤S42得到的预测结果作为新数据的一列进行拼接,得到新的训练集和新的测试集;
S43、在第二层训练模型使用逻辑回归模型,将新的训练集作为输入训练其逻辑回归模型的分类器,利用新的测试集生成预测结果。
为了防止模型过拟合,使模型在测试集上取得优良的性能,本方法采用5折交叉验证。由于噪声的影响,训练集和测试集之间会存在一定的偏差(bias),往往导致模型明明在训练集上表现非常好而到了测试集上性能却大幅下降。5折交叉验证的步骤图5所示,
A1、将输入数据打乱并随机划分为多份;
A2、每次选取其中一份作为当次的测试集,其余数据作为当次的训练集并重复多次;
A3、在上一步得到的多个训练好的模型中利用步骤S1采集的数据作为测试集进行预测,得到多份测试结果;
A4、对输出结果进行投票,以少数服从多数原则得到最终结果。
S5、利用步骤S4训练好的入侵检测模型进行网络入侵检测。
本实施例还提出一种基于集成学习的网络入侵检测系统,如图1所示,包括:数据采集模块、数据预处理模块、数据生成模块和基于Stacking的入侵检测模块,其中:
所述数据采集模块用于获取不平衡的网络攻击流量数据并通过数据筛选划分为第一数据类型数据集和第二数据类型数据集,并对第一数据类型数据集中的数据进行预处理提取其特征值;
所述数据预处理模块用于利用WGAN模型对预处理后的第一数据类型数据集中的数据进行数据增强,得到分布平衡的新生成数据;
所述数据生成模块用于将新生成数据加入不平衡的网络攻击流量数据进行数据扩充,得到扩充后的平衡数据集;
所述基于Stacking的入侵检测模块用于对平衡数据集采用基于Stacking算法模型的融合算法构建入侵检测模型并进行训练。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (8)
1.一种基于集成学习的网络入侵检测方法,其特征在于,包括如下步骤:
S1、获取不平衡的网络攻击流量数据并通过数据筛选划分为第一数据类型数据集和第二数据类型数据集,并对第一数据类型数据集中的数据进行预处理提取其特征值;
S2、利用WGAN模型对预处理后的第一数据类型数据集中的数据进行数据增强,得到分布平衡的新生成数据, 具体为:
S21、利用给定模型生成多维假数据,并与步骤S11分离出的数据进行混合并训练判别器;
S22、对判别器进行多次迭代,判断判别结果是否达到最优,若是则固定此时的给定模型参数,并将判别结果反馈至步骤S21的给定模型;
S23、对步骤S21的给定模型进行多次迭代,判断判别结果是否最差,若是则固定此时的给定模型参数,并重复步骤S22-S23直至给定模型平衡;
S24、将给定模型生成的攻击流量数据作为扩充样本与步骤S1得到的不平衡的网络攻击流量数据进行扩充,并取位置靠前的多维数据作为扩充样本,得到分布平衡的新生成数据;
S3、将步骤S2得到的新生成数据加入步骤S1获取的不平衡的网络攻击流量数据进行数据扩充,得到扩充后的平衡数据集;
S4、对步骤S3得到的平衡数据集采用基于Stacking算法模型的融合算法构建入侵检测模型并进行训练, 具体方法为:
S41、将扩充后的平衡数据集作为训练集,利用步骤S1获取的不平衡的网络攻击流量数据作为测试集构建多层训练模型;
S42、在第一层训练模型使用LightGBM、CatBoost、Random Forest模型作为基模型并分别设置超参数,利用S41中的训练集作为输入数据训练各自模型,输出各自的训练集预测结果和测试集预测结果;
S42、将步骤S42得到的预测结果作为新数据的一列进行拼接,得到新的训练集和新的测试集;
S43、在第二层训练模型使用逻辑回归模型,将新的训练集作为输入训练其逻辑回归模型的分类器,利用新的测试集生成预测结果;
S5、利用步骤S4训练好的入侵检测模型进行网络入侵检测。
2.根据权利要求1所述的一种基于集成学习的网络入侵检测方法,其特征在于,所述S1中第一数据类型数据集为包含攻击流量的数据集,第二数据类型数据集为包含正常流量的数据集,其中,第一数据类型数据集中的数据量小于第二类型数据集中的数据量。
3.根据权利要求2所述的一种基于集成学习的网络入侵检测方法,其特征在于,所述S1中预处理的具体方法为:
S11、分离所述第一数据类型数据集中包括特定攻击类别的数据集,将其中的字符型属性进行特征转换成二进制特征;
S12、将步骤S11中得到的二进制特征重组为矩阵向量,并在矩阵末位进行补位;
S13、对步骤S12得到的矩阵向量中的数据进行归一化。
4.根据权利要求3所述的一种基于集成学习的网络入侵检测方法,其特征在于,所述S13中归一化的方式为:
;
其中,表示矩阵向量中的值,/>为矩阵向量中的最小值,MAX为矩阵向量中的最大值。
5.根据权利要求1所述的一种基于集成学习的网络入侵检测方法,其特征在于,所述S21中给定模型的目标函数表示为:
;
其中,是损失函数;/>是真实数据分布;/>是生成数据分布;/>表示x为真实数据的期望;/>表示z为生成数据的期望;/>表示G从输入噪声z生成的伪造样本;/>表示D判断x为真实数据的概率。
6.根据权利要求5所述的一种基于集成学习的网络入侵检测方法,其特征在于,所述S21中给定模型的损失函数表示为:
;
其中,表示真实分布;/>表示生成分布; />则表示/>和/>组合起来的所有可能的联合分布的集合;/>表示在该集合下的任意可能的联合分布;对于任意可能的联合分布而言,可以从中采样/>得到一个真实样本/>和一个生成样本/>;/>表示这对样本的距离;/>表示该联合分布/>下样本对距离的期望值;/>表示所有可能的联合分布中能够对期望值取到的下界。
7.根据权利要求1所述的一种基于集成学习的网络入侵检测方法,其特征在于,所述S4中模型训练采用5折交叉验证防止模型过拟合,其具体方法为:
A1、将输入数据打乱并随机划分为多份;
A2、每次选取其中一份作为当次的测试集,其余数据作为当次的训练集并重复多次;
A3、在上一步得到的多个训练好的模型中利用步骤S1采集的数据作为测试集进行预测,得到多份测试结果;
A4、对输出结果进行投票,以少数服从多数原则得到最终结果。
8.基于权利要求1-7任一项所述方法的网络入侵检测系统,其特征在于,包括:数据采集模块、数据预处理模块、数据生成模块和基于Stacking的入侵检测模块,其中:
所述数据采集模块用于获取不平衡的网络攻击流量数据并通过数据筛选划分为第一数据类型数据集和第二数据类型数据集,并对第一数据类型数据集中的数据进行预处理提取其特征值;
所述数据预处理模块用于利用WGAN模型对预处理后的第一数据类型数据集中的数据进行数据增强,得到分布平衡的新生成数据;
所述数据生成模块用于将新生成数据加入不平衡的网络攻击流量数据进行数据扩充,得到扩充后的平衡数据集;
所述基于Stacking的入侵检测模块用于对平衡数据集采用基于Stacking算法模型的融合算法构建入侵检测模型并进行训练。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111034218.5A CN113922985B (zh) | 2021-09-03 | 2021-09-03 | 一种基于集成学习的网络入侵检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111034218.5A CN113922985B (zh) | 2021-09-03 | 2021-09-03 | 一种基于集成学习的网络入侵检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113922985A CN113922985A (zh) | 2022-01-11 |
CN113922985B true CN113922985B (zh) | 2023-10-31 |
Family
ID=79233847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111034218.5A Active CN113922985B (zh) | 2021-09-03 | 2021-09-03 | 一种基于集成学习的网络入侵检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113922985B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114765561A (zh) * | 2022-04-11 | 2022-07-19 | 西北工业大学 | 基于对抗性机器学习的网络入侵检测方法 |
CN115021965B (zh) * | 2022-05-06 | 2024-04-02 | 中南民族大学 | 一种基于生成式对抗网络的入侵检测系统的攻击数据的生成方法及系统 |
CN115118450B (zh) * | 2022-05-17 | 2024-01-05 | 北京理工大学 | 融合多级特征的增量式动态权值集成学习入侵检测方法 |
CN115277189B (zh) * | 2022-07-27 | 2023-08-15 | 中国人民解放军海军航空大学 | 基于生成式对抗网络的无监督式入侵流量检测识别方法 |
CN116015932B (zh) * | 2022-12-30 | 2024-06-14 | 湖南大学 | 入侵检测网络模型生成方法以及数据流量入侵检测方法 |
CN116563690A (zh) * | 2023-05-06 | 2023-08-08 | 中国民航大学 | 一种无人机传感器类不平衡数据异常检测方法及检测系统 |
CN117997652B (zh) * | 2024-04-03 | 2024-06-07 | 江西师范大学 | 一种基于集成学习的车辆入侵检测方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108768946A (zh) * | 2018-04-27 | 2018-11-06 | 中山大学 | 一种基于随机森林算法的网络入侵检测模型 |
CN109299741A (zh) * | 2018-06-15 | 2019-02-01 | 北京理工大学 | 一种基于多层检测的网络攻击类型识别方法 |
CN111181939A (zh) * | 2019-12-20 | 2020-05-19 | 广东工业大学 | 一种基于集成学习的网络入侵检测方法及装置 |
CN111914253A (zh) * | 2020-08-10 | 2020-11-10 | 中国海洋大学 | 一种入侵检测的方法、系统、设备及可读存储介质 |
CN112235288A (zh) * | 2020-10-13 | 2021-01-15 | 北京理工大学 | 一种基于gan的ndn网络入侵检测方法 |
CN112561028A (zh) * | 2019-09-25 | 2021-03-26 | 华为技术有限公司 | 训练神经网络模型的方法、数据处理的方法及装置 |
CN113177888A (zh) * | 2021-04-27 | 2021-07-27 | 北京有竹居网络技术有限公司 | 超分修复网络模型生成方法、图像超分修复方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9178812B2 (en) * | 2013-06-05 | 2015-11-03 | Cisco Technology, Inc. | Stacking metadata contexts for service chains |
-
2021
- 2021-09-03 CN CN202111034218.5A patent/CN113922985B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108768946A (zh) * | 2018-04-27 | 2018-11-06 | 中山大学 | 一种基于随机森林算法的网络入侵检测模型 |
CN109299741A (zh) * | 2018-06-15 | 2019-02-01 | 北京理工大学 | 一种基于多层检测的网络攻击类型识别方法 |
CN112561028A (zh) * | 2019-09-25 | 2021-03-26 | 华为技术有限公司 | 训练神经网络模型的方法、数据处理的方法及装置 |
CN111181939A (zh) * | 2019-12-20 | 2020-05-19 | 广东工业大学 | 一种基于集成学习的网络入侵检测方法及装置 |
CN111914253A (zh) * | 2020-08-10 | 2020-11-10 | 中国海洋大学 | 一种入侵检测的方法、系统、设备及可读存储介质 |
CN112235288A (zh) * | 2020-10-13 | 2021-01-15 | 北京理工大学 | 一种基于gan的ndn网络入侵检测方法 |
CN113177888A (zh) * | 2021-04-27 | 2021-07-27 | 北京有竹居网络技术有限公司 | 超分修复网络模型生成方法、图像超分修复方法及装置 |
Non-Patent Citations (1)
Title |
---|
"面向网络入侵检测的GAN-SDAE-RF模型研究";安磊、韩忠华、林硕、尚文利;《计算机工程与应用》;第57卷(第21期);第155-164页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113922985A (zh) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113922985B (zh) | 一种基于集成学习的网络入侵检测方法及系统 | |
Hu et al. | A novel image steganography method via deep convolutional generative adversarial networks | |
Yan et al. | Effective feature extraction via stacked sparse autoencoder to improve intrusion detection system | |
Tesfahun et al. | Intrusion detection using random forests classifier with SMOTE and feature reduction | |
CN109299741B (zh) | 一种基于多层检测的网络攻击类型识别方法 | |
CN109768985A (zh) | 一种基于流量可视化与机器学习算法的入侵检测方法 | |
CN111901340B (zh) | 一种面向能源互联网的入侵检测系统及其方法 | |
CN111598179B (zh) | 电力监控系统用户异常行为分析方法、存储介质和设备 | |
CN114492768B (zh) | 一种基于小样本学习的孪生胶囊网络入侵检测方法 | |
CN108958217A (zh) | 一种基于深度学习的can总线报文异常检测方法 | |
CN112560596B (zh) | 一种雷达干扰类别识别方法及系统 | |
CN110909224B (zh) | 一种基于人工智能的敏感数据自动分类识别方法及系统 | |
CN110830489B (zh) | 基于内容抽象表示的对抗式欺诈网站检测方法及系统 | |
CN114399029A (zh) | 一种基于gan样本增强的恶意流量检测方法 | |
CN113901448B (zh) | 基于卷积神经网络和轻量级梯度提升机的入侵检测方法 | |
CN115811440B (zh) | 一种基于网络态势感知的实时流量检测方法 | |
Liu et al. | Learning multiple gaussian prototypes for open-set recognition | |
CN115801374A (zh) | 网络入侵数据分类方法、装置、电子设备及存储介质 | |
CN115577357A (zh) | 一种基于堆叠集成技术的Android恶意软件检测方法 | |
CN116633601A (zh) | 一种基于网络流量态势感知的检测方法 | |
Cui et al. | Using EBGAN for anomaly intrusion detection | |
CN115426194A (zh) | 数据处理方法及装置、存储介质及电子设备 | |
Fatahnaie et al. | Ensemble model based on an improved convolutional neural network with a domain-agnostic data augmentation technique | |
Chouaib et al. | Fast feature selection for handwritten digit recognition | |
Chemmakha et al. | A Novel Hybrid Architecture of Conditional Tabular Generative Adversarial Network and 1D Convolution Neural Network for Enhanced Attack Detection in IoT Systems |
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 |