一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种TLS加密流量检测方法、装置和电子设备与流程

2021-10-19 21:28:00 来源:中国专利 TAG:电子设备 加密 检测方法 装置 流量

一种tls加密流量检测方法、装置和电子设备
技术领域
1.本发明涉及计算机技术领域,具体而言,涉及一种tls加密流量检测方法、装置和电子设备。


背景技术:

2.目前,大量的主流产品检测安全传输层协议(transport layer security,tls)恶意流量主要依赖于从已经被公开报告的木马病毒样本(恶意软件样本)所产生的tls流量中提取客户端指纹和证书异常信息。


技术实现要素:

3.为解决上述问题,本发明实施例的目的在于提供一种tls加密流量检测方法、装置和电子设备。
4.第一方面,本发明实施例提供了一种安全传输层协议tls加密流量检测方法,包括:获取不同会话的tls加密流量,对所述tls加密流量进行解析,得到所述tls加密流量的流量信息;其中,所述tls加密流量的流量信息,包括:ip地址、服务器名称标识sni、域名dns、x.509证书和/或者tls握手信息;所述tls握手信息包括:服务器端握手信息和/或者客户端握手信息;所述ip地址,包括:源ip地址和目的ip地址;根据不同会话的tls加密流量中的所述源ip地址和目的ip地址,从不同会话中确定出具有相同源ip地址和目的ip地址的会话;获取具有相同源ip地址和目的ip地址的会话中的tls握手信息;当具有相同源ip地址和目的ip地址的会话的服务器端握手信息的数量为预设数量且客户端握手信息的数量为预设数量时,确定所述会话的tls加密流量是tls单流;分别利用自定义规则库、白名单库以及威胁情报库对所述tls单流进行处理,确定所述tls单流所属的病毒家族;当利用自定义规则库、白名单库以及威胁情报库未能确定所述tls单流所属的病毒家族时,对所述tls单流的所述tls握手信息、服务器名称标识sni、域名dns和/或者x.509证书进行处理,确定所述tls单流所属的病毒家族。
5.第二方面,本发明实施例还提供了一种安全传输层协议tls加密流量检测装置,包括:第一获取模块,用于获取不同会话的tls加密流量,对所述tls加密流量进行解析,得到所述tls加密流量的流量信息;其中,所述tls加密流量的流量信息,包括:ip地址、服务器名称标识sni、域名dns、x.509证书和/或者tls握手信息;所述tls握手信息包括:服务器端握手信息和/或者客户端握手信息;所述ip地址,包括:源ip地址和目的ip地址;第一确定模块,用于根据不同会话的tls加密流量中的所述源ip地址和目的ip地址,从不同会话中确定出具有相同源ip地址和目的ip地址的会话;
第二获取模块,用于获取具有相同源ip地址和目的ip地址的会话中的tls握手信息;第二确定模块,用于当具有相同源ip地址和目的ip地址的会话的服务器端握手信息的数量为预设数量且客户端握手信息的数量为预设数量时,确定所述会话的tls加密流量是tls单流;第一处理模块,用于分别利用自定义规则库、白名单库以及威胁情报库对所述tls单流进行处理,确定所述tls单流所属的病毒家族;第二处理模块,用于当利用自定义规则库、白名单库以及威胁情报库未能确定所述tls单流所属的病毒家族时,对所述tls单流的所述tls握手信息、服务器名称标识sni、域名dns和/或者x.509证书进行处理,确定所述tls单流所属的病毒家族。
6.第三方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面所述的方法的步骤。
7.第四方面,本发明实施例还提供了一种电子设备,所述电子设备包括有存储器,处理器以及一个或者一个以上的程序,其中所述一个或者一个以上程序存储于所述存储器中,且经配置以由所述处理器执行上述第一方面所述的方法的步骤。
8.本发明实施例上述第一方面至第四方面提供的方案中,通过获取到的会话的tls加密流量的ip地址和tls握手信息,确定会话的tls加密流量是tls单流时,对所述tls单流的所述tls握手信息、服务器名称标识sni、域名dns和/或者x.509证书进行处理,确定tls单流所属的病毒家族,可以有效的确定出tls加密流量所属的病毒家族,从而可以对tls加密流量中的恶意流量进行有效识别。
9.为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
10.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
11.图1示出了本发明实施例1所提供的一种tls加密流量检测方法的流程图;图2示出了本发明实施例2所提供的一种tls加密流量检测装置的结构示意图;图3示出了本发明实施例3所提供的一种电子设备的结构示意图。
具体实施方式
12.在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
13.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
14.在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
15.目前,大量的主流产品检测安全传输层协议(transport layer security,tls)恶意流量主要依赖于从已经被公开报告的木马病毒样本(恶意软件样本)所产生的tls流量中提取客户端指纹和证书异常信息。
16.未知的恶意软件样本产生的客户端握手指纹与公开过的样本产生的指纹不一致,因此不能通过客户端指纹检测判定;证书异常只能表明证书申请人证书填写信息不规范以及没有从正规的机构获得证书,并不能直接判定为恶意通信。
17.基于此,本实施例提出一种tls加密流量检测方法、装置和电子设备,通过获取到的会话的tls加密流量的ip地址和tls握手信息,确定会话的tls加密流量是tls单流时,对所述tls单流的所述tls握手信息、服务器名称标识sni、域名dns和/或者x.509证书进行处理,确定tls单流所属的病毒家族,可以有效的确定出tls加密流量所属的病毒家族,从而可以对tls加密流量中的恶意流量进行有效识别。
18.为使本技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本技术做进一步详细的说明。
19.实施例1本实施例提出一种安全传输层协议tls加密流量检测方法的执行主体是服务器。
20.所述服务器,可以采用现有技术中任何可以对tls加密流量进行病毒家族检测的计算设备,这里不再一一赘述。
21.本实施例提出一种安全传输层协议tls加密流量检测方法,包括以下具体步骤:步骤100、获取不同会话的tls加密流量,对所述tls加密流量进行解析,得到所述tls加密流量的流量信息。
22.其中,所述tls加密流量的流量信息,包括:ip地址、服务器名称标识sni、域名dns、x.509证书和/或者tls握手信息;所述tls握手信息包括:服务器端握手信息和/或者客户端握手信息;所述ip地址,包括:源ip地址和目的ip地址。
23.在上述步骤100中,所述服务器端握手信息,就是serverhello信息;所述客户端握手信息,就是clienthello信息。
24.步骤102、根据不同会话的tls加密流量中的所述源ip地址和目的ip地址,从不同会话中确定出具有相同源ip地址和目的ip地址的会话。
25.步骤104、获取具有相同源ip地址和目的ip地址的会话中的tls握手信息。
26.步骤106、当具有相同源ip地址和目的ip地址的会话的服务器端握手信息的数量为预设数量且客户端握手信息的数量为预设数量时,确定所述会话的tls加密流量是tls单
流。
27.在上述步骤106中,预设数量可以设置为1。
28.所述tls单流,是指具有服务器端握手信息的数量为1且客户端握手信息的数量为1的会话。
29.步骤108、分别利用自定义规则库、白名单库以及威胁情报库对所述tls单流进行处理,确定所述tls单流所属的病毒家族。
30.在上述步骤108中,所述自定义规则库:由安全专家对特定病毒家族的tls流量提取的规则组成。所述自定义规则库,包括病毒家族的标识与病毒家族的特征字符串的对应关系。
31.所述白名单库:包括全球主要网站的dns。
32.所述威胁情报库中存储有病毒家族的ip地址、dns以及病毒家族标识的对应关系。
33.为了确定所述tls单流所属的病毒家族,可以执行以下步骤(1)至步骤(5):(1)获取所述tls单流的报文内容,利用所述tls单流的报文内容在自定义规则库进行遍历操作;其中,所述自定义规则库中存储有特征字符串与病毒家族标识的对应关系;(2)当能够从自定义规则库中查询出与所述tls单流的报文内容相同的特征字符串时,确定所述tls单流属于与所述tls单流相同的特征字符串对应的病毒家族标识指示的病毒家族;(3)当未能从自定义规则库中查询出与所述tls单流的报文内容相同的特征字符串时,利用所述tls单流的dns在所述白名单库中进行遍历;其中,所述白名单库中存储有正常网站的dns;(4)当未能从所述白名单库中查询出与所述tls单流的dns相同的正常网站的dns时,利用所述tls单流的ip地址以及dns在威胁情报库中进行遍历;所述威胁情报库中存储有病毒家族的ip地址、dns以及病毒家族标识的对应关系;(5)当能够从威胁情报库中查询出与所述tls单流的目的ip地址以及dns相同的病毒家族时,确定所述tls单流属于与所述tls单流具有相同的ip地址、dns的病毒家族,并将所述病毒家族的病毒家族标识分配给所述tls单流。
34.当利用自定义规则库、白名单库以及威胁情报库未能确定tls单流所属的病毒家族时,可以继续执行以下步骤110,继续确定tls单流所属的病毒家族。
35.步骤110、当利用自定义规则库、白名单库以及威胁情报库未能确定所述tls单流所属的病毒家族时,对所述tls单流的所述tls握手信息、服务器名称标识sni、域名dns和/或者x.509证书进行处理,确定所述tls单流所属的病毒家族。
36.这里,为了确定所述tls单流所属的病毒家族,可以执行以下步骤(1)至步骤(6):(1)当所述tls单流的所述tls握手信息仅具有服务器端握手信息时,确定所述tls单流是服务器端单向tls单流;(2)当获取到所述服务器端单向tls单流的x.509证书的证书信息时,对所述x.509证书的证书信息进行哈希计算,得到所述服务器端单向tls单流的证书限定指纹;(3)对x.509证书进行哈希计算,得到所述服务器端单向tls单流的服务端证书指纹;(4)利用所述服务器端单向tls单流的证书限定指纹和服务端证书指纹在证书家
族指纹库中进行遍历;其中,所述证书家族指纹库中记录有病毒家族标识、证书限定指纹和服务端证书指纹的对应关系;(5)当从所述证书家族指纹库中查询出与所述服务器端单向tls单流具有相同的证书限定指纹和服务端证书指纹的病毒家族标识时,确定所述服务器端单向tls单流属于所述病毒家族标识指示的病毒家族;(6)当未能获取到所述服务器端单向tls单流的x.509证书的证书信息或者未能从所述证书家族指纹库中查询出与所述服务器端单向tls单流具有相同的证书限定指纹和服务端证书指纹的病毒家族标识时,对所述服务器端单向tls单流的服务端协议字段进行处理,确定所述服务器端单向tls单流所属的病毒家族。
37.在上述步骤(2)中,对所述x.509证书的证书信息进行哈希计算,得到所述服务器端单向tls单流的证书限定指纹的过程,是现有技术,这里不再赘述。
38.所述证书信息,是由提取出的x.509证书的证书版本、签名算法、签名算法长度、颁发者项、使用者项、公钥算法、公钥算法长度、扩展项、扩展项内容,按顺序组成的字符串。
39.提取x.509证书的证书版本、签名算法、签名算法长度、颁发者项、使用者项、公钥算法、公钥算法长度、扩展项、扩展项内容的过程是现有技术,这里不再赘述。
40.在上述步骤(3)中,对x.509证书进行哈希计算,得到所述服务器端单向tls单流的服务端证书指纹的过程,是现有技术,这里不再赘述。
41.在上述步骤(4)中,所述证书家族指纹库预先设置在所述服务器中。
42.在上述步骤(6)中,当未能获取到所述服务器端单向tls单流的x.509证书的证书信息或者未能从所述证书家族指纹库中查询出与所述服务器端单向tls单流具有相同的证书限定指纹和服务端证书指纹的病毒家族标识时,对所述服务器端单向tls单流的服务端协议字段进行处理,确定所述服务器端单向tls单流所属的病毒家族,包括以下步骤(61)至步骤(72):(61)当所述服务器端单向tls单流未携带x.509证书时,获取所述服务器端单向tls单流的服务端协议字段,对所述服务器端单向tls单流的服务端协议字段进行处理,得到所述服务器端单向tls单流的服务器端单向tls指纹;(62)利用得到的所述服务器端单向tls单流的服务器端单向tls指纹对服务器端单向tls指纹库进行遍历;其中,服务器端单向tls指纹库中记录有病毒家族标识与服务器端单向tls指纹的对应关系;(63)当能够在服务器端单向tls指纹库中查询出与服务器端单向tls单流具有相同服务器端单向tls指纹的病毒家族标识时,确定所述服务器端单向tls单流属于所述病毒家族标识指示的病毒家族;(64)将所述服务器端单向tls单流的服务端协议字段输入到服务器端单向流模型,得到第一参数值,将所述服务器端单向tls单流的服务端协议字段输入到服务器端单向握手模型中,得到第二参数值;(65)利用得到的第一参数值和第二参数值,计算得到所述服务器端单向tls单流的第一置信概率;(66)当所述服务器端单向tls单流携带有x.509证书时,对所述x.509证书的证书信息进行哈希计算,得到所述服务器端单向tls单流的证书限定指纹;
(67)当能够从证书限定指纹库中查询出所述服务器端单向tls单流的证书限定指纹时,获取所述服务器端单向tls单流的服务端协议字段,对所述服务器端单向tls单流的服务端协议字段进行处理,得到所述服务器端单向tls单流的服务器端单向tls指纹;(68)利用得到的所述服务器端单向tls单流的服务器端单向tls指纹对服务器端单向tls指纹库进行遍历;其中,服务器端单向tls指纹库中记录有病毒家族标识与服务器端单向tls指纹的对应关系;(69)当能够在服务器端单向tls指纹库中查询出与服务器端单向tls单流具有相同服务器端单向tls指纹的病毒家族标识时,确定所述服务器端单向tls单流属于所述病毒家族标识指示的病毒家族;(70)将所述服务器端单向tls单流的服务端协议字段输入到服务器端单向流模型,得到第三参数值,将所述服务器端单向tls单流的服务端协议字段输入到服务器端单向握手模型中,得到第四参数值;(71)提取所述x.509证书的证书特征,将所述x.509证书的证书特征输入到证书模型中,得到第五参数值;(72)利用得到的第三参数值、第四参数值以及第五参数值,计算得到所述服务器端单向tls单流的第二置信概率。
43.在上述步骤(61)中,在一个实施方式中,所述服务端协议字段,可以包括但不限于:服务器端握手信息、服务器返回的加密套件、服务器返回选择使用的tls协议版本、tls扩展alpn协议信息、tls扩展列表。
44.对所述服务器端单向tls单流的服务端协议字段进行处理,包括:对服务器端握手信息、服务器返回的加密套件、服务器返回选择使用的tls协议版本、tls扩展alpn协议信息、tls扩展列表这些字段的字符拼接到一起的字符串进行哈希计算,得到所述服务器端单向tls单流的服务器端单向tls指纹。
45.在上述步骤(64)中,所述服务器端单向流模型,用于提取恶意软件流量中的行为统计量(如:上行包数、下行包数、上行载荷大小、下行载荷大小)和服务器端的字段(如:选择的加密套件、tls版本)作为特征,使用ai(人工智能)训练得到的计算模型,可以通过该计算模型判定服务器端单向tls单流与恶意流量之间的趋近程度,第一参数值的取值范围在0

