一种应用程序的识别方法及装置与流程

文档序号:14043134研发日期:2017年阅读:391来源:国知局
技术简介:
本专利针对传统应用程序识别中重复识别等效会话导致资源浪费的问题,提出基于特征字符匹配的识别方法。通过提取会话特征(含目的IP),匹配本地特征字符集合实现快速识别;若匹配失败,则利用关联IP和关联字符集合二次匹配,避免重复识别,提升系统效率。
关键词:特征字符匹配,应用程序识别

本申请涉及通信技术领域,尤其涉及一种应用程序的识别方法及装置。



背景技术:

随着互联网技术的发展,为提高网络的安全,通常基于应用程序与服务器之间的会话,采用端口识别,互联网协议地址(internetprotocoladdress,ip)识别,深度包检测技术(deeppacketinspection,dpi)识别,深度流检测技术(deepflowinspection,dfi)识别,或协议解码等技术,进行应用程序的识别,进而可以根据识别结果,对应用程序进行筛选等网络安全操作。

其中,端口识别和ip识别是通过应用程序的端口和ip,服务器的端口和ip以及两者通信采用的协议,对应用程序进行识别。dpi技术基于应用层协议对应用层数据进行字符提取,并将提取的字符与预设的字符集合中的各个字符进行匹配,以及根据匹配结果,确定提取的字符对应的应用程序。而dfi技术是一种基于流量行为的应用识别技术,即根据会话连接或数据流的状态,判断应用程序的类型。

现有技术下,对应用程序进行识别时,主要采用以下方式:

将端口识别、ip识别、dpi识别和dfi识别相结合,先通过端口识别和ip识别对采用特定端口和特定ip的应用程序进行识别,若识别失败,再采用dpi识别以及dfi识别对应用程序进行识别。

但是,由于dpi识别和dfi识别采用的算法均比较复杂,并且需要较大的匹配集合空间,因此,采用这种方式会耗费大量的系统资源,进而降低了系统性能;其次,若一个应用程序在短时间内向同一个服务器发送了多个请求会话,则终端会对每一个会话都进行应用程序的识别,即会对冗余的等效会话进行重复识别,这也会耗费大量的系统资源,以及降低系统性能。进一步地,一个应用程序与多个相互关联的服务器进行会话时,由于相互关联的服务器的ip为同一个应用服务的各个服务器对应的ip,因此,包含关联的服务器的ip的各个会话可以等效为一个会话,即应用程序的识别结果是相同的。但是,终端会对包含关联服务器的ip的各个冗余的等效会话均进行应用程序的识别,这也会造成系统资源的浪费,降低系统的性能。



技术实现要素:

本申请实施例提供一种应用程序的识别方法及装置,用于在进行应用程序的识别时,避免冗余会话的识别流程,节约系统资源,提高系统性能。

本申请实施例提供的具体技术方案如下:

第一方面,一种应用程序的识别方法,包括:

对待识别会话进行特征字符提取,获得特征字符列表,其中,特征字符列表中至少包含服务器的目的ip;

获取对应特征字符列表中的目的ip设置的特征字符集合,并将特征字符列表,分别与特征字符集合中包含的每一个应用字符列表进行匹配,获得匹配结果;

基于匹配结果,判断匹配结果是否表征匹配成功,若是,则确定对应特征字符列表设置的应用程序;

否则,获取对应目的ip设置的关联ip,并获取对应关联ip设置的关联字符集合,以及基于特征字符列表、关联ip和关联字符集合,确定对应特征字符列表设置的应用程序。

较佳的,特征字符列表包括应用程序的源ip,服务器的目的ip,服务器的目的端口,以及会话通信协议。

较佳的,获取对应特征字符列表中的目的ip设置的特征字符集合,并将特征字符列表,分别与特征字符集合中包含的每一个应用字符列表进行匹配,获得匹配结果,具体包括:

获取对应目的ip设置的特征字符集合,其中,特征字符集合中的每一个应用字符列表中均包含目的ip;

将特征字符列表分别与特征字符集合中包含的每一个应用字符列表进行匹配;

若存在一个应用字符列表中与特征字符列表相同,并且进行匹配的第一匹配时间低于第一预设时间时,获得表征匹配成功的匹配结果,否则,获得表征匹配失败的匹配结果。

较佳的,基于特征字符列表、关联ip和关联字符集合,确定对应特征字符列表设置的应用程序,具体包括:

将特征字符列表中包含的目的ip替换为关联ip,获得关联字符列表;

