掌桥专利:专业的专利平台
掌桥专利
首页

基于多层次注意力机制的恶意加密流量检测方法及系统

文献发布时间:2023-06-19 19:30:30


基于多层次注意力机制的恶意加密流量检测方法及系统

技术领域

本发明涉及网络安全技术领域,具体涉及一种基于多层次注意力机制的恶意加密流量检测方法及系统。

背景技术

随着以SSL/TLS为代表的加密技术在大量网络应用及服务中的普遍采用,用户的隐私和数据安全得到极大的保护。但是,由于加密技术的双刃性,攻击者也会使用这项技术来隐藏其恶意网络活动。所谓隐藏一般是指这些网络活动产生的恶意流量能够规避安全检测系统及设备(如IDS/IPS)。例如,攻击者在入侵系统之后,通常会在受害者设备内植入远控木马,然后窃取设备信息并通过加密流量的方式回传数据。再如,攻击者还会通过Tor等加密通道工具在暗网进行恶意软件、个人信息等非法交易。由此可见,加密技术虽然通过构建安全传输通道提升了用户隐私的保护效果,但也给网络威胁检测和安全管理带来诸多挑战。越来越多的恶意软件使用加密流量进行通信,进行网络入侵、信息窃取等侵害用户隐私的活动。因此,对恶意加密流量进行检测,分析其恶意行为,是非常有必要的。

传统的深度包检测等方法在恶意加密流量检测中已失效,人们开始使用机器学习方法来解决此类问题。他们从SSL/TLS握手数据报文的明文消息中提取特征或使用流级别的统计特征来对恶意加密流量进行检测。但是,在实际场景中,SSL/TLS握手信息可能不完整,导致识别准确率低。此外,统计特征需要专家知识手动提取,而且统计方法是基于经验的,削弱了模型的泛化能力。

深度学习在图像处理、自然语言处理等领域取得了巨大成功,也逐渐应用于流量识别领域。由于深度学习技术可以自动学习数据的特征,不需要手工设计特征,因此可以有效减少对专家知识的依赖。近年来,许多研究者提出了基于深度学习方法的恶意加密流量检测方法,包括递归神经网络(RNN)、卷积神经网络(CNN)、递归自编码器等。这些方法的核心是如何学习网络流量对象(数据报文/流/双向流)的特征表示。现有方法通常基于单层次(仅使用报文特征或仅使用流特征)、单尺度(仅使用报文负载字节序列或单个n-gram序列)来学习这些特征表示。然而,这类方法缺乏对流量的多尺度刻画,亦缺乏挖掘不同层次的特征,更缺乏挖掘不同层级间的关系性特征,导致其泛化能力受限。因此,如何从多尺度、多层次角度对恶意加密流量进行精准刻画和检测成为一个亟待解决的问题。

发明内容

为了解决上述技术问题,本发明提供一种基于多层次注意力机制的恶意加密流量检测方法及系统。

本发明技术解决方案为:一种基于多层次注意力机制的恶意加密流量检测方法,包括:

步骤S1:获取待检测的网络流量,对其进行预处理,得到具有相同报文数量以及报文负载大小的流集合;

步骤S2:将所述流的报文负载以不同n值按照多个尺度对其进行字节级的n-gram划分,得到L个n-gram序列;对每个所述n-gram序列进行embedding操作,得到语义向量序列;利用Bi-LSTM提取每个所述语义向量序列的局部特征,并利用注意力机制计算每个gram元素的权重,得到Gram级注意力特征向量u

步骤S3:将s

步骤S4:将v经过全连接层以及Softmax函数计算后,得到所述待检测的网络流量属于每一类别的概率。

本发明与现有技术相比,具有以下优点:

1、本发明公开了一种基于多层次注意力机制的恶意加密流量检测方法,能够对网络流量负载数据进行Gram级、Scale级、Packet级三种层次的表征学习和注意力机制融合,并且这三种不同的注意力机制具有树状层级关系,相比于通常仅仅基于流负载的字节级(或1-gram级)注意力机制的一般性做法,能够挖掘流量数据本身的内部结构关系,捕获了不同层级的特征及其层级之间的关系性特征,为提取到更多样、更精准的恶意加密流量报文负载的可辨别性特征提供了有效手段。