1之间,数值越大,表明该服务器端单向tls单流为恶意流量的可能性越大。
46.所述服务器端单向握手模型,用于提取恶意软件通信流量中的tls服务器端握手阶段单向流协议字段(如:数据包个数、载荷大小以及加密套件选择)作为特征,使用ai(人工智能)训练得到的计算模型,可以通过该计算模型判定服务器端单向tls单流与恶意流量之间的趋近程度,第二参数值的取值范围在0

1之间,数值越大,表明该服务器端单向tls单流为恶意流量的可能性越大。
47.在上述步骤(65)中,第一置信概率=a*第一参数值 b*第二参数值其中,a b=1。在一个实施方式中,a=b=0.5。所述第一置信概率越趋近于1,那么服务器端单向tls单流为恶意流量的可能性就越大。
48.在上述步骤(70)中,所述第三参数值的取值范围在0

1之间,数值越大,表明该服务器端单向tls单流为恶意流量的可能性越大。
49.所述第四参数值的取值范围在0

1之间,数值越大,表明该服务器端单向tls单流
为恶意流量的可能性越大。
50.在上述步骤(71)中,所述证书模型,是提取恶意软件通信流量中的证书字段作为特征,使用ai(人工智能)训练得到的计算模型,可以通过模型判定服务器端单向tls单流与恶意流量之间的趋近程度,第五参数值的取值范围在0