将关联字符列表分别与关联字符集合中包含的每一个应用字符列表进行匹配,确定存在一个应用字符列表与关联字符列表相同,并且进行匹配的第二匹配时间低于第二预设时间时,获取对应关联字符列表设置的应用程序,作为特征字符列表对应的应用程序。

较佳的,进一步包括:

若特征字符集合中存在一个应用字符列表与特征字符列表相同,并且进行匹配的第一匹配时间不低于预设的第一预设时间,则将与特征字符列表相同的应用字符列表删除;或者,

若关联字符集合中存在一个应用字符列表与关联字符列表相同,并且进行匹配的第二匹配时间不低于预设的第二预设时间,则将与关联字符列表相同的应用字符列表删除。

第二方面,一种应用程序的识别装置,包括:

提取单元,用于对待识别会话进行特征字符提取,获得特征字符列表,其中,特征字符列表中至少包含服务器的目的ip;

匹配单元,用于获取对应特征字符列表中的目的ip设置的特征字符集合,并将特征字符列表,分别与特征字符集合中包含的每一个应用字符列表进行匹配,获得匹配结果;

判断单元,用于基于匹配结果,判断匹配结果是否表征匹配成功,若是,则确定对应特征字符列表设置的应用程序;

识别单元,用于否则,获取对应目的ip设置的关联ip,并获取对应关联ip设置的关联字符集合,以及基于特征字符列表、关联ip和关联字符集合,确定对应特征字符列表设置的应用程序。

较佳的,特征字符列表包括应用程序的源ip,服务器的目的ip,服务器的目的端口,以及会话通信协议。

较佳的,在获取对应特征字符列表中的目的ip设置的特征字符集合,并将特征字符列表,分别与特征字符集合中包含的每一个应用字符列表进行匹配,获得匹配结果,匹配单元具体用于:

获取对应目的ip设置的特征字符集合,其中,特征字符集合中的每一个应用字符列表中均包含目的ip;

将特征字符列表分别与特征字符集合中包含的每一个应用字符列表进行匹配;

若存在一个应用字符列表中与特征字符列表相同,并且进行匹配的第一匹配时间低于第一预设时间时,获得表征匹配成功的匹配结果,否则,获得表征匹配失败的匹配结果。

较佳的,在基于特征字符列表、关联ip和关联字符集合,确定对应特征字符列表设置的应用程序,识别单元具体用于:

将特征字符列表中包含的目的ip替换为关联ip,获得关联字符列表;

将关联字符列表分别与关联字符集合中包含的每一个应用字符列表进行匹配,确定存在一个应用字符列表与关联字符列表相同,并且进行匹配的第二匹配时间低于第二预设时间时,获取对应关联字符列表设置的应用程序,作为特征字符列表对应的应用程序。

较佳的,识别单元还用于:

若特征字符集合中存在一个应用字符列表与特征字符列表相同,并且进行匹配的第一匹配时间不低于预设的第一预设时间,则将与特征字符列表相同的应用字符列表删除;或者,

若关联字符集合中存在一个应用字符列表与关联字符列表相同,并且进行匹配的第二匹配时间不低于预设的第二预设时间,则将与关联字符列表相同的应用字符列表删除。

第三方面,一种电子设备,包括:一个或多个处理器;以及

一个或多个计算机可读介质,可读介质上存储有用于应用程序的识别程序,其中,程序被一个或多个处理器执行时,实现上述第一方面中任一项的方法的步骤。

第四方面,一个或多个计算机可读介质,可读介质上存储有用于应用程序的识别程序,其中,程序被一个或多个处理器执行时,使得通信设备执行上述第一方面中任一项的方法。

本申请实施例中,提取待识别会话的特征字符,获得包含目的ip的特征字符列表和对应目的ip设置的特征字符集合,将特征字符列表与特征字符集合中的每一个应用字符列表进行匹配,获得匹配结果,若匹配成功,直接获取对应特征字符列表设置的应用程序,否则,获取目的ip的关联ip和对应关联ip设置的关联字符集合,并将关联ip和特征字符列表进行组合后获得的关联字符列表与关联字符集合中每一个应用字符列表进行匹配,确定匹配成功时,获取对应关联字符列表设置的应用程序,作为识别结果。这样,可以根据本地存储的应用字符列表和对应的应用程序之间的关联关系,直接获取应用程序的识别结果,避免了各个等效会话的重复识别,节约了系统资源,提高了系统的性能。

附图说明

图1为本申请实施例中应用程序的识别方法的流程图;

