CN111967502B - 一种基于条件变分自编码器的网络入侵检测方法 - Google Patents

一种基于条件变分自编码器的网络入侵检测方法 Download PDF

Info

Publication number
CN111967502B
CN111967502B CN202010718260.8A CN202010718260A CN111967502B CN 111967502 B CN111967502 B CN 111967502B CN 202010718260 A CN202010718260 A CN 202010718260A CN 111967502 B CN111967502 B CN 111967502B
Authority
CN
China
Prior art keywords
data
encoder
data set
network
training
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
CN202010718260.8A
Other languages
English (en)
Other versions
CN111967502A (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202010718260.8A priority Critical patent/CN111967502B/zh
Publication of CN111967502A publication Critical patent/CN111967502A/zh
Application granted granted Critical
Publication of CN111967502B publication Critical patent/CN111967502B/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/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于条件变分自编码器的网络入侵检测方法,属于网络空间入侵检测技术领域,该方法先训练一个以对数双曲余弦函数作为损失函数的条件变分自编码器用于对数据集扩充,然后使用数据扩充后的数据集训练一个基于卷积神经网络的分类器作为整个模型的入侵检测器。本发明利用条件变分自编码的生成能力和卷积网络对数据特征优异的特征提取能力,提升了在网络空间入侵数据集上的分类检测性能,同时也解决了由于数据集样本不均衡造成的性能下降的问题。

Description

一种基于条件变分自编码器的网络入侵检测方法
技术领域
本发明属于网络空间入侵检测技术领域,具体涉及一种基于条件变分自编码器的网络入侵检测方法。
背景技术
网络空间入侵检测技术是指通过获取某网络设备的连接信息、日志文件等信息来检测对该设备的入侵,即任何试图破坏网络设备数据完整性、机密性和可访问性的动作。随着物联网的不断发展和物联网设备的增多,如何确保网络空间中设备的安全逐渐成为一个研究热点。网络空间入侵检测技术旨在物联网网络的网络层识别设备的异常连接信息,以达到对用户数据、隐私等信息进行保护的目的。
随着机器学习特别是深度学习技术的发展,基于机器学习的网络空间入侵检测技术不断涌现。相较于手工设计数据的特征,机器学习方法可以自动学习数据的特征并由此对数据进行分类,因此具有更高的鲁棒性。在机器学习领域,入侵检测技术主要有两类方法:传统机器学习算法和深度学习方法。
1)传统机器学习算法:传统机器学习算法往往是通过各类算法决定不同类数据在样本空间的决策边界来进行分类工作。聚类算法(K-均值和高斯混合模型)往往计算正常数据的分布,并将任何偏离该分布的数据判断为异常。分类算法(支持向量机、K-近邻和随机森林)利用选择的特征建立分类器来检测入侵。
2)深度学习方法:深度学习方法旨在利用深度神经网络对非线性关系的抽象能力学习异常连接的特征而进行检测。自编码器、深度神经网络和递归神经网络等模型可以自动提取数据特征并进行分类工作。
当然也有许多算法使用各种集成和混合技术来提高模型的检测性能,包括装袋算法、提升算法和混合分类器等方法。
现有检测方法存在因数据集样本不足、各类样本数量不均衡和模型特征表征能力不足而导致检测率低的问题。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于条件变分自编码器的网络入侵检测方法;以对数双曲余弦作为损失函数的条件变分自编码器作为模型的数据生成器,该数据生成器通过训练集训练后可以生成不同种类的数据样本,可以达到数据集扩充的作用。同时,以卷积神经网络为主要网络结构的分类器通过提高特征提取的准确率和加强特征之间的相关性来提升模型的特征学习能力,并由此达到提升分类器准确率的目的。
其中所述的对数双曲余弦条件变分自编码器的损失函数设置为:
Figure GDA0003157894280000021
Figure GDA0003157894280000022
xi
Figure GDA0003157894280000023
分别表示条件变分自编码器的输入和输出,μ,σ分别表示变分自编码器输出的均值和方差,下标i表示数据的维度编号,下标j表示潜在特征向量的维度,a是超参数,一般设定为10。为解决网络入侵数据集中因样本不均衡而导致的准确率下降等问题,该条件变分自编码器作为整个基于条件变分自编码器的网络入侵检测模型的生成器用于数据扩充。同时,使用以卷积神经网络为主要网络结构的分类器作为网络入侵的分类器;所述的分类器由两层卷积神经网络和三层稠密连接网络组成,卷积神经网络用于提取数据的特征,再使用稠密连接网络预测数据的类别信息。卷积神经网络可以很好地对数据的特征进行提取而且相较于稠密连接网络,卷积神经网络可以获取数据不同维度元素之间的相关性信息。
本发明通过下述技术方案实现:一种基于条件变分自编码器的网络入侵检测方法,先使用以对数双曲余弦作为损失函数的变分自编码器对网络空间入侵数据集进行数据集扩充,然后再使用扩充后的数据集训练一个以卷积神经网络为主要结构的分类器,经过训练之后的分类器进行入侵检测。
一种基于条件变分自编码器的网络入侵检测方法,具体包括以下步骤:
步骤S1:选择训练数据集;
步骤S2:构建基于对数双曲余弦损失的条件变分自编码器模型,对训练数据集进行扩充;
步骤S3:构建基于卷积神经网络的分类器模型;
步骤S4:对扩充后的训练数据集进行预处理操作,得到预处理操作后的训练数据集;
步骤S5:采用步骤S4中预处理操作后的训练数据集训练分类器模型;
步骤S6:使用分类器模型对网络中的攻击或者入侵行为进行检测。
进一步地,所述步骤S2具体包括以下步骤:
步骤S21:构建所述的基于对数双曲余弦损失的条件变分自编码器模型,所述的基于对数双曲余弦损失的条件变分自编码器模型为了解决训练数据集中的样本不均衡问题,使用条件变分自编码器来生成某种特定类别的数据,以此对训练数据集进行扩充;
步骤S22:对训练数据集进行独热编码和归一化处理;
步骤S23:采用预处理后的训练数据集训练条件变分自编码器模型;
步骤S24:使用经过训练条件自编码器生成数据,对训练数据集进行扩充,得到扩充后的训练数据集。
进一步地,所述步骤S3具体是指:使用以卷积神经网络为主要网络结构的分类器作为网络入侵的分类器,所述的分类器由两层卷积神经网络和三层稠密连接网络组成,卷积神经网络用于提取数据的特征,再使用稠密连接网络预测数据的类别信息。具体地,使用RELU函数作为卷积层的激活函数,并且为了加速模型收敛,在每层卷积层之后添加归一化层,最后,在最后一层卷积层之后加上池化层。三层稠密连接网络连接在池化层之后。
进一步地,所述步骤S4中数据预处理操作包括以下步骤;
步骤S41:检索扩充后的训练数据集中的数据每个维度信息;
步骤S42:将经过步骤S42得到的数据中的缺失值用数值0补全;
步骤S43:将经过步骤S43得到的数据中的离散型特征转换为标签编码;
步骤S44:将经过步骤S44得到的数据中的向量形式转换为矩阵形式,缺失值以数值0填充。
进一步地,所述步骤S5具体是指:定义分类器的损失函数为交叉损失熵损失函数,采用随机梯度下降算法对分类器中的参数进行训练。
进一步地,所述步骤S6具体包括以下步骤:
步骤S61:获取网络设备某次连接的连接信息;
步骤S62:将该连接信息进行预处理操作,得到由向量形式转换为矩阵形式的连接信息;
步骤S63:将步骤S62中矩阵形式的连接信息输入分类器模型,并由输出向量计算该次连接所属种类,若为异常类,则判断该次连接行为为入侵行为。
本发明与现有技术相比,具有以下优点及有益效果:
(1)本发明训练一个使用条件变分自编码器作为数据生成器,该生成器经过训练后通过生成指定种类数据的方式来对数据集进行扩充,解决了样本中数据不均衡问题。
(2)本发明将传统条件变分自编码器的损失函数中的重建损失替换为对数双曲余弦损失函数,加强了条件变分编码器的生成能力,可以生成与训练数据较小重建误差的生成数据。
(3)本发明训练一个基于卷积神经网络的分类器,卷积神经网络精确提取数据中的特征并且不会对数据不同维度之间的相关性信息忽视,提高了网络空间数据集上的分类准确率。
(4)本发明综合条件变分编码器和卷积神经网络分类器的优点,使用经条件变分编码器扩充后的数据集来训练卷积神经网络分类器,增强了入侵分类检测的鲁棒性。
附图说明
图1是本发明基于条件变分自编码器进行数据扩充的物联网网络空间入侵检测方法流程图;
图2是条件变分自编码器网络结构示意图;
图3是卷积神经网络分类器网络结构示意图;
图4是数据预处理具体实施方式流程图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,所描述的实施例是本发明一部分实施例,而不是全部的实施例,也并非旨在限制要求保护的本发明的范围。本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1-图4所示,一种基于条件变分自编码器的网络入侵检测方法,使用以对数双曲余弦作为损失函数的条件变分自编码器对原始数据集进行扩充,然后以扩充后的数据集作为训练集训练一个以卷积神经网络为主要网络结构的分类器,使用训练后的分类器进行网络入侵检测。
本实施例中,利用一个以对数双曲余弦函数作为损失函数的条件变分编码器作为数据生成器来对训练数据集进行扩充。使用对数双曲余弦损失函数的条件变分编码器相较于传统条件变分编码器而言,经过训练后可以生成具有较小重建误差的数据。通过产生数据对数据集进行扩充的方式,可以解决原数据集中样本不均衡的问题。同时,以卷积神经网络为主要网络结构的分类器更为精确地提取网络空间入侵数据集中数据的特征,提升分类器的准确率和误判率。
本实施例的一个核心内容在于使用条件变分自编码器数据生成的方式解决样本不均衡问题,同时不同于直接用稠密连接网络对数据进行直接分类,本发明使用一个卷积神经网络提取数据集中的特征,提升了分类器的鲁棒性。另外,使用对数双曲余弦损失函数替换L2范数损失函数来提升条件变分自编码器的生成效果也是本发明的独特之处。
一种基于条件变分自编码器的网络入侵检测方法,具体包括以下步骤:
步骤S1:选择训练数据集;
步骤S2:构建基于对数双曲余弦损失的条件变分自编码器模型,对训练数据集进行扩充,得到扩充后的训练数据集;
步骤S3:构建基于卷积神经网络的分类器模型;
步骤S4:对扩充后的训练数据集进行预处理操作,得到预处理操作后的训练数据集;
步骤S5:采用步骤S4中预处理操作后的训练数据集训练分类器模型;
步骤S6:使用分类器模型对网络中的攻击或者入侵行为进行检测。
在本发明的实施例中,一种利用条件变分自编码器进行数据扩充的物联网网络空间入侵检测方法,先构建条件变分编码器模型,再用训练数据集对该模型进行训练,然后在利用该模型通过生成数据的方式对数据集进行扩充,最后使用扩充后的数据集训练一个卷积神经网络分类器进行网络空间入侵检测,主要包括以下步骤S1-步骤S6。
步骤S1:选择训练数据集。
本实施例选取NSL-KDD数据集进行实验。NSL-KDD数据集从KDDCUP99数据集中分离出来的一个子数据集,该数据集删除了KDDCUP99数据集中重复和冗余的数据,因此更适合于模型网络入侵性能评估。NSL-KDD数据集总共包含5大类,1个正常类(正常)和4个异常类(端口攻击、拒绝服务攻击、远程用户攻击、提权攻击)。
NSL-KDD数据集是不均衡的,远程用户攻击和提权攻击两类具有较少的数据量,因此该数据集存在样本不均衡问题。这与网络设备在实际生活中一致,正常数据总是大量存在,而异常数据是少量的。使用该数据集中文件名为:KDDTrain+_20Percent.txt的文件作为训练数据集。文件名为:KDDTest+.txt中的数据作为测试数据集来评估模型性能。
步骤S2:构建基于对数双曲余弦损失的条件变分自编码器模型,对训练数据集进行扩充。
本实施例中,使用一个以对数双曲余弦函数为损失函数的条件变分自编码器来解决训练数据集中的样本不均衡问题。对数双曲余弦损失函数的条件变分编码器相较于传统条件变分编码器而言,经过训练后可以生成具有较小重建误差的数据。经过训练后的生成器用于生成各类数据,将数据集中的每一类数据扩充成同一数量级。
具体内容如下:
步骤S21:构建所述的基于对数双曲余弦损失的条件变分自编码器模型,所述的基于对数双曲余弦损失的条件变分自编码器模型为了解决训练数据集中的样本不均衡问题,使用条件变分自编码器来生成某种特定类别的数据,以此对训练数据集进行扩充;
步骤S22:对训练数据集进行独热编码和归一化处理;
步骤S23:采用预处理后的训练数据集训练条件变分自编码器模型;
步骤S24:使用经过训练条件自编码器生成数据,对训练数据集进行扩充,得到扩充后的训练数据集。
所述步骤S2中的基于对数双曲余弦损失的条件变分自编码器模型的结构具体为:每一个条件变分自编码器包含两部分:编码器和解码器。
编码器是一个神经网络,将提取的数据特征映射成低维的潜在变量。
解码器也是一个神经网络,将低维的潜在变量解码重构回与原始数据特征尽可能接近的表示。
为了找到潜在变量的正确分布,在条件变分自动编码器中引入了变分推理方法。由于这个分布比较棘手,所以用最接近它的后验代理来逼近,使用变分下界来最小化其距离。所以,使用输入数据的边际似然估计下界作为目标损失函数。
一般条件变分自编码器的目标损失函数为:
Figure GDA0003157894280000061
其中,
Figure GDA0003157894280000062
为重构损失;
DKL(q(z|x,y)||p(z|y)),
为KL散度,用来计算编码器生成的潜在变量的分布和多元高斯模型的先验分布之间的差异。
KL散度又称为相对熵,信息散度,信息增益。KL散度是是两个概率分布q和p差别的非对称性的度量。KL散度是用来度量使用基于q的编码来编码来自p的样本平均所需的额外的位元数。典型情况下,p表示数据的真实分布,q表示数据的理论分布,模型分布,或p的近似分布。KL散度是信息理论一个常见计算量,并不是本发明的改进点,故不再赘述。
本实施例中,为了解决传统条件变分自编码器损失函数中重构损失函数引起的重建效果差的缺陷。本发明使用对数双曲余弦损失函数替换重构损失函数。对数双曲余弦损失函数如下:
Figure GDA0003157894280000063
其中,xi
Figure GDA0003157894280000064
分别表示条件变分自编码器的输入和输出,下标i表示数据的维度编号,a是超参数,一般设定为10。
于是基于对数双曲余弦损失的条件变分编码器的总损失函数为:
Figure GDA0003157894280000065
其中,μ,σ分别表示变分自编码器输出的均值和方差,下标j表示潜在特征向量的维度;
条件变分自编码器的网络结构如图2所示,编码器使用四层全连接网络,输入维度为118,输出维度为1024,中间两层隐含层维度分别为256和512。解码器的维度与编码器的维度相反,输入输出维度分别为1024和118,中间隐含层的维度为512和256。这样的设置适合维度较小的训练数据。
步骤S22中的对训练数据集进行独热编码和归一化处理包括:首先需要将数据中的缺失值以数值0为填充值进行补全操作,然后将数据中的离散值进行独热编码操作,最后将数据中的连续值进行归一化操作。这是因为网络空间入侵数据集中数据存在某维度元素缺失的问题,所以需要一定的数据预处理操作。使用独热编码将离散特征的取值扩展到欧式空间,让特征之间的距离计算更加合理。而归一化操作可以消除奇异样本的影响,加速深度学习网络的训练,使其更加容易收敛。
步骤S23训练条件变分自编码器模型具体包括:在训练条件变分编码器时,以公式(3)所述的损失函数为模型损失函数,同时使用Adam优化算法,以0.00001的初始学习率开始训练。
训练数据使用经步骤S22进行独热编码和归一化处理后的数据。
步骤S24使用经过训练条件变分自编码器生成数据,对训练数据集进行扩充具体包括:经过训练的条件变分编码器可以用于数据生成。从正态分布中随机采样一个数据Z,将Z与生成数据的种类信息C连接得到(Z,C),然后再将(Z,C)作为解码器的输入得到输出向量,最后将输出向量从独热编码转换为离散形式,再进行反归一化处理,即可得到一个生成数据。通过指定生成某类数据的方法,可以对数据集中数量较少的部分类数据进行扩充。扩充后的数据集各类数据量均衡,可以解决数据不均衡问题。
步骤S3:构建基于卷积神经网络的分类器模型。所述分类器的结构由两层卷积神经网络和三层稠密连接网络组成,卷积神经网络用于提取数据的特征,再使用稠密连接网络预测数据的类别信息。具体地,使用RELU函数作为卷积层的激活函数,并且为了加速模型收敛,在卷积层之后添加归一化层,最后,在最后一层卷积层之后加上池化层。三层稠密连接网络连接在池化层之后。第一层卷积层的输入维度数为1维,输出维度为5维,卷积核大小为3,填充和步数都设置为1,第二层卷积层的输入和输出维度分别为6和16维,卷积核大小、填充和步数与第一层卷积层相同。三层稠密连接网络输出维度分别为512、256和数据集中数据的类别数目。
步骤S4中数据预处理操作,对扩充后的数据集进行一定的预处理操作,包括以下步骤;
步骤S41:检索数据每个维度信息;
步骤S41:将缺失值用数值0补全;
步骤S43:将离散型特征转换为标签编码;
步骤S44:将数据从向量形式改变形状为矩阵(方阵)形式,缺失值以数值0填充。
操作流程图如图4所示。经过预处理操作后,分类器训练数据集中的数据都被转换为矩阵形式,这样卷积神经网络即可以对数据中的特征进行精确地提取。
步骤S5:训练分类器模型。
定义整个分类器网络的损失函数为交叉损失熵,采用随机梯度下降算法对模型里的卷积神经网络、稠密连接网络的参数进行训练,整个模型的损失函数其数学表示如下:
Figure GDA0003157894280000081
其中N为输出向量的维度,y(i)
Figure GDA0003157894280000082
为目标值和预测值,上标i表示输出向量的维度为i。
步骤S6:使用分类器对网络中的攻击或者入侵行为进行检测。
步骤S61:获取网络设备某次连接的连接信息;
步骤S62:将该连接信息进行预处理操作,得到由向量形式转换为矩阵形式的连接信息;
步骤S63:将步骤S62中矩阵形式的连接信息输入分类器,并由输出向量计算该次连接所属种类,若为异常类,则判断该次连接行为为入侵行为。
本实施例进一步优化,采用精确度(Accuracy)、召回率(Recall)、精度(Precision)和F1-score指标来评估整个基于条件变分自编码器的网络入侵检测模型的性能。通常这个四个指标由分类问题的混淆矩阵中的真阳性(True Positive,TP)、假阳性(False Positive,FP)、假阴性(Fals Negative,FN)和真阴性(True Negative,TN)四个元素计算而来,混淆矩阵如下表1所示:
表格1混淆矩阵
预测攻击 预测正常
实际攻击 真阳性(TP) 假阴性(FN)
实际正常 假阳性(FP) 真阴性(TN)
各项指标的计算公式如下:
Figure GDA0003157894280000083
Figure GDA0003157894280000084
Figure GDA0003157894280000085
Figure GDA0003157894280000091
我们在NSL-KDD网络空间入侵数据集上测试了本发明的性能。NSL-KDD数据集从KDDCUP99数据集中手工分离出来的一个子数据集,该数据集删除了KDDCUP99数据集中重复和冗余的数据,因此更适合于模型网络入侵性能评估。NSL-KDD数据集总共包含5大类,1个正常类(正常)和4个异常类(端口攻击、拒绝服务攻击、远程用户攻击、提权攻击)。NSK-KDD数据集是不均衡的,其中正常类、端口攻击类和拒绝服务类占数据集的比重约为90%,其余类只占10%。为解决NSL-KDD数据集中的样本不均衡问题(远程用户攻击、提权攻击类数据较少),本发明生成了11160个端口攻击类数据,4215个拒绝服务攻击类数据,13438个远程用户攻击类数据,13240个提权攻击类数据,使数据集中各种类的数据保持在同一数量级。测试比较结果如下表2所示:
表格2在NSL-KDD数据集上模型性能对比图(%)
模型 精确度 召回率 精度 F1-score
KNN 76.51 64.19 92.16 75.68
MultinomialNB 78.73 65.64 95.62 77.85
RF 76.49 60.69 96.84 74.62
SVM 72.28 56.73 91.26 69.97
DNN 80.22 68.21 95.85 79.70
DBN 80.82 68.53 96.84 80.26
ROS-DNN 78.26 67.41 92.34 77.93
SMOTE-DNN 81.16 69.48 96.42 80.76
ADASYN-DNN 80.10 67.74 96.16 79.49
ours 83.53 68.90 97.61 80.78
从表2可以看出,本发明在NSL-KDD的测试集上均优于现有的方法。
我们的发明在NSL-KDD网络空间入侵数据集中获得了83.53%的最高准确率,同时在其他指标上也优于其他方法。这证明了本发明提出的模型通过数据生成扩充数据集的方法配合本发明提出的卷积神经网络分类器提升了网络空间入侵检测分类的准率性。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