1之间,数值越大,表明该服务器端单向tls单流为恶意流量的可能性越大。
51.提取所述x.509证书的证书特征的具体过程,是现有技术,这里不再赘述。
52.所述x.509证书的证书特征,包括但不限于:证书公用名、组织、自签名、证书有效期。
53.在上述步骤(72)中,第二置信概率= c*第三参数值 d*第四参数值 e*第五参数值其中,c d e=1。在一个实施方式中,c=d=0.2;e=0.6。所述第二置信概率越趋近于1,那么服务器端单向tls单流为恶意流量的可能性就越大。
54.可选地,为了确定所述tls单流所属的病毒家族,还可以执行以下步骤(10)至步骤(13):(10)当所述tls单流的所述tls握手信息仅具有客户端握手信息时,确定所述tls单流是客户端单向tls单流;(11)当获取到所述客户端单向tls单流的dns和sni时,利用所述客户端单向tls单流的dns和sni在dns/sni家族指纹库中进行遍历;其中,所述dns/sni家族指纹库中记录有病毒家族标识、dns和sni的对应关系;(12)当从所述dns/sni家族指纹库中查询出与所述客户端单向tls单流具有相同的dns和sni的病毒家族标识时,确定所述客户端单向tls单流属于所述病毒家族标识指示的病毒家族;(13)当未能获取到所述客户端单向tls单流的dns或者sni,或者未能从所述dns/sni家族指纹库中查询出与所述客户端单向tls单流具有相同的dns和sni的病毒家族标识时,对所述客户端单向tls单流的客户端协议字段进行处理,确定所述客户端单向tls单流所属的病毒家族。
55.在上述步骤(11)中,所述dns/sni家族指纹库,预先设置在所述服务器中。
56.在上述步骤(13)中,当未能获取到所述客户端单向tls单流的dns或者sni,或者未能从所述dns/sni家族指纹库中查询出与所述客户端单向tls单流具有相同的dns和sni的病毒家族标识时,对所述客户端单向tls单流的客户端协议字段进行处理,确定所述客户端单向tls单流所属的病毒家族,可以执行以下步骤(131)至步骤(141):(131)当所述客户端单向tls单流未携带dns或者sni时,获取所述客户端单向tls单流的客户端协议字段(如:客户端提供的支持最高tls版本、可选择的加密套件列表、扩展个数),对所述客户端单向tls单流的客户端协议字段进行处理,得到所述客户端单向tls单流的客户端单向tls指纹;(132)利用得到的所述客户端单向tls单流的客户端单向tls指纹对客户端单向tls指纹库进行遍历;其中,客户端单向tls指纹库中记录有病毒家族标识与客户端单向tls指纹的对应关系;(133)当能够在客户端单向tls指纹库中查询出与客户端单向tls单流具有相同客
户端单向tls指纹的病毒家族标识时,确定所述客户端单向tls单流属于所述病毒家族标识指示的病毒家族;(134)将所述客户端单向tls单流的客户端协议字段输入到客户端单向流模型,得到第六参数值,将所述客户端单向tls单流的客户端协议字段输入到客户端单向握手模型中,得到第七参数值;(135)利用得到的第六参数值和第七参数值,计算得到所述客户端单向tls单流的第三置信概率;(136)当所述客户端单向tls单流携带有dns和sni时,获取所述客户端单向tls单流的客户端协议字段,对所述客户端单向tls单流的客户端协议字段进行处理,得到所述客户端单向tls单流的客户端单向tls指纹;(137)利用得到的所述客户端单向tls单流的客户端单向tls指纹对客户端单向tls指纹库进行遍历;其中,客户端单向tls指纹库中记录有病毒家族标识与客户端单向tls指纹的对应关系;(138)当能够在客户端单向tls指纹库中查询出与客户端单向tls单流具有相同客户端单向tls指纹的病毒家族标识时,确定所述客户端单向tls单流属于所述病毒家族标识指示的病毒家族;(139)将所述客户端单向tls单流的客户端协议字段输入到客户端单向流模型,得到第八参数值,将所述客户端单向tls单流的客户端协议字段输入到客户端单向握手模型中,得到第九参数值;(140)提取所述客户端单向tls单流携带的dns和sni的特征,将所述dns和sni的特征输入到dns/sni模型中,得到第十参数值;(141)利用得到的第八参数值、第九参数值以及第十参数值,计算得到所述客户端单向tls单流的第四置信概率。
57.在上述步骤(131)中,所述获取所述客户端单向tls单流的客户端协议字段,对所述客户端单向tls单流的客户端协议字段进行处理,得到所述客户端单向tls单流的客户端单向tls指纹的具体过程是现有技术,这里不再赘述。
58.在上述步骤(132)中,所述客户端单向tls指纹库,预先设置在所述服务器中。
59.在上述步骤(134)中,所述客户端单向流模型,提取恶意软件的流量中的行为统计量(如:上下行包数、上下行载荷大小)和客户端的字段(如:tls版本号、加密套件列表)作为特征,使用ai(人工智能)训练得到的计算模型,可以通过该计算模型判定客户端单向tls单流与恶意流量之间的趋近程度,第六参数值的取值范围在0

