CN115967504A - 加密恶意流量检测方法、装置、存储介质及电子装置 - Google Patents

加密恶意流量检测方法、装置、存储介质及电子装置 Download PDF

Info

Publication number
CN115967504A
CN115967504A CN202111173358.0A CN202111173358A CN115967504A CN 115967504 A CN115967504 A CN 115967504A CN 202111173358 A CN202111173358 A CN 202111173358A CN 115967504 A CN115967504 A CN 115967504A
Authority
CN
China
Prior art keywords
preset number
bilstm
word vectors
target
model
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.)
Pending
Application number
CN202111173358.0A
Other languages
English (en)
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.)
ZTE Corp
Beijing University of Posts and Telecommunications
Original Assignee
ZTE Corp
Beijing University of Posts and Telecommunications
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 ZTE Corp, Beijing University of Posts and Telecommunications filed Critical ZTE Corp
Priority to CN202111173358.0A priority Critical patent/CN115967504A/zh
Priority to PCT/CN2022/116590 priority patent/WO2023056808A1/zh
Publication of CN115967504A publication Critical patent/CN115967504A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • 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/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • 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
    • G06N3/0455Auto-encoder networks; Encoder-decoder 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Abstract

本申请实施例提供了一种加密恶意流量检测方法、装置、存储介质及电子装置,该方法包括:提取预定数量的训练样本的多种报文;分别对该预定数量的训练样本的多种报文提取不同的关键字段,并将提取的该关键字段构成该预定数量的词向量;采用多头注意力和BiLSTM的方式,根据该预定数量的词向量构建目标BiLSTM模型;根据该目标BiLSTM模型进行加密恶意流量检测,可以解决相关技术中恶意流量检测方法中,提取流量的前m个字节作为输入只是对流量字节的简单切片,无法学习到流量的准确语义,导致恶意加密流量检测效果不佳的问题,通过多头注意力的方式,提高关键字段的权重,并通过BiLSTM获取前向和后向的长距离依赖,实现更好的恶意加密流量检测效果。

Description