Claims (5)

1.一种基于条件变分自编码器的网络入侵检测方法,该方法由基于条件变分自编码器的网络入侵检测模型实现,其特征在于,该方法包括以下步骤:
步骤S1:选择训练数据集;
步骤S2:构建基于对数双曲余弦损失的条件变分自编码器模型,对训练数据集进行扩充,得到扩充后的训练数据集;
步骤S3:构建基于卷积神经网络的分类器模型;
步骤S4:对扩充后的训练数据集进行预处理操作,得到预处理操作后的训练数据集;
步骤S5:采用步骤S4中预处理操作后的训练数据集训练分类器模型,得到训练好的分类器模型;
步骤S6:使用训练好的分类器模型对网络中的攻击或者入侵行为进行检测;
其中,所述基于对数双曲余弦损失的条件变分自编码器模型为了解决训练数据集中的样本不均衡问题,使用条件变分自编码器来生成某种特定类别的数据,以此对训练数据集进行扩充,所述基于对数双曲余弦损失的条件变分自编码器模型的结构具体为:每一个条件变分自编码器包含两部分:编码器和解码器;编码器是一个神经网络,将提取的数据特征映射成低维的潜在变量,编码器使用四层全连接网络,输入维度为118,输出维度为1024,中间两层隐含层维度分别为256和512;解码器也是一个神经网络,将低维的潜在变量解码重构回与原始数据特征尽可能接近的表示,解码器的维度与编码器的维度相反,输入输出维度分别为1024和118,中间隐含层的维度为512和256;基于对数双曲余弦损失的条件变分编码器的总损失函数为:
Figure FDA0003157894270000011
其中,xi
Figure FDA0003157894270000012
分别表示条件变分自编码器的输入和输出,下标i表示数据的维度编号,a是超参数,预先设定为10,μ,σ分别表示变分自编码器输出的均值和方差,下标j表示潜在特征向量的维度;
所述基于卷积神经网络的分类器模型结构由两层卷积神经网络层和三层稠密连接网络层组成,卷积神经网络层用于提取数据的特征,再使用稠密连接网络层预测数据的类别信息,具体地,使用RELU函数作为卷积神经网络层的激活函数,并且为了加速模型收敛,在每层卷积神经网络层之后添加归一化层,最后,在最后一层卷积神经网络层之后加上池化层,三层稠密连接网络层连接在池化层之后;第一层卷积神经网络层的输入维度数为1维,输出维度为5维,卷积核大小为3,填充和步数都设置为1,第二层卷积神经网络层的输入和输出维度分别为6和16维,卷积核大小、填充和步数与第一层卷积神经网络层相同,三层稠密连接网络层输出维度分别为512、256和数据集中数据的类别数目;
所述步骤S1中选取NSL-KDD数据集进行实验,NSL-KDD数据集是从KDDCUP99数据集中分离出来的一个子数据集,该数据集删除了KDDCUP99数据集中重复和冗余的数据,因此更适合于模型网络入侵性能评估,NSL-KDD数据集总共包含5大类,1个正常类和4个异常类,包括端口攻击、拒绝服务攻击、远程用户攻击、提权攻击,NSL-KDD数据集是不均衡的,远程用户攻击和提权攻击两类具有较少的数据量,因此该数据集存在样本不均衡问题,这与网络设备在实际生活中一致,正常数据总是大量存在,而异常数据是少量的,使用该数据集中文件名为:KDDTrain+_20Percent.txt的文件作为训练数据集,文件名为:KDDTest+.txt中的数据作为测试数据集来评估基于条件变分自编码器的网络入侵检测模型的性能。
2.根据权利要求1所述的基于条件变分自编码器的网络入侵检测方法,其特征在于,所述步骤S2具体包括:
步骤S21:构建所述的基于对数双曲余弦损失的条件变分自编码器模型;
步骤S22:对训练数据集进行独热编码和归一化处理;
步骤S23:采用进行了独热编码和归一化处理后的训练数据集训练条件变分自编码器模型;
步骤S24:使用经过训练后的条件变分自编码器模型生成数据,对训练数据集进行扩充,得到扩充后的训练数据集;
其中,步骤S22中的对训练数据集进行独热编码和归一化处理包括:首先需要将训练数据集中数据的缺失值以数值0为填充值进行补全操作,然后将数据中的离散值进行独热编码操作,最后将数据中的连续值进行归一化操作;
步骤S23训练条件变分自编码器模型具体包括:在训练条件变分编码器时,以公式
Figure FDA0003157894270000021
Figure FDA0003157894270000022
所述的损失函数为所述条件变分自编码器模型损失函数,同时使用Adam优化算法,以0.00001的初始学习率开始训练;
步骤S24使用经过训练后的条件变分自编码器模型生成数据,对训练数据集进行扩充具体包括:经过训练后的条件变分自编码器模型可以用于数据生成,从正态分布中随机采样一个数据Z,将Z与生成数据的种类信息C连接得到(Z,C),然后再将(Z,C)作为解码器的输入得到输出向量,最后将输出向量从独热编码转换为离散形式,再进行反归一化处理,即可得到一个生成数据,通过指定生成某类数据的方法,可以对训练数据集中数量较少的部分类数据进行扩充,扩充后的训练数据集各类数据量均衡,解决数据不均衡问题。
3.根据权利要求2所述的基于条件变分自编码器的网络入侵检测方法,其特征在于,所述步骤S4中对扩充后的训练数据集进行预处理操作具体包括:
步骤S41:检索扩充后的训练数据集中的数据每个维度信息;
步骤S42:将步骤S41中的数据的缺失值用数值0补全;
步骤S43:将步骤S42中的数据由离散型特征转换为标签编码;
步骤S44:将步骤S43中的数据从向量形式转换为矩阵形式,并且缺失值以数值0填充。
4.根据权利要求3所述的基于条件变分自编码器的网络入侵检测方法,其特征在于,所述步骤S5训练分类器模型具体包括:
定义分类器模型的损失函数为交叉损失熵,采用随机梯度下降算法对分类器模型里的卷积神经网络、稠密连接网络的参数进行训练,整个分类器模型的损失函数的数学表示如下:
Figure FDA0003157894270000031
其中N为输出向量的维度,y(i)
Figure FDA0003157894270000032
分别表示目标值和预测值,上标i表示输出向量的维度为i。
5.根据权利要求4所述的基于条件变分自编码器的网络入侵检测方法,其特征在于,所述步骤S6使用训练好的分类器模型对网络中的攻击或者入侵行为进行检测具体包括:
步骤S61:获取网络设备某次连接的连接信息;
步骤S62:将该连接信息进行预处理操作,得到由向量形式转换为矩阵形式的连接信息;
步骤S63:将步骤S62中矩阵形式的连接信息输入训练好的分类器模型,并由输出向量计算该次连接所属种类,若为异常类,则判断该次连接行为为入侵行为。
CN202010718260.8A 2020-07-23 2020-07-23 一种基于条件变分自编码器的网络入侵检测方法 Active CN111967502B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010718260.8A CN111967502B (zh) 2020-07-23 2020-07-23 一种基于条件变分自编码器的网络入侵检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010718260.8A CN111967502B (zh) 2020-07-23 2020-07-23 一种基于条件变分自编码器的网络入侵检测方法

