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

一种网络流量过滤方法、装置、介质、产品和设备与流程

2022-04-30 11:48:12 来源:中国专利 TAG:


1.本公开涉及网络安全技术领域,特别涉及一种网络流量过滤方法、装置、介质、产品和设备。


背景技术:

2.本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.目前,使用代理软件或者其它手段将原始网络流量处理为代理网络流量,通过代理网络流量来绕过网络安全设备对网络流量的检测,并访问网络内容的行为较为普遍。
4.针对上述行为,现有网络安全设备对明文的代理网络流量的检测能力较强,可以较为有效地检测出用于绕过检测的明文代理网络流量,进而可以对其进行处理。但是对加密的代理网络流量的处理能力较弱,无法有效检测出用于绕过检测的加密代理网络流量,也就无法对其进行处理,无法有效地保证网络的安全性。


技术实现要素:

5.本公开实施例提供一种网络流量过滤方法、装置、介质、产品和设备,用于解决无法准确检测出加密代理网络流量的问题。
6.第一方面,本公开提供了一种网络流量过滤方法,所述方法包括:
7.从待过滤报文队列获取待过滤报文,确定所述待过滤报文对应的五元组信息;
8.根据所述五元组信息,确定所述待过滤报文所属的会话;
9.确定是否存在所述会话对应的网络流量类型标识,所述网络流量类型标识包括加密代理网络流量标识和非加密代理网络流量标识;
10.若确定不存在,则根据所述待过滤报文,确定所述会话对应的加权系数值,并确定是否已获得所述会话对应的每个加权系数值,每个加权系数值对应一个过滤参数;
11.若确定已获得所述会话对应的每个加权系数值,则根据每个加权系数值,对每个过滤参数确定出的参数值进行加权求和,确定所述会话对应的加密代理网络流量概率;
12.若所述加密代理网络流量概率大于设定的阈值,则确定所述会话对应的网络流量类型标识为加密代理网络流量标识,并确定所述待过滤报文对应的网络流量类型标识为所述会话对应的网络流量类型标识。
13.可选的,若确定存在所述会话对应的网络流量类型标识,则确定所述待过滤报文对应的网络流量类型标识为所述会话对应的网络流量类型标识。
14.可选的,若确定尚未获得所述会话对应的每个加权系数值,则将所述待过滤报文重新加入待过滤报文队列。
15.可选的,若确定所述加密代理网络流量概率不大于设定的阈值,则确定所述会话对应的网络流量类型标识为非加密代理网络流量标识,并确定所述待过滤报文对应的网络流量类型标识为所述会话对应的网络流量类型标识。
16.可选的,若确定不存在所述会话对应的网络流量类型标识,根据所述待过滤报文,确定所述会话对应的加权系数值之前,所述方法还包括:
17.确定所述待过滤报文对应的互联网协议地址是否属于预先设置的互联网协议地址白名单或互联网协议地址黑名单,所述互联网协议地址白名单用于记录已知的网络流量类型为非加密代理网络流量的会话对应的互联网协议地址,所述互联网协议地址黑名单用于记录已知的网络流量类型为加密代理网络流量的会话对应的互联网协议地址;
18.根据所述待过滤报文,确定所述会话对应的加权系数值,包括:
19.若确定所述待过滤报文对应的互联网协议地址不属于预先设置的互联网协议地址白名单,也不属于预先设置的互联网协议地址黑名单,根据所述待过滤报文,确定所述会话对应的加权系数值。
20.可选的,确定是否已获得所述会话对应的每个加权系数值,包括:
21.确定根据所述待过滤报文,是否可以获得所述会话的会话类型;
22.若确定可以获得所述会话的会话类型,确定是否已经获得所述会话类型的会话对应的每个加权系数值;
23.若确定已获得所述会话对应的每个加权系数值,则根据每个加权系数值,对每个过滤参数确定出的参数值进行加权求和,确定所述会话对应的加密代理网络流量概率,包括:
24.若确定已获得所述会话类型的会话对应的每个加权系数值,则根据每个加权系数值,对每个过滤参数确定出的参数值进行加权求和,确定所述会话对应的加密代理网络流量概率。
25.可选的,若获得的所述会话的会话类型为传输控制协议tcp会话类型,则确定是否已经获得所述会话类型的会话对应的每个加权系数值包括:
26.确定是否已获得第二加权系数值、第三加权系数值、第四加权系数值和第七加权系数值中的至少一个,以及第一加权系数值、第五加权系数值和第六加权系数值;
27.其中,所述第一加权系数值对应第一过滤参数,所述第一过滤参数表示客户端到服务器不含三次握手的第一个报文长度的权重,所述第二加权系数值在客户端到服务器不含三次握手的第一个报文长度在指定范围内时为第一数值,否则为第二数值;
28.所述第二加权系数值对应第二过滤参数,所述第二过滤参数表示服务器到客户端不含三次握手的第一个负载非空报文长度取值的权重,所述第二加权系数值在服务器到客户端不含三次握手的第一个负载非空报文长度取值为指定值时为第一数值,否则为第二数值;
29.所述第三加权系数值对应第三过滤参数,所述第三过滤参数表示服务器到客户端含三次握手的设定顺序范围内的报文中,报文长度为设定值的数量的权重,所述第三加权系数值在服务器到客户端含三次握手的设定顺序的范围内的报文中,报文长度为设定值的数量不小于设定数量时为第一数值,否则为第二数值;
30.所述第四加权系数值对应第四过滤参数,所述第四过滤参数表示客户端到服务器不含三次握手的第一个报文窗口大小的权重,所述第四加权系数值在客户端到服务器不含三次握手的第一个报文窗口大小为指定窗口大小时为第一数值,否则为第二数值;
31.所述第五加权系数值对应第五过滤参数,所述第五过滤参数表示客户端到服务器
指定时长之后或者设定的报文数量之后,出现报文长度为设定长度的心跳包的权重,所述第五加权系数值在客户端到服务器指定时长之后或者设定的报文数量之后,出现报文长度为设定长度的心跳包时为第一数值,否则为第二数值;
32.所述第六加权系数值对应第六过滤参数,所述第六过滤参数表示服务器到客户端指定时长之后或者设定的报文数量之后,出现报文长度为指定长度的心跳包的权重,所述第五加权系数值在服务器到客户端指定时长之后或者设定的报文数量之后,出现报文长度为指定长度的心跳包时为第一数值,否则为第二数值;
33.所述第七加权系数值对应第七过滤参数,所述第七过滤参数表示指定时间间隔内二元组对应的总会话数的权重,所述第七加权系数值在指定时间间隔内二元组对应的总会话数不大于设定会话数时为第一数值,否则为第二数值。
34.可选的,若获得的所述会话的会话类型为纯tcp会话类型,则确定是否已经获得所述会话类型的会话对应的每个加权系数值包括:
35.确定是否已获得所述第一加权系数值、所述第二加权系数值、所述第三加权系数值和所述第四加权系数值中的至少三个。
36.可选的,若获得的所述会话的会话类型为安全传输层协议tls会话类型,则确定是否已经获得所述会话类型的会话对应的每个加权系数值包括:
37.确定是否已获得所述第二加权系数值以及所述第三加权系数值。
38.第二方面,本公开还提供了一种网络流量过滤装置,所述装置包括:
39.接收模块,用于从待过滤报文队列获取待过滤报文;
40.过滤结束判断模块,用于确定所述待过滤报文对应的五元组信息;根据所述五元组信息,确定所述待过滤报文所属的会话;确定是否存在所述会话对应的网络流量类型标识,所述网络流量类型标识包括加密代理网络流量标识和非加密代理网络流量标识;
41.信息获取模块,用于若所述过滤结束判断模块确定不存在,则根据所述待过滤报文,确定所述会话对应的加权系数值,并确定是否已获得所述会话对应的每个加权系数值,每个加权系数值对应一个过滤参数;
42.概率确定模块,用于若所述信息获取模块确定已获得所述会话对应的每个加权系数值,则根据每个加权系数值,对每个过滤参数确定出的参数值进行加权求和,确定所述会话对应的加密代理网络流量概率;
43.过滤模块,用于若所述概率确定模块确定所述加密代理网络流量概率大于设定的阈值,则确定所述会话对应的网络流量类型标识为加密代理网络流量标识,并确定所述待过滤报文对应的网络流量类型标识为所述会话对应的网络流量类型标识。
44.可选的,所述过滤模块,还用于若所述过滤结束判断模块确定存在所述会话对应的网络流量类型标识,则确定所述待过滤报文对应的网络流量类型标识为所述会话对应的网络流量类型标识。
45.可选的,所述过滤模块,还用于若所述信息获取模块确定尚未获得所述会话对应的每个加权系数值,则将所述待过滤报文重新加入待过滤报文队列。
46.可选的,所述过滤模块,还用于若所述概率确定模块确定所述加密代理网络流量概率不大于设定的阈值,则确定所述会话对应的网络流量类型标识为非加密代理网络流量标识,并确定所述待过滤报文对应的网络流量类型标识为所述会话对应的网络流量类型标
识。
47.可选的,所述过滤模块,还用于若所述过滤结束判断模块确定不存在所述会话对应的网络流量类型标识,在所述信息获取模块根据所述待过滤报文,确定所述会话对应的加权系数值之前,确定所述待过滤报文对应的互联网协议地址是否属于预先设置的互联网协议地址白名单或互联网协议地址黑名单,所述互联网协议地址白名单用于记录已知的网络流量类型为非加密代理网络流量的会话对应的互联网协议地址,所述互联网协议地址黑名单用于记录已知的网络流量类型为加密代理网络流量的会话对应的互联网协议地址;
48.所述信息获取模块,根据所述待过滤报文,确定所述会话对应的加权系数值,包括:
49.若确定所述待过滤报文对应的互联网协议地址不属于预先设置的互联网协议地址白名单,也不属于预先设置的互联网协议地址黑名单,根据所述待过滤报文,确定所述会话对应的加权系数值。
50.可选的,所述信息获取模块,确定是否已获得所述会话对应的每个加权系数值,包括:
51.确定根据所述待过滤报文,是否可以获得所述会话的会话类型;
52.若确定可以获得所述会话的会话类型,确定是否已经获得所述会话类型的会话对应的每个加权系数值;
53.所述概率确定模块,具体用于若所述信息获取模块确定已获得所述会话类型的会话对应的每个加权系数值,则根据每个加权系数值,对每个过滤参数确定出的参数值进行加权求和,确定所述会话对应的加密代理网络流量概率。
54.可选的,若获得的所述会话的会话类型为传输控制协议tcp会话类型,所述信息获取模块确定是否已经获得所述会话类型的会话对应的每个加权系数值包括:
55.确定是否已获得第二加权系数值、第三加权系数值、第四加权系数值和第七加权系数值中的至少一个,以及第一加权系数值、第五加权系数值和第六加权系数值;
56.其中,所述第一加权系数值对应第一过滤参数,所述第一过滤参数表示客户端到服务器不含三次握手的第一个报文长度的权重,所述第二加权系数值在客户端到服务器不含三次握手的第一个报文长度在指定范围内时为第一数值,否则为第二数值;
57.所述第二加权系数值对应第二过滤参数,所述第二过滤参数表示服务器到客户端不含三次握手的第一个负载非空报文长度取值的权重,所述第二加权系数值在服务器到客户端不含三次握手的第一个负载非空报文长度取值为指定值时为第一数值,否则为第二数值;
58.所述第三加权系数值对应第三过滤参数,所述第三过滤参数表示服务器到客户端含三次握手的设定顺序范围内的报文中,报文长度为设定值的数量的权重,所述第三加权系数值在服务器到客户端含三次握手的设定顺序的范围内的报文中,报文长度为设定值的数量不小于设定数量时为第一数值,否则为第二数值;
59.所述第四加权系数值对应第四过滤参数,所述第四过滤参数表示客户端到服务器不含三次握手的第一个报文窗口大小的权重,所述第四加权系数值在客户端到服务器不含三次握手的第一个报文窗口大小为指定窗口大小时为第一数值,否则为第二数值;
60.所述第五加权系数值对应第五过滤参数,所述第五过滤参数表示客户端到服务器
指定时长之后或者设定的报文数量之后,出现报文长度为设定长度的心跳包的权重,所述第五加权系数值在客户端到服务器指定时长之后或者设定的报文数量之后,出现报文长度为设定长度的心跳包时为第一数值,否则为第二数值;
61.所述第六加权系数值对应第六过滤参数,所述第六过滤参数表示服务器到客户端指定时长之后或者设定的报文数量之后,出现报文长度为指定长度的心跳包的权重,所述第五加权系数值在服务器到客户端指定时长之后或者设定的报文数量之后,出现报文长度为指定长度的心跳包时为第一数值,否则为第二数值;
62.所述第七加权系数值对应第七过滤参数,所述第七过滤参数表示指定时间间隔内二元组对应的总会话数的权重,所述第七加权系数值在指定时间间隔内二元组对应的总会话数不大于设定会话数时为第一数值,否则为第二数值。
63.可选的,若获得的所述会话的会话类型为纯tcp会话类型,所述信息获取模块确定是否已经获得所述会话类型的会话对应的每个加权系数值包括:确定是否已获得所述第一加权系数值、所述第二加权系数值、所述第三加权系数值和所述第四加权系数值中的至少三个。
64.可选的,若获得的所述会话的会话类型为安全传输层协议tls会话类型,所述信息获取模块确定是否已经获得所述会话类型的会话对应的每个加权系数值包括:确定是否已获得所述第二加权系数值以及所述第三加权系数值。
65.第三方面,本公开还提供了一种计算机程序产品,所述计算机程序产品包括可执行程序,该可执行程序被处理器执行实现如上所述的方法。
66.第四方面,本公开还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有可执行程序,该可执行程序被处理器执行实现如上所述的方法。
67.第五方面,本公开还提供了一种网络流量过滤设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
68.所述存储器,用于存放计算机程序;
69.所述处理器,用于执行所述存储器上所存储的程序时,实现如上所述的方法步骤。
70.根据本公开实施例提供的方案,可以根据报文的五元组信息确定报文所属会话,根据属于该会话的报文确定预设的过滤参数对应的加权系数值,基于加权系数值,对对应的过滤参数值进行加权求和,利用加权求和值来确定会话属于加密代理网络流量的概率。并可以将获得的概率与设定的阈值进行比较,从而确定该会话是否属于加密代理网络流量。此时,即可以确定本次获取的属于该会话的报文是否属于加密代理网络流量。从而可以比较准确地区分加密代理网络流量和非加密代理网络流量,实现加密代理网络流量的准确过滤,以便后续进一步针对加密代理网络流量和非加密代理网络流量分别进行处理。
71.本公开的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
72.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
73.图1为本公开实施例提供的网络流量过滤方法的流程示意图;
74.图2为本公开实施例提供的网络流量过滤装置的结构示意图;
75.图3为本公开实施例提供的网络流量过滤设备的结构示意图。
具体实施方式
76.为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,显然,所描述的实施例仅仅是本公开的一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
77.需要说明的是,在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/ 或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
78.本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
79.此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
80.本技术技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
81.由于加密混淆技术对加密代理网络流量的识别带来了难度,无法直观准确地用特征对加密代理网络流量进行识别,本案发明人通过对加密代理网络流量进行大量的抓包和对比统计分析,得到了加密代理网络流量的报文特征,提出可以针对会话设置指定的过滤参数,并可以根据对会话报文的统计分析来获取加权系数值,进而计算过滤参数值的加权求和值,用于估计会话属于加密代理网络流量概率,从而可以将报文分类为加密代理网络流量或非加密代理网络流量,实现加密代理网络流量和非加密代理网络流量的准确区分,可以从网络流量中准确地过滤出加密代理网络流量。
82.另外,本发明在过滤加密代理网络流量的过程中,还可以进一步结合互联网协议地址黑白名单的方式,实现对网络流量是否为加密代理网络流量的判断,进一步提高过滤的准确性。
83.本发明方案可以实现网络流量中存在加密代理网络流量场景下,对网络流量的通用过滤。可以集成在能够获取原始网络流量的引擎中,实时地通过前置过滤的方式,对加密代理网络流量和非加密代理网络流量进行区分,从而可以在后续针对加密代理网络流量和
非加密代理网络流量分别进行处理。也就是说,根据本发明提供的方案,可以在流量实时获取的同时,进行加密代理网络流量和非加密代理网络流量的区分,比较准确地过滤出加密代理网络流量。
84.基于上述技术构思,本公开实施例提供一种网络流量过滤方法,该方法的步骤流程可以如图1所示,包括:
85.步骤101、从待过滤报文队列获取待过滤报文。
86.在本步骤中,可以从待过滤报文组成的待过滤报文队列中,获取待过滤报文。在一种可能的实现方式中,待过滤报文可以是从能够获取原始网络流量的引擎中实时获得的报文。
87.步骤102、确定待过滤报文对应的五元组信息。
88.由于可以基于报文五元组信息来识别其所属的会话,因此,在本步骤中,可以确定待过滤报文对应的五元组信息,五元组信息可以理解为包括源互联网协议(ip)地址、源端口、目的ip地址、目的端口和网络协议,以便根据五元组信息确定报文所属的会话。
89.步骤103、根据五元组信息,确定待过滤报文所属的会话。
90.在本步骤中,可以根据确定出的待过滤报文的五元组信息,确定待过滤报文所属的会话。
91.步骤104、确定是否存在会话对应的网络流量类型标识。
92.在本实施例中,如果确定出会话对应的网络流量类型(加密代理网络流量标识或非加密代理网络流量),则可以针对该会话保存一个网络流量类型标识 (加密代理网络流量标识或非加密代理网络流量标识)。而如果还没有确定出会话对应的网络流量类型,则不会存在该会话对应的网络流量类型标识。
93.因此在本步骤中,可以针对一个会话,通过判断是否存在对应的网络流量类型标识,来确定是否已经判断出该会话对应的网络流量类型。
94.如果针对步骤103中确定出的会话,不存在对应的网络流量类型标识,则可以继续执行步骤105。
95.而如果存在步骤103中确定出的会话对应的网络流量类型标识,那么可以认为待过滤报文对应的网络流量类型,即为其所属会话对应的网络流量类型,确定待过滤报文对应的网络流量类型标识为其所属会话对应的网络流量类型标识,将其分类为对应的网络流量类型,并结束本流程。
96.步骤105、根据待过滤报文,确定会话对应的加权系数值。
97.在本步骤中,可以根据待过滤报文,对所属会话的报文特征进行统计分析,以确定预先设置的用于确定会话的加密代理网络流量概率的过滤参数所对应的加权系数值。
98.步骤106、确定是否已获得会话对应的每个加权系数值。
99.在本步骤中,可以确定是否已经获得用于确定会话对应的加密代理网络流量概率的每个过滤参数所对应的加权系数值。确定是否已获得会话对应的每个加权系数值,可以理解为,确定是否已经获取属于该会话的足够数量的报文,可以统计得到每个加权系数值。
100.用于确定会话的加密代理网络流量概率的过滤参数可以根据加密代理网络流量的报文特征进行预先设置,每个过滤参数对应的加权系数值的确定方式也可以根据加密代理网络流量的报文特征进行设置。
101.在一种可能的实现方式中,预先设置的用于确定会话的加密代理网络流量概率的过滤参数可以但不限于为七个,可以依次记为第一过滤参数(可以表示为ω1)、第二过滤参数(可以表示为ω2)、第三过滤参数(可以表示为ω3)、第四过滤参数(可以表示为ω4)、第五过滤参数(可以表示为ω5)、第六过滤参数(可以表示为ω6)和第七过滤参数(可以表示为ω7)。
102.第一过滤参数到第七过滤参数对应的加权系数值可以依次记为第一加权系数值(可以表示为β1)、第二加权系数值(可以表示为β2)、第三加权系数值 (可以表示为β3)、第四加权系数值(可以表示为β4)、第五加权系数值(可以表示为β5)、第六加权系数值(可以表示为β6)和第七加权系数值(可以表示为β7)。
103.其中,ω1表示客户端到服务器(c2s)不含三次握手的第一个报文长度;
104.β1在客户端到服务器不含三次握手的第一个报文长度在指定范围(例如, 600~800)内时为第一数值(例如,1),否则为第二数值(例如,0);
105.ω2表示服务器到客户端(s2c)不含三次握手的第一个负载非空报文长度取值的权重;
106.β2在服务器到客户端不含三次握手的第一个负载非空报文长度取值为指定值(报文为非纯负载报文时,指定值可以为1514;报文为纯负载报文时,指定值可以为1460)时为第一数值,否则为第二数值;
107.ω3表示服务器到客户端含三次握手的设定顺序范围内的报文中,报文长度为设定值的数量的权重;
108.β3在服务器到客户端含三次握手的设定顺序的范围内的报文中(例如,第 70~80个报文中),报文长度为设定值(例如,1514)的数量不小于设定数量(例如,4)时为第一数值,否则为第二数值;
109.ω4表示客户端到服务器不含三次握手的第一个报文窗口大小的权重;
110.β4在客户端到服务器不含三次握手的第一个报文窗口大小为指定窗口大小 (例如,262656)时为第一数值,否则为第二数值;
111.ω5表示客户端到服务器指定时长之后或者设定的报文数量之后,出现报文长度为设定长度的心跳包的权重;
112.β5在客户端到服务器指定时长(例如,30秒)之后或者设定的报文数量(例如,3500个)之后,出现报文长度为设定长度(例如,55)的心跳包时为第一数值,否则为第二数值;
113.ω6表示服务器到客户端指定时长之后或者设定的报文数量之后,出现报文长度为指定长度的心跳包的权重;
114.β6在服务器到客户端指定时长(例如,30秒)之后或者设定的报文数量(例如,3500个)之后,出现报文长度为指定长度(例如,66)的心跳包时为第一数值,否则为第二数值;
115.ω7表示指定时间间隔内二元组对应的总会话数的权重;
116.β7在指定时间间隔(例如,10秒)内二元组对应的总会话数不大于设定会话数(例如,5)时为第一数值,否则为第二数值。
117.在本步骤中,如果确定获得了需要获得的全部加权系数值,例如,以预先设置的过滤参数包括ω1~ω7为例,在一种可能的实现方式中,获得了需要获得的全部加权系数值可以理解为已经获得β1~β7中的每一个加权系数值,即可以执行步骤107,进一步根据每个加
权系数值去获得会话对应的加密代理网络流量概率。
118.而如果还没有获得需要获得的全部加权系数值,则认为此时还无法获得会话对应的加密代理网络流量概率,无法确定会话对应的网络流量类型,也就无法对待过滤报文进行分类,可以将本次获取的待过滤报文重新加入待过滤报文队列,等待重新过滤。这样可以在获得需要获得的全部加权系数值之后,再确定会话对应的网络流量类型,对待过滤报文进行分类,而不会遗漏对该待过滤报文的分类。
119.步骤107、根据每个加权系数值,对每个过滤参数确定出的参数值进行加权求和,确定会话对应的加密代理网络流量概率。
120.在确定出每个过滤系数对应的加权系数值之后,即可以根据确定出的每个过滤参数的参数值,进行加权求和,确定会话对应的加密代理网络流量概率。
121.在一种可能的实现方式中,每个过滤参数的参数值可以是预先配置好的,在本步骤中,可以直接获得配置好的参数值,根据确定出的加权系数值进行加权求和。
122.仍以过滤参数包括ω1~ω7(对应的参数值仍以ω1~ω7表示)为例,在本步骤中,可以根据确定出的β1~β7进行加权求和,获得会话对应的加密代理网络流量概率。此时,会话对应的加密代理网络流量概率α可以表示如下:
123.其中,
124.步骤108、将确定出的加密代理网络流量概率与设定的阈值进行比较,实现对待过滤报文的分类和过滤。
125.在本步骤中,若确定加密代理网络流量概率大于设定的阈值,则确定会话对应的网络流量类型标识为加密代理网络流量标识,并确定待过滤报文对应的网络流量类型标识为会话对应的网络流量类型标识,实现对待过滤报文的分类和过滤。
126.当然,若确定加密代理网络流量概率不大于设定的阈值,则可以确定会话对应的网络流量类型标识为非加密代理网络流量标识,并确定待过滤报文对应的网络流量类型标识为会话对应的网络流量类型标识,实现对待过滤报文的分类和过滤。
127.进一步的,本案发明人研究发现,针对指定的会话类型,可以设置不同的过滤参数,以更准确地实现网络流量过滤。例如,针对传输控制协议(tcp) 会话类型(可以理解为会话采用的网络协议包括tcp),用于确定会话的加密代理网络流量概率的过滤参数可以仅包括步骤106中提及的第二过滤参数、第三过滤参数、第四过滤参数和第七过滤参数中的至少一个,以及第一过滤参数、第五过滤参数和第六过滤参数。
128.那么在步骤106中,需要获得的全部加权系数值可以仅包括步骤106中提及的第二加权系数值、第三加权系数值、第四加权系数值和第七加权系数值中的至少一个,以及第一加权系数值、第五加权系数值和第六加权系数值。
129.又如,针对纯tcp会话类型(可以理解为会话采用的网络协议为tcp),用于确定会话的加密代理网络流量概率的过滤参数可以仅包括第一过滤参数、第二过滤参数、第三过滤参数和第四过滤参数中的至少三个。
130.那么在步骤106中,需要获得的全部加权系数值可以仅包括第一加权系数值、第二加权系数值、第三加权系数值和第四加权系数值中的至少三个。
131.又如,针对安全传输层协议tls会话类型(可以理解为会话采用的网络协议包括tls),用于确定会话的加密代理网络流量概率的过滤参数可以仅包括第二过滤参数和第三
过滤参数。
132.那么在步骤106中,需要获得的全部加权系数值可以仅包括第二加权系数值和第三加权系数值。
133.也就是说,在一种可能的实现方式中,步骤106可以包括:确定根据待过滤报文,是否可以获得其所属会话的会话类型。若确定可以获得其所属会话的会话类型,确定是否已经获得该会话类型的会话对应的每个加权系数值。
134.需要说明的是,如果结合步骤106中给出的例子,针对tcp会话类型、纯tcp会话类型和tls会话类型,相对于未知会话类型的网络流量过滤,本实施例给出了一种可以通过更少的过滤参数进行网络流量过滤的方案,通过确定更少的加权系数值,可以更加快速地进行网络流量过滤,同时可以保证网络流量过滤的准确性。
135.此时步骤107可以包括:若确定已获得会话类型的会话对应的每个加权系数值,则根据每个加权系数值,对每个过滤参数确定出的参数值进行加权求和,确定会话对应的加密代理网络流量概率。
136.需要说明的是,如果针对不同会话类型的会话,设置的过滤参数属于通用的过滤参数,那么可以理解为,针对不同会话类型的会话,配置的参数值可以是不同的。也就是说,针对同一个过滤参数,在将其用于确定不同类型的会话对应的加密代理网络流量概率时,对应配置的参数值可以是不同的。
137.例如,针对纯tcp会话类型的会话,对应的加密代理网络流量概率可以表示为α=ω1·
β1 ω2·
β2 ω4·
β4(其中,ω1 ω2 ω4=1)。
138.针对无法确定会话类型的会话,对应的加密代理网络流量概率可以表示为(其中,)。
139.虽然两个加密代理网络流量概率计算过程均涉及ω1、ω2和ω4这三个过滤参数,但在两个计算过程中,针对ω1所配置的参数值可以是不同的,针对ω2所配置的参数值也可以是不同的,针对ω4所配置的参数值也可以是不同的。
140.另外需要说明的是,针对不同会话类型的会话,用于与加密代理网络流量概率进行比较的阈值可以设置为相同,也可以设置为不同。
141.进一步的,在一种可能的实现方式中,在步骤104确定不存在会话对应的网络流量类型标识之后,在步骤105之前,还可以进一步包括步骤105’:
142.步骤105’、确定待过滤报文对应的ip地址是否属于预先设置的ip地址白名单或ip地址黑名单。
143.在本步骤中,可以进一步基于ip地址(可以为源ip地址和/或目的ip地址)白名单或黑名单进行网络流量分类和过滤。其中,ip地址白名单用于记录已知的网络流量类型为非加密代理网络流量的会话对应的ip地址。ip黑名单用于记录已知的网络流量类型为加密代理网络流量的会话对应的ip地址。
144.这样,若确定待过滤报文对应的ip地址属于预先设置的ip地址白名单,确定待过滤报文所属会话对应的网络流量类型标识为非加密代理网络流量标识。当然,此时也可以确定待过滤报文对应的网络流量类型标识为其所属会话对应的网络流量类型标识,从而可以基于ip地址白名单进行网络流量的过滤,并可以结束本流程。
145.而若确定待过滤报文对应的ip地址属于预先设置的ip地址黑名单,确定待过滤报
文所属会话对应的网络流量类型标识为加密代理网络流量标识,当然,此时也可以确定待过滤报文对应的网络流量类型标识为其所属会话对应的网络流量类型标识,从而可以基于ip地址黑名单进行网络流量的过滤,并可以结束本流程。
146.也就是说,若确定待过滤报文对应的ip地址属于预先设置的ip地址白名单或黑名单,则可以基于白名单或黑名单进行网络流量的过滤。
147.当然确定待过滤报文对应的ip地址是否属于预先设置的ip地址白名单,和确定待过滤报文对应的ip地址是否属于预先设置的ip地址黑名单的执行顺序可以不分先后。
148.而若确定待过滤报文对应的ip地址不属于预先设置的ip地址白名单,也不属于预先设置的ip地址黑名单,则可以继续执行步骤105,从而可以进一步结合ip地址黑白名单进行网络流量过滤,进一步提高网络流量过滤的准确性。
149.本发明实施例提供了一种创新的网络流量过滤思路,可以在网络流量获取时实时对网络流量进行分类和过滤,从而可以尽早地将加密代理网络流量和正常的网络流量分别送入对应的业务系统进行处理,在不降低业务系统性能的同时,为系统增加加密代理网络流量过滤的能力。而通过在送入业务系统进行处理之前,对网络流量进行前置过滤,节省了资源消耗,并可以大大提高业务处理的准确性。
150.与提供的方法对应的,进一步提供以下的装置。
151.本公开实施例提供一种网络流量过滤装置,该装置的结构可以如图2所示,包括:
152.接收模块11用于从待过滤报文队列获取待过滤报文;
153.过滤结束判断模块12用于确定所述待过滤报文对应的五元组信息;根据所述五元组信息,确定所述待过滤报文所属的会话;确定是否存在所述会话对应的网络流量类型标识,所述网络流量类型标识包括加密代理网络流量标识和非加密代理网络流量标识;
154.信息获取模块13用于若所述过滤结束判断模块确定不存在,则根据所述待过滤报文,确定所述会话对应的加权系数值,并确定是否已获得所述会话对应的每个加权系数值,每个加权系数值对应一个过滤参数;
155.概率确定模块14用于若所述信息获取模块确定已获得所述会话对应的每个加权系数值,则根据每个加权系数值,对每个过滤参数确定出的参数值进行加权求和,确定所述会话对应的加密代理网络流量概率;
156.过滤模块15用于若所述概率确定模块确定所述加密代理网络流量概率大于设定的阈值,则确定所述会话对应的网络流量类型标识为加密代理网络流量标识,并确定所述待过滤报文对应的网络流量类型标识为所述会话对应的网络流量类型标识。
157.可选的,所述过滤模块15还用于若所述过滤结束判断模块确定存在所述会话对应的网络流量类型标识,则确定所述待过滤报文对应的网络流量类型标识为所述会话对应的网络流量类型标识。
158.可选的,所述过滤模块15还用于若所述信息获取模块确定尚未获得所述会话对应的每个加权系数值,则将所述待过滤报文重新加入待过滤报文队列。
159.可选的,所述过滤模块15还用于若所述概率确定模块确定所述加密代理网络流量概率不大于设定的阈值,则确定所述会话对应的网络流量类型标识为非加密代理网络流量标识,并确定所述待过滤报文对应的网络流量类型标识为所述会话对应的网络流量类型标识。
160.可选的,所述过滤模块15还用于若所述过滤结束判断模块确定不存在所述会话对应的网络流量类型标识,在所述信息获取模块根据所述待过滤报文,确定所述会话对应的加权系数值之前,确定所述待过滤报文对应的互联网协议地址是否属于预先设置的互联网协议地址白名单或互联网协议地址黑名单,所述互联网协议地址白名单用于记录已知的网络流量类型为非加密代理网络流量的会话对应的互联网协议地址,所述互联网协议地址黑名单用于记录已知的网络流量类型为加密代理网络流量的会话对应的互联网协议地址;
161.所述信息获取模块13根据所述待过滤报文,确定所述会话对应的加权系数值,包括:
162.若确定所述待过滤报文对应的互联网协议地址不属于预先设置的互联网协议地址白名单,也不属于预先设置的互联网协议地址黑名单,根据所述待过滤报文,确定所述会话对应的加权系数值。
163.可选的,所述信息获取模块13确定是否已获得所述会话对应的每个加权系数值,包括:
164.确定根据所述待过滤报文,是否可以获得所述会话的会话类型;
165.若确定可以获得所述会话的会话类型,确定是否已经获得所述会话类型的会话对应的每个加权系数值;
166.所述概率确定模块14具体用于若所述信息获取模块确定已获得所述会话类型的会话对应的每个加权系数值,则根据每个加权系数值,对每个过滤参数确定出的参数值进行加权求和,确定所述会话对应的加密代理网络流量概率。
167.可选的,若获得的所述会话的会话类型为传输控制协议tcp会话类型,所述信息获取模块13确定是否已经获得所述会话类型的会话对应的每个加权系数值包括:
168.确定是否已获得第二加权系数值、第三加权系数值、第四加权系数值和第七加权系数值中的至少一个,以及第一加权系数值、第五加权系数值和第六加权系数值;
169.其中,所述第一加权系数值对应第一过滤参数,所述第一过滤参数表示客户端到服务器不含三次握手的第一个报文长度的权重,所述第二加权系数值在客户端到服务器不含三次握手的第一个报文长度在指定范围内时为第一数值,否则为第二数值;
170.所述第二加权系数值对应第二过滤参数,所述第二过滤参数表示服务器到客户端不含三次握手的第一个负载非空报文长度取值的权重,所述第二加权系数值在服务器到客户端不含三次握手的第一个负载非空报文长度取值为指定值时为第一数值,否则为第二数值;
171.所述第三加权系数值对应第三过滤参数,所述第三过滤参数表示服务器到客户端含三次握手的设定顺序范围内的报文中,报文长度为设定值的数量的权重,所述第三加权系数值在服务器到客户端含三次握手的设定顺序的范围内的报文中,报文长度为设定值的数量不小于设定数量时为第一数值,否则为第二数值;
172.所述第四加权系数值对应第四过滤参数,所述第四过滤参数表示客户端到服务器不含三次握手的第一个报文窗口大小的权重,所述第四加权系数值在客户端到服务器不含三次握手的第一个报文窗口大小为指定窗口大小时为第一数值,否则为第二数值;
173.所述第五加权系数值对应第五过滤参数,所述第五过滤参数表示客户端到服务器指定时长之后或者设定的报文数量之后,出现报文长度为设定长度的心跳包的权重,所述
第五加权系数值在客户端到服务器指定时长之后或者设定的报文数量之后,出现报文长度为设定长度的心跳包时为第一数值,否则为第二数值;
174.所述第六加权系数值对应第六过滤参数,所述第六过滤参数表示服务器到客户端指定时长之后或者设定的报文数量之后,出现报文长度为指定长度的心跳包的权重,所述第五加权系数值在服务器到客户端指定时长之后或者设定的报文数量之后,出现报文长度为指定长度的心跳包时为第一数值,否则为第二数值;
175.所述第七加权系数值对应第七过滤参数,所述第七过滤参数表示指定时间间隔内二元组对应的总会话数的权重,所述第七加权系数值在指定时间间隔内二元组对应的总会话数不大于设定会话数时为第一数值,否则为第二数值。
176.可选的,若获得的所述会话的会话类型为纯tcp会话类型,所述信息获取模块13确定是否已经获得所述会话类型的会话对应的每个加权系数值包括:确定是否已获得所述第一加权系数值、所述第二加权系数值、所述第三加权系数值和所述第四加权系数值中的至少三个。
177.可选的,若获得的所述会话的会话类型为安全传输层协议tls会话类型,所述信息获取模块13确定是否已经获得所述会话类型的会话对应的每个加权系数值包括:确定是否已获得所述第二加权系数值以及所述第三加权系数值。
178.本公开上述实施例提供的各装置的各功能单元的功能,可以通过上述对应的各方法的步骤来实现,因此,本公开实施例提供的各装置中的各个功能单元的可能的工作过程和有益效果,在此不复赘述。
179.基于同一发明构思,本公开实施例提供以下的设备和介质。
180.本公开实施例提供一种网络流量过滤设备,该设备的结构可以如图3所示,包括处理器21、通信接口22、存储器23和通信总线24,其中,所述处理器 21,所述通信接口22,所述存储器23通过所述通信总线24完成相互间的通信;
181.所述存储器23,用于存放计算机程序;
182.所述处理器21,用于执行所述存储器上所存储的程序时,实现本公开上述方法实施例所述的步骤。
183.可选的,所述处理器21可以包括中央处理器(cpu)、特定应用集成电路 (asic,application specific integrated circuit),可以是一个或多个用于控制程序执行的集成电路,可以是使用现场可编程门阵列(fpga,fieldprogrammable gate array)开发的硬件电路,可以是基带处理器。
184.可选的,所述处理器21可以包括至少一个处理核心。
185.可选的,所述存储器23可以包括只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)和磁盘存储器。存储器23 用于存储至少一个处理器21运行时所需的数据。存储器23的数量可以为一个或多个。
186.本公开实施例还提供一种非易失性计算机存储介质,所述计算机存储介质存储有可执行程序,当可执行程序被处理器执行时,实现本公开上述方法实施例提供的方法。
187.在可能的实施过程中,计算机存储介质可以包括:通用串行总线闪存盘 (usb,universal serial bus flash drive)、移动硬盘、只读存储器(rom, read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的
存储介质。
188.本公开实施例还提供一种计算机程序产品,所述计算机程序产品包括可执行程序,该可执行程序被处理器执行实现本公开上述方法实施例提供的方法。
189.在本公开实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性或其它的形式。
190.在本公开实施例中的各功能单元可以集成在一个处理单元中,或者各个单元也可以均是独立的物理模块。
191.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实施例的技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备,例如可以是个人计算机,服务器,或者网络设备等,或处理器(processor)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:通用串行总线闪存盘(universal serial bus flash drive)、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
192.本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、 cd-rom、光学存储器等)上实施的计算机程序产品的形式。
193.本公开是参照根据本公开实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和 /或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/ 或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
194.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
195.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
196.尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造
性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。
197.显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。
再多了解一些

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

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

相关文献