图2为本申请实施例中应用程序的识别装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了在进行应用程序的识别时,避免等效会话的重复识别,节约系统资源,提高系统性能,本申请实施例中,设计了一种应用程序的识别方法,该方法为提取待识别会话中包含的特征字符,获得包含目的ip的特征字符列表,以及获取对应目的ip设置的特征字符集合,将特征字符列表与特征字符集合中包含的应用字符列表进行匹配,若匹配成功,则确定对应特征字符列表设置的应用程序,否则,获取对应目的ip设置的关联ip,以及对应关联ip设置的关联字符集合,并基于特征字符列表以及关联字符集合,获得应用程序的识别结果。

以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

参阅图1所示,为应用程序的识别流程图,本申请实施例中,对应用程序的识别的具体流程如下:

步骤100:终端按照预设规则,对待识别会话进行特征字符提取,获得特征字符列表。

具体的,执行步骤100时,特征字符列表包括但不限于应用程序的源ip,服务器的目的ip,服务器的目的端口,以及会话通信协议。

步骤101:终端获取对应特征字符列表中的目的ip设置的特征字符集合。

具体的,在进行应用程序的识别之前,终端根据历史会话,以及相应的识别结果,预先针对每一个ip建立特征字符集合。

其中,特征字符集合为应用字符列表的集合,而应用字符列表为对应用程序与服务器之间的会话进行特征字符提取后获得特征字符的列表,包括但不限于应用程序的源ip,服务器的目的ip,服务器的目的端口,以及会话的通信协议,并且一个ip对应的特征字符集合中的任意一个应用字符列表中均包含上述一个ip。

这样,终端根据对应用程序的历史识别结果,将历史会话中提取的包含特征字符的应用字符列表进行存储,并针对目的ip的不同,分别进行存储,从而可以在后续应用程序的识别过程中,若本地存储有与特征字符列表相匹配的应用字符列表,可以直接获得应用程序的识别结果。

执行步骤101时,终端获取对应特征字符列表中的目的ip设置的特征字符集合。其中,对应目的ip设置的特征字符集合中的任意一个应用列表中均包含上述目的ip。

例如,目的ip为:42.236.99.72对应的特征字符集合中包含应用字符列表a,应用字符列表b和应用字符列表c。其中,应用字符列表a为(http协议,36.236.99.72,42.236.99.72,34),应用字符列表b为(tcp协议,11.236.14.21,42.236.99.72,50)应用字符列表c为(http协议,36.23.19.76,42.236.99.72,3450)。

步骤102:终端将获取的特征字符列表,依次与特征字符集合中的每一个应用字符列表进行匹配,获得匹配结果。

具体的,执行步骤102时,若在特征字符集合中存在一个应用字符列表与特征字符列表相同,并且进行匹配的第一匹配时间低于第一预设时间,则获得表征匹配成功的匹配结果,否则,获得表征匹配失败的匹配结果。其中,第一预设时间是预先设定好的超出时间。

可选的,第一匹配时间可以表示为:

matetime=curtime-logtime

其中,matetime为第一匹配时间,curtime为当前时间,logtime为对特征字符集合进行匹配的初始时间。

例如,特征字符列表为(http协议,36.236.99.72,42.236.99.72,34),其中,目的ip为:42.236.99.72。目的ip对应的特征字符集合中存在一个应用字符列表a为(http协议,36.236.99.72,42.236.99.72,34)。终端预先设定的第一预设时间overtime=10s。终端在初始时间logtime=18:00:00时,将特征字符列表依次与特征字符集合中的每一个应用字符列表进行匹配,并在当前时间curtime=18:00:08时,确定应用字符列表a(http协议,36.236.99.72,42.236.99.72,34)与特征字符列表相同,然后,终端计算第一匹配时间matetime=18:00:08-18:00:00=8<10s,获得表征匹配成功的匹配结果。

又例如,特征字符列表为(tcp协议,36.236.99.11,42.236.99.23,356),其中,目的ip为42.236.99.23,并且目的ip对应的特征字符集合中存在一个应用字符列表b为(tcp协议,36.236.99.11,42.236.99.23,356)。终端预先设定的第一预设时间overtime=5s。终端在初始时间logtime=10:50:02时,将特征字符列表依次与特征字符集合中的每一个应用字符列表进行匹配,并在当前时间curtime=10:50:10时,确定应用字符列表b(tcp协议,36.236.99.11,42.236.99.23,356)与特征字符列表相同,然后,终端计算第一匹配时间matetime=18:00:08-18:00:00=8s>5s,则获得表征匹配失败的匹配结果。