Publications (2)

Publication Number Publication Date
CN111967502A CN111967502A (zh) 2020-11-20
CN111967502B true CN111967502B (zh) 2021-09-24

Family

ID=73362471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010718260.8A Active CN111967502B (zh) 2020-07-23 2020-07-23 一种基于条件变分自编码器的网络入侵检测方法

Country Status (1)

Country Link
CN (1) CN111967502B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112801297B (zh) * 2021-01-20 2021-11-16 哈尔滨工业大学 一种基于条件变分自编码器的机器学习模型对抗性样本生成方法
CN112926505B (zh) * 2021-03-24 2022-11-11 重庆大学 基于dtc-vae神经网络的旋转机械健康指标构建方法
CN113313138A (zh) * 2021-04-09 2021-08-27 中国烟草总公司郑州烟草研究院 基于概率生成模型的入侵行为特征转换方法、检测方法
CN113408722B (zh) * 2021-05-13 2022-06-21 桂林电子科技大学 基于逐层损失补偿深度自编码器的态势评估要素提取方法
CN113255750B (zh) * 2021-05-17 2022-11-08 安徽大学 一种基于深度学习的vcc车辆攻击检测方法
CN113395276B (zh) * 2021-06-10 2022-07-26 广东为辰信息科技有限公司 基于自编码器能量检测的网络入侵检测方法
CN113660236B (zh) * 2021-08-10 2023-05-09 和安科技创新有限公司 一种基于优化堆叠降噪卷积自编码网络的异常流量检测方法、存储器和处理器
CN113949549B (zh) * 2021-10-08 2022-08-23 东北大学 一种面向入侵和攻击防御的实时流量异常检测方法
CN114386067B (zh) * 2022-01-06 2022-08-23 承德石油高等专科学校 一种基于人工智能的设备生产数据安全传输方法及系统
CN114894480B (zh) * 2022-03-29 2023-08-29 昆明理工大学 一种基于不平衡数据集的轴承故障诊断方法及装置
CN114726614B (zh) * 2022-04-06 2023-05-23 广东工业大学 一种基于条件变分自编码器和SENet的XSS攻击检测方法
CN114760128A (zh) * 2022-04-11 2022-07-15 西北工业大学 一种基于重采样的网络异常流量检测方法
CN116578876B (zh) * 2023-07-12 2024-02-13 国网江苏省电力有限公司苏州供电分公司 一种基于对抗性攻击深度神经网络的安全性提升方法
CN117556267B (zh) * 2024-01-12 2024-04-02 闪捷信息科技有限公司 缺失样本数据填充方法、装置、存储介质和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109670303A (zh) * 2018-12-26 2019-04-23 网智天元科技集团股份有限公司 基于条件变分自编码的密码攻击评估方法
CN110020623A (zh) * 2019-04-04 2019-07-16 中山大学 基于条件变分自编码器的人体活动识别系统及方法
CN111314331A (zh) * 2020-02-05 2020-06-19 北京中科研究院 一种基于条件变分自编码器的未知网络攻击检测方法
CN111310331A (zh) * 2020-02-12 2020-06-19 成都理工大学 基于条件变分自编码的地壳模型构造方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11593660B2 (en) * 2018-09-18 2023-02-28 Insilico Medicine Ip Limited Subset conditioning using variational autoencoder with a learnable tensor train induced prior
CN109639739B (zh) * 2019-01-30 2020-05-19 大连理工大学 一种基于自动编码器网络的异常流量检测方法
CN111314353B (zh) * 2020-02-19 2022-09-02 重庆邮电大学 一种基于混合采样的网络入侵检测方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109670303A (zh) * 2018-12-26 2019-04-23 网智天元科技集团股份有限公司 基于条件变分自编码的密码攻击评估方法
CN110020623A (zh) * 2019-04-04 2019-07-16 中山大学 基于条件变分自编码器的人体活动识别系统及方法
CN111314331A (zh) * 2020-02-05 2020-06-19 北京中科研究院 一种基于条件变分自编码器的未知网络攻击检测方法
CN111310331A (zh) * 2020-02-12 2020-06-19 成都理工大学 基于条件变分自编码的地壳模型构造方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Latent Representation Learning for Artificial Bandwidth Extension Using a Conditional Variational Auto-encoder;Pramod Bachhav et al;《ICASSP 2019 - 2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)》;20190417;7010-7014页 *
旋转极小曲面中微分方程通解的解法;张雅静等;《软件》;20160215;第37卷(第02期);8-10页 *

