报文检测方法和装置的制作方法

文档序号:7989908阅读:212来源:国知局
专利名称:报文检测方法和装置的制作方法
技术领域
本发明涉及网络识别领域,特别涉及一种报文检测方法和装置。
背景技术
在当前网络中,随着运营商网络可视化和精细化运营的需求,需要对网络进行深度识别,识别出报文使用的应用层协议,如HTTP报文,BT报文,FTP报文,QQ报文,优酷报文寸。当前对网络报文进行深度识别的常用方法有以下几种基于特征字识别根据报文内的某些固定字符串或有规律的字符串来识别报文,如HTTP Get请求报文,必须包含 “HTTP”字符;关联识别根据已识别的信息,利用报文的IP头信息进行关联。如目标地址为20. 115. 34.观,端口为80,协议为TCP的报文为HTTP报文;行为识别也称为启发式识别,利用报文的行为特征完成报文应用层协议识别。如Skype报文,前三个报文的长度分别为100字节,200字节,130字节,并且包两两之间的间隔时间为0. ls,0. 15s, 0. Is。其中,行为识别主要是对报文的固定交互行为进行检测,不需要扫描整个报文,提升了识别性能,并且方便特征码修正及快速识别新协议,可以完成攻击报文和非对称加密报文的识别,在报文识别中越来越多地被广泛应用。而当前行为识别主要的检测方法是采用硬编码的方法进行检测,即采用判断语句对多维度的行为特征一层一层的嵌套判断,得出综合的结果。硬编码的方式,报文的行为特征是一个离散的集合,行为特征与行为特征之前没有关联关系,如Skype的行为特征采用包长和相邻两包之间的间隔两个维度进行识别,则包长与包间隔之间没有关联关系,在检测Skype的行为特征时,一般是先检测包长, 再检测包间隔,即顺序检测各维度的行为特征。硬编码的方式,对于少数协议来说,处理逻辑比较简单,是适用的。但当使用行为识别的协议多时,判断逻辑复杂,性能不高,并且检测的行为特征维度变更时,需重写代码, 可维护性不高,不能实现无损升级。

