CN115037543B - 一种基于双向时间卷积神经网络的异常网络流量检测方法 - Google Patents
一种基于双向时间卷积神经网络的异常网络流量检测方法 Download PDFInfo
- Publication number
- CN115037543B CN115037543B CN202210650965.XA CN202210650965A CN115037543B CN 115037543 B CN115037543 B CN 115037543B CN 202210650965 A CN202210650965 A CN 202210650965A CN 115037543 B CN115037543 B CN 115037543B
- Authority
- CN
- China
- Prior art keywords
- flow
- traffic
- network
- network traffic
- 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
Links
- 230000002159 abnormal effect Effects 0.000 title claims abstract description 52
- 238000001514 detection method Methods 0.000 title claims abstract description 50
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 25
- 230000002457 bidirectional effect Effects 0.000 title claims abstract description 24
- 238000012549 training Methods 0.000 claims abstract description 45
- 238000012360 testing method Methods 0.000 claims abstract description 12
- 238000005070 sampling Methods 0.000 claims abstract description 9
- 230000004913 activation Effects 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 21
- 230000001364 causal effect Effects 0.000 claims description 14
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 12
- 230000010339 dilation Effects 0.000 claims description 10
- 238000000034 method Methods 0.000 claims description 10
- 239000011159 matrix material Substances 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 3
- 238000013527 convolutional neural network Methods 0.000 description 13
- 238000010801 machine learning Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 102100026278 Cysteine sulfinic acid decarboxylase Human genes 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 108010064775 protein C activator peptide Proteins 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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/1425—Traffic logging, e.g. anomaly detection
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于双向时间卷积神经网络的异常网络流量检测方法。包括:步骤1,获取到原始的流量文件,将流量按照流和会话的方式分割成多个流量数据,去除空流量与重复流量;步骤2,对获得的分割后流量数据进行截取与补全,生成流量的字节序列,并标记流量的类型;步骤3,使用均匀随机抽样将步骤2生成的字节序列合理划分为训练集与测试集,将训练集放入到双向时间卷积神经网络进行训练,使用测试集进行验证,得到异常网络流量检测模型;将待检测的网络流量按照步骤1进行分割,按照步骤2生成流量字节序列,然后将流量序列放入异常网络流量检测模型中,得到异常流量的分类结果。
Description
技术领域
本发明属于异常网络流量检测领域,涉及一种基于双向时间卷积神经网络的异常网络流量检测方法。
背景技术
随着互联网技术的快速发展,网络已经成为人们日常生活的必需品,它使人们的生产和生活方式更加方便。然而,随着网络流量数据量的增加,恶意流量攻击和网络病毒入侵也呈现上升趋势。面对如此庞大的网络流量和日益增多的攻击行为,异常网络流量检测通过识别异常攻击行为来保证网络空间的安全,也成为网络安全领域的一个重要研究方向。
目前,机器学习方法已被广泛用于检测网络异常流量以保证网络空间安全,但基于机器学习方法的分类性能很大程度上取决于网络流量的特征设计,这需要人们根据经验手工设计更好的特征来提高检测精度。传统的基于机器学习的异常网络流量检测方法几乎无法完成对轻量级网络流量的特征选择任务,而对于日益复杂的网络流量,手工提取网络流量特征非常困难。
与机器学习方法相比,深度学习模型能够自动从结构化数据中提取特征,减少了人工提取特征的工作量和难度。为此,学者们提出了多种基于深度学习的异常网络流量检测方法,如:基于卷积神经网络(CNN)的方法、基于深度自编码器的方法、基于时间卷积网络(TCN)的方法。上述基于深度学习的异常网络流量检测方法有效地避免了人工提取流量特征所带来的分类特征不准确、主观的问题。网络流量是一种具有时效性的语义文本数据,但这些方法采用单向的方式提取流量特征,而忽略了上下文信息,导致对网络流量语义信息特征提取不完全,进而影响检测模型的性能。
针对网络流量序列化和双向语义的特点,本发明提出了一种基于双向时间卷积神经网络的异常网络流量检测方法BiTCN,以提高异常网络流量的检测精度。该方法首先提取流量的语义信息,利用因果卷积来掌握序列化数据的时间特性,通过膨胀卷积来使卷积网络可以使用更少的层数来获取更大的感受野,同时通过残差块来进行连接,使得网络可以跨层传递信息。同时BiTCN针对于TCN模型为单向模型而对网络流量识别精度不足的缺点,把握流量的正向流量序列与反向流量序列,将这两个序列分别放入到模型中进行学习;然后将学习之后的特征进行融合,从而使该网络可以把握流量语义的上下文信息。本发明提出的方法既可以把握住网络流量的时序性的信息,又充分考虑了网络流量的上下文语义信息,使得异常网络流量的检测更加有效。
发明内容
针对于传统深度学习的方法因为受制于卷积核大小的限制无法获得广泛的感受野,从而不能很好处理网络流量这类具有时序性特征的数据,而单向的网络结构无法获取网络流量的双向语义特征,本方法提出了一种利用双向时间卷积神经网络结构来检测异常网络流量。
本发明提供了一种基于双向时间卷积神经网络的异常网络流量检测方法,包括:
步骤1,获取到原始的流量文件,将流量按照流和会话的方式分割成多个流量数据,去除空流量与重复流量;
步骤2,对获得的分割后流量数据进行截取与补全,生成流量的字节序列,并标记流量的类型;
步骤3,使用均匀随机抽样将步骤2生成的字节序列合理划分为训练集与测试集,将训练集放入到双向时间卷积神经网络进行训练,使用测试集进行验证,得到异常网络流量检测模型;将待检测的网络流量按照步骤1进行分割,按照步骤2生成流量字节序列,然后将流量序列放入异常网络流量检测模型中,得到异常流量的分类结果。
第一方面,上述步骤1中获取代码切片的具体步骤如下:
步骤1.1,捕获网络流量,并以.pcap格式保存;
步骤1.2,采取以流和会话为单位的分割方式将获取的网络流量分割成多个流量数据;
步骤1.3,将流量的地址信息进行删除,然后以随机生成的地址对该位置进行补全以保证训练结果只与流量内容相关,避免地址对流量分类产生干扰;
步骤1.4,遍历所有的流量数据,删除其中的空白流量和重复流量。
第二方面,上述步骤2的具体步骤如下:
步骤2.1,选取流和会话的前784个字节,若流量长度多余该长度,那么则截取前784字节,若流量长度不足,那么不足的部分则以‘0’补全,得到每个会话和流的字节序列X=(x0,x1,...xT);
步骤2.2,对生成的网络流量字节序列进行标记,设置每种流量所对应的种类标签。
第三方面,上述步骤3的具体步骤如下:
步骤3.1,采用均匀随机抽样,将网络数据集划分为十份,取其中九份作为训练数据集,取其中一份作为测试数据集;
步骤3.2,构建正向的检测网络流量的时间卷积神经网络,通过将将因果卷积、膨胀卷积、残差连接相结合以构成残差块,将残差块堆叠形成时间卷积神经网络。因果卷积模块确保每个隐层和输入层通过使用相同的1D-FCN(1D fully-convolutional network)模型架构,来保证其中一个时刻的网络流量特征输出仅与前一层中时刻的值及其更早的值相关,实现对网络流量数据时间序列数据的处理设置。膨胀卷积模块采用间隔采样,并设置不同的扩张系数(记为d=2n-1,其中n为卷积层数)来获得更大的感受野,即间隔采样的间隔随着层数的增加而变大,从而可以获得更大的流量序列感受野。膨胀卷积定义如下:
其中c为网络流量特征,F为膨胀卷积函数,x为网络流量的序列输入,“*”表示卷积操作,d为扩张系数,k为滤波器的大小,s表示该时刻的输入,s-d.i表示流量过去方向信息。
为了传输过程中特征信息的损失,使用激活函数Relu用于执行非线性变换分别得到激活网络流量特性h,W1表示矩阵的权重,b1代表偏差值,σ表示激活函数Relu。
残差连接模块结合残差块的输入信息和因果卷积的输出信息,使网络能够跨层传递信息。通过将因果卷积、膨胀卷积、残差连接相结合以构成残差块,将残差块堆叠形成时间卷积神经网络。将训练集放入到模型中进行训练,得到正向流量的训练结果。
步骤3.3,首先对处理后的正向网络流量输入序列X=(x0,x1,...xT)进行逆序,得到逆序矩阵X'=(xT,...,x1,x0)。然后将反向序列放入逆TCN模型中进行训练,从而学习网络流量特征,得到反向网络流量特征c'。
c'=TCN(x')
接着,利用激活函数对后向特征c'进行非线性变换,得到网络流量的后向激活特征h',其中W2表示权值矩阵,b2表示偏置值,σ表示激活函数ReLU。
h'=σ(W2c'+b2)
经过反向训练得到流量的反向语义特征。
步骤3.4,使用Relu激活函数对正向训练结果与反向训练结果进行非线性激活,并将获取的两个训练结果进行融合,得到全局网络流量特征从而通过融合后的H,进一步对网络流量进行分类,得到异常网络流量检测模型。将待检测的网络流量按照步骤1进行分割,按照步骤2生成流量字节序列,然后将流量序列放入异常网络流量检测模型中,得到异常流量的分类结果。
与现有技术相比,本发明有益的效果:
1、通过TCN网络模型来进行对异常网络流量的识别,使用因果卷积来捕获网络流量中的时序化的信息,使用膨胀卷积来使用更少的卷积层来获取更大的感受野。
2、针对于TCN网络模型无法捕获网络流量的双向语义,提出了双向时间卷积神经网络模型BiTCN,该模型一方面具有TCN具有灵活的感受野和可并行的优点,另一方面也捕获网络流量数据的上下文语义信息,更好地把握流量的双向语义,使异常网络流量的检测准确率得到提高。
附图说明
图1是一种基于双向时间卷积神经网络的异常网络流量检测方法的总体流程图。
图2是双向时间卷积神经网络的模型结构图。
图3是发明的BiTCN模型以及TCN、BiLSTM、LSTM和1D-CNN四个模型在USTC-TFC2016数据集上的检测结果。
图4是发明的BiTCN模型以及TCN、BiLSTM、LSTM和1D-CNN四个模型在CTU数据集上的检测结果。
图5是在USTC-TFC2016数据集上,发明的BiTCN模型在不同学习率下检测正确率随epoch变化的结果。
图6是在CTU数据集上,发明的BiTCN模型在不同学习率下检测正确率随epoch变化的结果。
图7是在USTC-TFC2016数据集上,发明的BiTCN模型与TCN、BiLSTM、LSTM和1D-CNN四个模型的检测正确率随epoch变化的曲线。
图8是在CTU数据集上,发明的BiTCN模型与TCN、BiLSTM、LSTM和1D-CNN四个模型的检测正确率随epoch变化的曲线。
具体实施方式
下面结合附图和实施案例对本发明作进一步说明,应指出的是,所描述的实施案例仅旨在便于对本发明的理解,而对其不起任何限定作用。
本发明旨在针对异常网络流量领域异常网络流量隐蔽性强,对该类流量识别准确性较差的问题,提出了一种基于双向时间卷积神经网络的异常网络流量检测方法,通过把握网络流量的双向语义特征,以建立有效的异常网络流量检测模型。
如图1所示,本发明提出的一种基于双向时间卷积神经网络的异常网络流量检测方法,包括:
步骤201获取到原始的流量文件,将流量按照流和会话的方式分割成多个流量数据,去除空流量与重复流量。
本发明实施流量分割的目的在于,原始的流量文件是以.PCAP格式所存储的,所以神经网络无法直接训练该类数据,而流量文件中因为存在大量空白流量和重复流量,这会对神经网络的学习产生干扰,导致学习特征不充分。通过流和会话的方式将网络流量进行分割,可以减小模型的训练范围以准确把握流量的特征,而去除重复流量和空白流量也可以减少模型的误差,增强模型的识别准确性。
步骤2011捕获网络流量,并以.pcap格式保存;
步骤2012采取以流和会话为单位的分割方式将获取的网络流量分割成多个流量数据;
步骤2013将流量的地址信息进行删除,然后以随机生成的地址对该位置进行补全以保证训练结果只与流量内容相关,避免地址对流量分类产生干扰;
步骤2014遍历所有的流量数据,删除其中的空白流量和重复流量。
步骤202对获得的分割后流量数据进行截取与补全,生成流量的字节序列,并标记流量的类型。
步骤2021选取流和会话的前784个字节,若流量长度多余该长度则截取前784字节,若流量长度不足,那么不足的部分则以‘0’补全,得到每个会话和流的字节序列X=(x0,x1,...xT);
步骤2022对生成的网络流量字节序列进行标记,设置每种流量所对应的种类标签;
本发明实施流量数据的截取与补全的原因在于,对于网络流量数据来说,对流量类型判断所产生影响的内容往往在流量的前一部分,若使用全部的流量去训练神经网络,一方面会导致训练效率的降低,另一方面也不能提升模型的检测准确率。所以此处选取了流量序列的前784个字节为截取长度既保留网络流量的特征,而且保证输入到模型中的流量序列大小相同。
步骤203使用均匀随机抽样将步骤2生成的字节序列合理划分为训练集与测试集。将训练集放入到双向时间卷积神经网络进行训练,使用测试集进行验证,得到异常网络流量检测模型。
步骤2031采用均匀随机抽样,将网络数据集划分为十份,取其中九份作为训练数据集,取其中一份作为测试数据集;
步骤2032构建正向的检测网络流量的时间卷积神经网络,通过将将因果卷积、膨胀卷积、残差连接相结合以构成残差块,将残差块堆叠形成时间卷积神经网络。因果卷积模块确保每个隐层和输入层通过使用相同的1D-FCN(1D fully-convolutional network)模型架构,来保证其中一个时刻的网络流量特征输出仅与前一层中时刻的值及其更早的值相关,实现对网络流量数据时间序列数据的处理设置。膨胀卷积模块采用间隔采样,并设置不同的扩张系数(记为d=2n-1,其中n为卷积层数)来获得更大的感受野,即间隔采样的间隔随着层数的增加而变大,从而可以获得更大的流量序列感受野。膨胀卷积定义如下:
其中c为网络流量特征,F为膨胀卷积函数,x为输入的流量字节序列,“*”为卷积操作,d为扩张系数,k为滤波器的大小,s为输入当前时间的流量信息,s-d.i表示流量过去方向信息。
为了传输过程中特征信息的损失,使用激活函数Relu用于执行非线性变换分别得到激活网络流量特性h,W1表示矩阵的权重,b1代表偏差值,σ表示激活函数Relu。
残差连接模块结合残差块的输入信息和因果卷积的输出信息,使网络能够跨层传递信息。通过将因果卷积、膨胀卷积、残差连接相结合以构成残差块,将残差块堆叠形成时间卷积神经网络。将训练集放入到模型中进行训练,得到正向流量的训练结果。
步骤2033首先对处理后的正向网络流量输入序列X=(x0,x1,...xT)进行逆序,得到逆序矩阵X'=(xT,...,x1,x0)。然后将反向序列放入逆TCN模型中进行训练,从而学习网络流量特征,得到反向网络流量特征c'。
c'=TCN(x')
接着,利用激活函数对后向特征c'进行非线性变换,得到网络流量的后向激活特征h',其中W2表示权值矩阵,b2表示偏置值,σ表示激活函数ReLU。
h'=σ(W2c'+b2)
经过反向训练得到流量的反向语义特征。
步骤2034激活函数对正向训练结果与反向训练结果进行非线性激活,并将获取的两个训练结果进行融合,得到全局网络流量特征从而通过融合后的H,进一步对网络流量进行分类,得到异常网络流量检测模型。将待检测的网络流量网络按照步骤201进行分割,按照步骤202生成流量字节序列,然后将流量序列放入异常网络流量检测模型中,得到异常流量的分类结果。
本发明主要针对异常网络流量进行检测,提出了一种利用双向时间卷积神经网络模型建立异常网络流量检测方法,选用了USTC-TFC2016数据集及CTU数据集进行测试。其中USTC-TFC2016数据集,它包括2011-2015年真实网络环境中收集的10类异常流量和10类正常流量。CTU数据集中包括了2016-2019年的11种网络流量数据,包括10类异常流量和1类正常流量。
本发明将提出的BiTCN模型与TCN、1D-CNN、LSTM和BiLSTM模型进行比较,通过计算五个比较模型的平均检测效率(包括:precision、recall、F1-measure和accuracy)来说明这些模型的检测能力。
图3展示了在数据集USTC-TFC2016上五个模型的检测效果。从图3可以看出本发明提出的BiTCN对网络流量的检测准确率最高,而LSTM模型的检测准确率最差。1D-CNN模型将网络流量转换为图来识别异常的网络流量,虽然准确率较高,但由于没有考虑网络流量的序列化信息,召回率最低。与TCN和LSTM的单向模型相比,BiTCN模型的准确率更高,验证了BiTCN模型对网络流量双向语义的把握可以提高异常网络流量的检测准确率。实验结果证明,双向模型通过捕获网络流量上下文的语义信息,可以获得更高的检测精度。
图4展示了在数据集CTU上五个模型的检测效果。从图4可以看出本发明提出的BiTCN对网络流量的检测准确率最高,可以达到98.93%。随着流量技术的发展,异常网络流量的隐蔽性越来越高,但本发明提出的BiTCN模型仍然对异常网络流量有很好的检测效果,并且具有很高的可移植性。由图4可以看出,虽然BiTCN模型在准确率、召回率和F1-measure方面都略有下降,但相对于其他网络流量检测模型BiTCN模型仍占优势。与LSTM模型相比,BiTCN模型的平均精度提高了1.07%左右;与TCN模型相比,BiTCN模型的召回率提高了约1%。总体而言,在CTU数据集上,与TCN、LSTM、1D-CNN、BiLSTM和BiTCN模型相比,BiTCN模型的准确率分别提高了0.48%、1.28%、1.33%和0.73%,F1-measure的准确率分别提高了1.13%、3.53%、4.89%和0.89%。
从图5可以看出,对于USTC-TFC2016数据集,由于流量选择的特征比较明显,因此在选择不同的学习速率时,模型收敛速度非常快。当学习率不断变小时,准确率仍有一定的提高,当学习率降到0.005以下时,准确率趋于稳定。从图6可以看出,对于CTU数据集,由于引入了几种具有强隐蔽性的异常网络流量,很难提取出该网络流量的特征。当选择不同的学习速率时,随着学习速率的降低,检测准确率呈上升趋势,当学习速率取0.002时准确率最高。一般情况下,当学习速率选择过大时模型收敛较快,但不能收敛到全局最小解,导致模型精度很低;随着学习速率的降低,模型的检测精度会提高,但当学习速率设置过小时模型会陷入局部最优解。综合考虑实验结果,BiTCN模型的学习率设置为0.002。
从图7和图8可以看出,BiTCN模型在不同epoch下的检测精度优于对比的四种模型。与其他四种模型相比,BiTCN模型的训练是基于网络流量的双向语义和序列化特征,即BiTCN模型能够更好地把握网络流量的特征;此外,BiTCN模型中使用了叠加卷积层算法,使其能够快速收敛。这两个优势使得BiTCN模型在第一次训练时就能获得比其他四种模型更好的检测精度。当epoch达到6时,BiTCN模型的精度曲线趋于稳定;而TCN、LSTM、BiLSTM和1D-CNN模型的稳定状态出现在epoch达到7或8时。由于当epoch设置为10时,BiTCN模型的检测精度更高,因此BiTCN模型的epoch设置为10。
Claims (1)
1.一种基于双向时间卷积神经网络的异常网络流量检测方法,其特征在于,包括如下步骤:
步骤1,获取到原始的流量文件,将流量按照流和会话的方式分割成多个流量数据,去除空流量与重复流量;
步骤2,对获得的分割后流量数据进行截取与补全,生成流量的字节序列,并标记流量的类型;
步骤3,使用均匀随机抽样将步骤2生成的字节序列合理划分为训练集与测试集,将训练集放入到双向时间卷积神经网络进行训练,使用测试集进行验证,得到异常网络流量检测模型;将待检测的网络流量按照步骤1进行分割,按照步骤2生成流量字节序列,然后将流量序列放入异常网络流量检测模型中,得到异常流量的分类结果;所述步骤1的具体实现包括如下步骤:
步骤1.1,捕获网络流量,并以.pcap格式保存;
步骤1.2,采取以流和会话为单位的分割方式将获取的网络流量分割成多个流量数据;
步骤1.3,将流量的地址信息进行删除,然后以随机生成的地址进行补全以保证训练结果只与流量内容相关,避免地址对流量分类产生干扰;
步骤1.4,遍历所有的流量数据,删除其中的空白流量和重复流量;
所述步骤2的具体实现包括如下步骤:
步骤2.1,设置流量序列的长度为784,选取流和会话的前784个字节,若流量序列总长度多余该长度,则截取前784个字节,若流量长度不足,那么不足的部分则以‘0’补全,得到每个会话和流的字节序列X=(x0,x1,...xT);
步骤2.2,对生成的网络流量字节序列进行标记,设置每种流量所对应的种类标签;
所述步骤3的具体实现包括如下步骤:
步骤3.1,采用均匀随机抽样的方法,将网络流量数据集划分为十份,取其中九份作为训练数据集,取其中一份作为测试数据集;
步骤3.2,构建正向的时间卷积神经网络,通过将因果卷积、膨胀卷积、残差连接相结合以构成残差块,将残差块堆叠形成时间卷积神经网络,因果卷积模块确保每个隐层和输入层通过使用相同的1D-FCN(1D fully-convolutional network,一维全卷积网络)模型架构)来保证其中一个时刻的网络流量特征输出仅与前一层中时刻的值及其更早的值相关,实现对网络流量数据时间序列数据的处理,膨胀卷积模块采用间隔采样,并设置不同的扩张系数,来获得更大的感受野,记为d=2n-1,其中n为卷积层数,即间隔采样的间隔随着层数的增加而变大,从而可以获得更大的流量序列感受野,残差连接模块结合残差块的输入信息和因果卷积的输出信息,使网络能够跨层传递信息,通过将因果卷积、膨胀卷积、残差连接相结合以构成残差块,将残差块堆叠形成时间卷积神经网络,将训练集放入到模型中进行训练,得到正向流量的训练结果;
步骤3.3,首先对处理后的正向网络流量输入序列X=(x0,x1,...xT)进行逆序,得到逆序矩阵X'=(xT,...,x1,x0),然后将反向序列放入逆TCN模型中进行训练,从而学习网络流量特征,得到反向网络流量特征c',接着,利用激活函数对反向网络流量特征c'进行非线性变换,得到网络流量的后向激活特征h',经过反向训练得到流量的反向语义特征;
步骤3.4,使用Relu激活函数对正向训练结果与反向训练结果进行非线性激活,并将获取的两个训练结果,将训练结果进行融合,得到全局网络流量特征h,从而通过融合后的H,进一步对网络流量进行分类,得到异常网络流量检测模型,将待检测的网络流量按照步骤1进行分割,按照步骤2生成流量字节序列,然后将流量序列放入异常网络流量检测模型中,得到异常流量的分类结果;
Relu激活函数为:
使用激活函数Relu用于执行非线性变换分别得到激活网络流量特性h,W1表示矩阵的权重,b1代表偏差值,σ表示激活函数Relu:
h=σ(W1c+b1),
后向激活特征h'为:
h'=σ(W2c'+b2)
其中W2表示权值矩阵,b2表示偏置值,σ表示激活函数;
膨胀卷积为:
其中c为网络流量特征,F为膨胀卷积函数,x为输入的流量字节序列,“*”为卷积操作,d为扩张系数,k为滤波器的大小,s为输入当前时间的流量信息,s-d.i表示流量过去方向信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210650965.XA CN115037543B (zh) | 2022-06-10 | 2022-06-10 | 一种基于双向时间卷积神经网络的异常网络流量检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210650965.XA CN115037543B (zh) | 2022-06-10 | 2022-06-10 | 一种基于双向时间卷积神经网络的异常网络流量检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115037543A CN115037543A (zh) | 2022-09-09 |
CN115037543B true CN115037543B (zh) | 2024-03-19 |
Family
ID=83122539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210650965.XA Active CN115037543B (zh) | 2022-06-10 | 2022-06-10 | 一种基于双向时间卷积神经网络的异常网络流量检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115037543B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116484260B (zh) * | 2023-04-28 | 2024-03-19 | 南京信息工程大学 | 一种基于双向时间卷积网络的半监督日志异常检测方法 |
CN116232761B (zh) * | 2023-05-04 | 2023-07-14 | 华东交通大学 | 基于shapelet的网络异常流量检测方法及*** |
CN116915514B (zh) * | 2023-09-14 | 2023-12-12 | 鹏城实验室 | 基于双向时间卷积网络的入侵检测方法、装置及智能汽车 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111428789A (zh) * | 2020-03-25 | 2020-07-17 | 广东技术师范大学 | 一种基于深度学习的网络流量异常检测方法 |
CN114065210A (zh) * | 2021-10-27 | 2022-02-18 | 江苏大学 | 一种基于改进的时间卷积网络的漏洞检测方法 |
CN114363195A (zh) * | 2022-01-11 | 2022-04-15 | 北京工业大学 | 面向时间和频谱残差卷积网络的网络流量预测预警方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101880907B1 (ko) * | 2017-09-22 | 2018-08-16 | 펜타시큐리티시스템 주식회사 | 비정상 세션 감지 방법 |
-
2022
- 2022-06-10 CN CN202210650965.XA patent/CN115037543B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111428789A (zh) * | 2020-03-25 | 2020-07-17 | 广东技术师范大学 | 一种基于深度学习的网络流量异常检测方法 |
CN114065210A (zh) * | 2021-10-27 | 2022-02-18 | 江苏大学 | 一种基于改进的时间卷积网络的漏洞检测方法 |
CN114363195A (zh) * | 2022-01-11 | 2022-04-15 | 北京工业大学 | 面向时间和频谱残差卷积网络的网络流量预测预警方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115037543A (zh) | 2022-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115037543B (zh) | 一种基于双向时间卷积神经网络的异常网络流量检测方法 | |
WO2022041394A1 (zh) | 一种网络加密流量识别方法及装置 | |
CN111126386B (zh) | 场景文本识别中基于对抗学习的序列领域适应方法 | |
CN112308158A (zh) | 一种基于部分特征对齐的多源领域自适应模型及方法 | |
CN110048827B (zh) | 一种基于深度学习卷积神经网络的类模板攻击方法 | |
CN112270347A (zh) | 一种基于改进ssd的医疗废弃物分类检测方法 | |
CN107194418B (zh) | 一种基于对抗特征学习的水稻蚜虫检测方法 | |
CN113806746B (zh) | 基于改进cnn网络的恶意代码检测方法 | |
CN110222218B (zh) | 基于多尺度NetVLAD和深度哈希的图像检索方法 | |
CN110166484A (zh) | 一种基于LSTM-Attention网络的工业控制***入侵检测方法 | |
CN107945210B (zh) | 基于深度学习和环境自适应的目标跟踪方法 | |
CN111259397B (zh) | 一种基于马尔科夫图和深度学习的恶意软件分类方法 | |
CN106254321A (zh) | 一种全网络异常数据流分类方法 | |
CN110971603B (zh) | 一种基于深度学习的异常流量检测方法及*** | |
CN116152554A (zh) | 基于知识引导的小样本图像识别*** | |
CN115174272A (zh) | 一种基于元学习的小样本恶意网络流量检测方法 | |
CN114726802A (zh) | 一种基于不同数据维度的网络流量识别方法及装置 | |
CN116977725A (zh) | 一种基于改进卷积神经网络的异常行为识别方法及装置 | |
CN113537306A (zh) | 一种基于渐进式成长元学习的图像分类方法 | |
CN109359090A (zh) | 基于卷积神经网络的文件碎片分类方法及*** | |
Ghiassi et al. | Trusted loss correction for noisy multi-label learning | |
CN112380919A (zh) | 一种车辆类别统计方法 | |
CN115242458B (zh) | 一种基于shap的1d-cnn网络流量分类模型的可解释方法 | |
Ni et al. | Enhanced knowledge distillation for face recognition | |
CN115941281A (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 |