1之间,数值越大,表明该客户端单向tls单流为恶意流量的可能性越大。
60.所述客户端单向握手模型,提取恶意软件通信流量中的tls客户端握手阶段单向流协议字段(如:tls版本号、加密套件列表)作为特征,使用ai(人工智能)训练得到的计算模型,可以通过模型判定客户端单向tls单流与恶意流量之间的趋近程度,第七参数值的取值范围在0

1之间,数值越大,表明该客户端单向tls单流为恶意流量的可能性越大。
61.在上述步骤(135)中,第三置信概率=f*第六参数值 g*第七参数值其中,f g=1。在一个实施方式中,f=g=0.5。所述第三置信概率越趋近于1,那么客户端单向tls单流为恶意流量的可能性就越大。
62.在上述步骤(139)中,将所述客户端单向tls单流的客户端协议字段输入到客户端单向流模型得到的第八参数值的取值范围在0

1之间,数值越大,表明该客户端单向tls单流为恶意流量的可能性越大。
63.将所述客户端单向tls单流的客户端协议字段输入到客户端单向流模型得到的第九参数值的取值范围在0

1之间,数值越大,表明该客户端单向tls单流为恶意流量的可能性越大。
64.所述dns/sni模型,提取恶意软件的流量中的恶意dns/sni流量特征(如:域名随机性、域名的长度),使用ai(人工智能)训练得到的计算模型,可以通过该计算模型判定客户端单向tls单流与恶意流量之间的趋近程度,第十参数值的取值范围在0

