专利名称:报文特征处理方法、装置及网络设备的制作方法
技术领域:
本发明涉及通信技术,尤其涉及一种报文特征处理方法、装置及网络设备。
技术背景
随着互联网技术的快速发展,在网络上承载的内容越来越丰富,网络服务供应 商也向客户提供了越来越多的服务内容,同时,这些服务根据不同的应用进行区分。不 同应用所需的资源信息通常不同,这就要求网络设备能够识别出各种应用,为各种应用 提供最佳资源,以提高网络设备资源的利用率。
先前常利用端口进行流量识别,即对各种应用的流量进行研究,并归纳出该 流量对应的一个或多个固定端口,例如归纳得出酷狗(KuG00)软件通用的商业端口为 7000。当在流量检测过程中发现有流量的端口与已归纳出的端口(例如端口 7000)相 同,则确定该流量属于与已归纳出的端口相对应的流量,以达到识别应用(例如识别为 KuG00软件应用)的目的。
但是目前很多应用软件已经不再使用固定端口,而是经常动态变化端口或者在 软件中设置端口设置功能供用户自行设置端口,甚至有些软件还使用其他业务的固定端 口,例如使用端口 80,以欺骗流量检测设备。因此,上述基于端口的流量检测方法已经 不满足应用识别的需求。而由于不同应用之间的流或报文通常会存在不一样的地方,通 过提取不同字段可以识别出不同的应用,用来识别不同应用的该不同字段被称为特征码 或关键字,因此,现有技术又提出根据特征码来识别不同应用的技术方案。
目前基于特征码的应用识别方法主要有以下几种一种是基于报文的深度报文 检测(Deep PackeUnspection ;简称为DPI),该方法主要是通过对报文的四层载荷进行 深度分析,提取出其包含的或者出现频率最高的特征字段,再结合一些端口和协议信息 来形成一种应用的特征,并将形成的特征存储在特征库中。后续在流量识别过程中,通 过提取报文的四层载荷和端口、协议信息在之前存储的特征库中进行匹配,来识别报文 所属的应用。通常该方法对特征字段出现位置有着严格的要求。另一种是基于流的深度 检测(Deep Flow hispection ;简称为DFI),该方法主要是基于不同应用在会话连接或数 据流上的状态各不相同,如每个流的平均包长,每个包到达的时间间隔等特征;然后通 过对大量的流进行分析形成一个训练集,再由训练集产生一个匹配模型。在后续流量识 别过程中,通过对具体的流与之前生成的匹配模型进行匹配来识别流所属的应用。
但是,随着技术的不断更新和网络的逐步发展,软件版本不断升级,例如QQ、 迅雷等软件不断出现新版本,不同版本软件对应的特征码往往会发生变化,这样对基于 特征码的应用识别来说,会因为特征码的变化而产生识别不准确的问题。为了解决该问 题,每次版本升级都需要人工进行一次特征码的重新提取操作,这种维护特征库的工作 量极为繁重,并且效率较低。另外,这种做法会使得某一应用所提取的特征越来越多, 而特征提取的越多,导致误判的几率就会大大提高,随着软件版本的逐步升级或更新, 这种误判几率会大大增加。因此,如何在软件版本不断更新或升级的情况下,实现准确的识别应用类型成为应用识别面临的又一难题。 发明内容
本发明提供一种报文特征处理方法、装置及网络设备,用以在软件版本更新或 升级时,准确识别应用报文。
本发明提供一种报文特征处理方法,包括
获取当前应用报文的载荷信息;
根据所述当前应用报文的载荷信息和预先存储于特征库中的正式匹配特征进行 应用识别;
当根据所述正式匹配特征识别出所述当前应用报文的类型时,根据所述当前应 用报文的载荷信息和之前指定个数的应用报文的载荷信息,获取第一备份匹配特征并存 储,以根据所述第一备份匹配特征进行应用识别。
本发明提供一种报文特征处理装置,包括
信息获取模块,用于获取当前应用报文的载荷信息;
第一识别模块,用于根据所述当前应用报文的载荷信息和预先存储于特征库中 的正式匹配特征进行应用识别;
第一特征获取模块,用于在所述第一识别模块根据所述正式匹配特征识别出所 述当前应用报文的类型时,根据所述当前应用报文的载荷信息和之前指定个数的应用报 文的载荷信息,获取第一备份匹配特征并存储,以根据所述第一备份匹配特征进行应用 识别。
本发明提供一种网络设备,包括本发明提供的任一报文特征处理装置。
本发明提供的报文特征处理方法、装置及网络设备,采用在对应用报文进行识 别的同时,根据已识别的应用报文的载荷信息生成新的匹配特征,并在后续根据新的匹 配特征进行应用识别的技术方案,可以跟随应用识别过程实时结合应用报文的载荷信息 进行匹配特征的自动更新,可以使匹配特征随软件版本升级或更新等变化而自动变化; 因此,即使软件版本升级或更新了,采用本发明技术方案也能准确识别应用报文,降低 误判几率;同时还解决了现有技术中因软件版本升级或更新需要人工维护特征库的问 题,提高了维护特征库的效率。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或 现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是 本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的报文特征处理方法的流程图2为本发明实施例二提供的报文特征处理方法的流程图3为本发明实施例三提供的报文特征处理方法的流程图4A为本发明实施例四提供的报文特征处理方法的流程图4B为步骤404的一种实施方式的流程图4C为步骤410所述更新过程的一种实施方式的流程图5为本发明实施例五提供的报文特征处理装置的结构示意图6A为本发明实施例六提供的报文特征处理装置的一种结构示意图6B为本发明实施例六提供的报文特征处理装置的另一种结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施 例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实 施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普 通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护 的范围。
实施例一
图1为本发明实施例一提供的报文特征处理方法的流程图。本实施例的执行主 体可为任意网络设备,如图1所示,本实施例的报文特征处理方法包括
步骤101,获取当前应用报文的载荷信息;
其中,当网络设备上开启某一应用程序或者应用软件时,通常会有相应的应用 报文或应用数据存在,在本发明技术方案中将统称为应用报文。该应用报文可以是网 络设备接收的来自其他网络设备的报文,也可以是由本地网络设备发送给其他网络设备 的报文,统称为被网络设备捕获到的应用报文。本实施例的应用报文通常包括协议信 息和载荷内容等;其中,协议信息通常是指应用报文的五元组信息;对于传输控制协议 (Transmission ControlProtocol ;简称为TCP)报文而言,该五元组通常是指源网际协议 (InternetProtocol ;简称为IP)地址、目的IP地址、IP协议(即TCP协议)、TCP源端 口禾口 TCP目的端口 ;对于用户数据包协议(UserDatagramftOtocol ;简称为UDP)报文 而言,该五元组通常是指源IP地址、目的IP地址、IP协议(即UDP协议)、UDP源端 口和UDP目的端口。本步骤所说的载荷信息主要是指根据应用报文中的载荷内容获取的 与应用相关的信息。
具体的,当网络设备捕获到应用报文时,通过对应用报文进行协议分析,获取 其载荷信息和五元组等信息。例如网络设备通过协议解析获知应用报文为TCP报文, 则将获取应用报文中的源IP地址、目的IP地址、TCP协议、TCP源端口和TCP目的端 口以及应用报文携带的载荷内容等,并进一步提取载荷信息。
步骤102,根据当前应用报文的载荷信息和预先存储于特征库中的正式匹配特征 进行应用识别;
其中,当网络设备获取到应用报文的载荷信息后,会结合应用报文的五元组信 息,在特征库中进行匹配,即与特征库中的正式匹配特征进行逐一匹配,以对应用报文 进行识别。其中,当在特征库中匹配到与载荷信息一致的正式匹配特征时,即可识别该 应用报文属于匹配到的正式匹配特征对应的应用类型,并执行步骤103;当与所有正式 匹配特征进行匹配操作后,未匹配到与载荷信息一致的正式匹配特征,则说明不能根据 正式匹配特征识别出当前应用报文的类型,此时,网络设备可以结束操作或进行其他操 作,在本实施例中不限定。
其中,存储于特征库中的正式匹配特征是预先根据各种应用软件或应用程序的 特性提取的,通常是以人工方式预先提取并存储到特征库中的。
步骤103,当根据正式匹配特征识别出当前应用报文的类型时,根据当前应用报 文的载荷信息和之前指定个数的应用报文的载荷信息,获取第一备份匹配特征并存储, 以根据第一备份匹配特征进行应用识别。
其中,之前指定个数的应用报文是指在当前应用报文之前,由网络设备已识别 出的与当前应用报文属于同一应用的若干个应用报文。对于所指定的之前应用报文的个 数,本实施例并不作具体限定,可以根据不同的应用软件或程序进行适应性设置。
在具体实施过程中,每当网络设备识别出应用报文的类型时存储应用报文及其 载荷信息,并且还可以对该应用报文之后的多个应用报文及其载荷信息进行存储。这样 当网络设备识别到当前应用报文并识别出当前应用报文的类型时,可以根据之前存储的 与该当前应用报文属于同一类型的多个应用报文的载荷信息以及当前应用报文的载荷信 息来获取第一备份匹配特征,并将第一备份匹配特征存储起来;当网络设备再次捕获到 应用报文时,可以将预先存储的正式匹配特征和该第一备份匹配特征结合起来对新捕获 到的应用报文进行识别;本实施例所述的“结合”是指先根据预先存储的正式匹配特征 进行应用识别,当根据正式匹配特征无法识别出应用报文的类型时,再利用第一备份匹 配特征进行应用识别。
其中,当应用软件或程序未发生变化时,获取的第一备份匹配特征有可能已经 存在于正式匹配特征中,此时,第一备份匹配特征不会影响对应用报文的识别;若第一 备份匹配特征不存在于正式匹配特征中,说明第一备份匹配特征属于新的应用特征,例 如可能由于应用软件或程序的版本升级或更新导致应用特征发生了变化;由于应用报文 携带的载荷信息会随应用软件或程序的变化而变化,因此,在应用识别过程中根据已识 别出的应用报文的载荷信息生成的第一备份匹配特征可以实时反映应用软件或程序的变 化情况,此时,结合第一备份匹配特征进行应用识别,可以极大的提高对后续应用报文 进行识别时的准确性,降低误判几率。
进一步,由于第一备份匹配特征是在应用识别过程中实时获取的,将第一备份 匹配特征和正式匹配特征相结合进行应用识别,等价于根据应用软件或程序的实时变化 (例如版本升级或更新)实时更新匹配特征或者实时维护特征库,该方式与现有技术靠人 工维护特征库不同,降低了维护特征库的难度和工作量,提高了维护特征库的效率。
基于上述,本实施例提供的报文特征处理方法,通过在根据应用报文的载荷信 息进行应用识别的过程中,生成反应应用软件或程序变化情况的第一备份匹配特征,并 结合第一备份匹配特征进行后续应用识别,极大地提高了应用识别的准确性,尤其是当 应用软件或程序升级或更新时,该技术效果将更加明显。
进一步,本实施例提供一种步骤103的具体实施方式
,具体是指提供一种使用 第一备份匹配特征的实施方式,该实施方式具体包括步骤1031、将当前应用报文的载 荷信息和之前指定个数的应用报文的载荷信息进行特征比较,获取第一备份匹配特征; 步骤1032、根据第一备份匹配特征更新预先存储于特征库中的第二备份匹配特征,以根 据更新后的第二备份匹配特征进行应用识别。
在上述实施方式中,特征库中除了存储有预先获取的正式匹配特征外,还存储有预先获取的备份匹配特征,即第二备份匹配特征;且正式匹配特征优先级高于备份匹 配特征,且不同于备份匹配特征。其中,本实施例的“预先存储于特征库中的第二备 份匹配特征”是指在用第一备份匹配特征进行更新操作之前存储到特征库中的第二备份 匹配特征。本实施例方式通过用第一备份匹配特征更新预先存储于特征库中的第二备份 特征,当根据正式匹配特征未能识别出应用报文的类型时,而进一步通过第二备份匹配 特征对应用报文进行识别时,可以发挥第一备份匹配特征的作用,且由于第一备份匹配 特征反应了应用软件或程序变化情况,因此,可进一步提高识别应用报文的类型的准确 性,降低误判几率。
实施例二
图2为本发明实施例二提供的报文特征处理方法的流程图。本实施例可基于实 施例一,与实施例一的相同之处不再赘述。如图2所示,本实施例的报文特征处理方法 包括
步骤201,获取当前应用报文的载荷信息;
步骤202,根据当前应用报文的载荷信息和预先存储于特征库中的正式匹配特征 进行应用识别,并判断是否识别当前出应用报文的类型;当根据正式匹配特征识别出当 前应用报文的类型时,执行步骤203;反之,当根据正式匹配特征未识别出当前应用报 文的类型时,执行步骤204。
步骤203,根据当前应用报文的载荷信息和之前指定个数的应用报文的载荷信 息,获取第一备份匹配特征并存储,以根据第一备份匹配特征进行应用识别,并结束此 次识别操作;
步骤204,根据当前应用报文的载荷信息和预先存储于特征库中的第二备份匹配 特征进行应用识别。
其中,步骤201-步骤203可以参见实施例一中的描述。在本实施例中,特征库 中除了存储有预先获取的正式匹配特征外,还存储有预先获取的备份匹配特征,即第二 备份匹配特征;预先获取的正式匹配特征优先级高于预先获取备份匹配特征,且不同于 备份匹配特征。
步骤204具体为根据当前应用报文的载荷信息和五元组与第二备份匹配特征 进行逐一匹配;当匹配到与载荷信息和五元组一致的第二备份匹配特征时,即可识别该 应用报文属于匹配中的第二备份匹配特征对应的应用类型;反之,说明,根据第二备份 匹配特征未能识别出当前应用报文的类型。
本实施例提供的报文特征处理方法,采用在根据正式匹配特征未能识别出应用 报文的类型时,通过第二备份匹配特征进一步对应用报文进行识别的技术方案,可以进 一步提高识别应用报文的类型的准确性,降低误判几率。
实施例三
图3为本发明实施例三提供的报文特征处理方法的流程图。本实施例基于实施 例一和实施例二,其与前述实施例的相同之处不再赘述,如图3所示,本实施例的报文 特征处理方法包括
步骤301,获取当前应用报文的载荷信息;
步骤302,根据当前应用报文的载荷信息和预先存储于特征库中的正式匹配特征进行应用识别,并判断是否识别出当前应用报文的类型;当根据正式匹配特征识别出当 前应用报文的类型时,执行步骤303;反之,当根据正式匹配特征未识别出当前应用报 文的类型时,执行步骤304。
步骤303,根据当前应用报文的载荷信息和之前指定个数的应用报文的载荷信 息,获取第一备份匹配特征并存储,以根据第一备份匹配特征进行应用识别,并结束此 次识别操作;
步骤304,根据当前应用报文的载荷信息和预先存储于特征库中的第二备份匹配 特征进行应用识别,并判断是否识别出当前应用报文的类型;当根据第二备份匹配特征 未识别出当前应用报文的类型时,执行步骤305;反之,当根据第二备份匹配特征识别 出当前应用报文的类型时,执行步骤307。
步骤305,将当前应用报文的载荷信息和特征库中的正式匹配特征进行特征相似 度比较,并根据预设相似度阈值判断特征库中是否存在特征相似度满足预设相似度阈值 的正式匹配特征;当比较结果得出特征库中存在与当前应用报文的载荷信息的特征相似 度满足预设相似度阈值的正式匹配特征时,执行步骤306;反之,执行步骤307。
步骤306,根据获取的特征相似度满足预设相似度阈值的正式匹配特征识别当前 应用报文的类型,并根据当前应用报文的载荷信息获取第三备份匹配特征并存储,以根 据第三备份匹配特征进行应用识别,并执行步骤307;
具体地,可以将当前应用报文的载荷信息与正式匹配特征逐一进行相似度计 算,并判断特征相似度值是否大于预先设置的相似度阈值;并根据大于相似度阈值的特 征相似度值所对应的正式匹配特征识别应用报文的类型;通过步骤306可识别出当前应 用报文属于该获取的特征相似度满足预设相似度阈值的正式匹配特征对应的应用类型。
其中,步骤305和步骤306用于在根据第二备份匹配特征仍不能识别出应用报文 的类型时对应用报文做进一步识别;从正式匹配特征到第二备份匹配特征再到相似度匹 配,其识别条件逐步放宽,以争取正确识别出应用报文的类型,提高正确识别应用报文 的概率及报文的识别率。
举例说明“特征相似度比较”,例如假设载荷信息为01030406,某一正式匹 配特征为01020406,相似度阈值设置为70% ;根据判断可知载荷信息与该正式匹配特征 仅有一个特征不同,其相似度值为75%,大于相似度阈值,故可以识别出应用报文属于 正式匹配特征01020406对应的应用类型,并结束操作。当根据相似度阈值识别出应用报 文的类型时,说明此时的载荷信息与正式匹配特征相似但有区别,该载荷信息可能意味 着应用软件或程序发生了变化,且能够反映所发生的变化,因此,将该载荷信息作为第 三备份匹配特征,以用于对后续应用报文进行识别,可以提高对后续应用报文进行识别 时的准确性。
其中,若未能获取到相似度值大于相似度阈值的正式匹配特征时,则说明以该 方式仍未能正确识别出应用报文的类型,此时也可以执行步骤307,即结束操作。在该情 况下还可以同时返回失败信息。
步骤307,结束操作。
本实施例技术方案通过对当前应用报文的载荷信息和正式匹配特征进行特征相 似度比较,以在根据第二备份匹配特征仍未能识别出应用报文的类型时做进一步识别,可进一步提高对当前应用识别时的准确性,降低误判几率;而在能够识别出应用报文的 类型时,存储当前应用报文的载荷信息以用于后续应用识别的过程,可以提高后续应用 识别时的准确性。基于本发明上述各实施例的技术方案,本实施例提供一种具体根据第一备份匹 配特征进行应用识别的方式,即用第一备份匹配特征更新第二备份匹配特征,以发挥第 一备份匹配特征的作用。该方法可作为步骤103、步骤203或步骤303的一种具体实施方 式,具体包括步骤a,将当前应用报文的载荷信息和之前指定个数的应用报文的载荷信 息进行特征比较,获取第一备份匹配特征;步骤b,根据第一备份匹配特征更新第二备 份匹配特征,以根据更新后的第二备份匹配特征进行应用识别。在此需要说明,在步骤b中的第二备份匹配特征同样是指在利用第一备份匹配 特征进行更新操作之前存储到特征库中的第二备份匹配特征,对于第二备份匹配特征是 以何种方式获取并存储到特征库中并不做限定,例如可以是人工提取并存储到特征库 中。其中,一种步骤a的实施方式包括步骤al,将当前应用报文的载荷信息和之 前指定个数的应用报文的载荷信息进行分组,形成多个载荷信息组;步骤a2,将每个载 荷信息组中的载荷信息进行特征比较,获取多个子备份匹配特征;步骤a3,将多个子备 份匹配特征进行特征比较,获取第一备份匹配特征。具体地,在网络设备中可以设置 一存储空间,用于存储每种应用类型下已识别出的应用报文;同时,设置一个报文计数 器,用于计数已存储的同一应用类型下应用报文的个数。当报文计数器计数达到指定个 数(以19个为例)时,网络设备将当前应用报文的载荷信息和之前同一类型的19个应用 报文的载荷信息进行分组;假设分为4组(一般按照应用报文的存储顺序进行分组),则 每组包含5个应用报文的载荷信息;将每组中的载荷信息进行比较,获取5个应用报文中 不同的载荷信息作为子备份匹配特征;这样共可获取4个子备份匹配特征,然后将这4个 子备份匹配特征再进行比较,获取不同于正式匹配特征中的子备份匹配特征作为第一备 份匹配特征。但是步骤a的实施方式并不限于此,例如也可以直接将20个同类型的应用 报文进行比较,获取第一备份匹配特征。进一步,下面给出步骤b的一种具体实施方式
,具体包括步骤bl,根据识别出的当前应用报文的类型,获取当前应用报文对应的第二备 份匹配特征;即从特征库中存储的多个第二备份匹配特征中获取属于当前应用报文的第 二备份匹配特征。步骤b2,判断第一备份匹配特征是否存在于获取的当前应用报文对应的第二备 份匹配特征中;若判断结果为第一备份匹配特征不存在于获取的当前应用报文对应的第 二备份匹配特征中,则执行步骤b3;反之,执行步骤b4。步骤b3,将第一备份匹配特征存储于特征库中,以对第二备份匹配特征进行更 新;即将第一备份匹配特征存储到特征库中,作为一种新的第二备份匹配特征,并结束 该更新操作。步骤b4,将与第一备份匹配特征相同的第二备份匹配特征的匹配命中次数加 1,并结束该更新操作。在该技术方案中,预先为每个备份匹配特征和正式匹配特征设置有匹配命中次数计数器,以记录匹配命中次数。例如当在步骤302中根据正式匹配特征识别出当前 应用报文的类型时,说明当前应用报文的载荷信息匹配中某一正式匹配特征,则将当前 应用报文对应的正式匹配特征即匹配中的正式匹配特征的匹配命中次数加1 ;又例如 当在步骤304中根据第二备份匹配特征识别出当前应用报文的类型时,说明当前应用报 文的载荷信息匹配中某一第二备份匹配特征,则将当前应用报文对应的第二备份匹配特 征即匹配中的第二备份匹配特征的匹配命中次数加1。而在步骤b4中,当当前应用报文 对应的第二备份匹配特征中存在与第一备份匹配特征相同的第二备份匹配特征时,则该 与第一备份匹配特征相同的第二备份匹配特征会被匹配中,因此,将其匹配命中次数也 加1。这样通过所记录的各个正式匹配特征和第二备份匹配特征被匹配中的次数可以判断 匹配特征与当前应用的相似度;例如匹配命中次数越多,说明所对应的正式匹配特征 或第二备份匹配特征越能体现当前应用的特征。另外,基于上述技术方案,本实施例还提供一种第三备份匹配特征的具体使用 方式。具体的,将第三备份匹配特征直接存储到特征库中,作为一种新的第二备份匹配 特征使用,即更新第二备份匹配特征,并根据更新后的第二备份匹配特征进行后续的应 用识别,以提高应用识别的准确性,同时实现了特征库随软件版本的升级或更新的动态 更新和维护。同理,本实施例的第二备份匹配特征是指在利用第三备份匹配特征进行更 新操作之前存储到特征库中的,例如可以是最初由人工提取并存储的第二备份匹配特 征,也可以是由步骤b更新后的第二备份匹配特征。在此说明,在上述技术方案中,第一备份匹配特征、第二备份匹配特征和第三 备份匹配特征均属于在正式匹配特征无法识别应用报文时,用于进一步识别应用报文时 所用的备份匹配特征,三者的区别在于获取或生成的方式和时间不同。但需要说明,第 一备份匹配特征和第三备份匹配特征的使用方式并非限于此,也可以将第一备份匹配特 征或第三备份匹配特征作为正式匹配特征来使用,例如直接使用第一备份匹配特征或第 三备份匹配特征对正式匹配特征进行更新,也可以达到利用第一备份匹配特征或第三备 份匹配特征对后续应用报文进行识别的目的。进一步,在上述匹配命中次数技术方案的基础上,本实施例还提供了更新特征 库的操作步骤。具体的,设定一更新周期,即第一更新周期,例如以天为级别设定更新 周期,当一天结束时,可以根据正式匹配特征和第二备份匹配特征的匹配命中次数更新 特征库。例如可以通过检测获取同一应用的正式匹配特征的匹配命中次数和第二备份 匹配特征的匹配命中次数,并将同一应用的正式匹配特征的匹配命中次数和第二备份匹 配特征的匹配命中次数进行大小比较;当同一应用的第二备份匹配特征的匹配命中次数 大于正式匹配特征的匹配命中次数时,说明第二备份匹配特征更能体现该应用的特性, 则交换第二备份匹配特征和正式匹配特征,以完成对该应用的匹配特征的更新,即将匹 配命中次数大于正式匹配特征的匹配命中次数的第二备份匹配特征作为新的正式匹配特 征,将原来的正式匹配特征作为备份匹配特征;反之,结束更新操作。当通过上述方式 对所有应用的匹配特征进行更新后,即可完成对特征库的更新。其中,对特征库的更新 也可看作是对第二备份匹配特征的更新和对正式匹配特征的更新。通过上述技术方案,可以使特征库适应应用软件或应用程序的变化,提高后续 应用识别过程的准确性;且该更新特征库的方式完全自动进行,且简单易于实施,与现有技术相比,降低了更新或维护特征库的工作量和难度,提高了维护特征库的效率。再进一步,本实施例另提供一种通过更新第二备份匹配特征来更新特征库的实 施方式。具体的,预先设定一更新周期,即第二更新周期,例如以小时为级别设定更新 周期。该更新方法具体包括当第二更新周期到达时,首先获取同一应用的正式匹配特 征的和第二备份匹配特征的匹配命中次数增量;其中,获取匹配命中次数增量的方式可 以是将本次更新周期结束时记录的匹配命中次数值和上次更新周期结束时记录的匹配命 中次数值做差。然后,将该应用的第二备份匹配特征的匹配命中次数增量与指定比例的 正式匹配特征的匹配命中次数增量进行比较;当该应用的第二备份匹配特征的匹配命中 次数增量小于指定比例的正式匹配特征的匹配命中次数增量时,说明该第二备份匹配特 征已经过时,无法反应当前应用的特征,故可删除该应用的第二备份匹配特征以对第二 备份匹配特征进行更新;反之,结束更新操作。例如设定第二更新周期为1小时,指 定比例为50%,且上次第二更新周期结束时记录的某一应用的第二备份匹配特征的匹配 命中次数为30,记录的该应用的正式匹配特征的匹配命中次数为50;当1小时结束时, 网络设备获取该应用的第二备份匹配特征的匹配命中次数为40,获取该应用的正式匹配 特征的匹配命中次数为90,通过做差分别获取第二备份匹配特征的和正式匹配特征的匹 配命中次数增量为10和40,比较得出第二备份匹配特征的匹配命中次数增量小于正式 匹配特征的匹配命中次数增量的50%,因此,删除该应用的第二备份匹配特征,以更新 第二备份匹配特征。当通过上述技术方案对所有应用的第二备份匹配特征进行更新后, 即可完成对特征库的更新。通过该技术方案一方面可以释放存储空间,另一方面通过减少第二备份匹配特 征的数量,可以提高前述各个匹配过程的匹配速率,降低匹配过程中的资源消耗。在此需要说明,网络设备可以采用上述一种方式来更新特征库,也可以同时采 用上述两种方式来更新特征库。其中,当采用两种方式来更新特征库时,优选设定第二 更新周期小于或等于第一更新周期,这样可以使过时的第二备份匹配特征先被删除,使 第二备份匹配特征的数量减少了,可以提高进行正式匹配特征和备份匹配特征的交换操 作的效率,可在整体上提高更新特征库的效率。以下将基于网络设备,以详细、完整的实施例综合说明本发明技术方案。实施例四图4A为本发明实施例四提供的报文特征处理方法的流程图。如图4A所示,本 实施例的方法包括步骤401,网络设备开启应用软件,捕获相应的应用报文,并对应用报文进行协 议分析,获取应用报文的载荷信息和五元组。步骤402,网络设备将获取的应用报文的载荷信息和五元组,与特征库中的正式 匹配特征进行特征匹配,并判断特征匹配结果是否成功;若匹配结果命中某一正式匹配 特征,则执行步骤403;反之,执行步骤405。步骤403,网络设备镜像该应用报文和其后Nl个应用报文,标识该应用报文为 已识别应用,以备进行特征提取,同时,更新匹配命中次数计数器;并执行步骤404。其中,Nl为预先设定的大于1的整数值。在网络设备中,预先为每个匹配特征 都设置有一个匹配命中次数计数器,用于记录匹配特征被匹配命中的次数,以表示匹配特征与应用软件当前状态的适应程度。匹配命中次数越大,说明该匹配特征越能体现应 用软件的特征。其中,该Nl个应用报文为已识别出的、与当前应用报文属于同一应用的 应用报文,且该Nl个应用报文和当前应用报文一起作为一份镜像报文。步骤404,网络设备进行特征提取,并根据提取的特征生成备份匹配特征,并转 去执行步骤409。图4B为步骤404的一种实施方式的流程图,该实施方式具体包括步骤4041, 网络设备通过镜像份数计数器记录已保存的当前应用的镜像报文数量;当有新的应用报 文被镜像时,该镜像份数计数器加1,并判断镜像份数计数器计数是否超过预先设定的计 数阈值,当判断结果为是时,执行步骤4042;否则执行步骤4043。在本实施例中,计数 阈值为N2,N2为预先设定的大于1的整数值。当镜像份数计数器计数到N2时,网络 设备上共存储有(N2+1)*(N1+1)个应用报文。步骤4042,对预先保存的N2+1份镜像报文中的应用报文的载荷信息和五元组, 进行横向特征比较和纵向特征比较,提取当前正式匹配特征以外的其他特征并保存,并 删除最旧的一份镜像报文,并执行步骤4044。其中,纵向特征比较是指将每份镜像报文中的N1+1个应用报文的载荷信息和五 元组进行特征比较,获取子备份匹配特征;在本实施例中将会获取到N2+1个子备份匹配 特征。横向特征比较是指将获取的N2+1个子备份匹配特征进行特征比较,以从中提取 正式匹配特征之外的特征。其中,通过执行删除最旧的一份镜像报文的操作可以使提取其他特征所基于的 N2+1份镜像报文跟随应用软件的使用状况动态变化,且考虑了应用软件最新被开启时的 应用报文,保证提取的其他特征能够反映应用软件的最新特点。进一步,本实施例提供的“删除最旧一份镜像报文”的实施例方式具体可根据 预先保存的镜像报文的份数和设定的计数阈值进行适应性变化,例如当预先保存的镜像 报文的份数为N2+3,设定的计数阈值为N2,则可以删除最旧的3份镜像报文,在满足计 数阈值的条件下释放存储空间,但也不限于此,如果有足够的存储空间也可以不删除, 而只采用最近的N2份镜像报文。本实施例提供的“删除最旧一份镜像报文”的方案为 一种优选方式。步骤4043,保存镜像报文中应用报文的载荷信息和五元组,并转去执行步骤 4041,以继续接收镜像报文。即当镜像报文的份数未达到N2份时,并不进行特征的提 取,且其中Nl和N2的数值越大所提取的特征越能体现应用软件的特点。步骤4044,判断是否存在当前应用软件对应的备份匹配特征;例如可以通过直 接取出当前应用软件的备份匹配特征链,判断该备份匹配特征链是否为空;若否,说明 当前应用存在备份匹配特征,转去执行步骤4045,否则说明当前应用不存在备份匹配特 征,转去执行步骤4046。步骤4045,将提取的特征与当前应用对应的备份匹配特征进行特征比较,并判 断提取的特征是否存在当前应用对应的备份匹配特征中;若比较得出提取的特征已作为 备份匹配特征存在,即提取的特征匹配中某一备份匹配特征,则执行步骤4047;反之, 执行步骤4046。步骤4046,根据提取的特征生成备份匹配特征,该操作结束,转去执行步骤409。通常将提取的特征直接作为新的备份匹配特征,并与之前的备份匹配特征存储在一 起。步骤4047,将匹配中的备份匹配特征的匹配命中次数计数器加1,并结束操作。通过该步骤404可以根据识别出的应用报文提取新的备份匹配特征,以用于对 特征库进行更新。步骤405,网络设备将获取的应用报文的载荷信息和五元组,与特征库中的备份 匹配特征进行特征匹配,并判断特征匹配结果是否成功;若匹配结果命中某一备份匹配 特征,则执行步骤406;反之,执行步骤407。步骤406,更新匹配中的备份匹配特征对应的匹配命中次数计数器,并转去执行 步骤410 ;步骤407,网络设备将获取的应用报文的载荷信息和五元组,与正式匹配特征进 行特征相似度比较,并与预先设定的相似度阈值进行比较,同时判断是否存在特征相似 度大于相似度阈值的正式匹配特征;若比较结果为存在特征相似度大于相似度阈值的正 式匹配特征,执行步骤408;反之,则执行步骤410。步骤408,网络设备根据获取的载荷信息和五元组生成备份匹配特征,并转去执 行步骤409。步骤409,将新生成的备份匹配特征写入特征库,并继续执行步骤410;步骤410,对特征库进行更新操作。其中,图4C为步骤410所述更新过程的一种实施方式的流程图,该实施方式包 括步骤4091,启动更新操作,其中,本实施例的更新操作为一种触发操作,例 如可以根据预设更新周期启动更新操作,即当定时器计时到达预设更新周期时触发更 新操作;又例如也可以由新生成的备份匹配特征来触发启动更新操作,即每当有新的 备份匹配特征生成并被写入特征库时触发启动更新操作。本实施例提供的触发更新操作 的条件为一种优选方式。步骤4092,判断特征库中是否存在完全一致的匹配特征,该匹配特征包括正式 匹配特征和备份匹配特征,若存在,执行步骤4093,反之,执行步骤4094。步骤4093,删除其中一个匹配特征,并执行步骤4094;具体的,若相同的匹配 特征均为正式匹配特征,则删除其中一个正式匹配特征;若相同的匹配特征均为备份匹 配特征,则删除其中一个备份匹配特征;若是正式匹配特征与备份匹配特征相同时,则 删除备份匹配特征。步骤4094,对特征库中的备份匹配特征进行扫描,并判断是否存在匹配命中次 数增量小于指定比例的同一应用的正式匹配特征的匹配命中次数增量的备份匹配特征; 若是,则执行步骤4095,反之执行步骤4096。步骤4095,删除匹配命中次数增量小于指定比例的正式匹配特征的匹配命中次 数增量的备份匹配特征,并执行步骤4096。步骤4096,对比同一应用的正式匹配特征和备份匹配特征,并判断正式匹配特 征的匹配命中次数是否小于备份匹配特征的匹配命中次数;若是,则执行步骤4097,反之,执行步骤4098。步骤4097,对换正式匹配特征和匹配命中次数大于正式匹配特征的备份匹配特 征,并执行步骤4098。步骤4098,此次更新操作结束。其中,步骤4092和步骤4093、步骤4094和步骤4095以及步骤4096和步骤4097 是从三个方面对数据库进行的更新操作,三种更新操作可以并行执行,也可以采用其中 任意一种或其组合,本实施例提供的将三种更新操作结合的实施方式为一种优选方式。上述更新特征库的技术方案,一方面可以提高更新维护特征库的效率,另一方 面在应用更新后的特征库进行应用识别时可以提高应用识别的准确性。基于上述,本实施例以下将结合实际应用,分情况详细说明以上操作的流程。 首先假设预先初始化正式匹配特征,且其中存在应用A的特征为OB OCOD 0E,并预先配 置镜像份数计数器阈值PKTCNT为2、更新周期DAYCNT为2,更新周期内的指定比例 DELMIN为50%、以及相似度阈值LIKERATE为20%等。第一种情况假设正式匹配特征被命中。具体操作如下开启应用A,接收应用A的报文,其载荷信息为OB OC OD OE 00 00 01 0203,将 载荷信息与正式匹配特征进行匹配;若匹配命中,将当前报文和属于同一条流的后4个 报文进行镜像并保存,该5个报文的镜像作为一份镜像报文,使镜像份数计数器加1; 将当前镜像份数计数器的值与预设的镜像份数计数器阀值PKTCNT进行比较;如果当 前镜像份数计数器的值小于镜像份数计数器阀值PKTCNT,则在下次开启应用A时同第 一次一样继续对应用报文进行镜像,并存储镜像报文;反之,对保存的当前应用A的镜 像报文进行纵向特征比较和横向特征比较,提取备份匹配特征,删除最老的一份镜像报 文。其中,每次开启应用A的一份镜像报文进行特征比较即构成一次纵向特征比较, 对多次纵向特征比较的结果进行特征比较构成横向特征比较。其中,第一次开启应用 A 的前五个报文载荷结果为1、OB OC OD OE 00 00 01 02 03 ; 2、OB OC OD OE 01 00 01 02 03 ; 3、OB OC OD OE 02 00 01 02 03 ; 4、OB OC ODOE 03 00 01 02 03 ; 5、OB OC OD OE 04 00 01 02 03 ;第一次纵向特征比较提取的结果为OB OC OD OE XX 00 01 02 03 ;第 二次开启应用A的前五个报文载荷结果为1、OB OC OD OE 00 00 01 02 03 ; 2、OB OC OD OE 00 00 01 02 04 ; 3、OB OC OD OE 00 00 01 02 05 ; 4、OB OC OD OE 00 00 01 02 06 ; 5、OB OC ODOE 00 00 01 02 07 ;第二次纵向特征比较提取的结果为OB OC OD OE XX 00 0102XX ;两次纵向特征比较提取的结果为OB OC OD OE XX 00 01 02 03 ; OBOC OD OE XX 00 01 02 XX ;将两次纵向特征比较提取的结果进行横向特征比较提取的结果为OB OC OD OE XX 00 01 02 XX ;提取的特征为OB OC ODOE XX 00 01 02 XX,除去正式匹配 特征中已经存在的OB OC OD 0E,最终获取的备份匹配特征为00 01 02。接下来将获取 的备份匹配特征与已存储的备份匹配特征进行比较,其处理结果详见上述实施例中的步 骤404,后续不再赘述。第二种情况假设正式匹配特征未被命中。具体操作如下开启应用A,接收应用A的报文,假设其载荷信息为OB 00 OD OE 00 00 0202
03,将其载荷信息与正式匹配特征库OB OC OD OE进行匹配;结果为未匹配中,则将报 文的载荷信息与备份匹配特征00 01 02进行匹配;结果也为未匹配中,将报文的载荷信息与正式匹配特征OB OC OD OE进行相似度匹配,发现只有字符OC变成了 00,相似度为 3/4大于相似度阀值LIKERATE,将载荷信息OB 00 OD OE作为新的备份匹配特征存到特
征库中。第三种情况假设更新周期到。则具体更新操作如下假设更新周期为天级别,对正式匹配特征和备份匹配特征进行扫描,删除特征 码重复的匹配特征;逐一对各应用对应的正式匹配特征和备份匹配特征进行扫描,以根 据匹配命中次数更新正式匹配特征和备份匹配特征。如上所述,应用A的正式匹配特征 有OB OC OD 0E,备份匹配特征有00 01 02和OB 00 OD OE0 若发现正式匹配特征的 匹配命中次数小于备份匹配特征的匹配命中次数,例如上述应用A的正式匹配特征OB OC OD OE的匹配命中次数小于备份匹配特征00 01 02的匹配命中次数,则将OB OC OD OE作 为备份匹配特征,而将00 01 02作为正式匹配特征;同时扫描各备份匹配特征的匹配命 中次数,假设OB 00 OD OE的匹配命中次数增量在本次更新周期DAYCNT天内小于指定 比例DELMIN的正式匹配特征的匹配命中次数增量,则将该备份匹配特征OB 00 OD OE删 除,最终完成对特征库的更新操作。通过上述对本发明技术方案的整体流程的描述,以及对各种情况的独立说明可 知,本实施例的报文特征处理方法实际上是一种在已经识别出应用报文类型的基础上提 取匹配特征的方法。该方法具有以下优点1、通过同时提取备份匹配特征的方式来不断 提取应用的特征,使应用的特征越来越精确,具有动态更新的优点;2、通过实际网络环 境的应用不断更新相应匹配特征的匹配命中次数计数器的状态,再通过定时更新来确定 当前那条匹配特征为最优,进行备份匹配特征与正式匹配特征之间的转换,可以根据不 同网络环境来动态选择最优匹配特征,具有很强的灵活性;3、通过匹配特征的相似度匹 配,对一些特征只有微小变化的应用,有更强的适应性,使得识别更加健壮。因此,采 用本发明技术方案可以解决大部分软件由于升级版本而导致识别不准的问题,具有准确 性高、操作灵活、误判率低等优点;通过自动生成一个备份匹配特征,很好的解决了由 于人工提取特征不全或提取的特征有误的问题,具有很强的健壮性,大大减少了特征库 的维护工作,提高了维护特征库的效率。实施例五图5为本发明实施例五提供的报文特征处理装置的结构示意图。如图5所示, 本实施例的报文特征处理装置包括信息获取模块51、第一识别模块52和第一特征获取 模块53。其中,信息获取模块51,用于获取当前应用报文的载荷信息;第一识别模块 52,与信息获取模块51连接,用于根据当前应用报文的载荷信息和预先存储于特征库中 的正式匹配特征进行应用识别;其中,信息获取模块51还可以获取当前应用报文的五元 组信息,第一识别模块52会同时根据当前应用报文的载荷信息和五元组进行应用识别。 第一特征获取模块53,分别与信息获取模块51和第一识别模块52连接,用于在第一识别 模块52根据正式匹配特征识别出当前应用报文的类型时,根据当前应用报文的载荷信息 和之前指定个数的应用报文的载荷信息,获取第一备份匹配特征并存储,以根据第一备 份匹配特征进行应用识别。其中,之前指定个数的应用报文是指在当前应用报文之前, 由报文特征处理装置已识别出的与当前应用报文属于同一应用的若干个应用报文。
其中,本实施例的报文特征处理装置还包括特征库54和存储模块55,其中,特 征库54用于存储匹配特征(包括正式匹配特征和备份匹配特征),存储模块55可用于存 储当前应用报文和之前指定个数的应用报文等内容。第一识别模块52和特征库54连接, 第一特征获取模块53与存储模块55连接。本实施例的报文特征处理装置,可用于执行本发明实施例提供的报文特征处理 方法的流程,通过在根据应用报文的载荷信息进行应用识别的过程中,生成反应应用软 件或程序变化情况的第一备份匹配特征,并结合第一备份匹配特征进行后续应用识别, 极大地提高了应用识别的准确性,尤其是当应用软件或程序升级或更新时,该技术效果 将更加明显。实施例六图6A为本发明实施例六提供的报文特征处理装置的一种结构示意图。本实施例 基于实施例五实现,如图6A所示,本实施例的报文特征处理装置还包括第二识别模块 56、特征比较模块57、第三识别模块58和第二特征获取模块59。其中,第二识别模块56,分别与信息获取模块51、第一识别模块52和特征库54 连接,用于在第一识别模块52根据正式匹配特征未识别出当前应用报文的类型时,根据 当前应用报文的载荷信息和预先存储于特征库54中的第二备份匹配特征进行应用识别; 当第二识别模块56识别出当前应用报文的类型时,可以结束操作或进行其他处理操作, 具体可以根据实际应用设置相应功能模块来实现,本实施例中不对此进行详细介绍。特 征比较模块57,分别与特征库54和第二识别模块56连接,用于在第二识别模块56未识 别出当前应用报文的类型时,将当前应用报文的载荷信息和正式匹配特征进行特征相似 度比较;当特征比较模块57比较得出不存在特征相似度满足预设相似度阈值的正式匹配 特征时,可以结束操作或进行其他处理,本实施例不对此做进一步介绍。第三识别模块 58,与特征比较模块57连接,用于在特征比较模块57比较得出特征库中有与当前应用报 文的载荷信息的特征相似度满足预设相似度阈值的正式匹配特征时,根据获取的特征相 似度满足预设相似度阈值的正式匹配特征识别当前应用报文的类型;第二特征获取模块 59,与第三识别模块58连接,用于在第三识别模块58识别出当前应用报文的类型时,根 据当前应用报文的载荷信息,获取第三备份匹配特征并存储,以根据第三备份匹配特征 进行应用识别。本实施例的报文特征处理装置,可用于执行本发明实施例提供的报文特征处理 方法的流程,其详细工作原理本实施例中不再赘述。本实施例的报文特征处理装置,可 在根据正式匹配特征未能识别出应用报文的类型时,通过第二备份匹配特征进一步对应 用报文进行识别,而在根据第二备份匹配特征仍未能识别出应用报文的类型时,继续通 过将当前应用报文的载荷信息和正式匹配特征进行特征相似度判断对应用报文的类型做 进一步识别,可进一步提高对当前应用识别时的准确性,降低误判几率;而在能够识别 出应用报文的类型时,存储当前应用报文的载荷信息以用于后续应用识别的过程,可以 提高后续应用识别时的准确性。进一步,如图6B所示,一种第二特征获取模块59的实现结构包括第一获取 子模块591和第一更新识别子模块592。其中,第一获取子模块591,与第三识别模块58 连接,用于根据当前应用报文的载荷信息,获取第三备份匹配特征;第一更新识别子模块592,与第一获取子模块591和特征库54连接,用于将第三备份匹配特征存储到特征 库54中,以对第二备份匹配特征进行更新,以供根据更新后的第二匹配特征进行应用识 别。进一步,如图6B所示,一种第一特征获取模块53的实现结构包括第二获取 子模块531和第二更新识别子模块532。其中,第二获取子模块531,分别与信息获取模 块51、第一识别模块52和存储模块55连接,用于将当前应用报文的载荷信息和之前指定 个数的应用报文的载荷信息进行特征比较,获取第一备份匹配特征;第二更新识别子模 块532,分别与特征库54和第二获取子模块531连接,用于根据第一备份匹配特征更新第 二备份匹配特征,以根据更新后的第二备份匹配特征进行应用识别。其中,第二备份匹 配特征是指在第二更新识别子模块532利用第一备份匹配特征进行更新操作之前存储到 特征库中的,例如可以是由人工最初提取的,也可以是之前经过第一更新识别子模块592 更新后的。具体地,一种第二获取子模块531的实现结构包括分组单元、第一获取单元 和第二获取单元。其中,分组单元,用于将当前应用报文的载荷信息和之前指定个数的 应用报文的载荷信息进行分组,形成多个载荷信息组;第一获取单元,用于将每个载荷 信息组中的载荷信息进行特征比较,获取多个子备份匹配特征;第二获取单元,用于将 多个子备份匹配特征进行特征比较,获取第一备份匹配特征。具体地,一种第二更新识别子模块532的实现结构包括第三获取单元、判断 单元、特征更新单元和次数更新单元。其中,第三获取单元,用于根据识别出的当前应 用报文的类型,获取当前应用报文对应的第二备份匹配特征;判断单元,用于判断第一 备份匹配特征是否存在于获取的当前应用报文对应的第二备份匹配特征中;特征更新单 元,用于在判断单元的判断结果为不存在时,将第一备份匹配特征存储于特征库54中, 以对第二备份匹配特征进行更新;次数更新单元,用于在判断单元的判断结果为存在 时,将与第一备份匹配特征相同的第二备份匹配特征的匹配命中次数加1。其中,第二获取子模块和第二更新子模块可用于实施本发明方法实施例中步骤 1031和步骤1032以及步骤a和步骤b所描述的流程,在该技术方案预先为每个备份匹配 特征和正式匹配特征设置有匹配命中次数计数器,以记录被应用报文匹配中的次数。本 实施例的报文特征处理装置通过用第一备份匹配特征或第三备份匹配特征更新第二备份 匹配特征,实现了对匹配特征或特征库的实时动态更新;进一步用更新后的第二备份匹 配特征进行后续应用识别,可提高应用识别的准确性。基于上述技术方案,本实施例的报文特征处理装置还包括次数更新模块60, 分别与第一识别模块52和第二识别模块56连接,用于在第一识别模块52根据正式匹配 特征或者第二识别模块56根据第二备份匹配特征识别出当前应用报文的类型时,将当前 应用报文对应的正式匹配特征或对应的第二备份匹配特征的匹配命中次数加1。进一步,如图6B所示,本实施例的报文特征处理装置还包括第一更新模块61 和第二更新模块62。其中,第一更新模块61,与特征库54连接,用于在预设第一更新 周期到达时,比较同一应用的正式匹配特征的匹配命中次数和第二备份匹配特征的匹配 命中次数;并在该应用的第二备份匹配特征的匹配命中次数大于正式匹配特征的匹配命 中次数时,交换该应用的正式匹配特征和第二备份匹配特征,以更新特征库54。第二更新模块62,与特征库54连接,用于在预设第二更新周期到达时,获取同一应用的正式匹 配特征的和第二备份匹配特征的匹配命中次数增量;将该应用的第二备份匹配特征的匹 配命中次数增量与指定比例的正式匹配特征的匹配命中次数增量进行比较;并在该应用 对应的第二备份匹配特征的匹配命中次数增量小于指定比例的正式匹配特征的匹配命中 次数增量时,删除该应用对应的第二备份匹配特征,以更新特征库54。其中,第一更新模块和第二更新模块可用于执行本发明实施例三中相应部分的 流程或实施例四中步骤409的技术方案。其中,根据所采用的更新特征库的方法,本实 施例的报文特征处理装置可以选择性的设置第一更新模块和/或第二更新模块,而同时 设置第一更新模块和第二更新模块采用两种更新方式对特征库进行更新可使更新更加全 面,因此,为一种优选方式,图6B所示即为具有该优选方式的报文特征处理装置的结 构。综上所述,本实施例的报文特征处理装置通过执行本发明实施例提供的报文特 征处理方法的流程,具有以下优点1、可根据应用的特征对特征库进行动态更新;2、 通过备份匹配特征与正式匹配特征之间的转换,可以更加灵活的选择最优匹配特征,提 高匹配准确性;3、通过匹配特征的相似度匹配,可适用于对特征只有微小变化的应用进 行应用识别,有更强的适应性等。实施例七本发明实施例七提供一种网络设备,包括报文特征处理装置。本实施例的报文 特征处理装置可以为本发明上述实施例提供的报文特征处理装置,其结构和工作原理, 在此不再赘述。本实施例的网络设备可为任何需要对报文进行识别的设备,例如个人计 算机、交换机、路由器或服务器等。本实施例的网络设备由于具有本发明实施例提供的报文特征处理装置,可用于 执行本发明实施例提供的报文特征处理方法的流程,在对应用报文进行应用识别时,具 有准确性高、操作灵活、误判率低等优点,并且同时可对特征库进行动态更新,大大减 少了特征库的维护工作,提高了维护特征库的效率。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以 通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中, 该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括ROM、 RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制; 尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其 依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等 同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方 案的精神和范围。
权利要求
1.一种报文特征处理方法,其特征在于,包括获取当前应用报文的载荷信息;根据所述当前应用报文的载荷信息和预先存储于特征库中的正式匹配特征进行应用 识别;当根据所述正式匹配特征识别出所述当前应用报文的类型时,根据所述当前应用报 文的载荷信息和之前指定个数的应用报文的载荷信息,获取第一备份匹配特征并存储, 以根据所述第一备份匹配特征进行应用识别。
2.根据权利要求1所述的报文特征处理方法,其特征在于,根据所述当前应用报文的 载荷信息和之前指定个数的应用报文的载荷信息,获取第一备份匹配特征并存储,以根 据所述第一备份匹配特征进行应用识别包括将所述当前应用报文的载荷信息和之前指定个数的应用报文的载荷信息进行特征比 较,获取所述第一备份匹配特征;根据所述第一备份匹配特征更新预先存储于特征库中的第二备份匹配特征,以根据 更新后的第二备份匹配特征进行应用识别。
3.根据权利要求1所述的报文特征处理方法,其特征在于,还包括当根据所述正式匹配特征未识别出所述当前应用报文的类型时,根据所述当前应用 报文的载荷信息和预先存储于特征库中的第二备份匹配特征进行应用识别;当根据所述第二备份匹配特征未识别出所述当前应用报文的类型时,将所述当前应 用报文的载荷信息和所述正式匹配特征进行特征相似度比较;当比较得出所述特征库中存在与所述当前应用报文的载荷信息的特征相似度满足预 设相似度阈值的正式匹配特征时,根据获取的特征相似度满足预设相似度阈值的正式匹 配特征识别所述当前应用报文的类型,并根据所述当前应用报文的载荷信息,获取第三 备份匹配特征并存储,以根据所述第三备份匹配特征进行应用识别。
4.根据权利要求3所述的报文特征处理方法,其特征在于,根据所述当前应用报文的 载荷信息,获取第三备份匹配特征并存储,以根据所述第三备份匹配特征进行应用识别 具体为根据所述当前应用报文的载荷信息,获取所述第三备份匹配特征;将所述第三备份匹配特征存储到所述特征库中,并对所述第二备份匹配特征进行更 新,以根据更新后的第二匹配特征进行应用识别。
5.根据权利要求4所述的报文特征处理方法,其特征在于,根据所述当前应用报文的 载荷信息和之前指定个数的应用报文的载荷信息,获取第一备份匹配特征并存储,以根 据所述第一备份匹配特征进行应用识别包括将所述当前应用报文的载荷信息和之前指定个数的应用报文的载荷信息进行特征比 较,获取所述第一备份匹配特征;根据所述第一备份匹配特征更新所述第二备份匹配特征,以根据更新后的第二备份 匹配特征进行应用识别。
6.根据权利要求5所述的报文特征处理方法,其特征在于,将所述当前应用报文的载 荷信息和之前指定个数的应用报文的载荷信息进行特征比较,获取所述第一备份匹配特 征包括将所述当前应用报文的载荷信息和之前指定个数的应用报文的载荷信息进行分组, 形成多个载荷信息组;将每个载荷信息组中的载荷信息进行特征比较,获取多个子备份匹配特征; 将所述多个子备份匹配特征进行特征比较,获取所述第一备份匹配特征。
7.根据权利要求5或6所述的报文特征处理方法,其特征在于,根据所述第一备份匹 配特征更新所述第二备份匹配特征包括根据识别出的所述当前应用报文的类型,获取所述当前应用报文对应的第二备份匹 配特征;判断所述第一备份匹配特征是否存在于获取的所述当前应用报文对应的第二备份匹 配特征中;若判断结果为不存在,将所述第一备份匹配特征存储于所述特征库中,以对所述第 二备份匹配特征进行更新;若判断结果为存在,将与所述第一备份匹配特征相同的第二备份匹配特征的匹配命 中次数加1。
8.根据权利要求7所述的报文特征处理方法,其特征在于,在根据所述正式匹配特征 或者所述第二备份匹配特征识别出所述当前应用报文的类型时还包括将所述当前应用报文对应的正式匹配特征的匹配命中次数或对应的第二备份匹配特 征的匹配命中次数加1。
9.根据权利要求8所述的报文特征处理方法,其特征在于,还包括在预设第一更新周期到达时,比较同一应用对应的正式匹配特征的匹配命中次数和 第二备份匹配特征的匹配命中次数;当所述同一应用对应的第二备份匹配特征的匹配命中次数大于正式匹配特征的匹配 命中次数时,交换所述同一应用对应的正式匹配特征和第二备份匹配特征,以更新所述 特征库。
10.根据权利要求8所述的报文特征处理方法,其特征在于,还包括在预设第二更新周期到达时,获取同一应用对应的正式匹配特征的和第二备份匹配 特征的匹配命中次数增量;将所述同一应用对应的第二备份匹配特征的匹配命中次数增量与指定比例的正式匹 配特征的匹配命中次数增量进行比较;当所述同一应用对应的第二备份匹配特征的匹配命中次数增量小于指定比例的正式 匹配特征的匹配命中次数增量时,删除所述同一应用对应的第二备份匹配特征,以更新 所述特征库。
11.一种报文特征处理装置,其特征在于,包括信息获取模块,用于获取当前应用报文的载荷信息;第一识别模块,用于根据所述当前应用报文的载荷信息和预先存储于特征库中的正 式匹配特征进行应用识别;第一特征获取模块,用于在所述第一识别模块根据所述正式匹配特征识别出所述 当前应用报文的类型时,根据所述当前应用报文的载荷信息和之前指定个数的应用报文 的载荷信息,获取第一备份匹配特征并存储,以根据所述第一备份匹配特征进行应用识别。
12.根据权利要求11所述的报文特征处理装置,其特征在于,还包括第二识别模块,用于在所述第一识别模块根据所述正式匹配特征未识别出所述当前 应用报文的类型时,根据所述当前应用报文的载荷信息和预先存储于特征库中的第二备 份匹配特征进行应用识别;特征比较模块,用于在所述第二识别模块未识别出所述当前应用报文的类型时,将 所述当前应用报文的载荷信息和所述正式匹配特征进行特征相似度比较;第三识别模块,用于在所述特征比较模块比较得出所述特征库中有与所述当前应用 报文的载荷信息的特征相似度满足预设相似度阈值的正式匹配特征时,根据获取的特征 相似度满足预设相似度阈值的正式匹配特征识别所述当前应用报文的类型;第二特征获取模块,用于在所述第三识别模块识别出所述当前应用报文的类型时, 根据所述当前应用报文的载荷信息,获取第三备份匹配特征并存储,以根据所述第三备 份匹配特征进行应用识别。
13.根据权利要求12所述的报文特征处理装置,其特征在于,所述第二特征获取模块 包括第一获取子模块,用于根据所述当前应用报文的载荷信息,获取第三备份匹配特征;第一更新识别子模块,用于将所述第三备份匹配特征存储到所述特征库中,并对所 述第二备份匹配特征进行更新,以根据更新后的第二匹配特征进行应用识别。
14.根据权利要求13所述的报文特征处理装置,其特征在于,所述第一特征获取模块 包括第二获取子模块,用于将所述当前应用报文的载荷信息和之前指定个数的应用报文 的载荷信息进行特征比较,获取所述第一备份匹配特征;第二更新识别子模块,用于根据所述第一备份匹配特征更新所述第二备份匹配特 征,以根据更新后的第二备份匹配特征进行应用识别。
15.根据权利要求14所述的报文特征处理装置,其特征在于,所述第二获取子模块包括分组单元,用于将所述当前应用报文的载荷信息和之前指定个数的应用报文的载荷 信息进行分组,形成多个载荷信息组;第一获取单元,用于将每个载荷信息组中的载荷信息进行特征比较,获取多个子备 份匹配特征;第二获取单元,用于将所述多个子备份匹配特征进行特征比较,获取所述第一备份 匹配特征。
16.根据权利要求14或15所述的报文特征处理装置,其特征在于,所述第二更新识 别子模块包括第三获取单元,用于根据识别出的所述当前应用报文的类型,获取所述当前应用报 文对应的第二备份匹配特征;判断单元,用于判断所述第一备份匹配特征是否存在于获取的所述当前应用报文对 应的第二备份匹配特征中;特征更新单元,用于在所述判断单元的判断结果为不存在时,将所述第一备份匹配 特征存储于所述特征库中,以对所述第二备份匹配特征进行更新;次数更新单元,用于在所述判断单元的判断结果为存在时,将与所述第一备份匹配 特征相同的第二备份匹配特征的匹配命中次数加1。
17.根据权利要求16所述的报文特征处理装置,其特征在于,还包括次数更新模块,用于在根据所述正式匹配特征或者所述第二备份匹配特征识别出所 述当前应用报文的类型时,将所述当前应用报文对应的正式匹配特征或对应的第二备份 匹配特征的匹配命中次数加1。
18.根据权利要求17所述的报文特征处理装置,其特征在于,还包括第一更新模块,用于在预设第一更新周期到达时,比较同一应用对应的正式匹配特 征的匹配命中次数和第二备份匹配特征的匹配命中次数;并在所述同一应用对应的第二 备份匹配特征的匹配命中次数大于正式匹配特征的匹配命中次数时,交换所述同一应用 对应的正式匹配特征和第二备份匹配特征,以更新所述特征库。
19.根据权利要求17所述的报文特征处理装置,其特征在于,还包括第二更新模块,用于在预设第二更新周期到达时,获取同一应用对应的正式匹配特 征的和第二备份匹配特征的匹配命中次数增量;将所述同一应用对应的第二备份匹配特 征的匹配命中次数增量与指定比例的正式匹配特征的匹配命中次数增量进行比较;并在 所述同一应用对应的第二备份匹配特征的匹配命中次数增量小于指定比例的正式匹配特 征的匹配命中次数增量时,删除所述同一应用对应的第二备份匹配特征,以更新所述特 征库。
20.一种包括权利要求11-19任一项所述的报文特征处理装置的网络设备。
全文摘要
本发明提供一种报文特征处理方法、装置及网络设备,方法包括获取当前应用报文的载荷信息;根据当前应用报文的载荷信息和预先存储于特征库中的正式匹配特征进行应用识别;当根据正式匹配特征识别出当前应用报文的类型时,根据当前应用报文的载荷信息和之前指定个数的应用报文的载荷信息,获取第一备份匹配特征并存储,以根据第一备份匹配特征进行应用识别。本发明的报文特征处理方法、装置及网络设备,在对应用报文进行识别的同时,根据已识别的应用报文的载荷信息生成新的匹配特征,并在后续根据新的匹配特征进行应用识别,可提高识别应用报文的准确性,降低误判几率。
文档编号H04L12/56GK102025636SQ20101059498
公开日2011年4月20日 申请日期2010年12月9日 优先权日2010年12月9日
发明者刘忠东, 王荣海, 陈宏涛 申请人:北京星网锐捷网络技术有限公司