基于UDP加密流量的应用识别方法、系统及存储介质与流程

专利2025-10-06  1


本发明属于应用识别的,具体涉及基于udp加密流量的应用识别方法、系统及存储介质。


背景技术:

1、当今互联网的发展日新月异,网络流量、带宽急剧增大,伴随着新兴的网络通信技术,互联网的应用也不断在革新,应用从简单的邮件服务、网页浏览等,到如今的移动互联网、p2p、游戏、音视频、流媒体等逐渐成为了互联网中的主流。面临数量和类别如此庞大的网络应用和服务,从安全的视角来看,对这些应用或服务进行管控就变的尤为重要,而管控这些应用的必要前提就是要发现和认识这些应用,即应用识别。如何快速、准确的对网络应用进行识别是目前首要解决的问题。

2、应用识别从最开始只对特定协议和端口的识别如邮件协议(25/110)、ftp协议(20/21)的识别从而确定一些特定的应用和服务,逐渐转变为基于应用层的dpi检测去识别应用和服务。如基于http/https/rtmp/sip等应用层通用协议,提取协议特定字段的内容特征可以对应用进行识别,这也是目前主流的应用识别技术。虽然目前dpi技术可以提取一些常见的应用流量特征,如服务器域名信息(servername/ host)、资源路径信息(uri)、客户端信息(ua),但此类特征的实效性较低,需要及时的更新特征才能持续的满足识别要求。

3、考虑到应用在网络中通信的兼容性、成本、效率,网络中绝大多数应用是基于http类似的公开的协议进行通信,特征的提取方法因此也较为固定。但仍然也存在相当一部分的应用流量并不是公开的协议,而是应用厂商自行研发的私有通信协议,对于走这部分私有的加密流量的应用识别就变的尤其关键。例如,除了基于主流tcp应用层协议应用外,目前还存在大量应用使用udp协议,如音视频、流媒体等业务,而且目前越来越多的应用厂商开始自行研发udp应用协议来传输和通信。而通过确定该应用特有的流量(私有协议),可以很大程度解决识别时效性的问题,而且可以丰富应用的识别特征维度——即此私有流量为该应用特有的业务通道。

4、在针对加密流量的应用识别中,一种是基于机器学习的方法进行分析和统计加密流量的会话行为和数据包特征。如会话的建立间隔、频率、数据包的长度、发包间隔、上下行流量占比等指标。对加密会话流量进行建模和分析,最终确定此应用流的流量行为特征。一种是采用相关机器训练模型对加密会话流量进行二进制逆向的方法,尝试确定加密的会话流量。然而,现有技术主要针对加密的应用流量进行持续的统计学习,因此需要大量的加密流量样本,否则会影响最终的该学习模型的识别精准度。但目前由于网络中业务繁杂且应用、服务众多,可能需要在较短的时间内完成对该加密应用流量的识别并验证。如果对于一个原因进行大量样本且长期的统计学习,事必会使得识别效率低下,且识别也又受到样本本身的约束,且较依赖有经验的开发人员,无法快速投入到实际生产中。

5、综上所述,在高带宽大流量的网络环境下,面对层出不穷的各种网络服务和应用需要做到识别或访问控制,其中主流的应用识别方式大多基于tcp/ip协议栈中对应用层协议进行dpi,如http/https/dns等协议中的uri、ua、端口、域名等明文且较容易获取的特征进行识别。但忽视了目前网络中大量业务如流媒体音视频等业务一般会通过udp传输,且部分厂商会自行研发基于udp相应的通信协议,从而导致识别变的更加困难。

6、因此,本发明设计了基于udp加密流量的应用识别方案,主要针对使用基于udp加密流量的应用场景,对流量进行分类分组后,使用较少的流量样本,并结合通信协议格式特性快速定位具有特征的流量并提取可以作为识别应用的特征,可以提高识别效率。


技术实现思路

1、本发明的目的在于提供基于udp加密流量的应用识别方法、系统及存储介质,旨在解决上述的问题。本发明从网络流量的角度出发,通过流量分析技术并结合协议的特性,解决了基于udp私有协议的加密流量而导致应用无法识别、识别不完整、识别效率低等问题。

2、本发明主要通过以下技术方案实现:

3、基于udp加密流量的应用识别方法,包括以下步骤:

4、步骤s1:获取目标应用的流量样本;

5、步骤s2:针对随机输入的一个流量样本,基于加密流量的会话属性与通信协议的特性进行流量分类,对分类的每个类别的流量进行特征提取和分类去重,最终输出去重后的类别与类别的对应特征;