2、本发明从多个尺度对报文负载进行刻画,与利用单一尺度的方法(直接利用报文负载序列或者选择固定的n-gram序列)相比,能够提取以及组合不同尺度下的特征,泛化能力更强。

3、本发明采用注意力机制,具有一定的可解释性。通过Gram级注意力,能够找到相对重要的gram元素;通过Scale级注意力,能够找到相对重要的尺度;通过Packet级注意力,能够找到相对重要的报文。

4、本发明仅使用报文负载,无需计算流的统计信息特征,特征提取以及计算代价较低,更有利于在实际场景下在线部署应用。

5、本发明从报文负载级别以及流级别两个方面学习特征,既能利用报文内部的负载信息,又能利用报文间的流序列信息。

附图说明

图1为本发明实施例中一种基于多层次注意力机制的恶意加密流量检测方法的流程图;

图2为本发明实施例中一种基于多层次注意力机制的恶意加密流量检测方法的框架示意图;

图3为本发明实施例中一种基于多层次注意力机制的恶意加密流量检测系统的结构框图。

具体实施方式

本发明提供了一种基于多层次注意力机制的恶意加密流量检测方法,利用多层次注意力从多个尺度学习报文负载的特征,自动进行报文负载异常检测。

为了使本发明的目的、技术方案及优点更加清楚,以下通过具体实施,并结合附图,对本发明进一步详细说明。

实施例一

如图1所示,本发明实施例提供的一种基于多层次注意力机制的恶意加密流量检测方法,包括下述步骤:

步骤S1:获取待检测的网络流量,对其进行预处理,得到具有相同报文数量以及报文负载大小的流集合;

步骤S2:将流的报文负载以不同n值按照多个尺度对其进行字节级的n-gram划分,得到L个n-gram序列;对每个n-gram序列进行embedding操作,得到语义向量序列;利用Bi-LSTM提取每个语义向量序列的局部特征,并利用注意力机制计算每个gram元素的权重,得到Gram级注意力特征向量u

步骤S3:将s

步骤S4:将v经过全连接层以及Softmax函数计算后,得到待检测的网络流量属于每一类别的概率。

在一个实施例中,上述步骤S1:获取待检测的网络流量,对其进行预处理,得到具有相同报文数量以及报文负载大小的流集合,具体包括:

步骤S11:对于获取的网络流量按照五元组{源地址、源端口、目的地址、目的端口、协议}进行流重组;删除不含报文负载以及所含报文数量小于阈值的流;例如,对于报文数量小于3的流进行舍弃;

步骤S12:针对每条流,提取前N个报文,报文数量少于N的,用0进行填充;针对每个报文,提取报文负载的前M个字节,报文负载小于M个字节的,用0进行填充;

本发明实施例对于每条流,提取前32个报文,报文数量少于32的,用0进行填充;对于每个报文,提取报文负载的前256个字节,报文负载小于256个字节的,用0进行填充。

经过上述步骤,得到具有相同报文数量以及报文负载大小的流集合用于后续步骤。

在一个实施例中,上述步骤S2:将流的报文负载以不同n值按照多个尺度对其进行字节级的n-gram划分,得到L个n-gram序列;对每个n-gram序列进行embedding操作,得到语义向量序列;利用Bi-LSTM提取每个语义向量序列的局部特征,并利用注意力机制计算每个gram元素的权重,得到Gram级注意力特征向量u

步骤S21:对于每个报文负载,以不同n值按照多个尺度对其进行字节级的n-gram划分,得到L个n-gram序列{1-gram,2-gram,...,L-gram},n∈[1,…,L],其中,一个n-gram序列由多个gram元素组成;

以2-gram为例,假设报文负载字节序列如下:17 03 03 23 89 da 0b 6e,经过2-gram划分得到由7个gram元素组成的2-gram序列:1703,0303,0323,2389,89da,da0b,0b6e。以此类推,将每个报文负载经过划分后得到L个n-gram序列。如图2所示。

步骤S22:对于每个n-gram序列分别进行embedding操作,将n-gram序列中的每个gram元素转化为低维度的语义向量,其中,每个n-gram序列对应一个语义向量序列,一共生成L个语义向量序列;

步骤S23:利用Bi-LSTM对每个所示语义向量序列从前后两个方向进行局部特征提取;其中,Bi-LSTM包含两个RNN单元,用以下公式表示:

