[发明专利]应用层协议识别方法及系统有效
申请号: | 201110066864.X | 申请日: | 2011-03-18 |
公开(公告)号: | CN102130956A | 公开(公告)日: | 2011-07-20 |
发明(设计)人: | 何飞;邵熠阳;李军 | 申请(专利权)人: | 清华大学 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用 协议 识别 方法 系统 | ||
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种方应用层协议识别方法及系统。
背景技术
伴随着互联网中各种业务的不断普及和互联网在生产、生活中作用的增强,信息安全问题日益突出。网络流量的细粒度控制,一方面有助于数据中心提供更好的数据传输服务,从而有效地保证主流互联网应用;另一方面,有利于更好的保障企业网络的安全性,解决与各种网络应用密切相关的安全问题。
目前,传统的基于流的流量控制策略在数据中心和企业网络中越来越不适用,应用层协议识别技术正在逐步取代传统的包分类技术。
应用层协议识别,简称协议识别,目的是标识出网络链路上传输的流量所使用的应用层协议类型。为了满足日益增长的互联网需求,有效的协议识别必须达到较高的识别速率,并且能够兼容新出现的协议。
为了在现代网络的核心功能中获得更广泛的应用,应用层协议识别系统应当满足以下要求:
1、高吞吐率:作为细粒度流量管理的基础,应用层协议识别的速率必须高于链路速率。
2、低内存占用:为了支持高速的应用层协议识别,同时考虑到耗用高速内存的成本限制,内存使用率应当尽可能低。
3、高识别精度:必须同时具有较低的假阳性率和假阴性率。
传统上一直是基于端口映射机制对应用层协议进行标识,例如,80端口的报文对应着超文本传输协议(Hyper Text Transfer Protocol,HTTP),而25端口的协议则是域名系统(Domain Name System,DNS)协议。但随着越来越多的网络协议不使用固定的端口进行通信,基于报文端口的协议识别方式受到很大限制,准确性受到很大挑战,例如采用动态端口的对等(Peer-to-Peer,P2P)协议等。
传统的基于端口号的识别方法已经不再适用,近年来很多研究工作都致力于开发新的方法来识别应用层协议。一种方法是基于机器学习理论,运用统计的手段来进行协议识别。例如统计协议实际交互过程中的平均报文长度、排队时间等信息,以此为特征对报文进行协议识别。然而,这种基于统计的方法有很多诸如正确率等难以解决的问题,从而无法在实际应用中取得较好的性能。
很多实际的应用层协议识别系统,例如PaloAlto和Juniper,以及开源的L7-filter等都是采用基于负载的识别方法,以取得更好的性能。基于负载的应用层协议识别系统目前已经得到了广泛的应用,然而由于很多P2P协议采用不具有确定前缀的负载以逃避协议识别系统的检测,或者对负载内容进行加密,使得采用基于负载的识别方法的协议识别系统对于这些非常规协议的检测效果欠佳。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提供一种识别精度高、吞吐率高且内存占用低的应用层协议识别方法及系统。
(二)技术方案
为解决上述问题,本发明提供了一种应用层协议识别方法,该方法包括步骤:
S1.提取待识别报文的负载的前缀字符;
S2.判断所述前缀字符是否匹配已知的应用层协议的固定前缀,若是,则执行步骤S3,否则执行步骤S4;
S3.根据所述前缀字符选择确定的有穷自动机引擎,并由所选择的确定的有穷自动机引擎对所述前缀字符对应的待识别报文进行匹配处理;
S4.基于协议指纹对所述前缀字符对应的待识别报文进行协议识别。
其中,步骤S1之前还包括步骤:
A1.记录具有固定前缀的已知的应用层协议的前缀长度,按照首字符对所述具有固定前缀的已知的应用层协议进行分组,得到若干协议集;
A2.去除若干协议集中为其他协议集子集的协议集;
A3.采用启发式聚类算法对步骤A2得到的若干协议集进行优化;
A4.将经步骤A3优化处理后的若干协议集编译为确定的有穷自动机引擎。
其中,步骤A3进一步包括:
B1.取任一协议集,遍历其余协议集,判断两个协议集的公共协议数量是否大于设定阈值,若是,则执行步骤B2,否则,不合并;
B2.判断所述两个协议集的平均通配符数量是否小于1,若是,则执行步骤B3,否则,不合并;
B3.判断所述两个协议集合并后是否会导致所述确定的有穷自动机引擎中状态数的减少,若是,合并所述两个协议集,否则,不合并;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110066864.X/2.html,转载请声明来源钻瓜专利网。