1之间,数值越大,表明该客户端单向tls单流为恶意流量的可能性越大。
65.在上述步骤(141)中,第四置信概率= h*第八参数值 i*第九参数值 j*第十参数值其中,h i j=1。在一个实施方式中,h=i=0.2;j=0.6。所述第四置信概率越趋近于1,那么客户端单向tls单流为恶意流量的可能性就越大。
66.为了确定所述tls单流所属的病毒家族,可以执行以下步骤(1)至步骤(8):(1)当所述tls单流的所述tls握手信息包括服务器端握手信息和客户端握手信息时,确定所述tls单流是双向tls单流;(2)当获取到所述双向tls单流的x.509证书的证书信息时,对所述x.509证书的证书信息进行哈希计算,得到所述双向tls单流的证书限定指纹;(3)对x.509证书进行哈希计算,得到所述双向tls单流的服务端证书指纹;(4)利用所述双向tls单流的证书限定指纹和服务端证书指纹在证书家族指纹库中进行遍历;其中,所述证书家族指纹库中记录有病毒家族标识、证书限定指纹和服务端证书指纹的对应关系;(5)当从所述证书家族指纹库中查询出与所述双向tls单流具有相同的证书限定指纹和服务端证书指纹的病毒家族标识时,确定所述双向tls单流属于所述病毒家族标识指示的病毒家族;(6)当未能获取到所述双向tls单流的x.509证书的证书信息或者未能从所述证书家族指纹库中查询出与所述双向tls单流具有相同的证书限定指纹和服务端证书指纹的病毒家族标识的情况下,并能够获取到所述双向tls单流的dns和sni时,利用所述双向tls单流的dns和sni在dns/sni家族指纹库中进行遍历;其中,所述dns/sni家族指纹库中记录有病毒家族标识、dns和sni的对应关系;(7)当从所述dns/sni家族指纹库中查询出与所述双向tls单流具有相同的dns和sni的病毒家族标识时,确定所述双向tls单流属于所述病毒家族标识指示的病毒家族;(8)当未能获取到所述双向tls单流的dns或者sni,或者未能从所述dns/sni家族指纹库中查询出与所述双向tls单流具有相同的dns和sni的病毒家族标识时,对所述双向tls单流的服务器端协议字段和客户端协议字段进行处理,确定所述双向tls单流所属的病毒家族。
67.在上述步骤(8)中,为了对所述双向tls单流的服务器端协议字段和客户端协议字段进行处理,确定所述双向tls单流所属的病毒家族,可以执行以下步骤(81)至步骤(89):
(81)当所述双向tls单流携带有x.509证书且未携带所述双向tls单流的dns或者sni时,对所述双向tls单流的服务端协议字段进行处理,得到所述双向tls单流的服务器端单向tls指纹,并对所述双向tls单流的客户端协议字段进行处理,得到所述双向tls单流的客户端单向tls指纹;(82)利用得到的所述双向tls单流的服务器端单向tls指纹和客户端单向tls指纹对双向tls指纹库进行遍历;其中,双向tls指纹库中记录有病毒家族标识、服务器端单向tls指纹和客户端单向tls指纹的对应关系;(83)当能够在双向tls指纹库中查询出与双向tls单流具有相同服务器端单向tls指纹和客户端单向tls指纹的病毒家族标识时,确定所述双向tls单流属于所述病毒家族标识指示的病毒家族;(84)当未能在双向tls指纹库中查询出与双向tls单流具有相同服务器端单向tls指纹和客户端单向tls指纹的病毒家族标识时,获取所述双向tls单流的x.509证书的证书信息,并对所述x.509证书的证书信息进行哈希计算,得到所述双向tls单流的证书限定指纹;(85)利用所述双向tls单流的证书限定指纹在证书限定指纹库中进行遍历;其中,所述证书家族指纹库中记录有病毒家族标识、证书限定指纹的对应关系;(86)当从所述证书限定指纹库中查询出与所述双向tls单流具有相同的证书限定指纹的病毒家族标识时,确定所述双向tls单流属于所述病毒家族标识指示的病毒家族;(87)将所述双向tls单流的服务器端协议字段和客户端协议字段输入到双向流模型,得到第十一参数值,将所述双向tls单流的服务器端协议字段和客户端协议字段输入到双向握手模型中,得到第十二参数值;(88)提取所述x.509证书的证书特征,将所述x.509证书的证书特征输入到证书模型中,得到第十三参数值;(89)利用得到的第十一参数值、第十二参数值以及第十三参数值,计算得到所述双向tls单流的第五置信概率。
68.在上述步骤(87)中,所述双向流模型,是将恶意软件产生的双向tls单流中通过提取tls客户端和服务端协议字段(如:加密套件列表和选择的加密套件)或统计数据(如:上下行包数和上下行字节等)作为特征,输入到ai(人工智能)模型中进行训练后得到的计算模型。通过该计算模型对双向tls单流的服务器端协议字段和客户端协议字段进行分析,可以获得取值范围在0