其中,RNN(·)表示使用的LSTM网络,e

通过拼接Bi-LSTM两个方向的输出

步骤S24:对于每个n-gram特征向量集

o

其中,W

基于o

其中,||.||

通过加权求和,得到Gram级注意力特征向量u

由于一个n-gram序列由多个gram元素组成,在本步骤中通过Gram级注意力计算每个gram元素的重要性,能够找出对于恶意加密流量分类任务更重要的元素。每个n-gram序列中的所有元素将组合为一个报文向量表示,而且每个gram元素对于报文向量表示的贡献不同,通过利用Gram级注意力,学习n-gram序列中每个元素的权重,从而进行加权求和,可得到每个n-gram序列对应的Gram级注意力特征向量u

步骤S25:通过注意力机制,计算每个Gram级注意力特征向量u

其中,

在本步骤中,利用Scale级注意力计算每个n-gram序列的重要性,能够找出对于恶意加密流量分类任务更重要的n-gram序列。不同尺度下的特征对于恶意加密流量检测的贡献不同,通过Scale级注意力机制,可计算不同尺度下的特征权重,从而进行加权求和,得到单一报文负载对应的Scale级注意力特征向量s

在一个实施例中,上述步骤S3:将s

步骤S31:将Scale级注意力特征向量s

步骤S32:对于报文特征向量集{t

o

其中,W

基于o

通过加权求和,得到流级特征向量v:

一条流由多个报文组成,因此本步骤利用报文级注意力计算每个报文负载的重要性,从而找出对于恶意加密流量分类任务更重要的报文。不同报文负载对于恶意加密流量检测的贡献不同,通过利用注意力机制,计算不同报文负载的权重,进行加权求和,得到该条流的流级特征向量v。

在一个实施例中,上述步骤S4:将v经过全连接层以及Softmax函数计算后,得到待检测的网络流量属于每一类别的概率,具体包括:

步骤S41:将流级特征向量v经过两层全连接层,将高维特征向量映射到类别标签;

步骤S42:利用Softmax函数,计算流级特征向量属于每一类别的概率。

本发明公开了一种基于多层次注意力机制的恶意加密流量检测方法,能够对网络流量负载数据进行Gram级、Scale级、Packet级三种层次的表征学习和注意力机制融合,并且这三种不同的注意力机制具有树状层级关系,相比于通常仅仅基于流负载的字节级(或1-gram级)注意力机制的一般性做法,能够挖掘流量数据本身的内部结构关系,捕获了不同层级的特征及其层级之间的关系性特征,为提取到更多样、更精准的恶意加密流量报文负载的可辨别性特征提供了有效手段。本发明从多个尺度对报文负载进行刻画,与利用单一尺度的方法(直接利用报文负载序列或者选择固定的n-gram序列)相比,能够提取以及组合不同尺度下的特征,泛化能力更强。本发明采用注意力机制,具有一定的可解释性。通过Gram级注意力,能够找到相对重要的gram元素;通过Scale级注意力,能够找到相对重要的尺度;通过Packet级注意力,能够找到相对重要的报文。本发明仅使用报文负载,无需计算流的统计信息特征,特征提取以及计算代价较低,更适合在实际中应用。本发明从报文负载级别以及流级别两个方面学习特征,既能利用报文内部的负载信息,又能利用报文间的流序列信息。

实施例二

如图3所示,本发明实施例提供了一种基于多层次注意力机制的恶意加密流量检测系统,包括下述模块:

数据预处理模块51,用于获取待检测的网络流量,对其进行预处理,得到具有相同报文数量以及报文负载大小的流集合;

报文编码模块52,用于将流的报文负载以不同n值按照多个尺度对其进行字节级的n-gram划分,得到L个n-gram序列;对每个n-gram序列进行embedding操作,得到语义向量序列;利用Bi-LSTM提取每个语义向量序列的局部特征,并利用注意力机制计算每个gram元素的权重,得到Gram级注意力特征向量u

流级别编码模块53,用于将s

分类模块54,用于将v经过全连接层以及Softmax函数计算后,得到待检测的网络流量属于每一类别的概率。

提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。

相关技术
  • 一种基于注意力机制的电网恶意流量检测方法及系统
  • 一种基于注意力机制的恶意流量检测方法和系统
技术分类

06120115932269