改进的双重特征协议识别方法研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
改进的双重特征协议识别方法研究.doc

改进的双重特征协议识别方法研究   【 摘 要 】 传统识别方法难以满足现实网络环境的实际需要。文章利用协议的端口和特征串双重特征进行识别,并且根据实际的网络统计所需要识别协议的真实流量,正确化简正则表达式来实现对协议识别的加速。结果证明,与L7-filter正则表达式识别方法比较,采用方法能有效降低资源消耗和匹配时间,提高识别率。   【 关键词 】 协议识别;正则表达式;特征串   1 引言   快速准确地对网络进行流量控制、网络计费及内容过滤识别是当今计算机网络发展面临的重要问题,这对政府管理部门、网络管理员、运营商等都有十分重要的意义。协议识别技术解决了这一问题,尤其在网络安全监控领域,通过协议识别技术对捕获的数据包进行分析,判断协议类型,分析其特征,从而在入侵检测或网络攻击等方面起到很大作用。本文在对传统识别方法分析的基础上,以识别正确率高、速度快、算法复杂度小为基本原则,提出了一种基于数据分类和正则表达式匹配的应用层协议识别方法。   2 传统的协议识别算法   2.1 基于端口的协议识别算法   这种识别算法使用IANA规定的固定端口号来进行相应的应用层协议识别,仅能识别固定端口的应用层协议识别率高。但是大量的应用层协议为了避免识别, 逃避防火墙的检查,使用随机端口进行通信。大量涌现的新协议都不在IANA中注册其端口号, 因此算法所能识别的协议在总协议数量中所占的比重越来越少,已不能适应于当前网络环境。该算法简单, 消耗系统资源少,时空复杂度是所有算法中最低的。   2.2 基于特征串的协议识别算法   这种识别算法是对检测到的每一个数据包按照特征串进行搜索,和应用层协议中出现的多个特征串进行精确匹配,此方式在所有识别算法中准确率最高。由于需要逐报文的匹配所有协议的特征以及额外的存储报文的负载部分,该类算法的时空复杂度是目前所有算法中最高的,并且随着待识别协议数量的增长而增长。正则表达式是当前比较流行的特征串匹配语言,利用正则表达式进行协议识别可以将原来复杂且繁琐的报文数据特征串匹配过程变成可自动处理的工作。该类算法通常只被用在需准确识别数量较少的协议时,且需要有相当的工作量,无法应用在高速网络环境下进行大规模的协议识别。   2.3 基于行为特征的协议识别算法   这种识别方法是利用协议规范的不同所造成的流特征差异区别各个协议。它需要有一个训练样本数据集作为输入,构建一个分类器或者分类模型,该模型能够把网络上的数据流映射到指定类别中的一种。该方法较端口识别方法有较高的准确性,较特征串识别方法较小的复杂度,但是由于判别算法不成熟,识别不够细致,制约了这种识别方法的使用。   3 基于端口与正则表达式匹配的应用层协议识别方法   由于传统识别方法难以满足现实网络环境的实际需要,本文提出利用协议的端口和特征串双重特征进行识别,并且根据实际的网络中统计所需要识别协议的真实流量,正确化简正则表达式来实现对协议识别的加速。在此基础上按几个步骤完成识别:第一步基于端口的识别方式,进行初步识别;第二步采用正则表达式的识别方法,将其转化成DFA完成匹配;第三步如果匹配成功,识别结束。如果不成功,说明该协议采用的随机端口,放弃第一步筛选模式,转入第二步,直至识别成功。   3.1 基于端口的数据流初步识别   利用端口进行应用层协议识别,主要原理就是因为存在公认端口和注册端口,从端口0到1023对应着因特网上常见的服务和应用程序,有确切的定义。HTTP(Web服务器)、POP3/SMTP(电子邮件服务器)以及Telnet等常用应用程序通常使用这些端口号。一旦检测到网络中具有这些端口的流量,即可识别出其对应的协议。但是由于很大一部分协议都使用随机端口,因此,初步识别的正确性要在下面的识别过程中进一步证实。   3.2 正则表达式协议识别方法   正则表达式(Regular Expression)作为一种表示语言,定义了自己的一套描述方式,来描述各种的字符类,由普通字符以及特殊字符组成的字符模式,然后将字符模式与所搜索的字符串进行匹配。典型的使用正则表达式进行协议识别的软件为L-7 Filter,它是基于Linux的Netfilter/Iptables上一个开放源代码的软件,实现了应用层协议的识别。它通过对报文的依次解封,直接提取应用层数据内容,利用提供的正则表达式对提取出的数据内容进行匹配,从而识别协议类型。为了降低协议识别的假阳性及提高识别正确性,L-7 Filter也在不断更新其正则表达式模式。   正则表达式的匹配是建立在自动机的理论基础上的,正则引擎会按照表达式构建相应的自动机。若输入一串文本之后,自动机抵达了接受状态,则这串文本可以匹配用户指定的正则表达式,否则为不能匹配。正则表

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档