1.本技术涉及网络安全技术领域,具体而言,涉及一种加密流量识别方法、装置、设备及存储介质。
背景技术:2.加密流量传输为数据的保密性和完整性提供了安全保障,成为了确保通信安全和隐私的重要手段。但是恶意流量通过加密技术隐藏自身,可能对网络安全带来极大的安全隐患,因此如何通过非解密手段识别加密流量成为了人们关注的重点。
3.目前针对加密流量已经出现了多种识别方法,例如端口特征识别、指纹匹配识别、统计识别以及机器学习识别等。
4.但是,端口特征识别和指纹匹配识别局限性较大、适用性低;统计识别需要依靠开发者的经验,费时费力;现有的机器学习误识别率较高,因此如何提高加密流量的识别效率成为了亟待解决的问题。
技术实现要素:5.本技术的目的在于,针对上述现有技术中的不足,提供一种加密流量识别方法、装置、设备及存储介质,以解决现有技术中加密流量识别效率低、误识别率较高的问题。
6.为实现上述目的,本技术采用的技术方案如下:
7.第一方面,本技术提供了一种加密流量识别方法,所述方法包括:
8.在深度报文解析引擎中对流量进行识别,确定所述流量中的至少一个加密流量,其中,所述加密流量为无法识别所属应用的数据流;
9.根据所述加密流量的协议类型,确定所述加密流量对应的目标分层识别模型,其中,所述目标分层识别模型为模型集合中的一个分层识别模型,所述模型集合中的各分层识别模型分别用于对一种协议类型的加密流量进行来源识别;
10.将所述加密流量输入所述目标分层识别模型中,提取所述加密流量的至少一个流量特征,并根据所述加密流量的流量特征确定并输出所述加密流量的预测结果,所述预测结果包括:所述加密流量所属的应用。
11.可选的,所述将所述加密流量输入所述目标分层识别模型中,提取所述加密流量的至少一个流量特征,并根据所述加密流量的流量特征确定并输出所述加密流量的预测结果,包括:
12.以接收到所述加密流量的首个数据包为起始,获取所述首个数据包之后的连续n个数据包;
13.将所述首个数据包以及所述n个数据包输入所述目标分层识别模型中,由所述目标分层识别模型根据所述首个数据包以及所述n个数据包,提取所述加密流量的至少一个流量特征,并根据所述加密流量的流量特征确定并输出所述加密流量的预测结果。
14.可选的,所述由所述目标分层识别模型根据所述首个数据包以及所述n个数据包,
提取所述加密流量的至少一个流量特征,包括:
15.由所述目标分层识别模型根据所述目标分层识别模型中预设的特征类型,对所述首个数据包以及所述n个数据包进行特征提取,确定所述首个数据包以及所述n个数据包中与所述特征类型对应的目标特征,并将所述目标特征作为所述加密流量的流量特征。
16.可选的,所述根据所述加密流量的流量特征确定并输出所述加密流量的预测结果,包括:
17.由所述目标分层识别模型将所述加密流量的各流量特征按照预设的顺序组合为流量数组,并对所述流量数组进行预测,得到所述加密流量的预测结果。
18.可选的,所述对所述流量数组进行预测,得到所述加密流量的预测结果,包括:
19.由所述目标分层识别模型对所述流量数组进行预测,并输出所述加密流量的预测值;
20.若所述加密流量的预测值的数量为一个,则将所述预测值作为所述加密流量的预测结果;
21.若所述加密流量的预测值的数量为多个,则根据预设评估策略以及所述多个预测值确定所述加密流量的预测结果。
22.可选的,所述在深度报文解析引擎中对流量进行识别,确定所述流量中的至少一个加密流量,包括:
23.在所述深度报文解析引擎中,对流量进行筛选,确定各所述流量的所属应用;
24.若未识别到所述流量的所属应用,则所述深度报文解析引擎将所述流量确定为所述加密流量。
25.可选的,所述将加密流量输入对应的目标分层识别模型中之前,包括:
26.对样本流量进行特征提取,得到各所述样本流量的多个样本流量特征;
27.将所述样本流量的多个样本流量特征组合为所述样本流量的样本特征集合;
28.基于自适应特征选择算法对所述样本特征集合进行筛选,确定目标特征子集;
29.根据所述目标特征子集进行模型训练,并确定训练得到的模型的测试结果;
30.若所述测试结果满足预设条件,则将训练得到的模型作为所述样本流量所属协议类型对应的分层识别模型,否则,对训练得到的模型进行修正并重新执行基于自适应特征选择算法对所述样本特征集合进行筛选,确定目标特征子集的步骤。
31.第二方面,本技术提供了一种加密流量识别装置,所述装置包括:
32.识别模块,用于:在深度报文解析引擎中对流量进行识别,确定所述流量中的至少一个加密流量,其中,所述加密流量为无法识别所属应用的数据流;
33.确定模块,用于:根据所述加密流量的协议类型,确定所述加密流量对应的目标分层识别模型,其中,所述目标分层识别模型为模型集合中的一个分层识别模型,所述模型集合中的各分层识别模型分别用于对一种协议类型的加密流量进行来源识别;
34.预测模块,用于:将所述加密流量输入所述目标分层识别模型中,提取所述加密流量的至少一个流量特征,并根据所述加密流量的流量特征确定并输出所述加密流量的预测结果,所述预测结果包括:所述加密流量所属的应用。
35.可选的,所述预测模块具体用于:
36.以接收到所述加密流量的首个数据包为起始,获取所述首个数据包之后的连续n
个数据包;
37.将所述首个数据包以及所述n个数据包输入所述目标分层识别模型中,由所述目标分层识别模型根据所述首个数据包以及所述n个数据包,提取所述加密流量的至少一个流量特征,并根据所述加密流量的流量特征确定并输出所述加密流量的预测结果。
38.可选的,所述预测模块具体用于:
39.由所述目标分层识别模型根据所述目标分层识别模型中预设的特征类型,对所述首个数据包以及所述n个数据包进行特征提取,确定所述首个数据包以及所述n个数据包中与所述特征类型对应的目标特征,并将所述目标特征作为所述加密流量的流量特征。
40.可选的,所述预测模块具体用于:
41.由所述目标分层识别模型将所述加密流量的各流量特征按照预设的顺序组合为流量数组,并对所述流量数组进行预测,得到所述加密流量的预测结果。
42.可选的,所述预测模块具体用于:
43.由所述目标分层识别模型对所述流量数组进行预测,并输出所述加密流量的预测值;
44.若所述加密流量的预测值的数量为一个,则将所述预测值作为所述加密流量的预测结果;
45.若所述加密流量的预测值的数量为多个,则根据预设评估策略以及所述多个预测值确定所述加密流量的预测结果。
46.可选的,所述识别模块具体用于:
47.在所述深度报文解析引擎中,对流量进行筛选,确定各所述流量的所属应用;
48.若未识别到所述流量的所属应用,则所述深度报文解析引擎将所述流量确定为所述加密流量。
49.第三方面,本技术提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如上述加密流量识别方法的步骤。
50.第四方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述加密流量识别方法的步骤。
51.本技术的有益效果是:通过对流量进行识别确定加密流量,并将加密流量送往对应的分层识别模型中进行特征提取和流量来源预测,可以对不同类型的加密流量进行更精细的识别与预测,有效的提高了对加密流量的识别率,并降低了误识别率。并且本技术中是针对加密流量采用分层识别模型提取特征,并根据特征进行识别,避免了现有识别技术不能适用于所有加密流量的问题,提高了对不同类型加密流量的普适性。
附图说明
52.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这
些附图获得其他相关的附图。
53.图1示出了本技术实施例提供的一种加密流量识别系统的架构示意图;
54.图2示出了本技术实施例提供的一种加密流量识别方法的流程图;
55.图3示出了本技术实施例提供的一种确定预测结果的流程图;
56.图4示出了本技术实施例提供的又一种确定预测结果的流程图;
57.图5示出了本技术实施例提供的一种确定加密流量的流程图;
58.图6示出了本技术实施例提供的一种模型训练的流程图;
59.图7示出了本技术实施例提供的一种自适应性特征算法的流程图;
60.图8示出了本技术实施例提供的一种加密流量识别装置的结构示意图;
61.图9示出了本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
62.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,应当理解,本技术中附图仅起到说明和描述的目的,并不用于限定本技术的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本技术中使用的流程图示出了根据本技术的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本技术内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
63.另外,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
64.需要说明的是,本技术实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
65.现有的加密流量识别技术主要包括:
66.端口特征识别,例如根据1194端口进行开源虚拟专用通道(openvpn)的识别。但是端口特征易进行伪装,伪装之后可能无法进行识别;
67.使用指纹特征进行指纹匹配,但只有标准的tls协议有可能存在指纹特征,很多加密流量并不具有指纹特征,所以此方法有很大的局限性;
68.统计识别方法,特征挖掘阶段需要依靠开发者的经验,并且费时费力;
69.机器学习方法,都是采用一个算法模型进行多种流量的分析,因此存在误识别率高的问题。
70.基于上述问题,本技术提出一种加密流量识别方法,执行主体例如可以是电子设备,如图1所示,是本技术给出的一种系统架构示意图,参照图1,通过对获取到的流量数据采用深度报文解析引擎(deep packet i nspect i on,简称dp i)进行初步识别,并将识别出的加密流量分别输入到对应的分层识别模型中,得到各加密流量的识别结果。
71.接下来结合图2,对本技术的加密流量识别方法做进一步说明,如图2所示,该方法
包括:
72.s201:在深度报文解析引擎中对流量进行识别,确定流量中的至少一个加密流量,其中,加密流量为无法识别所属应用的数据流。
73.可选的,流量可以是数据包,或是由多个数据包组成的数据流,示例性的,电子设备可以获取用户会话过程中产生的流量数据,并对流量数据进行分析和识别。
74.值得注意的是,电子设备获取的流量数据中可能包括加密流量和非加密流量,对于非加密流量,深度报文解析引擎可以直接识别出该流量数据所属的应用和服务,而加密流量就不能直接识别其所属的应用和服务。
75.可选的,加密流量所属的应用可以是加密流量所属的应用程序,以及加密流量所对应的服务,示例性的,加密流量所属的应用程序可以是微信、邮箱等,加密流量所对应的服务可以是聊天、邮件、音频、视频等。
76.s202:根据加密流量的协议类型,确定加密流量对应的目标分层识别模型,其中,目标分层识别模型为模型集合中的一个分层识别模型,模型集合中的各分层识别模型分别用于对一种协议类型的加密流量进行来源识别。
77.可选的,本技术中可以对加密流量根据其协议类型进行预分类,确定加密流量对应的目标分层识别模型。
78.示例性的,可以将通过随机性检测的加密流量归为分层识别模型1,使用基于传输控制协议(transmi ss i on contro l protoco l,tcp)的openvpn
79.隧道协议的加密流量归为分层识别模型2,使用基于用户数据报协议(user datagram protoco l,udp)的openvpn的隧道协议的加密流量归为分层识别模型3,使用安全外壳协议(secure she l l,ssh)隧道协议的加密流量归为分层识别模型4等等。
80.可选的,深度报文解析引擎后可以连接模型集合,模型集合中可以包括多个分层识别模型,每个分层识别模型分别用于对一种协议类型的加密流量进行来源识别。
81.s203:将加密流量输入目标分层识别模型中,提取加密流量的至少一个流量特征,并根据加密流量的流量特征确定并输出加密流量的预测结果,预测结果包括:加密流量所属的应用。
82.可选的,流量特征可以是加密流量各个维度的特征数据,例如上下行时间间隔、报文平均负载长度、负载长度方差、上行窗口大小、下行窗口大小、安全传输层协议(transport layer secur ity,tls)算法套件数量等。
83.可选的,加密流量的预测结果可以是加密流量所属的应用。
84.可选的,分层识别模型可以提取加密流量的流量特征,并根据加密流量的流量特征确定加密流量所属的应用。
85.在本技术实施例中,通过对流量进行识别确定加密流量,并将加密流量送往对应的分层识别模型中进行特征提取和流量来源预测,可以对不同类型的加密流量进行更精细的识别与预测,有效的提高了对加密流量的识别率,并降低了误识别率。并且本技术中是针对加密流量采用分层识别模型提取特征,并根据特征进行识别,避免了现有识别技术不能适用于所有加密流量的问题,提高了对不同类型加密流量的普适性。
86.接下来对上述将加密流量输入目标分层识别模型中,提取加密流量的至少一个流量特征,并根据加密流量的流量特征确定并输出加密流量的预测结果的步骤进行说明,如
图3所示,上述s203步骤包括:
87.s301:以接收到加密流量的首个数据包为起始,获取首个数据包之后的连续n个数据包。
88.可选的,可以在流量传输的初始阶段对加密流量进行实时的预测,对接收到的加密流量的前n个数据包先进行特征提取和识别,以提高加密流量识别的实时性。其中,n可以是正整数。n的具体值可以预先设置。示例性的,n可以是19,则表明电子设备通过对加密流量的前20个数据包的分析可以确定出加密流量所属的应用。
89.示例性的,可以将接收到的加密流量的前n个数据包执行上述s202-s203步骤,以得到前n个数据包所属的应用。
90.s302:将首个数据包以及n个数据包输入目标分层识别模型中,由目标分层识别模型根据首个数据包以及n个数据包,提取加密流量的至少一个流量特征,并根据加密流量的流量特征确定并输出加密流量的预测结果。
91.作为一种可能的实施方式,当前n个数据包协议类型相同时,可以将其输入同一个分层识别模型,以对这些数据包进行特征提取,得到加密流量的至少一个流量特征,并根据加密流量的流量特征确定并输出加密流量的预测结果。
92.作为另一种可能的实施方式,当前n个数据包协议类型不同时,可以将其分别输入对应类型的分层识别模型,以对这些数据包进行特征提取,得到加密流量的至少一个流量特征,并根据加密流量的流量特征确定并输出加密流量的预测结果。
93.需要说明的是,加密流量可能对应多个分层识别模型,当加密流量的流量特征是由多个分层识别模型提取得到时,各分层识别模型可以都对该加密流量进行识别和预测,并分别得到各分层识别模型中该加密流量的预测结果。
94.值得注意的是,现有的机器学习方法通常都是面对的回溯分析场景,即等全部流量结束之后才能给出识别结果,而在实际应用中需要较快的检测出暗网流量以对其采取相应告警、阻断等策略。
95.而在本技术实施例中,通过对加密流量的前n个数据包进行特征提取和识别,可以提升实效性,在流量传输的初始阶段就将其识别出来从而对其进行管控,有效解决了现有技术中的时效性问题。
96.以下是对上述由目标分层识别模型根据首个数据包以及n个数据包,提取加密流量的至少一个流量特征的步骤说明,上述s302步骤包括:
97.由目标分层识别模型根据目标分层识别模型中预设的特征类型,对首个数据包以及n个数据包进行特征提取,确定首个数据包以及n个数据包中与特征类型对应的目标特征,并将目标特征作为加密流量的流量特征。
98.可选的,预设的特征类型可以是根据各流量数据的空间维度特征和时间维度特征等确定的特征类型。
99.示例性的,预设的特征类型可以包括:上下行时间间隔、报文平均负载长度、负载长度方差、上行窗口大小、下行窗口大小、tls算法套件数量等。
100.值得注意的是,不同的分层识别模型中,预设的特征类型可以相同或不同,示例性的,分层识别模型1中的特征类型可以为20种,分层识别模型2中的特征类型可以为33种,具体各分层识别模型中特征类型的数量本技术在此不做限制。
101.接下来对上述根据加密流量的流量特征确定并输出加密流量的预测结果的步骤进行说明,上述s203步骤包括:
102.由目标分层识别模型将加密流量的各流量特征按照预设的顺序组合为流量数组,并对流量数组进行预测,得到加密流量的预测结果。
103.可选的,目标分层识别模型可以将加密流量的各流量特征进行组合,得到加密流量的流量数组。
104.值得说明的是,假设加密流量中包括多种协议类型,即被送入多个分层识别模型中,那么该加密流量就可以在多个分层识别模型中分别被提取出多个流量特征,并按照各分层识别模型的预设顺序将流量特征进行组合,得到加密流量在各分层识别模型中的流量数组,并由各分层识别模型对各流量数组进行预测,得到加密流量在各分层识别模型中的预测结果。
105.以下是对上述对流量数组进行预测,得到加密流量的预测结果的步骤进行说明,如图4所示,该步骤包括:
106.s401:由目标分层识别模型对流量数组进行预测,并输出加密流量的预测值。
107.可选的,加密流量的预测值可以是分层识别模型输出的加密流量所属的应用。
108.可选的,分层识别模型可以对流量数组进行预测,并确定加密流量所属的应用。
109.作为一种可能的实施方式,分层识别模型还可以识别加密流量所属的服务类型,例如加密流量属于聊天服务、邮件服务、音频服务、视频服务等。
110.s402:若加密流量的预测值的数量为一个,则将预测值作为加密流量的预测结果。
111.可选的,当加密流量只被送往一个分层识别模型进行数据预测时,该预测值即为最终预测结果。
112.s403:若加密流量的预测值的数量为多个,则根据预设评估策略以及多个预测值确定加密流量的预测结果。
113.可选的,当加密流量被送往多个分层识别模型进行数据预测时,可以根据预设评估策略对多个预测值进行计算,确定最终预测结果。
114.示例性的,假设加密流量在多个分层识别模型中分别有多个输出作为预测值,那么电子设备可以根据加密流量的流量特征与各分层识别模型的相关性,确定最终的预测结果,即加密流量所属的应用。
115.在本技术实施例中,通过对加密流量在分层识别模型中的预测值进行评估,确定加密流量最终的预测结果,可以提高对加密流量识别的准确性。
116.以下是对上述在深度报文解析引擎中对流量进行识别,确定流量中的至少一个加密流量的步骤进行说明,如图5所示,上述s201步骤包括:
117.s501:在深度报文解析引擎中,对流量进行筛选,确定各流量的所属应用。
118.可选的,深度报文解析引擎作为一种数据报文过滤技术,可以对数据包进行深度的解析,从而确定数据包所属的应用类型。
119.需要说明的是,深度报文解析引擎在识别到数据包所属的应用类型后,可以由电子设备直接进行流量数据的转发。
120.s502:若未识别到流量的所属应用,则深度报文解析引擎将流量确定为加密流量。
121.可选的,若未识别到流量的所属应用,说明该流量是加密流量,此时可以将该流量
确定为加密流量并执行上述s202-s203步骤,通过本技术的分层识别模型确定该加密流量所属的应用。
122.在本技术实施例中,通过dp i引擎对获取到的流量进行初步筛选,再对其中的加密流量进行分层识别,可以快速锁定加密流量,并提高对加密流量识别的效率。
123.接下来对上述将加密流量输入对应的目标分层识别模型中之前,采用样本数据训练得到分层识别模型的步骤进行说明,如图6所示,上述s203步骤之前,包括:
124.s601:对样本流量进行特征提取,得到各样本流量的多个样本流量特征。
125.可选的,样本流量可以是根据配置系统的实现目的,采集到的不同应用的加密流量的样本数据。
126.可选的,可以使用dp i引擎对样本流量进行流量类型预分类,并对加密流量样本数据进行无效数据清洗以及样本数据标签化等操作,并基于已清洗的加密流量样本数据进行不同维度的特征提取操作,得到各样本流量的多个样本流量特征,样本流量特征例如可以包括:上下行时间间隔、报文平均负载长度、负载长度方差、上行窗口大小、下行窗口大小、tls算法套件数量等。
127.s602:将样本流量的多个样本流量特征组合为样本流量的样本特征集合。
128.可选的,样本特征集合可以是对样本流量的多个样本流量特征按照不同的预设顺序进行组合得到的多个数组。
129.s603:基于自适应特征选择算法对样本特征集合进行筛选,确定目标特征子集。
130.可选的,自适应特征选择算法的过程可以如图7所示,基于自适应特征选择算法,可以从样本特征集合中选择出基于当前训练样本和测试样本的最优特征组合,作为目标特征子集。
131.s604:根据目标特征子集进行模型训练,并确定训练得到的模型的测试结果。
132.可选的,根据已筛选的特征子集可以使用多种机器学习算法进行加密流量识别的模型训练,生成相应的训练模型,并确定模型的测试结果。
133.可选的,模型的测试结果可以是用户或电子设备对模型实际使用效果的评估结果。
134.s605:若测试结果满足预设条件,则将训练得到的模型作为样本流量所属协议类型对应的分层识别模型,否则,对训练得到的模型进行修正并重新执行基于自适应特征选择算法对样本特征集合进行筛选,确定目标特征子集的步骤。
135.可选的,若测试结果满足预设条件,可以理解为,模型的实际使用效果符合预期,即模型对于加密流量的识别准确率达到预期值,那么就可以将训练得到的模型作为样本流量所属协议类型对应的分层识别模型。
136.可选的若测试结果不满足预设条件,即模型对于加密流量的识别准确率没有达到预期值,那么就可以对训练得到的模型进行修正,并重新执行基于自适应特征选择算法对样本特征集合进行筛选,确定目标特征子集的步骤,再次进行特征选择和模型的迭代优化,直至取得满意的训练模型。
137.在本技术实施例中,通过加密流量样本进行训练,得到训练模型,并对训练得到的模型进行修正,可以提高模型的对于不同加密流量识别的准确性。
138.基于同一发明构思,本技术实施例中还提供了与加密流量识别方法对应的加密流
量识别装置,由于本技术实施例中的装置解决问题的原理与本技术实施例上述加密流量识别方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
139.参照图8所示,为本技术实施例提供的一种加密流量识别装置的示意图,所述装置包括:识别模块801、确定模块802、预测模块803,其中:
140.识别模块801,用于:在深度报文解析引擎中对流量进行识别,确定流量中的至少一个加密流量,其中,加密流量为无法识别所属应用的数据流;
141.确定模块802,用于:根据加密流量的协议类型,确定加密流量对应的目标分层识别模型,其中,目标分层识别模型为模型集合中的一个分层识别模型,模型集合中的各分层识别模型分别用于对一种协议类型的加密流量进行来源识别;
142.预测模块803,用于:将加密流量输入目标分层识别模型中,提取加密流量的至少一个流量特征,并根据加密流量的流量特征确定并输出加密流量的预测结果,预测结果包括:加密流量所属的应用。
143.可选的,预测模块803具体用于:
144.以接收到加密流量的首个数据包为起始,获取首个数据包之后的连续n个数据包;
145.将首个数据包以及n个数据包输入目标分层识别模型中,由目标分层识别模型根据首个数据包以及n个数据包,提取加密流量的至少一个流量特征,并根据加密流量的流量特征确定并输出加密流量的预测结果。
146.可选的,预测模块803具体用于:
147.由目标分层识别模型根据目标分层识别模型中预设的特征类型,对首个数据包以及n个数据包进行特征提取,确定首个数据包以及n个数据包中与特征类型对应的目标特征,并将目标特征作为加密流量的流量特征。
148.可选的,预测模块803具体用于:
149.由目标分层识别模型将加密流量的各流量特征按照预设的顺序组合为流量数组,并对流量数组进行预测,得到加密流量的预测结果。
150.可选的,预测模块803具体用于:
151.由目标分层识别模型对流量数组进行预测,并输出加密流量的预测值;
152.若加密流量的预测值的数量为一个,则将预测值作为加密流量的预测结果;
153.若加密流量的预测值的数量为多个,则根据预设评估策略以及多个预测值确定加密流量的预测结果。
154.可选的,识别模块801具体用于:
155.在深度报文解析引擎中,对流量进行筛选,确定各流量的所属应用;
156.若未识别到流量的所属应用,则深度报文解析引擎将流量确定为加密流量。
157.可选的,本技术的加密流量识别装置还可以包括训练模块,用于:
158.对样本流量进行特征提取,得到各样本流量的多个样本流量特征;
159.将样本流量的多个样本流量特征组合为样本流量的样本特征集合;
160.基于自适应特征选择算法对样本特征集合进行筛选,确定目标特征子集;
161.根据目标特征子集进行模型训练,并确定训练得到的模型的测试结果;
162.若测试结果满足预设条件,则将训练得到的模型作为样本流量所属协议类型对应的分层识别模型,否则,对训练得到的模型进行修正并重新执行基于自适应特征选择算法
对样本特征集合进行筛选,确定目标特征子集的步骤。
163.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
164.本技术实施例通过对流量进行识别确定加密流量,并将加密流量送往对应的分层识别模型中进行特征提取和流量来源预测,可以对不同类型的加密流量进行更精细的识别与预测,有效的提高了对加密流量的识别率,并降低了误识别率。并且本技术中是针对加密流量采用分层识别模型提取特征,并根据特征进行识别,避免了现有识别技术不能适用于所有加密流量的问题,提高了对不同类型加密流量的普适性。
165.本技术实施例还提供了一种电子设备,如图9所示,为本技术实施例提供的电子设备结构示意图,包括:处理器91、存储器92和总线。所述存储器92存储有所述处理器91可执行的机器可读指令(比如,图8中的装置中识别模块801、确定模块802、预测模块803对应的执行指令等),当计算机设备运行时,所述处理器91与所述存储器92之间通过总线通信,所述机器可读指令被所述处理器91执行时执行上述加密流量识别方法的处理。
166.本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述加密流量识别方法的步骤。
167.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本技术中不再赘述。在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
168.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-on l y memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
169.以上仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。