1之间的第十一参数值,第十一参数值的分值越大,说明双向tls单流越趋向于恶意软件流量。
69.所述双向握手模型,是将恶意软件产生的双向tls单流中提取到的tls握手阶段的客户端和服务端字段(如:加密套件列表和选择的加密套件)或统计数据(如:上下行包数和上下行字节等)作为特征,输入到ai(人工智能)模型中进行训练后得到的计算模型。通过该计算模型对双向tls单流的服务器端协议字段和客户端协议字段进行分析,可以获得取值范围在0

1之间的第十二参数值,第十二参数值的分值越大,说明双向tls单流越趋向于恶意软件流量。
70.在上述步骤(88)中,将所述双向tls单流的x.509证书的证书特征输入到证书模型中得到的第十三参数值的取值范围在0

1之间,数值越大,表明该双向tls单流为恶意流量
的可能性越大。
71.在上述步骤(89)中,第五置信概率= k*第十一参数值 l*第十二参数值 m*第十三参数值其中,k l m=1。在一个实施方式中,k=l=0.2;m=0.6。所述第五置信概率越趋近于1,那么所述双向tls单流为恶意流量的可能性就越大。
72.可选地,对所述双向tls单流的服务器端协议字段和客户端协议字段进行处理,确定所述双向tls单流所属的病毒家族,还可以执行以下步骤(10)至步骤(15):(10)当所述双向tls单流携带有所述双向tls单流的dns和sni且未携带所述双向tls单流的x.509证书时,对所述双向tls单流的服务端协议字段进行处理,得到所述双向tls单流的服务器端单向tls指纹,并对所述双向tls单流的客户端协议字段进行处理,得到所述双向tls单流的客户端单向tls指纹;(11)利用得到的所述双向tls单流的服务器端单向tls指纹和客户端单向tls指纹对双向tls指纹库进行遍历;其中,双向tls指纹库中记录有病毒家族标识、服务器端单向tls指纹和客户端单向tls指纹的对应关系;(12)当能够在双向tls指纹库中查询出与双向tls单流具有相同服务器端单向tls指纹和客户端单向tls指纹的病毒家族标识时,确定所述双向tls单流属于所述病毒家族标识指示的病毒家族;(13)将所述双向tls单流的服务器端协议字段和客户端协议字段输入到双向流模型,得到第十四参数值,将所述双向tls单流的服务器端协议字段和客户端协议字段输入到双向握手模型中,得到第十五参数值;(14)提取所述双向tls单流携带的dns和sni的特征,将所述dns和sni的特征输入到dns/sni模型中,得到第十六参数值;(15)利用得到的第十四参数值、第十五参数值以及第十六参数值,计算得到所述双向tls单流的第六置信概率。
73.在上述步骤(13)中,将所述双向tls单流的服务器端协议字段和客户端协议字段输入到双向流模型,得到的第十四参数值的取值范围在0