6、步骤s3:将步骤s2处理的流量样本中所有分类类别的对应特征与剩余流量样本进行匹配,对于匹配成功的流量样本,保留流量样本中存在的一个或多个与剩余流量样本匹配的特征为应用的加密流量的识别特征之一,作为应用特征;对于未匹配的样本则会进入步骤s2进行流量分类,直到完成对所有样本流量的处理且无新样本输入;最终保留识别应用的应用特征,并基于应用特征识别应用。

7、优选地,所述步骤s2中,会话属性指的是会话上面的相关指标,如会话的四元组指标(源ip、源端口、目的ip、目的端口),即步骤s202中所述的指标。通信协议特性特指网络协议通信格式的固有特征:如协议具体指示头部长度或data的长度的标识字段等。

8、优选地,匹配方法从流量的角度来看:一般有逐包和逐流的方法进行匹配;逐包即需要对每个数据包中的特征进行检查,一般不考虑数据包的关联性,识别的结果的单包导向的。逐流的方法虽也会对当前会话流的数据包特征进行检查,但是会结合数据包上下文,如tcp的特征一般在三次握手之后,即最快的识别的特征正常会在第4个出现,且一般为了提供识别效率一般不会做全包检查,识别结果是会话导向的。本发明的匹配方法同样也是基于流(会话)的。从匹配技术本身来看:一般有正则匹配、字符穿匹配方法匹配、近似字串匹配、字典匹配、模糊匹配等,本发明采取基于正则/通配符的方法进行匹配。

9、为了更好地实现本发明,进一步地,所述步骤s1中,在只有当前应用进行通信或在特定的应用程序进程端口上,采用抓包或流量截取方式获取属于该应用的网络流量样本。

10、为了更好地实现本发明,进一步地,所述流量样本覆盖该目标应用的某个或多个业务阶段,且多个流量样本覆盖相同的业务阶段,所述流量样本的数量≧3。

11、为了更好地实现本发明,进一步地,所述步骤s2包括以下步骤:

12、步骤s201:进行流量过滤并得到未知的udp协议的流量:针对随机输入的一个流量样本,进行预处理,排除已公开的udp协议的流量,得到无法直接识别且内容加密的流量;

13、步骤s202:判断当前流量四元组是否具有可分类特征,并统计所有加密udp会话的相关会话指标信息,所述相关会话指标信息包括源端口、目的ip和目的端口;

14、步骤s203:通过四元组优先级将加密udp会话分类:针对重复数量≧2的加密udp会话,按照四元组优先级进行初步流量分类,并将剩余未分类的流量直接合并为一类;

15、步骤s204:分类验证与分类合并:对初步分类后的流量进行分类确认和验证,验证该分类是否具有可供识别的特征;然后,针对不同分类的提取特征,若分类不同但特征相同,则将具有相同特征的会话进行合并为同一类别。

16、为了更好地实现本发明,进一步地,所述步骤s203中,将具有目的ip和目的端口的流量样本设定为优先级1,将具有目的端口的流量样本设定为优先级2;将具有目的ip的流量样本设定为优先级3,将具有源端口的流量样本设定为优先级4。

17、为了更好地实现本发明,进一步地,步骤s204中,分类验证包括以下步骤:

18、步骤a1:若分类的类别下有多个会话,则随机选取一个会话进行特征提取并进行流量特征分析判断,按照可提取的特征的优先级进行特征提取;若提取的特征可以覆盖当前会话数据包的设定阈值占比,则该特征作为当前会话的识别特征;

19、步骤a2:将会话的识别特征与该分类类别的剩余会话进行匹配;

20、若成功匹配该识别特征的会话数≧1,则将该识别特征作为该分类类别的对应特征之一,且该会话及匹配中的会话不再作为待匹配项和待提取项进行保留;若该分类下有剩余的会话,则进入步骤a1,对剩余未匹配的会话继续进行特征提取;

21、若该识别特征没有匹配到任何会话,则进入步骤a1,继续随机选取除当前会话外的其他会话进行特征提取,且将当前会话作为待匹配项保留;

22、步骤a3:如果该分类类别下的多个会话都可以用一个或多个固定的对应特征去识别,则确定该分类类别成立;将完全覆盖分类类别会话数的固定的对应特征保留并作为该分类类别的主要特征,否则,保留所有提取的固定的对应特征。

23、为了更好地实现本发明,进一步地,所述步骤a1中,以当前会话的首包发送方向的数据包进行特征提取,若提取的特征可以覆盖当前会话数据包的50% ,则该特征作为当前会话的识别特征。

24、为了更好地实现本发明,进一步地,步骤s3包括以下步骤:

25、步骤s301:按分类提取类别的对应特征,并与剩余流量样本进行匹配;

26、步骤s302:若匹配成功,则进入步骤s303,否则,进入步骤s304;

