本发明涉及流量分析,尤其涉及一种基于上下文分析的加密流威胁检测方法及系统。
背景技术:
1、随着加密技术的广泛应用以及数据隐私安全要求的增加,加密流量呈现爆炸式增长。加密通信可以有效保护用户隐私和数据安全,但也给防御者在网络流量威胁发现方面带来了极大挑战。
2、加密流分析包括流量生成、流量表征和流量分类三部分。为了保证通信安全,通常使用ssl/tls协议对客户端和服务器之间的交互进行加密,产生加密流量。加密流分类的主要挑战是表征加密数据流。根据分类的粒度,常使用的两个主要流表征级别包括流级别和会话级别。会话是双向的并且可以包含多个流。与可以使用深度数据包检测方法检测到的明文网络流量不同,加密数据包的数据部分是不可知的。只有头部信息能被直接获取,包括时间戳和长度特征值。然而,时间特征受网络环境的影响很大。网络中的丢包、重传、乱序等因素均会影响报文的到达时间和到达间隔时间,从而影响时间特征的准确性和稳定性。
3、传统的基于内容和特征的分类方法通常依赖于对数据包的深入分析和特征提取,加密流的加密过程使数据包内容不可见,可提取的特征数量大大减少,不利于通用模型的准确分类。
技术实现思路
1、鉴于此,本发明的实施例提供了一种基于上下文分析的加密流威胁检测方法,以消除或改善现有技术中存在的一个或更多个缺陷。
2、本发明的一个方面提供了一种基于上下文分析的加密流威胁检测方法,所述方法的步骤包括:
3、获取待检测的原始网络流文件中的多个数据包,并获取每个数据包中的长度特征值,将全部数据包的长度特征值构建为原始长度序列;
4、基于所述长度特征值在原始长度序列中的出现频率对每个所述长度特征值映射为编码值,得到所述原始长度序列对应的长度编码序列;
5、将所述长度编码序列输入到预设的编码器中,所述编码器包括嵌入层和循环层,所述嵌入层向循环层输出编码向量,所述循环层输出上下文向量,将所述上下文向量输入到预设的解码器中,得到注意力向量;
6、基于所述注意力向量和编码向量计算上下文长度序列,将所述上下文长度序列输入到训练的检测器中,得到威胁检测结果。
7、采用上述方案,本方案首先在数据处理过程中仅用到了数据包的长度特征值,便于获取,且本方案基于所述长度特征值在原始长度序列中的出现频率对每个所述长度特征值映射为编码值,使数据进一步简化,提高了处理的难度,进一步的,基于所述注意力向量和编码向量计算上下文长度序列,得到一个集成了注意力加权的上下文长度序列,对原始的全部数据包长度特征值信息的总结,能够对可提取到的特征进行进一步处理,提高最终的分类精度。
8、在本发明的一些实施方式中,在基于所述注意力向量和编码向量计算上下文长度序列的步骤中,对所述注意力向量和编码向量进行矩阵相乘,得到上下文长度序列。
9、在本发明的一些实施方式中,在获取待检测的原始网络流文件中的多个数据包,并获取每个数据包中的长度特征值,将全部数据包的长度特征值构建为原始长度序列的步骤中,基于所述数据包的五元组数据将所述数据包分为多个检测组,将同一检测组中的数据包的长度特征值构建为原始长度序列。
10、在本发明的一些实施方式中,在基于所述长度特征值在原始长度序列中的出现频率对每个所述长度特征值映射为编码值的步骤中,基于所述长度特征值在原始长度序列中的出现频率对所述长度特征值排序为队列,基于所述长度特征值在队列中的位置将所述长度特征值映射为编码值。
11、在本发明的一些实施方式中,所述长度特征值的队列中的每个位置设置有位置序号,在基于所述长度特征值在队列中的位置将所述长度特征值映射为编码值的步骤中,将所述长度特征值对应的位置序号作为映射的编码值。
12、在本发明的一些实施方式中,所述检测器包括流分类器和序列预测器,所述流分类器用于基于输入的上下文长度序列输出威胁检测结果,所述序列预测器基于输入的上下文长度序列输出下一数据包的长度特征值,所述方法的步骤还包括对编码器、解码器和检测器进行预训练,在对编码器、解码器和检测器进行预训练的步骤中,分别计算所述流分类器和序列预测器的损失函数值,基于所述流分类器和序列预测器的损失函数值计算总损失函数值,基于总损失函数值对所述检测器进行训练。
13、在本发明的一些实施方式中,所述流分类器和序列预测器均包括顺序设置的线性层和分类层。
14、在本发明的一些实施方式中,在基于所述流分类器和序列预测器的损失函数值计算总损失函数值的步骤中,基于如下公式计算总损失函数值:
15、
16、其中,表示总损失函数值,表示流分类器的损失函数值,表示序列预测器的损失函数值,表示预设的计算参数。
17、在本发明的一些实施方式中,在基于所述流分类器和序列预测器的损失函数值计算总损失函数值的步骤中还包括对预设置的标签向量进行平滑处理,基于如下公式对预设置的标签向量进行平滑处理:
18、
19、其中, β表示预设的对应标签值的修改值, m表示标签向量中标签值所在位置, i为平滑处理的位置, c表示标签向量中的位置个数。
20、本发明的第二方面还提供一种基于上下文分析的加密流威胁检测系统,该系统包括计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如前所述方法所实现的步骤。
21、本发明的第三方面还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述基于上下文分析的加密流威胁检测方法所实现的步骤。
22、本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在说明书以及附图中具体指出并获得。
23、本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
1.一种基于上下文分析的加密流威胁检测方法,其特征在于,所述方法的步骤包括:
2.根据权利要求1所述的基于上下文分析的加密流威胁检测方法,其特征在于,在基于所述注意力向量和编码向量计算上下文长度序列的步骤中,对所述注意力向量和编码向量进行矩阵相乘,得到上下文长度序列。
3.根据权利要求1所述的基于上下文分析的加密流威胁检测方法,其特征在于,在获取待检测的原始网络流文件中的多个数据包,并获取每个数据包中的长度特征值,将全部数据包的长度特征值构建为原始长度序列的步骤中,基于所述数据包的五元组数据将所述数据包分为多个检测组,将同一检测组中的数据包的长度特征值构建为原始长度序列。
4.根据权利要求1所述的基于上下文分析的加密流威胁检测方法,其特征在于,在基于所述长度特征值在原始长度序列中的出现频率对每个所述长度特征值映射为编码值的步骤中,基于所述长度特征值在原始长度序列中的出现频率对所述长度特征值排序为队列,基于所述长度特征值在队列中的位置将所述长度特征值映射为编码值。
5.根据权利要求4所述的基于上下文分析的加密流威胁检测方法,其特征在于,所述长度特征值的队列中的每个位置设置有位置序号,在基于所述长度特征值在队列中的位置将所述长度特征值映射为编码值的步骤中,将所述长度特征值对应的位置序号作为映射的编码值。
6.根据权利要求1~5任一项所述的基于上下文分析的加密流威胁检测方法,其特征在于,所述检测器包括流分类器和序列预测器,所述流分类器用于基于输入的上下文长度序列输出威胁检测结果,所述序列预测器基于输入的上下文长度序列输出下一数据包的长度特征值,所述方法的步骤还包括对编码器、解码器和检测器进行预训练,在对编码器、解码器和检测器进行预训练的步骤中,分别计算所述流分类器和序列预测器的损失函数值,基于所述流分类器和序列预测器的损失函数值计算总损失函数值,基于总损失函数值对所述检测器进行训练。
7.根据权利要求6所述的基于上下文分析的加密流威胁检测方法,其特征在于,在基于所述流分类器和序列预测器的损失函数值计算总损失函数值的步骤中,基于如下公式计算总损失函数值:
8.根据权利要求6所述的基于上下文分析的加密流威胁检测方法,其特征在于,在基于所述流分类器和序列预测器的损失函数值计算总损失函数值的步骤中还包括对预设置的标签向量进行平滑处理,基于如下公式对预设置的标签向量进行平滑处理:
9.根据权利要求6所述的基于上下文分析的加密流威胁检测方法,其特征在于,所述对编码器、解码器和检测器进行预训练的步骤包括顺序设置的单步预测、注意力优化和多步预测;
10.一种基于上下文分析的加密流威胁检测系统,其特征在于,该系统包括计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如权利要求1~9任一项所述方法所实现的步骤。