一种识别加密应用的方法、装置及电子设备与流程

文档序号:32742188发布日期:2022-12-30 19:35阅读:42来源:国知局
一种识别加密应用的方法、装置及电子设备与流程

1.本发明涉及网络安全与加密流量检测领域,具体而言,涉及一种识别加密应用的方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.目前网络安全和个人隐私的保护日益成为企业和网络用户的关注热点,因此很多应用在网络通信过程中都会对其所传递的正常流量进行加密处理,这里将对正常流量进行加密的应用称为加密应用。
3.在实现本发明的过程中,发明人发现现有的方案中至少存在如下问题:当前方案主要基于传统机器学习来进行识别加密流量所属的加密应用,而由于加密应用种类繁多,在加密应用数据量庞大的情况下,仅通过机器学习下的分类模型对加密流量进行识别,不能做到准确识别出加密流量属于哪个加密应用,容易出现误报。


技术实现要素:

4.为解决现有存在的技术问题,本发明实施例提供一种识别加密应用的方法、装置、电子设备及计算机可读存储介质。
5.第一方面,本发明实施例提供了一种识别加密应用的方法,包括:获取多种加密应用的多个样本加密流量;根据所述样本加密流量训练得到每种所述加密应用所对应的二分类模型,所述二分类模型能够识别加密流量是否属于相应的所述加密应用;将待识别的目标加密流量输入至多个所述二分类模型,基于多个所述二分类模型的输出结果确定所述目标加密流量所属的目标加密应用。
6.可选地,所述根据所述样本加密流量训练得到每种所述加密应用所对应的二分类模型包括:将一个所述加密应用作为有效加密应用,并确定所述有效加密应用的样本集;所述样本集包括所述有效加密应用的第一样本加密流量以及除所述有效加密应用之外的其他所述加密应用的第二样本加密流量,所述第一样本加密流量的标签为属于所述有效加密应用,所述第二样本加密流量的标签为不属于所述有效加密应用;根据所述有效加密应用的样本集训练得到所述有效加密应用所对应的二分类模型;将另一个所述加密应用作为有效加密应用,再次确定相应的二分类模型,直至确定每种所述加密应用所对应的二分类模型。
7.可选地,所述根据所述有效加密应用的样本集训练得到所述有效加密应用所对应的二分类模型包括:提取所述有效加密应用的样本集的所述第一样本加密流量以及所述第二样本加密流量的属性参数,根据所述第一样本加密流量的所述属性参数生成所述第一样本加密流量的单流心电图,根据所述第二样本加密流量的所述属性参数生成所述第二样本加密流量的单流心电图;将所述第一样本加密流量的单流心电图及所述第二样本加密流量的单流心电图输入模型进行训练,得到所述有效加密应用所对应的二分类模型。
8.可选地,所述根据所述第一样本加密流量的所述属性参数生成所述第一样本加密
流量的单流心电图,根据所述第二样本加密流量的所述属性参数生成所述第二样本加密流量的单流心电图,包括:根据所述第一样本加密流量的所述属性参数生成与所述第一样本加密流量对应的多个图像元素,将所述第一样本加密流量对应的多个所述图像元素依次排列生成所述第一样本加密流量的单流心电图;所述第一样本加密流量的所述属性参数包括消息长度、消息类型、消息序列、交互方向中的至少两项;根据所述第二样本加密流量的所述属性参数生成与所述第二样本加密流量对应的多个图像元素,将所述第二样本加密流量对应的多个所述图像元素依次排列生成所述第二样本加密流量的单流心电图;所述第二样本加密流量的所述属性参数包括消息长度、消息类型、消息序列、交互方向中的至少两项。
9.可选地,所述将待识别的目标加密流量输入至多个所述二分类模型,基于多个所述二分类模型的输出结果确定所述目标加密流量所属的目标加密应用,包括:获取所述目标加密流量,根据所述目标加密流量的属性参数生成所述目标加密流量的单流心电图;将所述目标加密流量的单流心电图输入多个所述二分类模型,基于多个所述二分类模型的输出结果确定所述目标加密流量所属的目标加密应用。
10.可选地,所述基于多个所述二分类模型的输出结果确定所述目标加密流量所属的目标加密应用包括:确定每个所述二分类模型的输出结果中属于加密应用的置信度,并确定最大置信度;若所述最大置信度大于预设阈值,将具有所述最大置信度的所述二分类模型所对应的所述加密应用作为所述目标加密流量所属的目标加密应用;若所述最大置信度不大于所述预设阈值,确定所述目标加密流量不属于任何所述二分类模型所对应的加密应用。
11.可选地,在所述基于多个所述二分类模型的输出结果确定所述目标加密流量所属的目标加密应用之后,该方法还包括:在所述目标加密流量所属的目标加密应用属于白名单的情况下,所述目标加密流量不是恶意流量;在所述目标加密流量所属的目标加密应用不属于白名单的情况下,将所述目标加密流量输入至恶意流量预测模型,根据所述恶意流量预测模型的输出结果预测所述目标加密流量是否为恶意流量。
12.第二方面,本发明实施例提供了一种识别加密应用的装置,包括:获取模块、处理模块及识别模块。
13.获取模块用于获取多种加密应用的多个样本加密流量。
14.处理模块用于根据所述样本加密流量训练得到每种所述加密应用所对应的二分类模型,所述二分类模型能够识别加密流量是否属于相应的所述加密应用。
15.识别模块用于将待识别的目标加密流量输入至多个所述二分类模型,基于多个所述二分类模型的输出结果确定所述目标加密流量所属的目标加密应用。
16.第三方面,本发明实施例提供了一种电子设备,包括:总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;所述收发器、所述存储器和所述处理器通过所述总线相连,所述计算机程序被所述处理器执行时实现如上所述的识别加密应用的方法中的步骤。
17.第四方面,本发明实施例提供了一种计算机可读存储介质,包括:可读存储介质上存储的计算机程序;所述计算机程序被处理器执行时实现如上所述的识别加密应用的方法中的步骤。
18.本发明实施例提供了一种识别加密应用的方法、装置、电子设备及计算机可读存
储介质,通过对每种加密应用分别构建二分类模型,基于多个二分类模型共同识别加密流量,可以在加密应用种类繁多且数据量庞大的情况下,准确识别出加密流量所属的加密应用。由于采取这种多个二分类模型架构来进行识别,提高了每一个模型的精确度,能够避免出现误报,优于传统方案中常见的多分类模型识别方法。
附图说明
19.为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
20.图1示出了本发明实施例所提供的一种识别加密应用的方法的流程图;
21.图2示出了本发明实施例所提供的识别加密应用的方法中,训练得到每种加密应用所对应的二分类模型的具体方法的流程图;
22.图3示出了本发明实施例所提供的识别加密应用的方法中,确定目标加密流量所属的目标加密应用的具体方法的流程图;
23.图4示出了本发明实施例所提供的识别加密应用的方法的一种详细流程图
24.图5示出了本发明实施例所提供的识别加密应用的装置的结构示意图;
25.图6示出了本发明实施例所提供的一种电子设备的结构示意图。
具体实施方式
26.下面结合本发明实施例中的附图对本发明实施例进行描述。
27.图1示出了本发明实施例所提供的一种识别加密应用的方法的流程图。如图1所示,该方法包括如下步骤101-103。
28.步骤101:获取多种加密应用的多个样本加密流量。
29.其中,加密应用是对其所传输的流量进行加密处理的应用,例如微信、qq、百度、新浪等应用在传输流量时会进行加密处理,该类应用即可作为加密应用,该加密应用所传输的经加密处理的流量是加密流量;针对多种加密应用获取该加密应用的加密流量,将上述加密流量作为样本加密流量,且每种加密应用对应有多个样本加密流量。其中,可以根据加密流量的tcp(transmission control protocol,传输控制协议)中的五元组信息对某种加密应用的加密流量进行分流,得到多个样本加密流量,上述tcp五元组信息通常是指:源ip地址,源端口,目的ip地址,目的端口和传输层协议;或者也可以采用本领域的其他成熟手段以获取样本加密流量,本实施例对此不做限定。
30.步骤102:根据所述样本加密流量训练得到每种所述加密应用所对应的二分类模型,所述二分类模型能够识别加密流量是否属于相应的所述加密应用。
31.其中,每种加密应用对应有相应的二分类模型;例如,加密应用1对应二分类模型a,加密应用2对应二分类模型b,则该二分类模型a能够判断某加密流量是否是该加密应用1的流量,即判断该加密流量是否属于加密应用1;相应地,二分类模型b能够判断某加密流量是否属于加密应用2。其中,二分类模型是机器学习中可以用于分类的模型,其可以是cnn(convolutional neural network,卷积神经网络)等。
32.其中,在训练某加密应用的二分类模型时,不仅需要该加密应用的样本加密流量,还需要用到除该加密应用之外的其他加密应用的样本加密流量。可选地,参见图2所示,上
述“根据所述样本加密流量训练得到每种所述加密应用所对应的二分类模型”包括以下步骤1021-1023。
33.步骤1021:将一个所述加密应用作为有效加密应用,并确定所述有效加密应用的样本集;所述样本集包括所述有效加密应用的第一样本加密流量以及除所述有效加密应用之外的其他所述加密应用的第二样本加密流量,所述第一样本加密流量的标签为属于所述有效加密应用,所述第二样本加密流量的标签为不属于所述有效加密应用。
34.本实施例中,在针对一种加密应用构建该加密应用所对应的二分类模型时,为方便描述,将该种加密应用称为有效加密应用,并确定该有效加密应用的样本集。其中,将获取到的该有效加密应用的样本加密流量作为第一样本加密流量,该第一样本加密流量的标签为属于该有效加密应用;将获取到的除该有效加密应用以外的其他加密应用的样本加密流量作为第二样本加密流量,该第二样本加密流量的标签为不属于该有效加密应用;基于具有标签的该第一样本加密流量和该第二样本加密流量即可形成该有效加密应用的样本集。
35.例如,可以将微信作为有效加密应用,在需要构建微信所对应的二分类模型时,先确定微信的样本集。具体地,将获取到的微信的样本加密流量作为第一样本加密流量,该第一样本加密流量的标签为属于微信;将获取到的除微信以外的其他加密应用的样本加密流量作为第二样本加密流量,该第二样本加密流量的标签为不属于微信,从而能够形成微信的样本集,该样本集中包含正例的数据(即第一样本加密流量)和负例的数据(即第二样本加密流量)。
36.可选地,在该样本集中,第一样本加密流量的数量与第二样本加密流量的数量之间具有预设的比例关系,例如1:1,即二者的数量相等。本发明实施例中,在生成有效加密应用的样本集时,先确定第一样本加密流量的数量,之后再以该第一样本加密流量的数量为基准确定第二样本加密流量的数量,使得二者满足预设的比例关系;并且,该样本集中包含多个其他加密应用的样本加密流量,即不同的第二样本加密流量可能对应不同的加密应用。
37.步骤1022:根据所述有效加密应用的样本集训练得到所述有效加密应用所对应的二分类模型。
38.其中,将该有效加密应用的样本集输入预设模型进行训练,得到该预设模型的模型参数,根据该模型参数得到该有效加密应用所对应的二分类模型。例如,在将微信作为有效加密应用构建微信所对应的二分类模型时,根据上述步骤1021中描述的过程能够得到的微信的样本集,之后将微信的样本集输入预设模型进行训练,即可得到微信所对应的二分类模型,该二分类模型能够识别某加密应用是否属于微信,即是否是基于微信传输的流量。
39.步骤1023:将另一个所述加密应用作为有效加密应用,再次确定相应的二分类模型,直至确定每种所述加密应用所对应的二分类模型。
40.本发明实施例中,可以针对每种加密应用分别构建与每种加密应用相对应的二分类模型。其中,将每种加密应用依次作为有效加密应用,重复上述步骤1021-1022所描述的过程,以确定多个二分类模型,多个二分类模型与多种加密应用一一对应。
41.本实施例通过获取每种加密应用的样本集分别对预设模型进行训练,能够得到与每种加密应用分别相对应的二分类模型。这种方式将每个二分类模型的作用限定为只识别
一种固定的加密应用,可以更具针对性的对加密应用进行识别,能够更加准确地识别加密流量属于哪个加密应用。
42.步骤103:将待识别的目标加密流量输入至多个所述二分类模型,基于多个所述二分类模型的输出结果确定所述目标加密流量所属的目标加密应用。
43.在需要识别某个加密流量所属的加密应用时,将该加密流量作为目标加密流量,并将该目标加密流量输入至多个二分类模型,根据多个二分类模型的输出结果即可确定目标加密流量属于哪个加密应用,该目标加密流量所属的加密应用称为目标加密应用。其中,目标加密流量可以是网络通信过程中待识别的任意的加密流量。
44.可选地,参见图3所示,上述步骤103中“基于多个所述二分类模型的输出结果确定所述目标加密流量所属的目标加密应用”包括以下步骤1031-1033。
45.步骤1031:确定每个所述二分类模型的输出结果中属于加密应用的置信度,并确定最大置信度。
46.其中,每个二分类模型的输出结果可以是“属于加密应用”,或者是“不属于加密应用”,并且每个二分类模型的输出结果均对应相应置信度,该置信度用来表示目标加密流量属于相应加密应用(或者不属于相应加密应用)的概率值。本发明实施例中,当需要识别目标加密流量所属的加密应用时,通过将该目标加密流量输入至每个二分类模型得到每个二分类模型的输出结果,对每个二分类模型的输出结果进行综合处理,在该综合处理的过程中可以不需要关注输出结果为“不属于加密应用”的情况;即,根据每个二分类模型的输出结果,从中选取是属于加密应用的输出结果,并得到该输出结果对应的置信度,进而能够确定多个置信度中的最大置信度。
47.步骤1032:若所述最大置信度大于预设阈值,将具有所述最大置信度的所述二分类模型所对应的所述加密应用作为所述目标加密流量所属的目标加密应用。
48.其中,在对每个二分类模型的输出结果进行综合处理,得到多个输出结果中属于加密应用的最大置信度之后,判断该最大置信度是否大于预设阈值。如果该最大置信度满足大于预设阈值的情况,说明基于多个二分类模型可以高概率准确确定该目标加密流量属于某个加密应用,此时确定具有该最大置信度的二分类模型所对应的加密应用,将该加密应用作为该目标加密流量所属的目标加密应用。其中,该预设阈值可以是预先设置的固定值,也可以是随实际情况动态设置的值;例如,该预设阈值可以预先设置为0.6、0.7或者0.8等。
49.步骤1033:若所述最大置信度不大于所述预设阈值,确定所述目标加密流量不属于任何所述二分类模型所对应的加密应用。
50.相反地,如果该最大置信度不满足大于预设阈值的情况,即该最大置信度小于或等于预设阈值,此时基于上述的多个二分类模型并不能确定目标加密流量属于哪个加密应用,即该目标加密流量所属的目标加密应用为未知应用。其中,未知应用是不属于任何二分类模型所对应的加密应用,即本实施例中不涉及的加密应用。该未知应用可能是对正常流量进行加密的加密应用,也可能是对恶意流量进行加密的加密应用。
51.本发明实施例中,从每个二分类模型的输出结果中选取属于加密应用的置信度,通过判断其中最大置信度是否大于预设阈值,从而确定该目标加密流量所属的目标加密应用,或者可以确定该目标加密流量所属的目标加密应用为未知应用,其不属于任何二分类
模型所对应的加密应用。基于上述方式可以对每个二分类模型的输出结果进行比较和筛选和比较,从而使加密应用的识别更加准确。
52.本发明实施例提供的一种识别加密应用的方法,通过对每种加密应用分别构建二分类模型,基于多个二分类模型共同识别加密流量,可以在加密应用种类繁多且数据量庞大的情况下,准确识别出加密流量所属的加密应用。由于采取这种多个二分类模型架构来进行识别,提高了每一个模型的精确度,能够避免出现误报,优于传统方案中常见的多分类模型识别方法。
53.可选地,在上述步骤1022“根据所述有效加密应用的样本集训练得到所述有效加密应用所对应的二分类模型”中包括以下步骤a1-a2。
54.步骤a1:提取所述有效加密应用的样本集的所述第一样本加密流量以及所述第二样本加密流量的属性参数,根据所述第一样本加密流量的所述属性参数生成所述第一样本加密流量的单流心电图,根据所述第二样本加密流量的所述属性参数生成所述第二样本加密流量的单流心电图。
55.本实施例中,分别提取有效加密应用的样本集的第一样本加密流量的属性参数,以及有效加密应用的样本集的第二样本加密流量的属性参数。其中,在该第一样本加密流量的tls(transport layer security,安全传输层协议)记录层中记录有加密流量的属性参数,即从该第一样本加密流量的tls记录层中可以获取到所需的该第一样本加密流量的属性参数,同理,从该第二样本加密流量的tls记录层中可以获取到所需的该第二样本加密流量的属性参数。具体获取的方式属于本领域的成熟手段,对于上述获取手段本实施例对此不做限定。
56.本实施例中,该属性参数包括消息长度、消息类型、消息序列、交互方向中的至少两项。其中,消息长度指的是加密流量中包含的消息的长度。消息类型为加密流量中包含的消息所属的类型,如“client hello”、“server hello”、“传输的证书信息”等都属于一种消息类型。消息序列指的是在加密流量中,每条消息之间的相对顺序,例如,加密流量中依次包含client hello、server hello、传输的证书信息,则client hello的消息序列可以为1,server hello的消息序列为2,传输的证书信息的消息序列为3。交互方向为该加密流量包含的消息的上下行方向,例如,若该消息为从客户端发送至服务端,则其交互方向为上行方向,若该消息为从服务端发送至客户端,则其交互方向为下行方向。
57.可选地,根据所述第一样本加密流量的所述属性参数生成所述第一样本加密流量的单流心电图,根据所述第二样本加密流量的所述属性参数生成所述第二样本加密流量的单流心电图,包括以下步骤b1-b2。
58.步骤b1:根据所述第一样本加密流量的所述属性参数生成与所述第一样本加密流量对应的多个图像元素,将所述第一样本加密流量对应的多个所述图像元素依次排列生成所述第一样本加密流量的单流心电图;所述第一样本加密流量的所述属性参数包括消息长度、消息类型、消息序列、交互方向中的至少两项。
59.本发明实施例中,基于第一样本加密流量的属性参数生成相应的图像元素,该图像元素本质上是一个图像,从而可以将文本形式的属性参数转换为图像形式,且转换后的图像元素能够表示所对应的属性参数。同时,第一样本加密流量中会包含多个属性参数,即该第一样本加密流量可以对应多个图像元素,进而基于多个图像元素即可生成与第一样本
加密流量对应的图像,即第一样本加密流量的单流心电图。其中,本实施例中将该图像形式设定为直方图,该第一样本加密流量的属性参数可以包括消息长度、消息类型、消息序列、交互方向中的至少两项,并对上述属性参数所对应的多个图像元素进行颜色区分,例如,client hello用红色表示,server hello用紫色表示,传输的证书信息用粉色表示,application data用黑色表示等。在第一样本加密流量的属性参数包含消息序列时,可以基于该消息序列对多个图像元素进行依次排列,进而生成相应的、直方图形式的第一样本加密流量的单流心电图。
60.步骤b2:根据所述第二样本加密流量的所述属性参数生成与所述第二样本加密流量对应的多个图像元素,将所述第二样本加密流量对应的多个所述图像元素依次排列生成所述第二样本加密流量的单流心电图;所述第二样本加密流量的所述属性参数包括消息长度、消息类型、消息序列、交互方向中的至少两项。
61.其中,生成第二样本加密流量的单流心电图与上述生成第一样本加密流量的单流心电图的过程相似,故基于上述步骤b1所描述的过程,可以根据该第二样本加密流量的属性参数生成该第二样本加密流量的单流心电图,此处不做赘述。
62.本发明实施例中,由于不同的图像元素对应不同的属性参数,故不同加密流量的图像元素一般是不同的,通过多个不同的图像元素可以表示图像元素的变化趋势,即加密流量对应的图像可以表示图像元素的变化趋势,其类似于心电图,故本实施例中将加密流量所对应的图像称为心电图,且由于该心电图只对应一个加密流量,其类似于一个导联生成的心电图,即单流心电图。传统的心电图可以反映心脏活动在时间维度上的特征,类似的,本实施例中的“单流心电图”也可以反映通信活动在时间维度上的特征,即该第一样本加密流量的单流心电图以及该第二样本加密流量的单流心电图能够分别表示该第一样本加密流量在时间维度上的特征和该第二样本加密流量在时间维度上的特征。
63.步骤a2:将所述第一样本加密流量的单流心电图及所述第二样本加密流量的单流心电图输入模型进行训练,得到所述有效加密应用所对应的二分类模型。
64.其中,将上述第一样本加密流量的单流心电图及上述第二样本加密流量的单流心电图输入至预设模型进行训练,即在训练过程中,若预设模型的输入为第一样本加密流量的单流心电图,其输出对应的标签为属于有效加密应用;相反地,若预设模型的输入为第二样本加密流量的单流心电图,其输出对应的标签为不属于有效加密应用,从而能够训练得到该有效加密应用所对应的二分类模型。
65.本发明实施例中,提取加密流量中的属性参数,基于该属性参数将加密流量转换为包含多个图像元素的单流心电图,之后基于单流心电图对预设模型进行训练,进而得到能够确定与加密流量相对应的加密应用的二分类模型。该方式通过提取加密流量中固有的属性参数,图像化该属性参数以生成单流心电图,该单流心电图能够表征通信活动在时间维度上的特征,由于不同加密应用的加密流量在时间维度上的特征不同,使得基于该单流心电图对加密流量进行分类时,能够更加准确地确定加密流量所属的加密应用,能够提高识别的准确率;且该方式可以在无域名等情况下执行,适用性强。
66.可选地,上述步骤103“将待识别的目标加密流量输入至多个所述二分类模型,基于多个所述二分类模型的输出结果确定所述目标加密流量所属的目标加密应用”,包括:获取所述目标加密流量,根据所述目标加密流量的属性参数生成所述目标加密流量的单流心
电图;将所述目标加密流量的单流心电图输入多个所述二分类模型,基于多个所述二分类模型的输出结果确定所述目标加密流量所属的目标加密应用。
67.其中,可以基于上述步骤a1-a2分别确定每种加密应用所对应的二分类模型;在设置多个二分类模型之后,采用与生成样本加密流量的单流心电图相似的方式生成目标加密流量的单流心电图,即基于类似上述步骤b1-b2的过程,根据该目标加密流量的属性参数可以生成该目标加密流量的单流心电图;最后,将该目标加密流量的单流心电图输入至多个二分类模型,基于多个二分类模型的输出结果可以确定该目标加密流量所属的目标加密应用。
68.可选地,在基于多个所述二分类模型的输出结果确定所述目标加密流量所属的目标加密应用之后,该方法还包括以下步骤c1-c2。
69.步骤c1:在所述目标加密流量所属的目标加密应用属于白名单的情况下,所述目标加密流量不是恶意流量。
70.其中,白名单中包含多个正常加密应用,该正常加密应用是指对正常流量进行加密的加密应用,即该正常加密应用不会对恶意流量进行加密,其生成的加密流量都为正常流量;一般情况下,该正常加密应用是市面上合法合规的应用程序,例如微信、支付宝等。当目标加密流量所属的目标加密应用属于白名单时,表示该目标加密流量是正常加密应用所产生的正常流量,其不是恶意流量。
71.步骤c2:在所述目标加密流量所属的目标加密应用不属于白名单的情况下,将所述目标加密流量输入至恶意流量预测模型,根据所述恶意流量预测模型的输出结果预测所述目标加密流量是否为恶意流量。
72.在该目标加密流量所属的目标加密应用不属于白名单时,即该目标加密流量不是正常加密应用所产生的流量,该目标加密流量可能是正常流量(例如,是本实施例不涉及的其他合法加密应用所产生的流量),也可能是恶意流量。此时,将该目标加密流量输入至能够预测加密流量是否是恶意流量的预测模型(即恶意流量预测模型),根据该恶意流量预测模型的输出结果预测该目标加密流量是否为恶意流量。
73.本发明实施例中,可以预先设置包含多个正常加密应用的白名单,在确定目标加密流量所属的目标加密应用之后,即可确定该目标加密应用是否是白名单中的某个正常加密应用,从而可以确定目标加密应用是否属于白名单。其中,上述步骤101中的加密应用可以是正常加密应用,也可以是恶意加密应用,本实施例对此不做限定。
74.或者,上述步骤101中的加密应用均为正常加密应用;若目标加密流量所属的目标加密应用为步骤101中的某个加密应用,将该目标加密流量输入至多个二分类模型,基于多个二分类模型的输出结果中属于加密应用的置信度,确定最大置信度并将该最大置信度与预设阈值进行大小的比较,当该最大置信度大于该预设阈值时,能够确定该目标加密流量所属的目标加密应用,则可以直接确定目标加密应用属于白名单,否则,当该最大置信度不大于该预设阈值时,该目标加密流量所属的目标加密应用为未知应用,则该目标加密应用不属于白名单。
75.本发明实施例可以用于恶意流量检测之前,通过对加密流量进行识别分类,准确地确定该加密流量所属的加密应用,当该加密流量所属于的加密应用属于白名单时,即可认为该加密流量为正常流量。因此,在之后进行恶意流量的检测时,无需针对该加密流量做
进一步的取样检测,以判断其是否为恶意流量;即,在需要检测加密流量是否为恶意流量时,可以先基于上述的多个二分类模型识别出属于正常加密应用的加密流量,并剔除属于正常加密应用的加密流量,从而实现去白处理,之后只需要判断未识别出属于正常加密应用的加密流量是否是恶意流量即可。本发明实施例提供的识别加密应用的方法可以应用到恶意流量检测的场景,通过对待检测的加密流量进行去白处理,能够分离出正常流量,此时只需要检测剩余的加密流量是否是恶意流量,可以降低检测的误报率。
76.下面通过一个实施例详细介绍该识别加密应用的方法流程。参见图4所示,该方法包括以下步骤401-411。
77.步骤401:获取多种加密应用的多个样本加密流量。
78.具体过程可以参见上述步骤101的相关内容,在此不做赘述。
79.步骤402:选取一种加密应用作为有效加密应用,确定该有效加密应用的样本集。
80.其中,可以基于上述步骤1021确定该有效加密应用的样本集,该有效加密应用的样本集包括:标签为属于该有效加密应用的第一样本加密流量及标签为不属于该有效加密应用的第二样本加密流量;并基于上述步骤b1-b2,针对该标签为属于该有效加密应用的第一样本加密流量生成该第一样本加密流量的单流心电图,并且针对该标签为不属于该有效加密应用的第二样本加密流量生成该第二样本加密流量的单流心电图,进而生成包含第一样本加密流量和第二样本加密流量的样本集。
81.步骤403:根据该第一样本加密流量的单流心电图及该第二样本加密流量的单流心电图对预设模型进行训练,得到该有效加密应用所对应的二分类模型。
82.具体过程可以参见上述步骤a2的相关内容,在此不做赘述。
83.步骤404:将另一个加密应用作为有效加密应用,之后重复上述步骤402-403,以确定另一个加密应用所对应的二分类模型。
84.步骤405:在遍历所有加密应用之后,即可确定每种加密应用所对应的二分类模型。
85.其中,若每个加密应用均曾被作为有效加密应用,则可认为遍历了所有的加密应用。
86.步骤406:获取目标加密流量,生成该目标加密流量的单流心电图。
87.步骤407:将该目标加密流量的单流心电图输入多个二分类模型,基于多个二分类模型的输出结果确定该目标加密流量所属的目标加密应用。
88.其中,通过选取多个二分类模型的输出结果中属于加密应用的置信度并确定最大置信度,将该最大置信度与预设阈值进行大小比较,当该最大置信度大于该预设阈值时,将具有该最大置信度的二分类模型所对应的加密应用作为该目标加密流量所属的目标加密应用。具体过程可以参见上述步骤1031-1033的相关内容,在此不做赘述。
89.步骤408:判断该目标加密应用是否属于白名单。
90.步骤409:当该目标加密应用不属于白名单时,该目标加密流量不是正常流量,将该目标加密流量输入至恶意流量预测模型,根据该恶意流量预测模型的输出结果预测该目标加密流量是否为恶意流量。
91.步骤410:当该目标加密应用属于白名单时,该目标加密流量是正常流量而不是恶意流量,无需进行恶意流量预测。
92.步骤411:结束。
93.本发明实施例还提供了一种识别加密应用装置,参见图5所示,该装置包括:获取模块51、处理模块52及识别模块53。
94.获取模块51:用于获取多种加密应用的多个样本加密流量。
95.处理模块52:用于根据所述样本加密流量训练得到每种所述加密应用所对应的二分类模型,所述二分类模型能够识别加密流量是否属于相应的所述加密应用。
96.所识别模块53:用于将待识别的目标加密流量输入至多个所述二分类模型,基于多个所述二分类模型的输出结果确定所述目标加密流量所属的目标加密应用。
97.可选地,处理模块52包括:采样单元和训练单元。
98.采样单元用于将一个所述加密应用作为有效加密应用,并确定所述有效加密应用的样本集;所述样本集包括所述有效加密应用的第一样本加密流量以及除所述有效加密应用之外的其他所述加密应用的第二样本加密流量,所述第一样本加密流量的标签为属于所述有效加密应用,所述第二样本加密流量的标签为不属于所述有效加密应用。
99.训练单元用于根据所述有效加密应用的样本集训练得到所述有效加密应用所对应的二分类模型;将另一个所述加密应用作为有效加密应用,再次确定相应的二分类模型,直至确定每种所述加密应用所对应的二分类模型。
100.可选地,处理模块52中的采样单元包括:生成子单元;训练单元包括:训练子单元。
101.生成子单元用于提取所述有效加密应用的样本集的所述第一样本加密流量以及所述第二样本加密流量的属性参数,根据所述第一样本加密流量的所述属性参数生成所述第一样本加密流量的单流心电图,根据所述第二样本加密流量的所述属性参数生成所述第二样本加密流量的单流心电图。
102.训练子单元将所述第一样本加密流量的单流心电图及所述第二样本加密流量的单流心电图输入模型进行训练,得到所述有效加密应用所对应的二分类模型。
103.可选地,生成子单元包括:第一生成子单元和第二生成子单元。
104.第一生成子单元用于根据所述第一样本加密流量的所述属性参数生成与所述第一样本加密流量对应的多个图像元素,将所述第一样本加密流量对应的多个所述图像元素依次排列生成所述第一样本加密流量的单流心电图;所述第一样本加密流量的所述属性参数包括消息长度、消息类型、消息序列、交互方向中的至少两项。
105.第二生成子单元用于:根据所述第二样本加密流量的所述属性参数生成与所述第二样本加密流量对应的多个图像元素,将所述第二样本加密流量对应的多个所述图像元素依次排列生成所述第二样本加密流量的单流心电图;所述第二样本加密流量的所述属性参数包括消息长度、消息类型、消息序列、交互方向中的至少两项。
106.可选地,识别模块53包括:获取单元和识别单元。
107.获取单元用于获取所述目标加密流量,根据所述目标加密流量的属性参数生成所述目标加密流量的单流心电图。
108.识别单元用于将所述目标加密流量的单流心电图输入多个所述二分类模型,基于多个所述二分类模型的输出结果确定所述目标加密流量所属的目标加密应用。
109.可选地,识别单元用于确定每个所述二分类模型的输出结果中属于加密应用的置信度,并确定最大置信度;若所述最大置信度大于预设阈值,将具有所述最大置信度的所述
programmable gate array,fpga)、复杂可编程逻辑器件(complex programmable logic device,cpld)、可编程逻辑阵列(programmable logic array,pla)、微控制单元(microcontroller unit,mcu)或其他可编程逻辑器件、分立门、晶体管逻辑器件、分立硬件组件。可以实现或执行本发明实施例中公开的各方法、步骤及逻辑框图。例如,处理器可以是单核处理器或多核处理器,处理器可以集成于单颗芯片或位于多颗不同的芯片。
120.处理器1120可以是微处理器或任何常规的处理器。结合本发明实施例所公开的方法步骤可以直接由硬件译码处理器执行完成,或者由译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(random access memory,ram)、闪存(flash memory)、只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、寄存器等本领域公知的可读存储介质中。所述可读存储介质位于存储器中,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
121.总线1110还可以将,例如外围设备、稳压器或功率管理电路等各种其他电路连接在一起,总线接口1140在总线1110和收发器1130之间提供接口,这些都是本领域所公知的。因此,本发明实施例不再对其进行进一步描述。
122.收发器1130可以是一个元件,也可以是多个元件,例如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。例如:收发器1130从其他设备接收外部数据,收发器1130用于将处理器1120处理后的数据发送给其他设备。取决于计算机系统的性质,还可以提供用户接口1160,例如:触摸屏、物理键盘、显示器、鼠标、扬声器、麦克风、轨迹球、操纵杆、触控笔。
123.应理解,在本发明实施例中,存储器1150可进一步包括相对于处理器1120远程设置的存储器,这些远程设置的存储器可以通过网络连接至服务器。上述网络的一个或多个部分可以是自组织网络(ad hoc network)、内联网(intranet)、外联网(extranet)、虚拟专用网(vpn)、局域网(lan)、无线局域网(wlan)、广域网(wan)、无线广域网(wwan)、城域网(man)、互联网(internet)、公共交换电话网(pstn)、普通老式电话业务网(pots)、蜂窝电话网、无线网络、无线保真(wi-fi)网络以及两个或更多个上述网络的组合。例如,蜂窝电话网和无线网络可以是全球移动通信(gsm)系统、码分多址(cdma)系统、全球微波互联接入(wimax)系统、通用分组无线业务(gprs)系统、宽带码分多址(wcdma)系统、长期演进(lte)系统、lte频分双工(fdd)系统、lte时分双工(tdd)系统、先进长期演进(lte-a)系统、通用移动通信(umts)系统、增强移动宽带(enhance mobile broadband,embb)系统、海量机器类通信(massive machine type of communication,mmtc)系统、超可靠低时延通信(ultra reliable low latency communications,urllc)系统等。
124.应理解,本发明实施例中的存储器1150可以是易失性存储器或非易失性存储器,或可包括易失性存储器和非易失性存储器两者。其中,非易失性存储器包括:只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存(flash memory)。
125.易失性存储器包括:随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如:静态随机存取存储器
(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddrsdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,drram)。本发明实施例描述的电子设备的存储器1150包括但不限于上述和任意其他适合类型的存储器。
126.在本发明实施例中,存储器1150存储了操作系统1151和应用程序1152的如下元素:可执行模块、数据结构,或者其子集,或者其扩展集。
127.具体而言,操作系统1151包含各种系统程序,例如:框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序1152包含各种应用程序,例如:媒体播放器(media player)、浏览器(browser),用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序1152中。应用程序1152包括:小程序、对象、组件、逻辑、数据结构以及其他执行特定任务或实现特定抽象数据类型的计算机系统可执行指令。
128.此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述识别加密应用的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
129.计算机可读存储介质包括:永久性和非永久性、可移动和非可移动媒体,是可以保留和存储供指令执行设备所使用指令的有形设备。计算机可读存储介质包括:电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备以及上述任意合适的组合。计算机可读存储介质包括:相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、非易失性随机存取存储器(nvram)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带存储、磁带磁盘存储或其他磁性存储设备、记忆棒、机械编码装置(例如在其上记录有指令的凹槽中的穿孔卡或凸起结构)或任何其他非传输介质、可用于存储可以被计算设备访问的信息。按照本发明实施例中的界定,计算机可读存储介质不包括暂时信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如穿过光纤电缆的光脉冲)或通过导线传输的电信号。
130.在本技术所提供的几个实施例中,应该理解到,所披露的装置、电子设备和方法,可以通过其他的方式实现。例如,以上描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的、机械的或其他的形式连接。
131.所述作为分离部件说明的单元可以是或也可以不是物理上分开的,作为单元显示的部件可以是或也可以不是物理单元,既可以位于一个位置,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或全部单元来解决本发明实施例方案要解决的问题。
132.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以
是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
133.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术作出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(包括:个人计算机、服务器、数据中心或其他网络设备)执行本发明各个实施例所述方法的全部或部分步骤。而上述存储介质包括如前述所列举的各种可以存储程序代码的介质。
134.在本发明实施例的描述中,所属技术领域的技术人员应当知道,本发明实施例可以实现为方法、装置、电子设备及计算机可读存储介质。因此,本发明实施例可以具体实现为以下形式:完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、硬件和软件结合的形式。此外,在一些实施例中,本发明实施例还可以实现为在一个或多个计算机可读存储介质中的计算机程序产品的形式,该计算机可读存储介质中包含计算机程序代码。
135.上述计算机可读存储介质可以采用一个或多个计算机可读存储介质的任意组合。计算机可读存储介质包括:电、磁、光、电磁、红外或半导体的系统、装置或器件,或者以上任意的组合。计算机可读存储介质更具体的例子包括:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom)、闪存(flash memory)、光纤、光盘只读存储器(cd-rom)、光存储器件、磁存储器件或以上任意组合。在本发明实施例中,计算机可读存储介质可以是任意包含或存储程序的有形介质,该程序可以被指令执行系统、装置、器件使用或与其结合使用。
136.上述计算机可读存储介质包含的计算机程序代码可以用任意适当的介质传输,包括:无线、电线、光缆、射频(radio frequency,rf)或者以上任意合适的组合。
137.可以以汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,例如:java、smalltalk、c++,还包括常规的过程式程序设计语言,例如:c语言或类似的程序设计语言。计算机程序代码可以完全的在用户计算机上执行、部分的在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行以及完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括:局域网(lan)或广域网(wan),可以连接到用户计算机,也可以连接到外部计算机。
138.本发明实施例通过流程图和/或方框图描述所提供的方法、装置、电子设备。
139.应当理解,流程图和/或方框图的每个方框以及流程图和/或方框图中各方框的组合,都可以由计算机可读程序指令实现。这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机可读程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或方框图中的方框规定的功能/操作的装置。
140.也可以将这些计算机可读程序指令存储在能使得计算机或其他可编程数据处理
装置以特定方式工作的计算机可读存储介质中。这样,存储在计算机可读存储介质中的指令就产生出一个包括实现流程图和/或方框图中的方框规定的功能/操作的指令装置产品。
141.也可以将计算机可读程序指令加载到计算机、其他可编程数据处理装置或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程数据处理装置上执行的指令能够提供实现流程图和/或方框图中的方框规定的功能/操作的过程。
142.以上所述,仅为本发明实施例的具体实施方式,但本发明实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例披露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明实施例的保护范围之内。因此,本发明实施例的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1