1之间,数值越大,表明该双向tls单流为恶意流量的可能性越大。
74.将所述双向tls单流的服务器端协议字段和客户端协议字段输入到双向握手模型中,得到第十五参数值的取值范围在0

1之间,数值越大,表明该双向tls单流为恶意流量的可能性越大。
75.在上述步骤(14)中,将所述dns和sni的特征输入到dns/sni模型中,得到的第十六参数值,取值范围在0

1之间,数值越大,表明该双向tls单流为恶意流量的可能性越大。
76.在上述步骤(15)中,第六置信概率= n*第十四参数值 q*第十五参数值 p*第十六参数值其中,n q p=1。在一个实施方式中,n=q=0.2;p=0.6。所述第六置信概率越趋近于1,那么所述双向tls单流为恶意流量的可能性就越大。
77.可选地,对所述双向tls单流的服务器端协议字段和客户端协议字段进行处理,确定所述双向tls单流所属的病毒家族,还可以执行以下步骤(20)至步骤(29):(20)当所述双向tls单流携带有x.509证书且携带所述双向tls单流的dns和sni
时,对所述双向tls单流的服务端协议字段进行处理,得到所述双向tls单流的服务器端单向tls指纹,并对所述双向tls单流的客户端协议字段进行处理,得到所述双向tls单流的客户端单向tls指纹;(21)利用得到的所述双向tls单流的服务器端单向tls指纹和客户端单向tls指纹对双向tls指纹库进行遍历;其中,双向tls指纹库中记录有病毒家族标识、服务器端单向tls指纹和客户端单向tls指纹的对应关系;(22)当能够在双向tls指纹库中查询出与双向tls单流具有相同服务器端单向tls指纹和客户端单向tls指纹的病毒家族标识时,确定所述双向tls单流属于所述病毒家族标识指示的病毒家族;(23)当未能在双向tls指纹库中查询出与双向tls单流具有相同服务器端单向tls指纹和客户端单向tls指纹的病毒家族标识时,获取所述双向tls单流的x.509证书的证书信息,并对所述x.509证书的证书信息进行哈希计算,得到所述双向tls单流的证书限定指纹;(24)利用所述双向tls单流的证书限定指纹在证书限定指纹库中进行遍历;其中,所述证书家族指纹库中记录有病毒家族标识、证书限定指纹的对应关系;(25)当从所述证书限定指纹库中查询出与所述双向tls单流具有相同的证书限定指纹的病毒家族标识时,确定所述双向tls单流属于所述病毒家族标识指示的病毒家族;(26)将所述双向tls单流的服务器端协议字段和客户端协议字段输入到双向流模型,得到第十七参数值,将所述双向tls单流的服务器端协议字段和客户端协议字段输入到双向握手模型中,得到第十八参数值;(27)提取所述x.509证书的证书特征,将所述x.509证书的证书特征输入到证书模型中,得到第十九参数值;(28)提取所述双向tls单流携带的dns和sni的特征,将所述dns和sni的特征输入到dns/sni模型中,得到第二十参数值;(29)利用得到的第十七参数值、第十八参数值、第十九参数值以及第二十参数值,计算得到所述双向tls单流的第七置信概率。
78.在上述步骤(26)中,将所述双向tls单流的服务器端协议字段和客户端协议字段输入到双向流模型,得到的第十七参数值的取值范围在0