Also Published As

Publication number Publication date
CN111967502A (zh) 2020-11-20

Similar Documents

Publication Publication Date Title
CN111967502B (zh) 一种基于条件变分自编码器的网络入侵检测方法
CN109408389B (zh) 一种基于深度学习的代码缺陷检测方法及装置
CN108334574A (zh) 一种基于协同矩阵分解的跨模态检索方法
CN109887562B (zh) 电子病历的相似度确定方法、装置、设备和存储介质
CN105975573A (zh) 一种基于knn的文本分类方法
CN109657011B (zh) 一种筛选恐怖袭击事件犯罪团伙的数据挖掘系统
CN106060008B (zh) 一种网络入侵异常检测方法
CN109635010B (zh) 一种用户特征及特征因子抽取、查询方法和系统
CN106951778A (zh) 一种面向复杂流数据事件分析的入侵检测方法
CN114048468A (zh) 入侵检测的方法、入侵检测模型训练的方法、装置及介质
CN113032525A (zh) 虚假新闻检测方法、装置、电子设备以及存储介质
Masood et al. Differential evolution based advised SVM for histopathalogical image analysis for skin cancer detection
CN115018512A (zh) 基于Transformer神经网络的窃电检测方法及装置
CN114139634A (zh) 一种基于成对标签权重的多标签特征选择方法
CN115392357A (zh) 分类模型训练、标注数据样本抽检方法、介质及电子设备
CN113822336A (zh) 一种云硬盘故障预测方法、装置、系统及可读存储介质
CN113283901A (zh) 一种面向区块链平台的基于字节码的诈骗合约检测方法
CN115567367A (zh) 一种基于多重提升集成学习的网络故障检测方法
CN116958622A (zh) 数据的分类方法、装置、设备、介质及程序产品
CN115438743A (zh) 基于cnn基分类器改进的串行集成方法
CN114610882A (zh) 一种基于电力短文本分类的异常设备编码检测方法和系统
CN114548306A (zh) 一种基于误分类代价的钻井早期溢流智能监测方法
CN116541698A (zh) 一种基于XGBoost的网络异常入侵检测方法和系统
Rabcan et al. Generation of structure function based on ambiguous and incompletely specified data using fuzzy random forest
CN115831339B (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