发明内容
本发明实施例提供一种报文检测方法和装置,以提升行为特征检测性能,提高行为特征的可维护性和可靠性。本发明实施例公开了一种报文检测方法,包括提取待检测报文的行为特征的实际值;将所述行为特征的实际值按转换规则生成元数据;将所述元数据插入到所述待检测报文中;利用所述元数据搜索状态机,匹配所述元数据以对所述待检测报文进行识别;所述状态机是将样本报文的行为特征按所述规则进行正则转换编译得到的。本发明实施例公开了一种报文检测装置,包括提取模块,用于提取待检测报文的行为特征的实际值;
生成模块,用于将所述行为特征的实际值按转换规则生成元数据;插入模块,用于将所述元数据插入到所述待检测报文中;搜索匹配模块,用于利用所述元数据搜索状态机,匹配所述元数据以对所述待检测报文进行识别;所述状态机是将样本报文的行为特征按所述规则进行正则转换编译得到的。本发明实施例利用状态机对行为特征进行检测,用搜索状态机的方法替代硬编码逻辑,实现报文的行为特征与检测逻辑分离,为行为特征检测提供统一的检测流程,使行为特征的变化无损升级,简化行为特征的逻辑处理,提升行为特征检测性能,提高了行为特征的可维护性和可靠性。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1本发明实施例提供一种报文检测方法的流程图;图2本发明实施例提供一种报文检测方法的流程图;图3本发明实施例提供一种行为特整插入示意图;图4本发明实施例提供一种定值字符串插入示意图;图5本发明实施例提供一种报文检测装置的结构图;图6本发明实施例提供一种报文检测装置的结构图;图7本发明实施例提供一种报文检测方法的流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图1所示,本发明实施例提供一种报文检测方法,包括S101,提取待检测报文的行为特征的实际值;S102,将上述行为特征的实际值按转换规则生成元数据;S103,将所述元数据插入到所述待检测报文中;S104,利用上述元数据搜索状态机,匹配上述元数据以对所述待检测报文进行识别;上述状态机是将上述报文的行为特征按所述规则进行正则转换编译得到的。在一个实施例中,元数据为定值字符串。本发明实施例利用状态机对行为特征进行检测,用搜索状态机的方法替代硬编码逻辑,实现报文的行为特征与检测逻辑分离,为行为特征检测提供统一的检测流程,使行为特征的变化无损升级,简化行为特征的逻辑处理,提升行为特征检测性能,提高了行为特征的可维护性和可靠性。
如图7所示,本发明实施例提供一种报文检测方法,包括S110,提取样本报文的行为特征;在一个实施例中,假设样本报文的行为特征分别包括包顺序号,包长度和包间隔这三个维度,分别记为N,L,T。分析A,B, C三种协议的报文,可以提取以下行为特征表示 A,B,C三种协议。A= {(N=1,L= 100,T = Is),(N = 2,L = 120,T = Is),(N = 3,L = 128,T =2s)} ;B = {(N=1,L= 110,T = Is),(N = 2,L = 120,T = 2s),(N = 3,L = 512,T =Is)} ;C = {(N=1,L= 160,T = 3s),(N = 2,L = 256,T = 2s)}。即,若前三个包包长分别为100,120,128,并且三个包之间的间隔分别为ls,ls,2s,则为A协议;若前三个包包长分别为110,120,512,并且三个包之间的间隔分别为ls,k,ls,则为B协议;若前两个包包长分别为160,256,并且两个包之间的间隔分别为3s,2s,则为C协议。在一个实施例中,对于包长或间隔也可以是范围值,这里只是为描述方便,采用定值,并不作为本发明实施例的限定。S120,用脚本语言描述上述行为特征;在一个实施例中,可以采用XML作为脚本语言来描述上述行为特征;在另一个实施例中,还可以采用HTML作为脚本语言来描述上述行为特征;当然很好理解的是,后改可以采用其它脚本语言来描述上述行为特征。 下面对上述A协议用XML进行示例描述< ? xml version = “ 1.0〃 encoding = “ UTF-8" ? >〈protocol name = “ K" >〈signature name = 〃 A_Example_BHV_UDP_l〃 >〈packet number = 〃 I" ><pktsizes>100</pktsizes><ptktime>l</ptktime><regex>". . \x02</regex></packet>〈packet number = 〃 2" ><pktsizes>120</pktsizes><ptktime>l. 5</ptktime><regex>". . \x03</regex></packet>〈packet number = 〃 3 〃 ><pktsizes>128</pktsizes><ptktime>2</ptktime><regex>". . \x07</regex></protocol>S130,定义转换规则;在一个实施例中,定义转换规则可以是定义上述行为特征的归一消息格式。S卩,指定报文各个维度行为特征用正则描述的相对位置,长度和其他约束,如结束分隔符等。下述表1和表2是A,B,C三种协议的归一消息格式定义示例
权利要求
1.一种报文检测方法,其特征在于,包括 提取待检测报文的行为特征的实际值;将所述行为特征的实际值按转换规则生成元数据; 将所述元数据插入到所述待检测报文中;利用所述元数据搜索状态机,匹配所述元数据以对所述待检测报文进行识别;所述状态机是将样本报文的行为特征按所述规则进行正则转换编译得到的。
2.如权利要求1所述的方法,其特征在于,所述元数据为定值字符串。
3.如权利要求2所述的方法,其特征在于,所述定值字符串插在所述待检测报文的载荷payload和传输控制协议/用户数据报协议TCP/UDP报文头之间。
4.如权利要求1-2任一项所述的方法,其特征在于,在所述提取待检测报文的行为特征的实际值之前,所述方法还包括提取样本报文的行为特征;用脚本语言描述所述样本报文的行为特征;将用脚本语言描述的行为特征按定义转换的规则,转换成正则;根据所述正则,采用预置算法创建生成状态机。
5.如权利要求1-2任一项所述的方法,其特征在于,所述提取待检测报文的行为特征的实际值之前,所述方法还包括提取样本报文的行为特征;用脚本语言描述所述样本报文的行为特征和所述样本报文的特征字特征; 将利用脚本语言描述的行为特征和特征字特征合并,利用所述转换规则转换成正则; 根据所述正则,采用预置算法创建生成状态机。
6.一种报文检测装置,其特征在于,包括提取模块,用于提取待检测报文的行为特征的实际值; 生成模块,用于将所述行为特征的实际值按转换规则生成元数据; 插入模块,用于将所述元数据插入到所述待检测报文中;搜索匹配模块,用于利用所述元数据搜索状态机,匹配所述元数据以对所述待检测报文进行识别;所述状态机是将样本报文的行为特征按所述规则进行正则转换编译得到的。
7.如权利要求6所述的装置,其特征在于,还包括 行为特征提取模块,用于提取样本报文的行为特征;描述模块,用于用脚本语言描述所述样本报文的行为特征;正则生成模块,用于将用脚本语言描述的行为特征按定义转换的规则,转换成正则;状态机创建模块,用于根据所述正则,采用预置算法创建生成状态机。
8.如权利要求7所述的装置,其特征在于,所述描述模块还用于,将利用脚本语言描述的行为特征和特征字特征合并,利用所述转换规则转换成正则。
全文摘要
本发明实施例公开了一种报文检测方法,包括提取待检测报文的行为特征的实际值;将所述行为特征的实际值按转换规则生成元数据;将所述元数据插入到所述待检测报文中;利用所述元数据搜索状态机,所述元数据以对所述待检测报文进行识别;所述状态机是将样本报文的行为特征按所述规则进行正则转换编译得到的。相应地,本发明实施例还公开了一种报文检测装置,通过以上技术方案为行为特征检测提供统一的检测流程,使行为特征的变化无损升级,简化行为特征的逻辑处理,提升行为特征检测性能,提高了行为特征的可维护性和可靠性。
文档编号H04L12/26GK102413014SQ20111038406
公开日2012年4月11日 申请日期2011年11月28日 优先权日2011年11月28日
发明者徐俊, 邓云刚, 郑明 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1