加密恶意流量检测方法、装置、存储介质及电子装置
技术领域
本申请实施例涉及通信领域,具体而言,涉及一种加密恶意流量检测方法、装置、存储介质及电子装置。
背景技术
在各种窃听和中间人攻击的背景下,在安全和隐私的考虑下,HTTPS(Hyper TextTransfer Protocol Over Secure Socket)逐渐占据主流,随之带来的是加密流量比例增加。在保护传输内容的同时,恶意攻击也使用安全套接层/传输层安全(Secure SocketsLayer/Transport layer Security,简称为SSL/TLS)协议进行加密,伪装成正常流量。
相关技术中提出基于CNN和长短期记忆网络(Long Short-Term Memory,简称为BiLSTM)的异常流量检测方法,学习原始流量数据的空间域的表征和时序特征,图1是相关技术中加密恶意流量检测的流程图,如图1所示,包括:从网卡节点中捕获网络流量,对网络流量进行预处理,具体包括数据清洗、数据切片、维处理以及数据变换,并将预处理后的数据作为数据样本;利用1D-CNN(Convolutional Neural Network,卷积神经网络)对数据样本进行空间域的表征特征提取。利用LSTM神经网络对流量数据进行时序特征提取,即将原始流量输入到LSTM中,通过LSTM计算每个字节的前后状态。使用分类器对提取的特征进行合并,然后进行分类,之后进行恶意流量处理,即判定网络流量异常与否。
该方法提取前m个字节的信息,利用1D-CNN和LSTM学习字节之间的空间和时间特征。而本身字节只是关键字段的一部分,本身并不具有完整语义信息,例如长度报文,若长度为13,1和3只是长度字段的一部分,单独并不具备实际语义。对单独的字节进行卷积,1d-CNN模型并没有学习到很好的空间特征。
LSTM关注前向的信息,缺失后向依赖关系的学习。在LSTM模型中,模型会传递上文的信息给下文,因此LSTM模型更加关注前向信息。流量数据包中的各字节之间存在从前往后的序列关系,也存在后向依赖关系,LSTM模型缺少后向依赖关系表征能力。
输入切片过短,缺少加密特征。在该专利给出的输入中,模型提取流量的前m个字节(专利中是100字节)。根据通信过程分析,前100字节主要是TCP三次握手的信息,与加密过程相关性不大,缺乏对SSL/TLS流量加密信息的分析与关键字段的提取。
基于原始输入的恶意流量检测方法中,提取流量的前m个字节作为输入,只是对流量字节的简单切片,字节粒度上并没有完整的语义,无法学习到流量的准确语义。
针对相关技术中恶意流量检测方法中,提取流量的前m个字节作为输入只是对流量字节的简单切片,无法学习到流量的准确语义,导致恶意加密流量检测效果不佳的问题,尚未提出解决方案。
发明内容
本申请实施例提供了一种加密恶意流量检测方法、装置、存储介质及电子装置,以至少解决相关技术中恶意流量检测方法中,提取流量的前m个字节作为输入只是对流量字节的简单切片,无法学习到流量的准确语义,导致恶意加密流量检测效果不佳的问题。
根据本申请的一个实施例,提供了一种加密恶意流量检测方法,包括:
提取预定数量的训练样本的多种报文;
分别对所述预定数量的训练样本的多种报文提取不同的关键字段,并将提取的所述关键字段构成所述预定数量的词向量;
采用多头注意力Multi-Head Attention和双向长短期记忆网络(BidirectionalLong Short-Term Memory,BiLSTM)的方式,根据所述预定数量的词向量构建目标BiLSTM模型;
根据所述目标BiLSTM模型进行加密恶意流量检测。
在一示例性实施例中,采用多头注意力Multi-Head Attention和双向长短期记忆网络BiLSTM的方式,根据所述预定数量的词向量构建目标BiLSTM模型包括:
通过BiLSTM模型的Multi-Head Attention层,对所述预定数量的词向量进行编码选择,得到所述预定数量的编码后的样本;
将所述预定数量的编码后的样本输入到所述BiLSTM模型的BiLSTM层中,经过线性层与softmax层后,输出所述预定数量的预测结果y_pred;
通过所述预定数量的预测结果y_pred与对应的标签y_label的交叉熵损失进行反向梯度传递,更新所述BiLSTM模型的神经元参数,得到训练好的所述目标BiLSTM模型。
在一示例性实施例中,通过BiLSTM模型的Multi-Head Attention层,对所述预定数量的词向量进行编码选择,得到编码后的样本包括:
确定所述预定数量的词向量中的每个词向量的Query、Key以及Value:
Query=WQX;
Key=WkX;
Value=WvX,其中,X为所述词向量,WQ、WK、WV为所述BiLSTM模型的神经元参数,WQ、WK、WV是分别对应所述Query、所述Key以及所述Value的n*n矩阵,n为正整数;
根据所述Query、所述Key以及所述Value从所述每个词向量提取多个信息;
拼接所述多个信息得到所述每个词向量的注意力分布;
确定所述每个词向量的注意力分布为所述每个词向量的编码后的样本。
在一示例性实施例中,提取预定数量的训练样本的多种报文包括:
提取所述预定数量的训练样本的Client_Hello报文、Server_Hello报文以及Certificate报文。
在一示例性实施例中,在采用多头注意力Multi-Head Attention和双向长短期记忆网络BiLSTM的方式,根据所述预定数量的词向量构建目标BiLSTM模型之后,所述方法还包括:
根据测试样本对所述目标BiLSTM模型进行测试,得到准确率Acc、召回率Rec、精确率Pre和F1分数。
在一示例性实施例中,将提取的所述关键字段构成所述预定数量的词向量包括:
将提取的所述关键字段处理为字段长度相同的目标关键字段;
将所述目标关键字段构成所述词向量。
在一示例性实施例中,在将提取的所述关键字段构成所述预定数量的词向量之后,所述方法还包括:
根据预先设置的报文与长度的对应关系对所述预定数量的词向量的长度进行统一。
根据本申请的另一个实施例,还提供了一种加密恶意流量检测装置,包括:
提取模块,用于提取预定数量的训练样本的多种报文;
构成模块,用于分别对所述预定数量的训练样本的多种报文提取不同的关键字段,并将提取的所述关键字段构成所述预定数量的词向量;
构建模块,用于采用多头注意力Multi-Head Attention和双向长短期记忆网络BiLSTM的方式,根据所述预定数量的词向量构建目标BiLSTM模型;
检测模块,用于根据所述目标BiLSTM模型进行加密恶意流量检测。
在一示例性实施例中,所述构建模块包括:
编码选择子模块,用于通过BiLSTM模型的Multi-Head Attention层,对所述预定数量的词向量进行编码选择,得到所述预定数量的编码后的样本;
输入子模块,用于将所述预定数量的编码后的样本输入到所述BiLSTM模型的BiLSTM层中,经过线性层与softmax层后,输出所述预定数量的预测结果y_pred;
更新子模块,用于通过所述预定数量的预测结果y_pred与对应的标签y_label的交叉熵损失进行反向梯度传递,更新所述BiLSTM模型的神经元参数,得到训练好的所述目标BiLSTM模型。
在一示例性实施例中,所述编码选择子模块,还用于
确定所述预定数量的词向量中的每个词向量的Query、Key以及Value:
Query=WQX;
Key=WKX;
Value=WVX,其中,X为所述词向量,WQ、WK、WV为所述BiLSTM模型的神经元参数,WQ、WK、WV是分别对应所述Query、所述Key以及所述Value的n*n矩阵,n为正整数;
根据所述Query、所述Key以及所述Value从所述每个词向量提取多个信息;
拼接所述多个信息得到所述每个词向量的注意力分布;
确定所述每个词向量的注意力分布为所述每个词向量的编码后的样本。
在一示例性实施例中,所述提取模块,还用于
提取所述预定数量的训练样本的Client_Hello报文、Server_Hello报文以及Certificate报文。
在一示例性实施例中,所述装置还包括:
测试模块,用于根据测试样本对所述目标BiLSTM模型进行测试,得到准确率Acc、召回率Rec、精确率Pre和F1分数。
在一示例性实施例中,所述构成模块包括:
处理子模块,用于将提取的所述关键字段处理为字段长度相同的目标关键字段;
构成子模块,用于将所述目标关键字段构成所述词向量。
在一示例性实施例中,所述装置还包括:
长度统一模块,用于根据预先设置的报文与长度的对应关系对所述预定数量的词向量的长度进行统一。
根据本申请的又一个实施例,还提供了一种计算机可读的存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
本申请实施例,提取预定数量的训练样本的多种报文;分别对所述预定数量的训练样本的多种报文提取不同的关键字段,并将提取的所述关键字段构成所述预定数量的词向量;采用多头注意力Multi-Head Attention和双向长短期记忆网络BiLSTM的方式,根据所述预定数量的词向量构建目标BiLSTM模型;根据所述目标BiLSTM模型进行加密恶意流量检测,可以解决相关技术中恶意流量检测方法中,提取流量的前m个字节作为输入只是对流量字节的简单切片,无法学习到流量的准确语义,导致恶意加密流量检测效果不佳的问题,提取多种报文的关键字段,拼接为词向量,通过Multi-Head Attention的方式,提高关键字段的权重,并通过BiLSTM获取前向和后向的长距离依赖,实现更好的恶意加密流量检测效果。
附图说明
图1是相关技术中加密恶意流量检测的流程图;
图2是本申请实施例的加密恶意流量检测方法的移动终端的硬件结构框图;
图3是根据本申请实施例的加密恶意流量检测方法的流程图;
图4是根据本申请实施例的基于词向量建模的加密恶意流量检测的架构图;
图5是根据本申请实施例的模型训练过程的流程图;
图6是根据本申请实施例的加密恶意流量检测装置的框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图2是本申请实施例的加密恶意流量检测方法的移动终端的硬件结构框图,如图2所示,移动终端可以包括一个或多个(图2中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的加密恶意流量检测方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及业务链地址池切片处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述移动终端或网络架构的加密恶意流量检测方法,图3是根据本申请实施例的加密恶意流量检测方法的流程图,如图3所示,该流程包括如下步骤:
步骤S302,提取预定数量的训练样本的多种报文;
本申请实施例中,上述步骤S302具体可以包括:提取所述预定数量的训练样本的Client_Hello报文、Server_Hello报文以及Certificate报文。
步骤S304,分别对所述预定数量的训练样本的多种报文提取不同的关键字段,并将提取的所述关键字段构成所述预定数量的词向量;
步骤S306,采用多头注意力Multi-Head Attention和双向长短期记忆网络BiLSTM的方式,根据所述预定数量的词向量构建目标BiLSTM模型;
步骤S308,根据所述目标BiLSTM模型进行加密恶意流量检测。
通过上述步骤S302至S308,可以解决相关技术中恶意流量检测方法中,提取流量的前m个字节作为输入只是对流量字节的简单切片,无法学习到流量的准确语义,导致恶意加密流量检测效果不佳的问题,提取多种报文的关键字段,拼接为词向量,通过Multi-HeadAttention的方式,提高关键字段的权重,并通过BiLSTM获取前向和后向的长距离依赖,实现更好的恶意加密流量检测效果。
本申请实施例中,上述步骤S306具体可以包括:
S3061,通过BiLSTM模型的Multi-Head Attention层,对所述预定数量的词向量进行编码选择,得到所述预定数量的编码后的样本;
进一步的,上述步骤S2061具体可以包括:
确定所述预定数量的词向量中的每个词向量的Query、Key以及Value:
Query=WQX;
Key=WKX;
Value=WVX,其中,X为所述词向量,WQ、WK、WV为所述BiLSTM模型的神经元参数,WQ、WK、WV是分别对应所述Query、所述Key以及所述Value的n*n矩阵,n为正整数;
根据所述Query、所述Key以及所述Value从所述每个词向量提取多个信息;
拼接所述多个信息得到所述每个词向量的注意力分布;
确定所述每个词向量的注意力分布为所述每个词向量的编码后的样本。
S3062,将所述预定数量的编码后的样本输入到所述BiLSTM模型的BiLSTM层中,经过线性层与softmax层后,输出所述预定数量的预测结果y_pred;
S3063,通过所述预定数量的预测结果y_pred与对应的标签y_label的交叉熵损失进行反向梯度传递,更新所述BiLSTM模型的神经元参数,得到训练好的所述目标BiLSTM模型。
在一实施例中,在上述步骤S306之后,根据测试样本对所述目标BiLSTM模型进行测试,得到准确率Acc、召回率Rec、精确率Pre和F1分数。
本实施例中,上述步骤S304具体可以包括:将提取的所述关键字段处理为字段长度相同的目标关键字段;将所述目标关键字段构成所述词向量。
在另一实施例中,在上述步骤S204之后,根据预先设置的报文与长度的对应关系对所述预定数量的词向量的长度进行统一。
图4是根据本申请实施例的基于词向量建模的加密恶意流量检测的架构图,如图4所示,包括:预处理阶段、模型构建与训练阶段和模型测试阶段。
预处理阶段,从网络环境中获取的原始流量需要进行一定预处理才能输入到模型,预处理阶段的具体流程如下。
报文提取。本实施例按照流量五元组划分双向流,并结合双向流的方向基于传输层协议提取了每个双向流的第一个Client_Hello、Server_Hello以及Certificate报文。
关键字段提取。根据不同的报文,提取相应的关键字段的字节值。例如对于Client_Hello,提取握手报文类型、报文长度、支持加密组件等字段,具体提取字段如表1所示。
统一字段长度。为了消除不同关键字段长度的影响,本实施例对各特征字段进行了截长补零的操作,针对不满足4个字节的特征字段,在高位补0,针对超过4个字节的特征字段,进行截断,对于低位被截取的字段,重复以上过程,直至没有字节残余。
统一样本长度。对所有样本的输入长度进行统一,对于各个报文,分别选取Client_hello:20、Server_hello:10以及Certificate:25,以55为总长度,最终以(55,4)作为输入维度。
表1
Figure BDA0003294174680000061
模型构建与训练阶段,图5是根据本申请实施例的模型训练过程的流程图,如图5所示,在模型构建阶段,本实施例由Multi-Head Attention、BiLSTM和线性层(Linear1、Linear2)组成。Multi-Head Attention和各层神经元设置如表2所示。使用学习率为0.0001的Adam优化器参与梯度下降过程。模型的损失函数是标签y_label和输出y_pred的交叉熵。
表2
模型构成 设置超参数
Multi-Head attention nums_head=2
BiLSTM nums_layer=1,hidden_num=144
Dropout 0.3
Linear (288,84)
Linear (84,2)
在模型训练阶段,本实施例使用训练集,通过最小化重构误差对模型进行训练,为了学习关于字段之间的关系与上下文关系,采用如图5所示的Multi-Head attention和BiLSTM的方法,训练完成后模型能够很好的学到流量各个字段之间的语义关系。模型训练过程如下。
将样本X=(x1,x2,...xn)在当前样本空间上进行训练。
根据以下公式计算当前样本的Q、K、V:
Q=WQX;
K=WKX;
V=WVX;
其中,Q、K和V分别是attention机制中定义的Query、Key和Value,WQ、WK、WV是分别对应Q、K、V的n*n矩阵。
根据以下公式,利用多个查询Q=[q1,q2,..,qn]来平行地计算,从输入信息中选择多个信息,每个注意力关注输入信息的不同部分,再进行拼接得到注意力分布:
Figure BDA0003294174680000071
Figure BDA0003294174680000072
通过Multi-Head Attention的方式,对输入信息X进行了编码选择,通过计算与其他字段的相关性,提高了相应关键字段的权重,更突出某些更为重要的关键字段,此时编码后结果为X’,将X’输入到BiLSTM层中。
上次输出经过线性层与softmax层后,输出预测结果y_pred,通过计算y_label和y_pred的交叉熵损失,进行反向梯度传递,更新模型各神经元参数。
在模型测试阶段,对于新来的流量,根据前文所描述的数据预处理过程,将处理好的输入直接输入到模型即可得到检测结果。此时若y_pred=1,则为正常流量,若y_pred=0,则为恶意流量。
数据集正常流量由正常进程产生的流量组成,异常流量由恶意进程产生的流量构成,流量共有18565个,其中正常样本共有8801个,恶意样本共有9764个。根据训练集和测试集2∶1的比例随机划分训练集,训练集样本数目共有12431个,测试集共有6134个。训练集和测试集没有交集。其中训练集中,按照4:1的比例,划分训练集和验证集。验证集针对模型学习过程中,判断模型是否收敛和进行调参,并没有参与训练与参与测试。
实验性能指标包括准确率Acc、召回率Rec、精确率Pre和F1分数,计算过程如以下公式所示:
Figure BDA0003294174680000081
Figure BDA0003294174680000082
Figure BDA0003294174680000083
Figure BDA0003294174680000084
其中,TP为恶意流量检测为恶意流量的样本数目,TN为正常流量检测为正常流量的样本数目,FP为正常流量检测为恶意流量的样本数目,FN为恶意流量检测为正常流量的样本数目。
实验结果如表3所示,与传统恶意加密流量检测方法(流级特征+加密特征、负载大小行为序列、原始输入)相比,本发明在各项指标上均有提升,可以更好的检测恶意流量。与传统机器学习方法对比,神经网络通过构建多层神经元提取不同层次的数据特征,表征能力更强;另一方面,本专利通过Multi-Head Attention机制,根据权重,提高各个关键字段的重要性,并且通过BiLSTM机制,提取了输入前向和后向的长距离依赖关系,使其有着更强的表征能力,并显著提升了模型对恶意加密流量的检测能力。
表3
Figure BDA0003294174680000085
本实施例分析了各方法从特征提取、模型训练时间以及模型测试时间三个方面的时间性能指标。其中,如表4所示,在提取特征时间上,原始输入<字段词向量<负载大小行为序列<流级特征+加密特征,由于原始输入和字段信息一样,只需要提取前几个包的负载信息,与其他方法相比,并不需要遍历流的所有包,因此在提取特征时间上,要远小于其他方法;在模型训练时间上,负载大小行为序列<流级特征+加密特征<原始输入<字段词向量,由于神经网络的训练需要更多的epoch,以及模型的复杂性,专利提出的方法存在模型训练时间较长的问题;在模型测试时间上,各方法基本一致。因此出于以上的分析,本发明拟采用离线训练,在线测试的方式,来克服训练时间较长的缺点,同时,模型训练好后,由于提取特征时间上的优越性,可以更快的提取特征,提高流量检测的实时性,高准确率的给出检测结果。
本申请实施例,提取关键字段,构成词向量,并通过Multi-Head Attention提升相应权重的词向量建模方法,并使用BiLSTM模型,构建了加密恶意流量检测系统。首先提取具有区分度的关键字段,构成字段词向量,并通过Multi-Head Attention提高关键字段的权重,最后通过BiLSTM获取流量的长距离依赖关系。相较于传统的提取流级统计特征的检测方法,无需等待流量全部结束,有效提高了特征提取的时间;相比原始输入的检测方法,通过提取关键字段,去除了流量负载中无用的随机字节信息和加密后的信息,保留了有效特征。
表4
Figure BDA0003294174680000091
根据本申请的另一个实施例,还提供了一种加密恶意流量检测装置,图6是根据本申请实施例的加密恶意流量检测装置的框图,如图6所示,包括:
提取模块62,用于提取预定数量的训练样本的多种报文;
构成模块64,用于分别对所述预定数量的训练样本的多种报文提取不同的关键字段,并将提取的所述关键字段构成所述预定数量的词向量;
构建模块66,用于采用多头注意力Multi-Head Attention和双向长短期记忆网络BiLSTM的方式,根据所述预定数量的词向量构建目标BiLSTM模型;
检测模块68,用于根据所述目标BiLSTM模型进行加密恶意流量检测。
在一示例性实施例中,所述构建模块66包括:
编码选择子模块,用于通过BiLSTM模型的Multi-Head Attention层,对所述预定数量的词向量进行编码选择,得到所述预定数量的编码后的样本;
输入子模块,用于将所述预定数量的编码后的样本输入到所述BiLSTM模型的BiLSTM层中,经过线性层与softmax层后,输出所述预定数量的预测结果y_pred;
更新子模块,用于通过所述预定数量的预测结果y_pred与对应的标签y_label的交叉熵损失进行反向梯度传递,更新所述BiLSTM模型的神经元参数,得到训练好的所述目标BiLSTM模型。
在一示例性实施例中,所述编码选择子模块,还用于
确定所述预定数量的词向量中的每个词向量的Query、Key以及Value:
Query=WQX;
Key=WKX;
Value=WvX,其中,X为所述词向量,WQ、WK、WV为所述BiLSTM模型的神经元参数,WQ、WK、WV是分别对应所述Query、所述Key以及所述Value的n*n矩阵,n为正整数;
根据所述Query、所述Key以及所述Value从所述每个词向量提取多个信息;
拼接所述多个信息得到所述每个词向量的注意力分布;
确定所述每个词向量的注意力分布为所述每个词向量的编码后的样本。
在一示例性实施例中,所述提取模块62,还用于
提取所述预定数量的训练样本的Client_Hello报文、Server_Hello报文以及Certificate报文。
在一示例性实施例中,所述装置还包括:
测试模块,用于根据测试样本对所述目标BiLSTM模型进行测试,得到准确率Acc、召回率Rec、精确率Pre和F1分数。
在一示例性实施例中,所述构成模块64包括:
处理子模块,用于将提取的所述关键字段处理为字段长度相同的目标关键字段;
构成子模块,用于将所述目标关键字段构成所述词向量。
在一示例性实施例中,所述装置还包括:
长度统一模块,用于根据预先设置的报文与长度的对应关系对所述预定数量的词向量的长度进行统一。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种加密恶意流量检测方法,其特征在于,包括:
提取预定数量的训练样本的多种报文;
分别对所述预定数量的训练样本的多种报文提取不同的关键字段,并将提取的所述关键字段构成所述预定数量的词向量;
采用多头注意力Multi-Head Attention和双向长短期记忆网络BiLSTM的方式,根据所述预定数量的词向量构建目标BiLSTM模型;
根据所述目标BiLSTM模型进行加密恶意流量检测。
2.根据权利要求1所述的方法,其特征在于,采用多头注意力Multi-Head Attention和双向长短期记忆网络BiLSTM的方式,根据所述预定数量的词向量构建目标BiLSTM模型包括:
通过BiLSTM模型的Multi-Head Attention层,对所述预定数量的词向量进行编码选择,得到所述预定数量的编码后的样本;
将所述预定数量的编码后的样本输入到所述BiLSTM模型的BiLSTM层中,经过线性层与softmax层后,输出所述预定数量的预测结果y_pred;
通过所述预定数量的预测结果y_pred与对应的标签y_label的交叉熵损失进行反向梯度传递,更新所述BiLSTM模型的神经元参数,得到训练好的所述目标BiLSTM模型。
3.根据权利要求2所述的方法,其特征在于,通过BiLSTM模型的Multi-Head Attention层,对所述预定数量的词向量进行编码选择,得到编码后的样本包括:
确定所述预定数量的词向量中的每个词向量的Query、Key以及Value:
Query=WQX;
Key=WKX;
Value=WVX,其中,X为所述词向量,WQ、WK、WV为所述BiLSTM模型的神经元参数,WQ、WK、WV是分别对应所述Query、所述Key以及所述Value的n*n矩阵,n为正整数;
根据所述Query、所述Key以及所述Value从所述每个词向量提取多个信息;
拼接所述多个信息得到所述每个词向量的注意力分布;
确定所述每个词向量的注意力分布为所述每个词向量的编码后的样本。
4.根据权利要求1所述的方法,其特征在于,提取预定数量的训练样本的多种报文包括:
提取所述预定数量的训练样本的Client_Hello报文、Server_Hello报文以及Certificate报文。
5.根据权利要求1所述的方法,其特征在于,在采用多头注意力Multi-Head Attention和双向长短期记忆网络BiLSTM的方式,根据所述预定数量的词向量构建目标BiLSTM模型之后,所述方法还包括:
根据测试样本对所述目标BiLSTM模型进行测试,得到准确率Acc、召回率Rec、精确率Pre和F1分数。
6.根据权利要求1至5中任一项所述的方法,其特征在于,将提取的所述关键字段构成所述预定数量的词向量包括:
将提取的所述关键字段处理为字段长度相同的目标关键字段;
将所述目标关键字段构成所述词向量。
7.根据权利要求6所述的方法,其特征在于,在将提取的所述关键字段构成所述预定数量的词向量之后,所述方法还包括:
根据预先设置的报文与长度的对应关系对所述预定数量的词向量的长度进行统一。
8.一种加密恶意流量检测装置,其特征在于,包括:
提取模块,用于提取预定数量的训练样本的多种报文;
构成模块,用于分别对所述预定数量的训练样本的多种报文提取不同的关键字段,并将提取的所述关键字段构成所述预定数量的词向量;
构建模块,用于采用多头注意力Multi-Head Attention和双向长短期记忆网络BiLSTM的方式,根据所述预定数量的词向量构建目标BiLSTM模型;
检测模块,用于根据所述目标BiLSTM模型进行加密恶意流量检测。
9.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项中所述的方法。
CN202111173358.0A 2021-10-08 2021-10-08 加密恶意流量检测方法、装置、存储介质及电子装置 Pending CN115967504A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111173358.0A CN115967504A (zh) 2021-10-08 2021-10-08 加密恶意流量检测方法、装置、存储介质及电子装置
PCT/CN2022/116590 WO2023056808A1 (zh) 2021-10-08 2022-09-01 加密恶意流量检测方法、装置、存储介质及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111173358.0A CN115967504A (zh) 2021-10-08 2021-10-08 加密恶意流量检测方法、装置、存储介质及电子装置

Publications (1)

Publication Number Publication Date
CN115967504A true CN115967504A (zh) 2023-04-14

Family

ID=85803884

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111173358.0A Pending CN115967504A (zh) 2021-10-08 2021-10-08 加密恶意流量检测方法、装置、存储介质及电子装置

Country Status (2)

Country Link
CN (1) CN115967504A (zh)
WO (1) WO2023056808A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116319107B (zh) * 2023-05-19 2023-08-18 新华三人工智能科技有限公司 一种数据流量识别模型训练方法及装置
CN116506216B (zh) * 2023-06-19 2023-09-12 国网上海能源互联网研究院有限公司 一种轻量化恶意流量检测存证方法、装置、设备及介质
CN116668198B (zh) * 2023-07-31 2023-10-20 南京争锋信息科技有限公司 基于深度学习的流量回放测试方法、装置、设备及介质
CN116708313B (zh) * 2023-08-08 2023-11-14 中国电信股份有限公司 流量检测方法、流量检测装置、存储介质和电子设备
CN117113352B (zh) * 2023-10-25 2024-02-06 西安热工研究院有限公司 Dcs上位机恶意可执行文件检测方法、系统、设备及介质
CN117811850A (zh) * 2024-03-01 2024-04-02 南京信息工程大学 一种基于STBformer模型的网络入侵检测方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11017173B1 (en) * 2017-12-22 2021-05-25 Snap Inc. Named entity recognition visual context and caption data
CN112307473A (zh) * 2019-08-01 2021-02-02 四川大学 一种基于Bi-LSTM网络和注意力机制的恶意JavaScript代码检测模型
CN111241294B (zh) * 2019-12-31 2023-05-26 中国地质大学(武汉) 基于依赖解析和关键词的图卷积网络的关系抽取方法
CN112487109A (zh) * 2020-12-01 2021-03-12 朱胜青 实体关系抽取方法、终端和计算机可读存储介质
CN112926303B (zh) * 2021-02-23 2023-06-27 南京邮电大学 一种基于BERT-BiGRU的恶意URL检测方法

Also Published As

Publication number Publication date
WO2023056808A1 (zh) 2023-04-13

Similar Documents

Publication Publication Date Title
CN115967504A (zh) 加密恶意流量检测方法、装置、存储介质及电子装置
CN112398779B (zh) 一种网络流量数据分析方法及系统
CN109889538B (zh) 用户异常行为检测方法及系统
CN109284606B (zh) 基于经验特征与卷积神经网络的数据流异常检测系统
CN110213227A (zh) 一种网络数据流检测方法及装置
CN110046297B (zh) 运维违规操作的识别方法、装置和存储介质
CN111723846B (zh) 基于随机性特征的加密和压缩流量识别方法及装置
CN111431819A (zh) 一种基于序列化的协议流特征的网络流量分类方法和装置
CN109426700B (zh) 数据处理方法、装置、存储介质和电子装置
CN105471647B (zh) 一种电力通信网故障定位方法
CN114239807A (zh) 基于rfe-dagmm的高维数据异常检测方法
CN111181930A (zh) DDoS攻击检测的方法、装置、计算机设备及存储介质
CN104246713A (zh) 利用者体感品质推测装置、终端瓶颈判定装置、类似操作抽出装置及方法以及程序
CN114328106A (zh) 日志数据处理方法、装置、设备及存储介质
CN117220920A (zh) 基于人工智能的防火墙策略管理方法
CN115118447A (zh) 工控网络流量的安全判别方法、装置、电子装置和介质
CN109271495B (zh) 问答识别效果检测方法、装置、设备及可读存储介质
CN116828087B (zh) 基于区块链连接的信息安全系统
CN112235254A (zh) 一种高速主干网中Tor网桥的快速识别方法
CN110889445A (zh) 视频cdn盗链检测方法、装置、电子设备及存储介质
CN104636404B (zh) 用于测试的大规模数据生成方法和装置
CN116112209A (zh) 漏洞攻击流量检测方法及装置
Whalen et al. Hidden markov models for automated protocol learning
CN115774762A (zh) 即时通讯信息处理方法、装置、设备及存储介质
CN112733689B (zh) 一种https终端类型分类方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Wang Jigang

Inventor after: Fu Peng

Inventor after: Gu Yonghao

Inventor after: Xu Hao

Inventor after: Zhang Xiaoqing

Inventor after: Huang Zeqi

Inventor after: Wang Yifei

Inventor after: Tian Tian

Inventor after: Wang Jing

Inventor after: Ma Suan

Inventor before: Wang Jigang

Inventor before: Fu Peng

Inventor before: Gu Yonghao

Inventor before: Zhang Xiaoqing

Inventor before: Xu Hao

Inventor before: Huang Zeqi

Inventor before: Wang Yifei

Inventor before: Tian Tian

Inventor before: Wang Jing

Inventor before: Ma Suan