1之间,数值越大,表明该双向tls单流为恶意流量的可能性越大。
79.将所述双向tls单流的服务器端协议字段和客户端协议字段输入到双向握手模型中,得到第十八参数值的取值范围在0

1之间,数值越大,表明该双向tls单流为恶意流量的可能性越大。
80.在上述步骤(27)中,将所述x.509证书的证书特征输入到证书模型中,得到的第十九参数值的取值范围在0

1之间,数值越大,表明该双向tls单流为恶意流量的可能性越大。
81.在上述步骤(28)中,将所述dns和sni的特征输入到dns/sni模型中,得到的第二十参数值,取值范围在0

1之间,数值越大,表明该双向tls单流为恶意流量的可能性越大。
82.在上述步骤(29)中,第七置信概率=r*第十七参数值 s*第十八参数值 t*第十九参数值 u*第二十参数值其中,r s t u=1。在一个实施方式中,r=s=0.2;t=u=0.3。所述第七置信概率越趋
近于1,那么所述双向tls单流为恶意流量的可能性就越大。
83.综上所述,本实施例提出的一种tls加密流量检测方法、装置和电子设备,通过获取到的会话的tls加密流量的ip地址和tls握手信息,确定会话的tls加密流量是tls单流时,对所述tls单流的所述tls握手信息、sni、dns和/或者x.509证书进行处理,确定tls单流所属的病毒家族,可以有效的确定出tls加密流量所属的病毒家族,从而可以对tls加密流量中的恶意流量进行有效识别。
84.实施例2本实施例提出的一种tls加密流量检测装置,用于执行上述实施例1中提出的tls加密流量检测方法。
85.参见图2所示的一种tls加密流量检测装置的结构示意图,本实施例提出一种tls加密流量检测装置,包括:第一获取模块200,用于获取不同会话的tls加密流量,对所述tls加密流量进行解析,得到所述tls加密流量的流量信息;其中,所述tls加密流量的流量信息,包括:ip地址、服务器名称标识sni、域名dns、x.509证书和/或者tls握手信息;所述tls握手信息包括:服务器端握手信息和/或者客户端握手信息;所述ip地址,包括:源ip地址和目的ip地址;第一确定模块202,用于根据不同会话的tls加密流量中的所述源ip地址和目的ip地址,从不同会话中确定出具有相同源ip地址和目的ip地址的会话;第二获取模块204,用于获取具有相同源ip地址和目的ip地址的会话中的tls握手信息;第二确定模块206,用于当具有相同源ip地址和目的ip地址的会话的服务器端握手信息的数量为预设数量且客户端握手信息的数量为预设数量时,确定所述会话的tls加密流量是tls单流;第一处理模块208,用于分别利用自定义规则库、白名单库以及威胁情报库对所述tls单流进行处理,确定所述tls单流所属的病毒家族;第二处理模块210,用于当利用自定义规则库、白名单库以及威胁情报库未能确定所述tls单流所属的病毒家族时,对所述tls单流的所述tls握手信息、服务器名称标识sni、域名dns和/或者x.509证书进行处理,确定所述tls单流所属的病毒家族。
86.综上所述,本实施例提出的一种tls加密流量检测装置、装置和电子设备,通过获取到的会话的tls加密流量的ip地址和tls握手信息,确定会话的tls加密流量是tls单流时,对所述tls单流的所述tls握手信息、sni、dns和/或者x.509证书进行处理,确定tls单流所属的病毒家族,可以有效的确定出tls加密流量所属的病毒家族,从而可以对tls加密流量中的恶意流量进行有效识别。
87.实施例3本实施例提出一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述实施例1描述的tls加密流量检测方法的步骤。具体实现可参见方法实施例1,在此不再赘述。
88.此外,参见图3所示的一种电子设备的结构示意图,本实施例还提出一种电子设备,上述电子设备包括总线51、处理器52、收发机53、总线接口54、存储器55和用户接口56。上述电子设备包括有存储器55。
rate sdram,ddrsdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,drram)。本实施例描述的系统和方法的存储器55旨在包括但不限于这些和任意其它适合类型的存储器。
95.在一些实施方式中,存储器55存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:操作系统551和应用程序552。
96.其中,操作系统551,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序552,包含各种应用程序,例如媒体播放器(media player)、浏览器(browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序552中。
97.综上所述,本实施例提出一种计算机可读存储介质和电子设备,通过获取到的会话的tls加密流量的ip地址和tls握手信息,确定会话的tls加密流量是tls单流时,对所述tls单流的所述tls握手信息、sni、dns和/或者x.509证书进行处理,确定tls单流所属的病毒家族,可以有效的确定出tls加密流量所属的病毒家族,从而可以对tls加密流量中的恶意流量进行有效识别。
98.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