又例如,特征字符列表为(udp协议,36.236.99.11,42.236.99.23,356),其中,目的ip为:42.236.99.23,并且目的ip对应的特征字符集合中不存列表为(udp协议,36.236.99.11,42.236.99.23,356)的应用字符,则终端将特征字符列表依次与特征字符集合中的每一个应用字符列表进行匹配后,未获得与特征字符列表相同的应用字符列表,则获得表征匹配失败的匹配结果。

这样,就可以直接在本地相应的特征字符集合中进行检索,确定本地是否存储有与特征字符列表相匹配的应用字符列表。

步骤103:终端判断匹配结果是否表征匹配失败,若是,则执行步骤104,否则,执行步骤108。

步骤104:终端获取对应目的ip设置的关联ip,并获取对应关联ip设置的关联字符集合。

具体的,首先,终端根据ip之间的关联关系,获取对应目的ip设置的关联ip,其中,关联ip的数目可以为多个,也可以为零。终端对于相互关联的ip(如,同一个互联网公司或同一个应用服务的多个服务器的ip互相关联,互为关联ip。),预先建立ip之间的关联关系。

然后,终端分别获取对应每一个关联ip设置的关联字符集合。其中,关联字符集合也为包含各个应用字符列表的集合,一个关联ip对应的关联字符集合中的任意一个应用字符列表均包含上述一个关联ip。

这样,就可以获取与目的ip相关联的各个ip,这是由于同一个互联网公司或同一个应用服务可能有多个服务器,即各个服务器之间为关联服务器,一个应用程序向相互关联的多个服务器进行的多个会话,可以等效为同一个会话,获得的应用程序的识别结果是相同的,因此,在后续步骤中,可以通过目的ip的关联ip,对应用程序进行识别。

进一步地,若特征字符集合中存在一个应用字符列表与特征字符列表相同,并且进行匹配的第一匹配时间不低于预设的第一预设时间,则将与特征字符列表相同的应用字符列表删除。

步骤105:终端将特征字符列表中包含的目的ip替换为关联ip,获得关联字符列表。

例如,特征字符列表为(tcp协议,36.236.99.11,42.236.99.23,356),其中,目的ip为42.236.99.23,终端确定目的ip的关联ip为42.236.99.35,则终端获得关联字符列表为(tcp协议,36.236.99.11,42.236.99.35,356)。

这样,就可以基于关联ip,对特征字符列表进行调整,获得包含关联ip的特征字符列表。

步骤106:终端将关联字符列表分别与关联字符集合中包含的每一个应用字符列表相匹配,获得匹配结果,判断匹配结果是否表征匹配失败,若是,执行步骤107,否则,执行步骤108。

具体的,依次将每一个关联字符列表与相应的关联字符集合中包含的应用字符相匹配,确定存在一个应用字符列表与关联字符相同,并且进行匹配的第二匹配时间低于第二预设时间时,获取表征匹配成功的匹配结果,执行步骤108,否则,判断执行步骤107。

进一步地,关联字符列表可以为0个,也可以为多个,若关联字符列表为0个,则获得表征匹配失败的匹配结果,执行步骤107。

进一步地,若关联字符集合中存在一个应用字符列表与关联字符列表相同,并且进行匹配的第二匹配时间不低于预设的第二预设时间,则将与关联字符列表相同的应用字符删除。

步骤107:终端采用预设的常规识别技术,对应用程序进行识别,获得识别结果。

具体的,终端基于待识别会话,采用端口识别、ip识别、dpi识别以及dfi识别,对发出待识别会话的应用程序进行识别,确定应用程序的标识信息。

进一步地,在对应用程序进行识别之后,基于获取的识别结果,对预先建立的应用字符列表与应用程序的标识信息之间的关联关系进行更新,以便在后续应用程序的识别的过程中,可以通过应用字符列表与应用程序的标识信息之间的关联关系,确定相应的应用程序的标识信息。

这样,就可以在本地未获取与关联字符列表相匹配的应用字符列表,即本地未存储关联字符列表对应的应用程序,则在后续的步骤中,通过现有技术,如,端口识别、ip识别、dpi识别以及dfi识别,进行应用程序的识别。

步骤108,终端确定特征字符列表对应的应用程序,获得识别结果。

具体的,执行步骤108时,主要采用以下两种方式:

第一种方式为:确定匹配结果为特征字符集合中存在一个应用字符列表与特征字符列表匹配成功时,基于预设的应用字符与应用程序的标识信息之间的关联关系,获取上述应用字符列表对应的应用程序的标识信息,从而实现对应用程序的识别。

第二种方式为:确定匹配结果为关联字符集合中存在一个应用字符列表与关联字符列表匹配成功时,基于预设的应用字符与应用程序的标识信息之间的关联关系,获取上述应用字符列表对应的应用程序的标识信息,从而实现对应用程序的识别。

