CN113449815A - 一种基于深度包分析的异常包检测方法及系统 - Google Patents
一种基于深度包分析的异常包检测方法及系统 Download PDFInfo
- Publication number
- CN113449815A CN113449815A CN202110819948.XA CN202110819948A CN113449815A CN 113449815 A CN113449815 A CN 113449815A CN 202110819948 A CN202110819948 A CN 202110819948A CN 113449815 A CN113449815 A CN 113449815A
- Authority
- CN
- China
- Prior art keywords
- packet
- network
- feature
- layer
- vector
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/045—Combinations of 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/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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
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
本发明公开了一种基于深度包分析的异常包检测方法及系统,该方法包括对网络包提取包负载并添加标签,生成包样本;利用滑动块对每个包样本提取短字符序列的项并过滤低频项,构造出块序列;利用基于LSTM和CNN的深度特征学习模型和基于多头自注意力机制的深度特征学习模型对块序列分别提取聚合空间特征和全局特征;利用基于加性注意力网络的异常检测器根据聚合空间特征和全局特征进行异常行为检测。本发明利用基于包负载信息的块序列构造方法获取包负载信息的有效表征;然后从局部角度学习块序列局部特征的聚合表示,并在全局角度学习块序列项之间潜在的长期和短期依赖关系;最后利用基于多头注意力机制的异常检测器对异常包进行有效检测。
Description
技术领域
本发明涉及网络包异常检测技术领域,具体涉及一种基于深度包分析的异常包检测方法及系统。
背景技术
网络包是各类网络服务和网络应用进行信息通信的重要数据载体。基于包的网络异常行为可利用包含于各类协议包负载中的攻击字符来实施攻击行为。现有包异常检测技术可通过检测包负载来发现其中可能存在的潜在异常特征。Suricata和Snort等工具能够将提取出的包负载特征与预定义的规则进行比较,发现异常包。尽管基于规则的异常检测方法对于已知异常类型的包异常检测是非常有效的,但是它们在很大程度上还依赖于深入的专家知识,且构建相应异常检测规则的过程需要耗费较长时间的人力进行调试和部署。美国哥伦比亚大学的K.Wang等人提出PAYL框架来检测包负载异常,该框架对包负载序列的1-gram字符进行提取,统计字符的频率分布作为特征来检测异常行为。该技术仅利用了包负载字符的部分统计信息,未考虑包负载中丰富的字符前后关联信息,难以实现更为准确的包异常检测。国防科技大学的Z.Qin等人提出了一种基于注意机制的循环神经网络(RNN)模型ATPAD来检测包负载中的异常。该模型采用词嵌入和RNN提取包负载特征,并基于注意力机制计算这些包负载特征与异常行为之间的相关性。但该技术仅考虑了前后关联较为紧密的字符序列信息,难以检测异常特征距离较远、具有长时依赖信息的异常包。
发明内容
针对现有技术中的上述不足,本发明提供了一种基于深度包分析的异常包检测方法及系统。
为了达到上述发明目的,本发明采用的技术方案为:
第一方面,本发明提供了一种基于深度包分析的异常包检测方法,包括以下步骤:
S1、对网络包提取包负载并添加标签,生成包样本;
S2、利用滑动块对每个包样本提取短字符序列的项并过滤低频项,构造出块序列;
S3、利用基于LSTM和CNN的深度特征学习模型和基于多头自注意力机制的深度特征学习模型对块序列分别提取聚合空间特征和全局特征;
S4、利用基于加性注意力网络的异常检测器根据聚合空间特征和全局特征进行异常行为检测。
进一步地,所述步骤S1具体包括以下分步骤:
S11、对网络包基于网络协议进行包解析,提取出包负载;
S12、将每个包负载转换为字节流,并添加标记该包负载状态的标签,生成包样本。
进一步地,所述步骤S2具体包括以下分步骤:
S21、利用设定长度的滑动块在每个包样本上以固定长度的步幅连续滑动,依次提取短字符序列的项;
S22、将提取的短字符序列的项按照提取顺序进行排列,构建初始的块序列;
S23、构造记录包样本中所有已提取项的频次的字典,将字典中的项按照频次高低进行排序,保留设定个数的高频项;
S24、利用字典移除初始的块序列中的低频项,将剩余项按照提取顺序进行排列,构建最终的块序列。
进一步地,所述步骤S3中利用基于LSTM和CNN的深度特征学习模型对块序列提取聚合空间特征具体包括以下分步骤:
S31、将块序列中的项基于自学习的块嵌入层编码为低维的嵌入向量;
S32、在LSTM神经网络的每个时间步输入嵌入向量,计算更新LSTM神经网络的单元状态;
S33、根据单元状态和上一时间步的隐状态、当前输入的嵌入向量计算当前时间步的隐藏状态;
S34、将LSTM神经网络的隐藏状态按照时间步输出顺序连接并重塑为二维矩阵;
S35、在CNN神经网络的卷积层上利用多个卷积滤波器滑动到二维矩阵上提取局部空间特征,并在每个卷积层后利用最大池化层获得区域特征的最大值;
S36、将提取的每个块序列的空间特征展平为聚合特征向量。
进一步地,所述步骤S3中基于多头自注意力机制的深度特征学习模型具体包括:
多个相同结构的网络层;其中,
每个网络层包括多头自注意力机制子层和全连接前馈网络子层,以及设置在多头自注意力机制子层和全连接前馈网络子层后的第一层归一化层和第二层归一化层;所述多头自注意力机制子层的输入层通过残差连接至其输出层,所述全连接前馈网络子层的输入层通过残差连接至其输出层。
进一步地,所述步骤S3中利用基于多头自注意力机制的深度特征学习模型对块序列提取全局特征具体包括以下分步骤:
S37、将嵌入向量组成的矩阵输入多头自注意力机制子层,转化为不同类型的投影;
S38、将各个类型的投影分割为不同的表示子空间,并在每个表示子空间中引入缩放点积注意力函数,计算每个表示子空间的输出向量;
S39、将每个表示子空间的输出向量进行拼接并投影,生成多头自注意力机制子层的输出向量,并利用激活函数进行激活;
S310、将多头自注意力机制子层激活后的输出向量与输入的嵌入向量通过残差连接进行拼接,并通过第一层归一化层进行层归一化处理;
S311、将层归一化后的拼接向量输入全连接前馈网络子层的两层全连接神经网络进行全连接运算,并将其输出向量与输入的拼接向量通过残差连接进行拼接,最后通过第二层归一化层进行层归一化处理,得到全局特征。
进一步地,所述步骤S4中基于加性注意力网络的异常检测器具体包括:
加性注意力网络和多层感知器;
所述加性注意力网络根据聚合空间特征和全局特征生成加权和特征;
所述多层感知器将加权和特征与全局特征的拼接向量转化为二维输出向量。
进一步地,所述步骤S4具体包括以下分步骤:
S41、利用加性注意力网络根据聚合空间特征和全局特征生成加权和特征;
S42、利用多层感知器将加权和特征与全局特征的拼接向量转化为二维输出向量;
S43、将二维输出向量映射为二维分布,得到异常行为检测结果。
进一步地,所述步骤S41具体包括以下分步骤:
S411、计算聚合空间特征和全局特征之间的相关性度量函数,表示为
score(Vcnn,zi)=uTtanh(Ws[Vcnn;zi]+bs)
其中,zi表示聚合空间特征,Vcnn表示全局特征,score(Vcnn,zi)表示聚合空间特征Zi和全局特征Vcnn之间的相关性度量函数,u表示可学习权重向量,Ws表示聚合空间特征和全局特征串联的参数矩阵,bs表示偏置向量;
S412、根据聚合空间特征和全局特征之间的相关性度量函数计算聚合空间特征对应的注意力系数,表示为
其中,αi表示聚合空间特征zi对应的注意力系数,L表示块序列的长度,t表示求和参数;
S413、根据聚合空间特征及其对应的注意力系数计算加权和特征,表示为
其中,c表示加权和特征。
第二方面,本发明还提供了一种基于深度包分析的异常包检测系统,包括:
数据预处理模块,用于对网络包提取包负载并添加标签,生成包样本;
块序列构建模块,用于利用滑动块对每个包样本提取短字符序列的项并过滤低频项,构造出块序列;
深度特征学习模块,用于利用基于LSTM和CNN的深度特征学习模型和基于多头自注意力机制的深度特征学习模型对块序列分别提取聚合空间特征和全局特征;
异常检测器模块,用于利用基于加性注意力网络的异常检测器根据聚合空间特征和全局特征进行异常行为检测。
本发明具有以下有益效果:
(1)本发明提出了一种块序列构造方法来构造一个有效的包负载表达式,构造的块序列既包含高维信息,又包含底层序列信息,可以揭示数据包负载中异常字节之间的长期依赖关系;该块序列构造方法不依赖于深入的专家知识;
(2)本发明提出了一个有效的神经网络检测模型,能够高效检测具有长期依赖关系的异常包;该模型利用一个自学习的块嵌入层和一个专门设计的具有两个分支的神经网络来学习块序列之间的两种不同的依赖关系;第一个分支从局部特征到聚集表示的角度学习块序列之间潜在的长期和短期依赖关系,而第二个分支基于多头自注意机制从全局角度学习依赖关系;然后,在神经网络模型后叠加一个具有注意机制的分类器,用于整合信息和发现包负载中潜在的异常;
(3)本发明能够对包进行毫秒级快速检测,检测性能优异。
附图说明
图1为本发明实施例提供的基于深度包分析的异常包检测方法流程示意图;
图2为本发明实施例中块序列构造过程示意图;
图3为本发明实施例中基于LSTM和CNN的神经网络结构示意图;
图4为本发明实施例中基于多头自注意力机制的神经网络结构示意图;
图5为本发明实施例中基于加性注意力网络的异常检测器结构示意图;
图6为本发明实施例提供的基于深度包分析的异常包检测系统结构示意图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
本发明提出一个基于深度包分析的异常包检测方法及系统。本发明首先提出了一种基于包负载信息的块序列构造方法来获得包负载信息的有效表征;然后,通过一个特殊设计的具有两个神经网络分支的深度特征学习模型学习块序列中的深层次特征。该深度特征学习模型不仅能够从局部角度学习块序列局部特征的聚合表示,而且可以在全局角度学习块序列项之间潜在的长期和短期依赖关系。最后,利用基于多头注意力机制的异常检测器对异常包进行有效检测。
实施例1
如图1所示,本发明实施例提供了一种基于深度包分析的异常包检测方法,包括以下步骤S1至S4:
S1、对网络包提取包负载并添加标签,生成包样本;
在本实施例中,步骤S1具体包括以下分步骤S11至S12:
S11、对网络包基于网络协议进行包解析,提取出包负载;
S12、将每个包负载转换为字节流,并添加标记该包负载状态的标签,生成包样本。
具体而言,本发明从网络包中提取出包负载,并将包负载转换为适用于块序列构建的数据形式。包负载的提取通过基于网络协议的包解析过程实现,然后对提取出的包负载构建有效的特征表达。在提出包负载后,将每个包的包负载转换为字节流,每个字节流附带一个标签来标记该包负载是正常或异常。
S2、利用滑动块对每个包样本提取短字符序列的项并过滤低频项,构造出块序列;
在本实施例中,步骤S2具体包括以下分步骤S21至S24:
S21、利用设定长度的滑动块在每个包样本上以固定长度的步幅连续滑动,依次提取短字符序列的项;
S22、将提取的短字符序列的项按照提取顺序进行排列,构建初始的块序列;
S23、构造记录包样本中所有已提取项的频次的字典,将字典中的项按照频次高低进行排序,保留设定个数的高频项;
S24、利用字典移除初始的块序列中的低频项,将剩余项按照提取顺序进行排列,构建最终的块序列。
具体而言,本发明提出一种能够表达包负载高维信息和潜在序列信息的块序列构造方法,将数据预处理模块输出的字节流构造为块序列来进行网络异常行为检测,而不直接使用字节流作为后续模型的输入特征。块序列构造过程分为两个步骤:首先利用滑动块为每个包负载构造一个块序列。滑动块在字节流上滑动,提取出许多可以看作短字符序列的项(Item)。为了保留字节流原本的顺序信息,每个项按照提取顺序进行排列;然后,为删除对异常行为检测不重要的信息,通过一个字典过滤掉每个块序列中的低频项,该字典记录了训练集中所有已提取项的频次信息。
块序列的构造过程如图2所示。特定长度的滑动块在每个包的包负载上连续滑动。当滑动块滑动到某个位置时,提取一个项,然后滑动块以固定长度的步幅移动,反复进行项的提取。最后,根据提取的顺序,对提取出的项进行排列,从而构建出块序列。
在滑动块的提取过程中构造用于低频项过滤的字典。字典记录记录了训练集包负载中所有已提取项的频次。将字典中的项从高频到低频进行排序,把前TS个高频项保留在排序后的字典中。基于字典移除所构造的块序列中的低频项,并按原始顺序排列剩余项。
S3、利用基于LSTM和CNN的深度特征学习模型和基于多头自注意力机制的深度特征学习模型对块序列分别提取聚合空间特征和全局特征;
在本实施例中,本发明利用基于LSTM和CNN的深度特征学习模型和基于多头自注意力机制的深度特征学习模型的两个神经网络分支,分别对块序列中的长期和短期依赖关系进行学习,如图3所示。
本发明利用基于LSTM和CNN的深度特征学习模型对块序列提取聚合空间特征具体包括以下分步骤S31至S36:
S31、将块序列中的项基于自学习的块嵌入层编码为低维的嵌入向量;
S32、在LSTM神经网络的每个时间步输入嵌入向量,计算更新LSTM神经网络的单元状态;
S33、根据单元状态和上一时间步的隐状态、当前输入的嵌入向量计算当前时间步的隐藏状态;
S34、将LSTM神经网络的隐藏状态按照时间步输出顺序连接并重塑为二维矩阵;
S35、在CNN神经网络的卷积层上利用多个卷积滤波器滑动到二维矩阵上提取局部空间特征,并在每个卷积层后利用最大池化层获得区域特征的最大值;
S36、将提取的每个块序列的空间特征展平为聚合特征向量。
具体而言,本发明利用基于LSTM和CNN的深度特征学习模型学习块序列项之间潜在的长期和短期依赖关系,将块序列中的复杂局部特征表示为一个聚合表征。块序列中的项基于自学习的块嵌入层编码为低维的嵌入向量。按照块序列中项的顺序连接所有嵌入向量后,块序列可表示为BL=[e1;e2;…;eL]。其中ei∈Rd是块序列中项的嵌入向量,d是嵌入向量的维数,L是块序列的长度。块序列嵌入向量将作为LSTM和CNN神经网络分支的输入。
本发明利用LSTM神经网络来学习块序列中的长时依赖关系。LSTM神经网络的每个时间步t输入嵌入向量et,通过内部的非线性计算更新LSTM的单元状态cst,并根据先前的隐状态ht-1和当前输入的嵌入向量et输出当前时间步的隐藏状态ht。LSTM神经网络的每个时间步t输出隐藏状态ht的计算过程如下:
ft=σ(Wf·[ht-1;et]+bf)
it=σ(Wi·[ht-1;et]+bi)
ot=σ(Wo·[ht-1;et]+bo)
cst=ft*cst-1+tt*tanh(Wcs·[ht-1;et]+bcs)
ht=ot*tanh(cst)
其中,ft、it和ot分别表示遗忘门、输入门和输出门,它们控制着LSTM隐藏状态的更新过程;σ表示logistic sigmoid函数,tanh表示双曲正切函数;W表示权重矩阵,b表示偏差;符号·和*分别表示Matmul积和Hadamard积。
本发明利用CNN神经网络提取LSTM神经网络隐藏状态中的局部空间信息。LSTM神经网络隐藏状态按照时间步输出顺序连接并重塑为二维矩阵。在卷积层,多个卷积滤波器滑动到矩阵上进行卷积运算,提取局部空间特征。在每个卷积层后,采用最大池化获得区域特征的最大值来保留重要特征,增强模型的泛化能力。此外,利用ReLU(Rectified LinerUnit)函数对输出特征进行非线性约束激活。在卷积和池化之后,CNN神经网络提取出的每个块序列的空间特征展平为向量Vcnn,表示块序列特征的聚合表征。
本发明构建基于多头自注意力机制的深度特征学习模型,具体包括:
多个相同结构的网络层;其中,
每个网络层包括多头自注意力机制子层和全连接前馈网络子层,以及设置在多头自注意力机制子层和全连接前馈网络子层后的第一层归一化层和第二层归一化层;所述多头自注意力机制子层的输入层通过残差连接至其输出层,所述全连接前馈网络子层的输入层通过残差连接至其输出层。
本发明利用基于多头自注意力机制的深度特征学习模型对块序列提取全局特征具体包括以下分步骤S37至S311:
S37、将嵌入向量组成的矩阵输入多头自注意力机制子层,转化为不同类型的投影;
S38、将各个类型的投影分割为不同的表示子空间,并在每个表示子空间中引入缩放点积注意力函数,计算每个表示子空间的输出向量;
S39、将每个表示子空间的输出向量进行拼接并投影,生成多头自注意力机制子层的输出向量,并利用激活函数进行激活;
S310、将多头自注意力机制子层激活后的输出向量与输入的嵌入向量通过残差连接进行拼接,并通过第一层归一化层进行层归一化处理;
S311、将层归一化后的拼接向量输入全连接前馈网络子层的两层全连接神经网络进行全连接运算,并将其输出向量与输入的拼接向量通过残差连接进行拼接,最后通过第二层归一化层进行层归一化处理,得到全局特征。
具体而言,本发明利用基于多头自注意力机制的神经网络从全局的角度来学习块序列之间潜在的长期和短期依赖关系,直接发现项与块序列之间最重要的依赖关系。
基于多头自注意力机制的神经网络由m个相同的网络层组成,每层有两个子层,即多头自注意力机制子层和全连接前馈网络子层。神经网络使用残差连接(ResidualConnection)分别将两个子层的输入连接至输出层,并在残差连接处理之后进行层归一化(Layer Normalization)。基于多头自注意力机制的神经网络整体结构如图4所示。
在多头自注意力机制子层中,由嵌入向量组成的矩阵BL=[e1;e2;…;eL]转化为三种类型的投影,即Q、K和V。其中ei∈Rd,BL∈RL×d,转化过程如下:
Q=BLWQ,K=BLWK,V=BLWV
其中,WQ,WK,WV∈Rd×d表示参数矩阵,d表示嵌入向量的维数,Q,K,V∈RL×d。
然后,将上述三种投影分割为H个不同的表示子空间,例如Q=[Q1;Q2;…;QH],其中dhead=d/H。在每个表示子空间中分别计算引入的缩放点积注意力函数,以基于Qi、Ki和Vi来计算每个子空间的输出。将每个子空间的输出向量进行拼接并投影以生成第一个子层的输出,表示为:
MultiHead(Q,K,V)=Concat(hd1;hd2;…;hdH)WO
其中,Concat(·)函数表示连接所有头的操作,参数矩阵Wo∈Rd×d。
多头自注意力机制子层对输出向量通过ReLU激活函数进行激活后与输入的嵌入向量通过残差连接进行拼接,并通过第一层归一化层进行层归一化处理。
在全连接前馈网络子层中,包括两层的全连接神经网络,将输入的层归一化后的拼接向量进行全连接运算,并将其输出向量与输入的拼接向量通过残差连接进行拼接,最后通过第二层归一化层进行层归一化处理,得到全局特征。
最后,块序列中每个项的重要依赖关系被表示为特征向量Z=[z1;z2;…;zL],其中zi∈Rd。特征向量Z被输入至分类器进行异常行为检测。
S4、利用基于加性注意力网络的异常检测器根据聚合空间特征和全局特征进行异常行为检测。
在本实施例中,步骤S4具体包括以下分步骤:
S41、利用加性注意力网络根据聚合空间特征和全局特征生成加权和特征,具体包括以下分步骤:
S411、计算聚合空间特征和全局特征之间的相关性度量函数,表示为
score(Vcnn,zi)=uTtanh(Ws[Vcnn;zi]+bs)
其中,zi表示聚合空间特征,Vcnn表示全局特征,score(Vcnn,zi)表示聚合空间特征Zi和全局特征Vcnn之间的相关性度量函数,u表示可学习权重向量,Ws表示聚合空间特征和全局特征串联的参数矩阵,bs表示偏置向量;
S412、根据聚合空间特征和全局特征之间的相关性度量函数计算聚合空间特征对应的注意力系数,表示为
其中,αi表示聚合空间特征zi对应的注意力系数,L表示块序列的长度,t表示求和参数;
S413、根据聚合空间特征及其对应的注意力系数计算加权和特征,表示为
其中,c表示加权和特征;
S42、利用多层感知器将加权和特征与全局特征的拼接向量转化为二维输出向量;
S43、将二维输出向量映射为二维分布,得到异常行为检测结果。
具体而言,本发明利用基于加性注意力网络的异常检测器将基于包的网络异常行为检测问题转化为分类问题,在上述特殊设计的两个神经网络分支后添加分类器进行异常行为检测。异常检测器综合了两个神经网络分支中提取的两种特征,由两部分网络构成,包括加性注意力网络(Additive Attention Network)和多层感知器MLP。异常检测器结构如图5所示。
在加性注意力网络中,向量c由所有特征向量Z导出。考虑Vcnn和特征向量Z之间不同的相关性,向量c为特征Z的加权和,表示为
其中,注意力系数αi反映了特征zi在向量c中的贡献。向量α的每个维度,即注意力系数αi由下式计算得到
其中score(·)是一个度量函数,用于计算Vcnn和特征zi之间的相关性。与Vcnn关系更密切的zi被认为是异常检测中更重要的特征,其注意力系数αi将更大。本系统利用MLP来近似学习Vcnn和Z之间的相关性度量函数,度量函数score(·)的定义为
score(Vcnn,zi)=uTtanh(Ws[Vcnn;zi]+bs)
其中Ws是Vcnn和zi串联的参数矩阵,bs是偏置向量,u是生成标量值的可学习权重向量。
异常检测器采用了两层MLP综合两种信息,将c与向量Vcnn的拼接向量转化为二维的输出向量。Softmax函数将二维向量映射为二维分布s=(s0,s1),其每一维的值s0,s1在0和1之间且两个值的和为1。每个样本的异常判决标签表示为:
其中,label=0表示异常检测器判断输入的包为正常,label=1表示异常检测器判断输入的包为异常。
实施例2
本发明实施例还提供了一种应用实施例1描述的基于深度包分析的异常包检测方法的系统,包括数据预处理模块、块序列构建模块、深度特征学习模块和异常检测器模块。数据预处理和块序列构建模块构成了系统的前半部分,为每个包负载构造一个块序列。数据预处理模块对包的包负载进行提取并添加标签;块序列构建模块基于滑动块对块序列进行构建,并使用一个仅保留高频项的字典去除了块序列中对异常检测不重要的低频项。后两个模块构成了系统的后半部分,自适应地检测基于包的网络异常行为。
如图6所示,本发明实施例提供的基于深度包分析的异常包检测系统包括:
数据预处理模块,用于对网络包提取包负载并添加标签,生成包样本;
块序列构建模块,用于利用滑动块对每个包样本提取短字符序列的项并过滤低频项,构造出块序列;
深度特征学习模块,用于利用基于LSTM和CNN的深度特征学习模型和基于多头自注意力机制的深度特征学习模型对块序列分别提取聚合空间特征和全局特征;
异常检测器模块,用于利用基于加性注意力网络的异常检测器根据聚合空间特征和全局特征进行异常行为检测。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (10)
1.一种基于深度包分析的异常包检测方法,其特征在于,包括以下步骤:
S1、对网络包提取包负载并添加标签,生成包样本;
S2、利用滑动块对每个包样本提取短字符序列的项并过滤低频项,构造出块序列;
S3、利用基于LSTM和CNN的深度特征学习模型和基于多头自注意力机制的深度特征学习模型对块序列分别提取聚合空间特征和全局特征;
S4、利用基于加性注意力网络的异常检测器根据聚合空间特征和全局特征进行异常行为检测。
2.根据权利要求1所述的基于深度包分析的异常包检测方法,其特征在于,所述步骤S1具体包括以下分步骤:
S11、对网络包基于网络协议进行包解析,提取出包负载;
S12、将每个包负载转换为字节流,并添加标记该包负载状态的标签,生成包样本。
3.根据权利要求1所述的基于深度包分析的异常包检测方法,其特征在于,所述步骤S2具体包括以下分步骤:
S21、利用设定长度的滑动块在每个包样本上以固定长度的步幅连续滑动,依次提取短字符序列的项;
S22、将提取的短字符序列的项按照提取顺序进行排列,构建初始的块序列;
S23、构造记录包样本中所有已提取项的频次的字典,将字典中的项按照频次高低进行排序,保留设定个数的高频项;
S24、利用字典移除初始的块序列中的低频项,将剩余项按照提取顺序进行排列,构建最终的块序列。
4.根据权利要求1所述的基于深度包分析的异常包检测方法,其特征在于,所述步骤S3中利用基于LSTM和CNN的深度特征学习模型对块序列提取聚合空间特征具体包括以下分步骤:
S31、将块序列中的项基于自学习的块嵌入层编码为低维的嵌入向量;
S32、在LSTM神经网络的每个时间步输入嵌入向量,计算更新LSTM神经网络的单元状态;
S33、根据单元状态和上一时间步的隐状态、当前输入的嵌入向量计算当前时间步的隐藏状态;
S34、将LSTM神经网络的隐藏状态按照时间步输出顺序连接并重塑为二维矩阵;
S35、在CNN神经网络的卷积层上利用多个卷积滤波器滑动到二维矩阵上提取局部空间特征,并在每个卷积层后利用最大池化层获得区域特征的最大值;
S36、将提取的每个块序列的空间特征展平为聚合空间特征向量。
5.根据权利要求4所述的基于深度包分析的异常包检测方法,其特征在于,所述步骤S3中基于多头自注意力机制的深度特征学习模型具体包括:
多个相同结构的网络层;其中,
每个网络层包括多头自注意力机制子层和全连接前馈网络子层,以及设置在多头自注意力机制子层和全连接前馈网络子层后的第一层归一化层和第二层归一化层;所述多头自注意力机制子层的输入层通过残差连接至其输出层,所述全连接前馈网络子层的输入层通过残差连接至其输出层。
6.根据权利要求5所述的基于深度包分析的异常包检测方法,其特征在于,所述步骤S3中利用基于多头自注意力机制的深度特征学习模型对块序列提取全局特征具体包括以下分步骤:
S37、将嵌入向量组成的矩阵输入多头自注意力机制子层,转化为不同类型的投影;
S38、将各个类型的投影分割为不同的表示子空间,并在每个表示子空间中引入缩放点积注意力函数,计算每个表示子空间的输出向量;
S39、将每个表示子空间的输出向量进行拼接并投影,生成多头自注意力机制子层的输出向量,并利用激活函数进行激活;
S310、将多头自注意力机制子层激活后的输出向量与输入的嵌入向量通过残差连接进行拼接,并通过第一层归一化层进行层归一化处理;
S311、将层归一化后的拼接向量输入全连接前馈网络子层的两层全连接神经网络进行全连接运算,并将其输出向量与输入的拼接向量通过残差连接进行拼接,最后通过第二层归一化层进行层归一化处理,得到全局特征。
7.根据权利要求1所述的基于深度包分析的异常包检测方法,其特征在于,所述步骤S4中基于加性注意力网络的异常检测器具体包括:
加性注意力网络和多层感知器;
所述加性注意力网络根据聚合空间特征和全局特征生成加权和特征;
所述多层感知器将加权和特征与全局特征的拼接向量转化为二维输出向量。
8.根据权利要求6所述的基于深度包分析的异常包检测方法,其特征在于,所述步骤S4具体包括以下分步骤:
S41、利用加性注意力网络根据聚合空间特征和全局特征生成加权和特征;
S42、利用多层感知器将加权和特征与全局特征的拼接向量转化为二维输出向量;
S43、将二维输出向量映射为二维分布,得到异常行为检测结果。
9.根据权利要求7所述的基于深度包分析的异常包检测方法,其特征在于,所述步骤S41具体包括以下分步骤:
S411、计算聚合空间特征和全局特征之间的相关性度量函数,表示为
score(Vcnn,zi)=uTtanh(Ws[Vcnn;zi]+bs)
其中,zi表示聚合空间特征,Vcnn表示全局特征,score(Vcnn,zi)表示聚合空间特征zi和全局特征Vcnn之间的相关性度量函数,u表示可学习权重向量,Ws表示聚合空间特征和全局特征串联的参数矩阵,bs表示偏置向量;
S412、根据聚合空间特征和全局特征之间的相关性度量函数计算聚合空间特征对应的注意力系数,表示为
其中,αi表示聚合空间特征zi对应的注意力系数,L表示块序列的长度,t表示求和参数;
S413、根据聚合空间特征及其对应的注意力系数计算加权和特征,表示为
其中,c表示加权和特征。
10.一种基于深度包分析的异常包检测系统,其特征在于,包括:
数据预处理模块,用于对网络包提取包负载并添加标签,生成包样本;
块序列构建模块,用于利用滑动块对每个包样本提取短字符序列的项并过滤低频项,构造出块序列;
深度特征学习模块,用于利用基于LSTM和CNN的深度特征学习模型和基于多头自注意力机制的深度特征学习模型对块序列分别提取聚合空间特征和全局特征;
异常检测器模块,用于利用基于加性注意力网络的异常检测器根据聚合空间特征和全局特征进行异常行为检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110819948.XA CN113449815B (zh) | 2021-07-20 | 2021-07-20 | 一种基于深度包分析的异常包检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110819948.XA CN113449815B (zh) | 2021-07-20 | 2021-07-20 | 一种基于深度包分析的异常包检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113449815A true CN113449815A (zh) | 2021-09-28 |
CN113449815B CN113449815B (zh) | 2023-01-24 |
Family
ID=77816821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110819948.XA Active CN113449815B (zh) | 2021-07-20 | 2021-07-20 | 一种基于深度包分析的异常包检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113449815B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114205138A (zh) * | 2021-12-09 | 2022-03-18 | 麒麟软件有限公司 | 针对容器云平台的网络入侵检测方法 |
CN114745155A (zh) * | 2022-03-14 | 2022-07-12 | 河海大学 | 一种网络异常流量检测方法、装置及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107682216A (zh) * | 2017-09-01 | 2018-02-09 | 南京南瑞集团公司 | 一种基于深度学习的网络流量协议识别方法 |
US20180284737A1 (en) * | 2016-05-09 | 2018-10-04 | StrongForce IoT Portfolio 2016, LLC | Methods and systems for detection in an industrial internet of things data collection environment with large data sets |
US20200089556A1 (en) * | 2018-09-18 | 2020-03-19 | Nec Laboratories America, Inc. | Anomalous account detection from transaction data |
CN111131069A (zh) * | 2019-11-25 | 2020-05-08 | 北京理工大学 | 一种基于深度学习策略的异常加密流量检测与分类方法 |
CN111651504A (zh) * | 2020-06-03 | 2020-09-11 | 湖南大学 | 基于深度学习的多元时间序列多层时空依赖建模方法 |
EP3783856A1 (en) * | 2019-08-20 | 2021-02-24 | Allot Ltd | System, device, and method of detecting, mitigating and isolating a signaling storm |
CN112887323A (zh) * | 2021-02-09 | 2021-06-01 | 上海大学 | 一种面向工业互联网边界安全的网络协议关联与识别方法 |
CN112883738A (zh) * | 2021-03-23 | 2021-06-01 | 西南交通大学 | 基于神经网络和自注意力机制的医学实体关系抽取方法 |
CN112905421A (zh) * | 2021-03-18 | 2021-06-04 | 中科九度(北京)空间信息技术有限责任公司 | 基于注意力机制的lstm网络的容器异常行为检测方法 |
-
2021
- 2021-07-20 CN CN202110819948.XA patent/CN113449815B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180284737A1 (en) * | 2016-05-09 | 2018-10-04 | StrongForce IoT Portfolio 2016, LLC | Methods and systems for detection in an industrial internet of things data collection environment with large data sets |
CN107682216A (zh) * | 2017-09-01 | 2018-02-09 | 南京南瑞集团公司 | 一种基于深度学习的网络流量协议识别方法 |
US20200089556A1 (en) * | 2018-09-18 | 2020-03-19 | Nec Laboratories America, Inc. | Anomalous account detection from transaction data |
EP3783856A1 (en) * | 2019-08-20 | 2021-02-24 | Allot Ltd | System, device, and method of detecting, mitigating and isolating a signaling storm |
CN111131069A (zh) * | 2019-11-25 | 2020-05-08 | 北京理工大学 | 一种基于深度学习策略的异常加密流量检测与分类方法 |
CN111651504A (zh) * | 2020-06-03 | 2020-09-11 | 湖南大学 | 基于深度学习的多元时间序列多层时空依赖建模方法 |
CN112887323A (zh) * | 2021-02-09 | 2021-06-01 | 上海大学 | 一种面向工业互联网边界安全的网络协议关联与识别方法 |
CN112905421A (zh) * | 2021-03-18 | 2021-06-04 | 中科九度(北京)空间信息技术有限责任公司 | 基于注意力机制的lstm网络的容器异常行为检测方法 |
CN112883738A (zh) * | 2021-03-23 | 2021-06-01 | 西南交通大学 | 基于神经网络和自注意力机制的医学实体关系抽取方法 |
Non-Patent Citations (5)
Title |
---|
ASHISH VASWANI 等: "Attention Is All You Need", 《AIXIV》 * |
JIAXIN LIU 等: "Deep Anomaly Detection in Packet Payload", 《ARXIV》 * |
YINJIE ZHOU 等: "Feature Encoding with Autoencoders for Weakly-supervised Anomaly Detection", 《ARXIV》 * |
ZHIQUAN QIN 等: "Attentional Payload Anomaly Detector for Web Applications", 《NEURAL INFORMATION PROCESSING》 * |
李自若 等: "基于深度强化学习的智慧变电站网络异常检测方法", 《南方电网技术》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114205138A (zh) * | 2021-12-09 | 2022-03-18 | 麒麟软件有限公司 | 针对容器云平台的网络入侵检测方法 |
CN114745155A (zh) * | 2022-03-14 | 2022-07-12 | 河海大学 | 一种网络异常流量检测方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113449815B (zh) | 2023-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110110624B (zh) | 一种基于DenseNet网络与帧差法特征输入的人体行为识别方法 | |
CN107506740B (zh) | 一种基于三维卷积神经网络和迁移学习模型的人体行为识别方法 | |
CN111652066B (zh) | 基于多自注意力机制深度学习的医疗行为识别方法 | |
CN110046656B (zh) | 基于深度学习的多模态场景识别方法 | |
Gao et al. | Deep gate recurrent neural network | |
He et al. | Structured pruning for deep convolutional neural networks: A survey | |
CN113449815B (zh) | 一种基于深度包分析的异常包检测方法及系统 | |
CN112507898A (zh) | 一种基于轻量3d残差网络和tcn的多模态动态手势识别方法 | |
CN109033107A (zh) | 图像检索方法和装置、计算机设备和存储介质 | |
CN111126576B (zh) | 一种深度学习的训练方法 | |
CN111400494A (zh) | 一种基于GCN-Attention的情感分析方法 | |
CN110991601A (zh) | 一种基于多用户行为的神经网络推荐方法 | |
Jiang et al. | Few-shot learning in spiking neural networks by multi-timescale optimization | |
Khan et al. | Bridgeout: stochastic bridge regularization for deep neural networks | |
Dong et al. | Research on image classification based on capsnet | |
Luo et al. | Learning from the past: Continual meta-learning via Bayesian graph modeling | |
Pomponi et al. | Pseudo-rehearsal for continual learning with normalizing flows | |
Singh et al. | Binary face image recognition using logistic regression and neural network | |
CN114170657A (zh) | 融合注意力机制与高阶特征表示的面部情感识别方法 | |
Widhianingsih et al. | Augmented domain agreement for adaptable Meta-Learner on Few-Shot classification | |
CN112270334B (zh) | 一种基于异常点暴露的少样本图像分类方法及系统 | |
CN113191984B (zh) | 基于深度学习的运动模糊图像联合复原与分类方法和系统 | |
CN115481246A (zh) | 文本检测模型训练方法以及装置 | |
CN114780767A (zh) | 一种基于深度卷积神经网络的大规模图像检索方法及系统 | |
CN112508023A (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 |