27、步骤s303:记录应用特征,判断剩余流量样本是否全部匹配成功,若是,则结束,否则进入步骤s304;

28、步骤s304:判断剩余流量样本数是否>1,若否,则进入步骤s305,否则,进入步骤s306;

29、步骤s305:判断是否输入更多的流量样本,若否,则就结束,否则,进入步骤s306;

30、步骤s306:选取随机流量样本,进入步骤s2进行流量分类。

31、本发明主要通过以下技术方案实现:

32、基于udp加密流量的应用识别系统,采用上述所述的方法进行,包括流量样本获取模块、流量分类模块和验证识别模块,所述流量样本获取模块用于获取目标应用的网络流量样本;所述流量分类模块用于基于加密流量的会话属性与通信协议的特性对随机输入的流量样本进行流量分类以及特征提取,并最终输出去重后的类别与类别的对应特征;所述验证识别模块用于将该流量样本中所有分类类别的对应特征与剩余流量样本进行匹配并得到应用特征,实现基于应用特征识别应用。

33、一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所述的方法。

34、本发明的有益效果如下:

35、本发明无需大量、长时的流量样本就可以实现对udp加密流量的应用识别。本发明无需使用复杂的机器学习算法或大数据模型对流量进行统计分析,对样本的大小、时长没有严苛的要求,提高了识别的效率。本发明使用基于网络特性和协议属性对私有加密流量进行快速分类。本发明结合udp应用业务的大多为短包的网络特性,可以快速对流量进行分类和处理。本发明结合了协议属性和网络特性对流量特征进行分析提取,可以适用于多数加密应用,具有较好的实用性。


技术特征:

1.基于udp加密流量的应用识别方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于udp加密流量的应用识别方法,其特征在于,所述步骤s1中,在只有当前应用进行通信或在特定的应用程序进程端口上,采用抓包或流量截取方式获取属于该应用的网络流量样本。

3.根据权利要求2所述的基于udp加密流量的应用识别方法,其特征在于,所述流量样本覆盖该目标应用的某个或多个业务阶段,且多个流量样本覆盖相同的业务阶段,所述流量样本的数量≧3。

4.根据权利要求1所述的基于udp加密流量的应用识别方法,其特征在于,所述步骤s2包括以下步骤:

5.根据权利要求4所述的基于udp加密流量的应用识别方法,其特征在于,所述步骤s203中,将具有目的ip和目的端口的流量样本设定为优先级1,将具有目的端口的流量样本设定为优先级2;将具有目的ip的流量样本设定为优先级3,将具有源端口的流量样本设定为优先级4。

6.根据权利要求4所述的基于udp加密流量的应用识别方法,其特征在于,步骤s204中,分类验证包括以下步骤:

7.根据权利要求6所述的基于udp加密流量的应用识别方法,其特征在于,所述步骤a1中,以当前会话的首包发送方向的数据包进行特征提取,若提取的特征可以覆盖当前会话数据包的50% ,则该特征作为当前会话的识别特征。

8.根据权利要求1所述的基于udp加密流量的应用识别方法,其特征在于,步骤s3包括以下步骤:

9.基于udp加密流量的应用识别系统,采用权利要求1-8任一项所述的方法进行,其特征在于,包括流量样本获取模块、流量分类模块和验证识别模块,所述流量样本获取模块用于获取目标应用的网络流量样本;所述流量分类模块用于基于加密流量的会话属性与通信协议的特性对随机输入的流量样本进行流量分类以及特征提取,并最终输出去重后的类别与类别的对应特征;所述验证识别模块用于将该流量样本中所有分类类别的对应特征与剩余流量样本进行匹配并得到应用特征,实现基于应用特征识别应用。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-8中任一项所述的方法。


技术总结
本发明公开了基于UDP加密流量的应用识别方法、系统及存储介质,针对一个流量样本,基于加密流量的会话属性与通信协议的特性进行流量分类,最终输出去重后的类别与类别的对应特征。将处理的流量样本中所有分类类别的对应特征与剩余流量样本进行匹配,对于匹配成功的流量样本,保留流量样本中存在的一个或多个与剩余流量样本匹配的特征为应用的加密流量的识别特征之一,作为应用特征;对于未匹配的样本则进行流量分类;最终保留识别应用的应用特征,并基于应用特征识别应用。本发明从网络流量的角度出发,通过流量分析技术并结合协议的特性,解决了基于UDP私有协议的加密流量而导致应用无法识别、识别不完整、识别效率低等问题。

技术研发人员:刘月,周文宝,兰星,吴飞
受保护的技术使用者:成都安恒信息技术有限公司
技术研发日:
技术公布日:2024/12/17
转载请注明原文地址:https://xbbs.6miu.com/read-27167.html