CN113556319B - 物联网下基于长短期记忆自编码分类器的入侵检测方法 - Google Patents
物联网下基于长短期记忆自编码分类器的入侵检测方法 Download PDFInfo
- Publication number
- CN113556319B CN113556319B CN202110652571.3A CN202110652571A CN113556319B CN 113556319 B CN113556319 B CN 113556319B CN 202110652571 A CN202110652571 A CN 202110652571A CN 113556319 B CN113556319 B CN 113556319B
- Authority
- CN
- China
- Prior art keywords
- layer
- model
- lstm
- classifier
- function
- 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
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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/1433—Vulnerability analysis
-
- 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/1441—Countermeasures against malicious traffic
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
本发明公开了一种物联网下基于长短期记忆自编码分类器的入侵检测方法,深度学习是实现入侵检测的一种有效的方式,但是传统的简单单一的深度学习模型如CNN和RNN在面对日益复杂的网络数据和网络攻击时检测能力十分有限。因此为了进一步提高模型的检测精度和效率,将无监督学习自编码器加入其中,利用其强悍的特征提取能力对数据非线性降维,再将长短期记忆模型和自编码器相结合,充分结合了这两个模型基于时间序列和非线性降维的特点,对网络流量进行检测。经过对比试验证明,长短期记忆自编码分类器在检测精度上优于BGRU、BLSTM和门控循环单元自编码分类器。
Description
技术领域
本发明属于入侵检测和深度学习领域,具体涉及物联网环境下基于长短期记忆自编码分类器的入侵检测方法。
背景技术
物联网通过各种采集信息装置以及互联网将物与物、人与物连接在了一起,从而更加智能地对物进行管理与控制。随着新一代信息技术的到来,物联网飞速发展,如今在通信、医疗、教育、工业和农业等领域都得到了广泛的运用。数量众多的物联网设备将万物联系在了一起,推动了人类社会的发展。但是,物联网设备极易遭受黑客的网络攻击。例如,物联网设备因为简单的性能而没有网络攻击的防护措施,很容易遭受僵尸网络的攻击,从而黑客可以在远程操控物联网设备,这将对社会带来巨大的威胁。因此,能够实时有效地检测出物联网设备中的恶意攻击流量是十分重要的。
为了抵御物联网设备中的恶意网络攻击,入侵检测技术得到了快速的发展。入侵检测作为一道网络屏障可以很好的检测出恶意流量,但是随着网络攻击手段的日益丰富以及网络流量的急剧增多,入侵检测系统的检测器需要不断更新,这也对入侵检测系统的检测率和误报率提出了更高的要求。随着机器学习的不断发展与广泛运用,基于机器学习模型的入侵检测系统在性能上得到了大幅提升,机器学习模型较强的特征自动提取能力能够很好应对大量的网络流量以及多样的网络攻击。更重要的是,深度学习作为一种更先进的机器学习方法,在物联网环境下的入侵检测系统中得到了很好的运用,它能够自动提取高维网络流量数据中的特征,记录恶意流量的特点并进行识别。卷积神经网络(CNN)和循环神经网络(RNN)在入侵检测领域都得到了很好的运用。由于网络流量基于时间序列的特点,RNN能够具有更强的检测恶意流量能力。
RNN的不断发展出现了更多性能更好的模型,如门控循环单元(GRU)、长短期记忆网络(LSTM)、双向门控循环单元(BGRU)和双向长短期记忆网络(BLSTM)等等。这些模型在入侵检测的模型上得到了很好的运用。
另外,自编码器作为一种无监督的神经网络模型,可以对网络流量进行非线性特征降维,提取更有效的新特征。因此将自编码器运用到物联网环境下的入侵检测系统同样值得期待。
发明内容
为了进一步提高物联网环境下入侵检测系统的网络攻击检测率和检测效率,本发明提供了一种物联网环境下基于长短期记忆自编码分类器的入侵检测方法。本方法将长短期记忆模型和自编码器相结合,构建新的深度学习模型,并通过实验将该模型与传统的BGRU模型、BLSTM模型以及门控循环单元自编码分类器(GRU-AutoEncoder-Classifier)进行对比,根据实验结果证明长短期记忆自编码分类器(LSTM-AutoEncoder-Classifier)拥有更好的性能。实验的数据集是CSE-CIC-IDS2018,我们挑选出了其中四大类攻击的流量数据进行实验,分别是分布式拒绝服务攻击(DDoS)、拒绝服务攻击(DoS)、FTP暴力攻击和僵尸网络。
本发明要解决的技术问题通过以下技术方法实现:
本发明提出一种物联网环境下基于长短期记忆自编码分类器入侵检测方法,包括以下步骤:
步骤1:对网络流量数据进行预处理;
步骤2:设计搭建长短期记忆自编码分类器;
步骤2.1,LSTM-AutoEncoder-Classifier由三个分模型组成,分别是LSTM-Encoder模型、LSTM-Decoder模型和Encoder-Classifier模型。
步骤2.2,搭建LSTM-Encoder模型,该模型由一层输入层、三层隐藏层和一层输出层组成。输入层为60个隐藏神经元的LSTM层,其激活函数是Relu函数,初始化权值满足高斯分布,该层的输出保留时间戳序列。第一层隐藏层为50个隐藏神经元的LSTM层,激活函数是Tanh函数,初始化权值和bias都满足高斯分布,输出时间戳序列。第二层隐藏层为随机丢弃权值概率50%的Dropout层。第三层隐藏层为30个隐藏神经元的LSTM层,激活函数是Tanh函数,初始化权值和bias满足高斯分布,同时权值和bias存在L2约束,输出时间戳序列。输出层是随机丢弃权值概率50%的Dropout层。
步骤2.3,搭建LSTM-Decoder模型,该模型包含一层输入层、三层隐藏层和一层输出层。输入层为50个隐藏神经元的LSTM层,其激活函数是Relu函数,初始化权值满足高斯分布,输出时间戳序列。第一层隐藏层为60个隐藏神经元的LSTM层,其激活函数是Tanh函数,初始化权值和bias满足高斯分布,输出时间戳序列。第二层隐藏层为随机丢弃权值概率50%的Dropout层。第三层隐藏层是LSTM层且隐藏神经元为原始数据集特征数,激活函数是Tanh函数,初始化权值和bias满足高斯分布,同时权值和bias存在L2约束,输出时间戳序列。输出层是随机丢弃权值概率为50%的Dropout层。
步骤2.4,搭建Encoder-Classifier模型。该模型主要是由全连接层和sigmoid函数组成的。该模型由一层输入层,四层隐藏层和一层输出层组成。输入层是神经元数量为20的全连接层,权值和bias满足正态分布以及He初始化,激活函数是Relu函数。第一层隐藏层为神经单元数量10的全连接层,权值和bias满足正态分布以及He初始化,激活函数是Relu函数。第二层隐藏层为随机丢弃权值概率60%的Dropout层。第三层隐藏层为神经单元数量10的全连接层。第四层隐藏层为随机丢弃权值概率为60%的Dropout层。输出层为含有一个神经元的全连接层,激活函数是sigmoid函数。
步骤2.5,搭建LSTM-AutoEncoder模型。该模型由LSTM-Encoder模型和LSTM-Decoder模型组成。模型上部为LSTM-Encoder模型,下部为LSTM-Decoder模型。
步骤3:设计搭建门控循环单元自编码分类器GRU-AutoEncoder-Classifier;
步骤3.1,该模型与LSTM-AutoEncoder-Classifier模型大体一致,将其中的LSTM层改成GRU层。
步骤4:搭建BGRU和BLSTM模型;
步骤4.1,BGRU模型由两层双向GRU网络层和一层全连接层组成。第一层的GRU层含有60个神经元,激活函数是Relu函数,输出时间戳序列。第二层的GRU层含有10个神经元,激活函数是Relu函数,输出最后一个时间戳。全连接层含有一个神经元且激活函数是sigmoid函数。
步骤4.2,BLSTM模型与BGRU模型一致,将GRU替换成LSTM。
步骤5:配置模型的优化器、损失函数和迭代次数;
步骤5.1,LSTM-AutoEncoder和GRU-AutoEncoder这两个模型的优化器为Adam,损失函数是均方误差(MSE),迭代次数都为30次。MSE的公式如下:
步骤5.2,Encoder-Classifier模型的优化器为Adam,损失函数是binary_crossentropy函数,迭代次数为10次。
步骤5.3,BGRU和BLSTM模型的优化器为Adam,损失函数是binary_crossentropy函数,迭代次数为5次。
步骤6,利用训练数据集对模型进行训练;
步骤6.1,一次训练所抓取的数据样本数量为256。
步骤6.2,每次训练将训练集中的20%数据当作验证集,对训练中的模型进行实时验证。
步骤6.3,训练LSTM-AutoEncoder-Classifier,共有两个过程,第一个过程训练LSTM-AutoEncoder模型,第二个过程训练AutoEncoder-Classifier模型。
步骤6.4,训练GRU-AutoEncoder-Classifier模型和BGRU、BLSTM模型。
步骤6.5,记录各个模型训练的时间。
步骤6.6,保存训练之后的模型。
步骤7,评估模型;
步骤7.1,用训练好的模型对测试集的数据进行预测,记录下各个模型预测的结果。
步骤7.2,根据预测的结果数据和测试集标注的数据进行模型评估,绘制出各个模型在二分类情况下的ROC曲线并计算模型的准确率ACC、误报率FAR和检测率DR,精准率Precision、召回率Recall和F1-Measure。
TP:分类器识别正确,分类器认为该样本为正样本;
TN:分类器识别正确,分类器认为该样本为负样本;
FP:分类器识别结果错误,分类器认为该样本是正样本;所以实际上该样本是负样本;
FN:分类器识别结果错误,分类器认为该样本是负样本;所以实际上该样本是正样本;
步骤7.3,记录模型的评估指标并进行比较。
作为优选,所述步骤1包括以下步骤:
步骤1.1,将网络流量数据作为数据集,将数据集的字符特征数据转换成数值,再对该特征数值进行one-hot编码;
步骤1.2,分别对每个特征数值进行归一化,公式如下:
其中xmin为该特征的最小值,xmax为该特征的最大值;
步骤1.3,分割数据集,对整个数据集以8:2的比例分成训练集和测试集;
步骤1.4,分别取出训练集和测试集中的Label字段,并逐条流量数据进行判断,若Label字段值为‘Benign’,则标注为0,否则标注为1,即正常样本标注为0,异常样本标注为1;
步骤1.5,将训练数据保存为Train_X,训练标签保存为Train_Y;测试数据保存为Test_X,测试标签保存为Test_Y。
本发明相对于背景技术的优点在于:
①长短期记忆自编码分类器结合了两种传统的深度学习模型,将各模型的特点融合在一个模型上,从而相较于传统的较单一的深度学习模型,拥有更加出色的性能。
②由于模型网络更深更复杂,保证了良好的泛化能力,应用场景更广。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1是本发明的整体架构;
图2是本发明提出的长短期记忆自编码分类器网络结构图;
图3是本发明中实验的ROC曲线图。
具体实施方式
下面结合实施例来对本发明做进一步的描述,详细说明如下:
本发明的入侵检测整体流程如附图1所示,总体分为三大部分,分别是数据预处理、模型搭建与训练和模型预测。具体说明如下:
步骤1,对网络流量数据进行预处理。
本发明步骤1包含以下步骤:
步骤1.1,将网络流量数据作为数据集,将数据集的字符特征数据转换成数值,再对该特征数值进行one-hot编码;
本发明的实验中使用的数据集为CSE-CIC-IDS2018,对数据集中的Protocol的字符特征值转换成相对应的数字,如UDP对应数字0,TCP对应数字1,HTTP对应数字2等等。然后再对该特征进行one-hot编码,从而UDP对应[1,0,0],TCP对应[0,1,0],HTTP对应[0,0,1]。
步骤1.2,分别对每个特征数值进行归一化,公式如下:
其中xmin为该特征的最小值,xmax为该特征的最大值;
若有一列特征值分别为[1,2,3,4,5],则xmin=1,xmax=5,归一化之后的特征值为[0,0.25,0.5,0.75,1]。
步骤1.3,分割数据集,对整个数据集以8:2的比例分成训练集和测试集;
在本发明的实验中,一共有88,701条流量数据,则训练集有70,960条流量数据,测试集有17,401条流量数据。
步骤1.4,分别取出训练集和测试集中的Label字段,并逐条流量数据进行判断,若Label字段值为‘Benign’,则标注为0,否则标注为1,即正常样本标注为0,异常样本标注为1;
Label特征的特征值将变成一列0或者1的序列,用来标注流量数据是否异常。
步骤1.5,将训练数据保存为Train_X,训练标签保存为Train_Y;测试数据保存为Test_X,测试标签保存为Test_Y。
在本实验中,Train_X一共有70,960条记录,且每条记录的维度为79,因此Train_X的形状为(70960,79),Train_Y的形状为(70960);Test_X的形状为(17401,79),Test_Y的形状为(17401)。
步骤2:设计搭建长短期记忆自编码分类器;
本发明步骤2包含以下步骤:
步骤2.1,LSTM-AutoEncoder-Classifier由三个分模型组成,分别是LSTM-Encoder模型、LSTM-Decoder模型和Encoder-Classifier模型。
步骤2.2,搭建LSTM-Encoder模型,该模型由一层输入层、四层隐藏层和一层输出层组成。输入层为60个隐藏神经元的LSTM层,其激活函数是Relu函数,初始化权值满足高斯分布,该层的输出保留时间戳序列。第一层隐藏层为50个隐藏神经元的LSTM层,激活函数是Tanh函数,初始化权值和bias都满足高斯分布,输出时间戳序列。第二层隐藏层为随机丢弃权值概率50%的Dropout层。第三层隐藏层为30个隐藏神经元的LSTM层,激活函数是Tanh函数,初始化权值和bias满足高斯分布,同时权值和bias存在L2约束,输出时间戳序列。第四层隐藏层是随机丢弃权值概率50%的Dropout层。
在本实验中,LSTM-Encoder模型将数据从79维压缩到30维,提取了数据的关键特征。
步骤2.3,搭建LSTM-Decoder模型,该模型包含一层输入层、三层隐藏层和一层输出层。输入层为50个隐藏神经元的LSTM层,其激活函数是Relu函数,初始化权值满足高斯分布,输出时间戳序列。第一层隐藏层为60个隐藏神经元的LSTM层,其激活函数是Tanh函数,初始化权值和bias满足高斯分布,输出时间戳序列。第二层隐藏层为随机丢弃权值概率50%的Dropout层。第三层隐藏层是LSTM层且隐藏神经元为原始数据集特征数,激活函数是Tanh函数,初始化权值和bias满足高斯分布,同时权值和bias存在L2约束,输出时间戳序列。输出层是随机丢弃权值概率为50%的Dropout层。
本实验中,LSTM-Decoder模型可以将Encoder输出的30维数据特征扩充到79维,实现了数据重构的过程。
步骤2.4,搭建Encoder-Classifier模型。该模型主要是由全连接层和sigmoid函数组成的。该模型由一层输入层,四层隐藏层和一层输出层组成。输入层是神经元数量为20的全连接层,权值和bias满足正态分布以及He初始化,激活函数是Relu函数。第一层隐藏层为神经单元数量10的全连接层,权值和bias满足正态分布以及He初始化,激活函数是Relu函数。第二层隐藏层为随机丢弃权值概率60%的Dropout层。第三层隐藏层为神经单元数量10的全连接层。第四层隐藏层为随机丢弃权值概率为60%的Dropout层。输出层为含有一个神经元的全连接层,激活函数是sigmoid函数。
该模型的作用是对Encoder压缩提取后的数据进行学习与分类,每条数据记录最后会返回一个处于0到1之间的概率值,该概率的大小表示了该条数据记录是异常流量的概率大小。比如,某条记录的输出值为0.8,则该条流量记录为异常攻击流量的概率是80%。
步骤2.5,搭建LSTM-AutoEncoder模型。该模型由LSTM-Encoder模型和LSTM-Decoder模型组成。模型上部为LSTM-Encoder模型,下部为LSTM-Decoder模型。
该模型的结构图参考附图2。
步骤3:设计搭建门控循环单元自编码分类器;
本发明步骤3包含以下步骤:
步骤3.1,该模型与LSTM-AutoEncoder-Classifier模型大体一致,将其中的LSTM层改成GRU层。
步骤4:搭建BGRU和BLSTM模型;
本发明步骤4包含以下步骤:
步骤4.1,BGRU模型由两层双向GRU网络层和一层全连接层组成。第一层的GRU层含有60个神经元,激活函数是Relu函数,输出时间戳序列。第二层的GRU层含有10个神经元,激活函数是Relu函数,输出最后一个时间戳。全连接层含有一个神经元且激活函数是sigmoid函数。
步骤4.2,BLSTM模型与BGRU模型一致,将GRU替换成LSTM。
步骤5:配置模型的优化器、损失函数和迭代次数;
本发明步骤5包含以下步骤:
步骤5.1,LSTM-AutoEncoder和GRU-AutoEncoder这两个模型的优化器为Adam,损失函数是均方误差(MSE),迭代次数都为30次。MSE的公式如下:
步骤5.2,Encoder-Classifier模型的优化器为Adam,损失函数是binary_crossentropy函数,迭代次数为10次。
步骤5.3,BGRU和BLSTM模型的优化器为Adam,损失函数是binary_crossentropy函数,迭代次数为5次。
步骤6,利用训练数据集对模型进行训练;
本发明步骤6包含以下步骤:
步骤6.1,一次训练所抓取的数据样本数量(Batch-size)设置为256。
步骤6.2,每次训练将训练集中的20%数据当作验证集,对训练中的模型进行实时验证。
这样在本实验中,验证集的样本数为14,192条,训练集的样本数为56,768条。
步骤6.3,训练LSTM-AutoEncoder-Classifier,共有两个过程,第一个过程训练LSTM-AutoEncoder模型,第二个过程训练AutoEncoder-Classifier模型。
在本实验中,训练完LSTM-AutoEncoder后,保存LSTM-Encoder模型。之后再将训练完的LSTM-Encoder模型加载到LSTM-AutoEncoder-Classifier模型中,并冻结其参数,从而参数不可改变,防止在后续的训练过程中改变Encoder的提取特征能力。
步骤6.4,训练GRU-AutoEncodert-Classifier模型和BGRU、BLSTM模型。
步骤6.5,记录各个模型训练的时间。
本实验中将各个模型的训练时间记录下TrainingTime.json文件中,方便后续的对训练时间的记录。
步骤6.6,保存训练之后的模型。
训练完模型后将模型保存在本地。
步骤7,评估模型;
本发明步骤7包含以下步骤:
步骤7.1,用训练好的模型对测试集的数据进行预测,记录下各个模型预测的结果。
步骤7.2,根据预测的结果数据和测试集标注的数据进行模型评估,绘制出各个模型在二分类情况下的ROC曲线并计算模型的准确率(ACC)、误报率(FAR)和检测率(DR),精准率(Precision)、召回率(Recall)和F1-Measure。
其中TP是检测为异常,实际上也为异常的情况;FP是检测为异常,实际上为正常的情况;TN是检测为正常,实际上也为正常的情况;FN是检测为正常,实际上异常的情况。
在做决策时,ROC分析可以不受成本/效益的影响,给出客观的模型评价。在本次实验中的ROC曲线参考附图3。
步骤7.3,记录模型的评估指标并进行比较。
本发明对比试验中的四个模型评估指标如表1所示。
表1
模型 | ACC | FAR | DR | Precision | Recall | F1-Measure | 训练时间(s) |
BGRU | 0.9158 | 0.0805 | 0.8897 | 0.9510 | 0.8897 | 0.9320 | 99.66 |
BLSTM | 0.6918 | 0.8386 | 0.9982 | 0.6724 | 0.9982 | 0.8035 | 179.35 |
GRU_AE | 0.8691 | 0.0234 | 0.8063 | 0.9833 | 0.8063 | 0.8861 | 154.89 |
LSTM_AE | 0.9293 | 0.1869 | 0.9972 | 0.9013 | 0.9972 | 0.9468 | 179.31 |
根据表1可以得到LSTM-AutoEncoder-Classifer模型在准确度和F1-Measure0上都有较高的评价。虽然BGRU模型拥有最高的效率,但是其检测率(DR)只有0.8897,远远低于LSTM-AutoEncoder-Classifer模型。同样,效率第二高的GRU-AutoEncoder-Classifer模型的DR和F1-Measure分别只有0.8063和0.8861,与LSTM-AutoEncoder-Classifer模型存在较大的差距。
再根据附图3中的ROC图可以得到结论:各个模型的AUC大小从大到小依次是LSTM-AutoEncoder-Classifer模型、GRU-AutoEncoder-Classifer模型、BGRU模型和BLSTM模型,可见AutoEncoder总体上的性能优于双向RNN,且LSTM-AutoEncoder-Classifer模型的AUC高达0.9824,相比其它模型在检测恶意流量上有更好的性能。
Claims (1)
1.物联网下基于长短期记忆自编码分类器的入侵检测方法,其特征在于,包括如下步骤:
步骤1:对网络流量数据进行预处理,具体步骤为:
步骤1.1,将网络流量数据作为数据集,将数据集的字符特征数据转换成数值,再对该特征数值进行one-hot编码;
步骤1.2,分别对每个特征数值进行归一化,公式如下:
其中xmin为该特征的最小值,xmax为该特征的最大值;
步骤1.3,分割数据集,对整个数据集以8:2的比例分成训练集和测试集;
步骤1.4,分别取出训练集和测试集中的Label字段,并逐条流量数据进行判断,若Label字段值为‘Benign’,则标注为0,否则标注为1,即正常样本标注为0,异常样本标注为1;
步骤1.5,将训练数据保存为Train_X,训练标签保存为Train_Y;测试数据保存为Test_X,测试标签保存为Test_Y;
步骤2:设计搭建长短期记忆自编码分类器;
步骤2.1,LSTM-AutoEncoder-Classifier由三个分模型组成,分别是LSTM-Encoder模型、LSTM-Decoder模型和Encoder-Classifier模型;
步骤2.2,搭建LSTM-Encoder模型,该模型由一层输入层、四层隐藏层和一层输出层组成;输入层为60个隐藏神经元的LSTM层,其激活函数是Relu函数,初始化权值满足高斯分布,该层的输出保留时间戳序列;第一层隐藏层为50个隐藏神经元的LSTM层,激活函数是Tanh函数,初始化权值和bias都满足高斯分布,输出时间戳序列;第二层隐藏层为随机丢弃权值概率50%的Dropout层;第三层隐藏层为30个隐藏神经元的LSTM层,激活函数是Tanh函数,初始化权值和bias满足高斯分布,同时权值和bias存在L2约束,输出时间戳序列;第四层隐藏层是随机丢弃权值概率50%的Dropout层;
步骤2.3,搭建LSTM-Decoder模型,该模型包含一层输入层、三层隐藏层和一层输出层;输入层为50个隐藏神经元的LSTM层,其激活函数是Relu函数,初始化权值满足高斯分布,输出时间戳序列;第一层隐藏层为60个隐藏神经元的LSTM层,其激活函数是Tanh函数,初始化权值和bias满足高斯分布,输出时间戳序列;第二层隐藏层为随机丢弃权值概率50%的Dropout层;第三层隐藏层是LSTM层且隐藏神经元为原始数据集特征数,激活函数是Tanh函数,初始化权值和bias满足高斯分布,同时权值和bias存在L2约束,输出时间戳序列;输出层是随机丢弃权值概率为50%的Dropout层;
步骤2.4,搭建Encoder-Classifier模型;该模型是由全连接层和sigmoid函数组成的;该模型由一层输入层,四层隐藏层和一层输出层组成;输入层是神经元数量为20的全连接层,权值和bias满足正态分布以及He初始化,激活函数是Relu函数;第一层隐藏层为神经单元数量为10的全连接层,权值和bias满足正态分布以及He初始化,激活函数是Relu函数;第二层隐藏层为随机丢弃权值概率60%的Dropout层;第三层隐藏层为神经单元数量为10的全连接层;第四层隐藏层为随机丢弃权值概率为60%的Dropout层;输出层为含有一个神经元的全连接层,激活函数是sigmoid函数;
步骤2.5,搭建LSTM-AutoEncoder模型;该模型由LSTM-Encoder模型和LSTM-Decoder模型组成;模型上部为LSTM-Encoder模型,下部为LSTM-Decoder模型;
步骤3:设计搭建门控循环单元自编码分类器GRU-AutoEncoder-Classifier;
步骤3.1,将LSTM-AutoEncoder-Classifier模型中的LSTM层改成GRU层得到GRU-AutoEncoder-Classifier;
步骤4:搭建BGRU和BLSTM模型;
步骤4.1,BGRU模型由两层双向GRU网络层和一层全连接层组成;第一层的GRU层含有60个神经元,激活函数是Relu函数,输出时间戳序列;第二层的GRU层含有10个神经元,激活函数是Relu函数,输出最后一个时间戳;全连接层含有一个神经元且激活函数是sigmoid函数;
步骤4.2,BLSTM模型与BGRU模型区别在于将GRU替换成LSTM;
步骤5:配置模型的优化器、损失函数和迭代次数;
步骤5.1,LSTM-AutoEncoder和GRU-AutoEncoder这两个模型的优化器为Adam,损失函数是均方误差(MSE),迭代次数都为30次;MSE的公式如下:
步骤5.2,Encoder-Classifier模型的优化器为Adam,损失函数是binary_crossentropy函数,迭代次数为10次;
步骤5.3,BGRU和的模型的优化器为Adam,损失函数是binary_crossentropy函数,迭代次数为5次;
步骤6,利用训练数据集对模型进行训练;
步骤6.1,一次训练所抓取的数据样本数量为256;
步骤6.2,每次训练将训练集中的20%数据当作验证集,对训练中的模型进行实时验证;
步骤6.3,训练LSTM-AutoEncoder-Classifier,共有两个过程,第一个过程训练LSTM-AutoEncoder模型,第二个过程训练AutoEncoder-Classifier模型;
步骤6.4,训练GRU-AutoEncoder-Classifier模型和BGRU、BLSTM模型;
步骤6.5,记录各个模型训练的时间;
步骤6.6,保存训练之后的模型;
步骤7,评估模型;
步骤7.1,用训练好的模型对测试集的数据进行预测,记录下各个模型预测的结果;
步骤7.2,根据预测的结果数据和测试集标注的数据进行模型评估,绘制出各个模型在二分类情况下的ROC曲线并计算模型的准确率ACC、误报率FAR和检测率DR,精准率Precision、召回率Recall和F1-Measure;
TP:分类器识别正确,分类器认为该样本为正样本;
TN:分类器识别正确,分类器认为该样本为负样本;
FP:分类器识别结果错误,分类器认为该样本是正样本;所以实际上该样本是负样本;
FN:分类器识别结果错误,分类器认为该样本是负样本;所以实际上该样本是正样本;
步骤7.3,记录模型的评估指标并进行比较。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110652571.3A CN113556319B (zh) | 2021-06-11 | 2021-06-11 | 物联网下基于长短期记忆自编码分类器的入侵检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110652571.3A CN113556319B (zh) | 2021-06-11 | 2021-06-11 | 物联网下基于长短期记忆自编码分类器的入侵检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113556319A CN113556319A (zh) | 2021-10-26 |
CN113556319B true CN113556319B (zh) | 2022-09-30 |
Family
ID=78130563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110652571.3A Active CN113556319B (zh) | 2021-06-11 | 2021-06-11 | 物联网下基于长短期记忆自编码分类器的入侵检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113556319B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114118385A (zh) * | 2021-12-07 | 2022-03-01 | 杭州电子科技大学 | 一种基于深度学习的电池生产工艺异常波动检测方法 |
CN115174132B (zh) * | 2022-05-13 | 2024-02-06 | 华北电力大学 | 一种基于网络流量的电力物联网入侵检测方法 |
CN116668089B (zh) * | 2023-05-11 | 2024-04-16 | 齐齐哈尔大学 | 基于深度学习的网络攻击检测方法、系统及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111031051A (zh) * | 2019-12-17 | 2020-04-17 | 清华大学 | 一种网络流量异常检测方法及装置、介质 |
CN112148955A (zh) * | 2020-10-22 | 2020-12-29 | 南京航空航天大学 | 一种物联网时序数据异常检测方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10154051B2 (en) * | 2016-08-31 | 2018-12-11 | Cisco Technology, Inc. | Automatic detection of network threats based on modeling sequential behavior in network traffic |
US10999247B2 (en) * | 2017-10-24 | 2021-05-04 | Nec Corporation | Density estimation network for unsupervised anomaly detection |
US11210565B2 (en) * | 2018-11-30 | 2021-12-28 | Microsoft Technology Licensing, Llc | Machine learning model with depth processing units |
-
2021
- 2021-06-11 CN CN202110652571.3A patent/CN113556319B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111031051A (zh) * | 2019-12-17 | 2020-04-17 | 清华大学 | 一种网络流量异常检测方法及装置、介质 |
CN112148955A (zh) * | 2020-10-22 | 2020-12-29 | 南京航空航天大学 | 一种物联网时序数据异常检测方法及系统 |
Non-Patent Citations (3)
Title |
---|
基于CNN和LSTM深度网络的伪装用户入侵检测;王毅等;《计算机科学与探索》;20171128(第04期);全文 * |
基于双向长短期记忆网络的电力系统暂态稳定评估;孙黎霞等;《电力系统自动化》;20200710(第13期);全文 * |
结合二次特征提取和LSTM-Autoencoder的网络流量异常检测方法;孙旭日等;《北京交通大学学报》;20200415(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113556319A (zh) | 2021-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113556319B (zh) | 物联网下基于长短期记忆自编码分类器的入侵检测方法 | |
CN112398779B (zh) | 一种网络流量数据分析方法及系统 | |
CN111585948B (zh) | 一种基于电网大数据的网络安全态势智能预测方法 | |
CN107241358B (zh) | 一种基于深度学习的智能家居入侵检测方法 | |
CN111600919B (zh) | 智能网络应用防护系统模型的构建方法和装置 | |
Peng et al. | Network intrusion detection based on deep learning | |
CN111783442A (zh) | 入侵检测方法、设备和服务器、存储介质 | |
CN112087442B (zh) | 基于注意力机制的时序相关网络入侵检测方法 | |
CN111901340A (zh) | 一种面向能源互联网的入侵检测系统及其方法 | |
CN112738014A (zh) | 一种基于卷积时序网络的工控流量异常检测方法及系统 | |
CN111598179A (zh) | 电力监控系统用户异常行为分析方法、存储介质和设备 | |
CN114372530A (zh) | 一种基于深度自编码卷积网络的异常流量检测方法及系统 | |
Wang et al. | Res-TranBiLSTM: An intelligent approach for intrusion detection in the Internet of Things | |
CN114615010B (zh) | 一种基于深度学习的边缘服务器端入侵防御系统设计方法 | |
Shao et al. | Deep learning hierarchical representation from heterogeneous flow-level communication data | |
Hong et al. | Abnormal access behavior detection of ideological and political MOOCs in colleges and universities | |
Borisenko et al. | Intrusion detection using multilayer perceptron and neural networks with long short-term memory | |
Al-Subaie et al. | Efficacy of hidden Markov models over neural networks in anomaly intrusion detection | |
CN116633682B (zh) | 一种基于安全产品风险威胁的智能识别方法及系统 | |
CN114915496B (zh) | 基于时间权重和深度神经网络的网络入侵检测方法和装置 | |
CN115622806A (zh) | 一种基于bert-cgan的网络入侵检测方法 | |
CN109871469A (zh) | 基于动态图元的小簇人群识别方法 | |
CN115242441A (zh) | 一种基于特征选择和深度神经网络的网络入侵检测方法 | |
Samadzadeh et al. | Evaluating Security Anomalies by Classifying Traffic Using a Multi-Layered Model | |
CN114006744A (zh) | 一种基于lstm的电力监控系统网络安全态势预测方法及系统 |
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 |