网站大量收购独家精品文档,联系QQ:2885784924

一种自动协议识别方法及系统-发明专利说明书详解.doc

一种自动协议识别方法及系统-发明专利说明书详解.doc

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
说 明 书 一种自动协议识别方法及系统 启明星辰 叶润国(发明专利已授权) 技术领域 本发明涉及一种可用于入侵检测防御(IDS/IPS)产品中的自动协议识别方法及系统,它依据网络数据流中报文特征智能地识别出其所属协议类别,属于网络技术领域。”GET”可以标识HTTP协议中的HTTP Request消息类型,可以用它来作为HTTP协议指纹;反过来,如果发现某一IP报文携带协议指纹”GET”,则该IP报文所属协议类型为HTTP的可能性很大。但是,单纯基于协议指纹特征得到的协议识别结果可能错误,因此需要额外措施来进一步验证本次协议识别结果正确性。本协议识别方法在识别出IP报文所属可能协议类型之后采用协议验证规则集来验证协议识别结果正确性。协议验证规则集与具体协议相关,它为一个集合,集合中每一条规则定义了将一个IP报文判别为该类型协议时该IP报文必须满足的布尔表达式。因此,可以将为某一协议类型建立的协议验证规则集看作是该类型协议规范的一个必要条件集合。为某一类型协议建立的协议验证规则集可用布尔表达式树或者控制流图(Control Flow Graph, CFG)来描述,本协议识别方法选择控制流图描述每种类型协议验证规则集,采用虚拟机模型来实现协议验证规则集的解释执行。 HTTP协议指纹和验证规则建立举例; 首先为HTTP协议建立协议指纹集合,并建立相应协议验证规则集: 为HTTP协议指纹“GET”建立的验证规则集为: Rule1: 文本中必须含有”HTTP”字串; Rule2: 文本中必须包含“\r\n”; Rule3:等等。 为HTTP协议指纹”POST”建立的验证规则集为: Rule1:文本中必须含有”\r\n\r\n”字串; Rule2:文本中必须包含Content-Length字串; Rule3:等等。 为HTTP协议指纹”HEAD”建立的验证规则集为: Rule1:文本中必须含有”HTTP”字串; Rule2:文本中必须包含”If-Modified-Since”字串; Rule3: 等等。 然后,在协议识别过程中,如果发现一IP报文包含”GET”协议指纹,通过协议指纹匹配算法可以识别其所属协议类别可能为HTTP,这时进一步执行前面定义的HTTP协议协议指纹”GET”所对应的验证规则集来验证该IP报文:如果该IP报文通过了集合中所有验证规则的验证,则HTTP就为该IP报文所属的正确协议类型;否则,继续从IP报文中提取其它协议指纹、进行指纹匹配找到可能所属协议类型、并执行相关协议验证规则进行验证,直到找到正确结果为止。 实施例2;自动协议识别方法协含有以下步骤; 协议指纹提取; 将所有协议分为三类:1)文本命令格式协议;2)固定报头格式协议;3)无固定格式协议。下面分别描述这三类协议的指纹提取方法。 文本命令格式协议; 文本命令格式协议中,所有消息都可能用{命令+参数}方式描述,这里的命令不但包括通常的协议命令,还包括服务端响应的状态码。文本命令格式协议的例子很多,包括POP3,SMTP,FTP, HTTP等。对于这类协议,只需要提取协议命令和协议响应状态码作为协议指纹即可。比如,对于HTTP协议,提取的HTTP协议指纹集合为{GET, POST, HEAD, HTTP/0.9, HTTP/1.0, HTTP/1.1}。这些协议指纹在HTTP协议报文应用载荷中偏移为0,在这种情况下,可以省略协议指纹偏移的标示。 固定报头格式协议; 固定报头格式协议一般都为二进制格式协议,在该类协议中,所有协议消息都具有一个固定长度的报头,然后是可变长度数据。固定报头格式协议例子很多,包括DB2、TDS、DNS和MSRPC协议等。固定报头中,一般包含Type、version、Length、Flags和ID等字段。根据在网络协议交互过程中取值变化情况的不同,可以将这些字段分为两类:a) 静态类型字段,即字段取值为常数或者只能取少数几个值,比如Type, Version, Flags等字段;b) 动态类型字段,即字段取值情况预先不可预测,比如Length、ID等字段。因此,只能从第一种类型字段中提取协议指纹。如果提取的协议指纹标识某一类型协议的精确度越高,则协议识别过程中第一次通过协议指纹匹配算法找到正确协议类型的可能性就越高,因而可能只需少量协议验证规则条目就可识别出IP报文所属协议类别,并可明显减少协议识别算法的计算开销。为达到这个目的,通常将尽可能多的连续静态字段组合起来作为该类协议样本的指纹。 固定报头类型协议指纹提取举例(见图2): 对于TDS(Tabular Data System)协议,其固定报头中有两个连续静态字段(Type和Status),因此如果将Type+Status组合作为TDS协议的指纹,可以提高协议指纹标识该

文档评论(0)

w447750 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档