这样,就可以根据预先存储的应用字符列表,以及对应的应用程序的标识信息,确定本地包含特征字符列表或关联字符列表时,直接获取相应的应用程序的标识信息,实现对应用程序的识别,充分利用了应用程序的历史识别结果,避免了等效会话的重复识别,节约了系统资源,提高了系统性能。

本申请实施例中,一种电子设备,包括:一个或多个处理器;以及

一个或多个计算机可读介质,可读介质上存储有用于应用程序的识别的程序,其中,程序被一个或多个处理器执行时,实现上述实施例中的各个步骤。

本申请实施例中,一个或多个计算机可读介质,可读介质上存储有用于应用程序的识别的程序,其中,程序被一个或多个处理器执行时,使得通信设备可以执行上述实施例中的各个步骤。

基于上述实施例,参阅图2所示,应用程序的识别装置的结构示意图,本申请实施例中,应用程序的识别装置具体包括:

提取单元20,用于对待识别会话进行特征字符提取,获得特征字符列表,其中,特征字符列表中至少包含服务器的目的ip;

匹配单元21,用于获取对应特征字符列表中的目的ip设置的特征字符集合,并将特征字符列表,分别与特征字符集合中包含的每一个应用字符列表进行匹配,获得匹配结果;

判断单元22,用于基于匹配结果,判断匹配结果是否表征匹配成功,若是,则确定对应特征字符列表设置的应用程序;

识别单元23,用于否则,获取对应目的ip设置的关联ip,并获取对应关联ip设置的关联字符集合,以及基于特征字符列表、关联ip和关联字符集合,确定对应特征字符列表设置的应用程序。

较佳的,特征字符列表包括应用程序的源ip,服务器的目的ip,服务器的目的端口,以及会话通信协议。

较佳的,在获取对应特征字符列表中的目的ip设置的特征字符集合,并将特征字符列表,分别与特征字符集合中包含的每一个应用字符列表进行匹配,获得匹配结果,匹配单元21具体用于:

获取对应目的ip设置的特征字符集合,其中,特征字符集合中的每一个应用字符列表中均包含目的ip;

将特征字符列表分别与特征字符集合中包含的每一个应用字符列表进行匹配;

若存在一个应用字符列表中与特征字符列表相同,并且进行匹配的第一匹配时间低于第一预设时间时,获得表征匹配成功的匹配结果,否则,获得表征匹配失败的匹配结果。

较佳的,在基于特征字符列表、关联ip和关联字符集合,确定对应特征字符列表设置的应用程序,识别单元23具体用于:

将特征字符列表中包含的目的ip替换为关联ip,获得关联字符列表;

将关联字符列表分别与关联字符集合中包含的每一个应用字符列表进行匹配,确定存在一个应用字符列表与关联字符列表相同,并且进行匹配的第二匹配时间低于第二预设时间时,获取对应关联字符列表设置的应用程序,作为特征字符列表对应的应用程序。

较佳的,识别单元23还用于:

若特征字符集合中存在一个应用字符列表与特征字符列表相同,并且进行匹配的第一匹配时间不低于预设的第一预设时间,则将与特征字符列表相同的应用字符列表删除;或者,

若关联字符集合中存在一个应用字符列表与关联字符列表相同,并且进行匹配的第二匹配时间不低于预设的第二预设时间,则将与关联字符列表相同的应用字符列表删除。

本申请实施例中,提取待识别会话的特征字符,获得包含目的ip的特征字符列表和对应目的ip设置的特征字符集合,将特征字符列表与特征字符集合中的每一个应用字符列表进行匹配,获得匹配结果,若匹配成功,直接获取对应特征字符列表设置的应用程序,否则,获取目的ip的关联ip和对应关联ip设置的关联字符集合,并将关联ip和特征字符列表进行组合后获得的关联字符列表与关联字符集合中每一个应用字符列表进行匹配,确定匹配成功时,获取对应关联字符列表设置的应用程序,作为识别结果。这样,可以根据本地存储的应用字符列表和对应的应用程序之间的关联关系,直接获取应用程序的识别结果,避免了各个等效会话的重复识别,节约了系统资源,提高了系统的性能。

本领域内的技术人员应明白,本申请实施例中的实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例中是参照根据本申请实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。

显然,本领域的技术人员可以对本申请实施例中实施例进行各种改动和变型而不脱离本申请实施例中实施例的精神和范围。这样,倘若本申请实施例中实施例的这些修改和变型属于本申请实施例中权利要求及其等同技术的范围之内,则本申请实施例中也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!