一种基于动态深度包检测的互联网应用识别方法

文档序号:7928478阅读:150来源:国知局
专利名称:一种基于动态深度包检测的互联网应用识别方法
技术领域
本发明涉及一种互联网应用识别方法,尤其涉及一种基于动态深度包检测的 互联网应用识别方法,应用于高速网络中。
背景技术
随着互联网技术的快速发展,承载在互联网上的新的应用业务层出不穷; 而新的应用在便捷用户的同时,也引入了一些新问题 一方面不同的应用类别其 占用网络带宽与其给网络运营商创造的价值比有着明显差异,如P2P业务应用类 型是其中一个典型带宽占有高、收益低的类别;另一方面,有些新的应用业务存
在社会危害性,如非法代理软件应用类型通过隐藏端口等其它技术将非法信息混 入互联网中进行传播。面对这些新问题,识别互联网应用,对特定业务类别差异 服务的需求日益增强。
目前对于互联网应用识别方法主要分为两大类
1、 基于访问控制列表(Access Control List, ACL)方式进行识别 通过分析IP包的4层以下内容,以业务流的五元组进行标识,如业务流地
址属于服务器网段地址,或端口为固定端口等业务。
2、 基于深度包检测(De印Packet Inspection, DPI)方式进行识别 DPI技术除了分析IP包的4层以下内容,还增加了应用层分析,通过特征
字的查找或者业务行用统计,得到业务流的类型。
对于第1种识别方法,仅对传统业务有效,对于新的应用业务使用常用端口 隐藏式传输无能为力;
对于第2种识别方式,需要在己知特征字或业务行为特征的前提下实施,对 于新兴应用无法自动进行识别。

发明内容
本发明的目的就在于克服现有技术存在的缺点和不足,提供一种基于动态深 度包检测的互联网应用识别方法。 本发明的目的是这样实现的
本发明在采用深度包检测技术有效识别现有互联网应用的同时,能对新兴应
用自动学习其特征字或业务行为特征,动态获取深度包检测策略(De印Packet Inspection Policy DPIP),通过动态深度包检测(Dynamic De印Packet Inspection, DDPI)达到对互联网应用的最大深度智能识别。本发明既能应用于 报文处理又能应用于流数据分析于控制,既可以实现在网络设备中也可以实现在 网络分析系统中。
为了阐述方便,本发明将互联网应用分为四大类
1) ACL应用类别基于五元组应用,如FTP, TELNET, P0P3, SMTP等应用 协议类别,通过TCP/IP L4解析进行识别,采取ACL方式实施;
2) DPI应用类别基于特征字应用,如P2P等应用协议类别,通过TCP/IP L7 解析进行识别,采取DPI方式实施;
3) DDPI应用类别基于动态特征字应用,如非法代理软件等应用协议类别, 通过TCP/IP L7解析进行特征字统计,获取动态深度包检测策略,采取DPI方式 实施。
4) 其它应用类别该类别没有规则特征字,无法进行DPI处理,不在本发 明处理范围内。
具体措施
1) ACL处理处理ACL应用类别。通过对入口数据进行TCP/IP L4解析, 采取ACL方式获取应用类别。
2) DPI处理处理包括DPI应用类别和DDPI应用类别数据。通过对入口数 据进行TCP/IP L7解析,DPI处理根据DPI处理匹配条件进行匹配处理,匹配命 中即获取应用类型结束识别;对于匹配失败的数据进入下一个处理入口。其中 DPIP可以通过配置文件进行配置也可通过外部模块动态配置。对于DPI应用类 别的DPIP,当DPI处理初次启动时,读取DPIP配置文件,添加到DPI处理匹配 条件。对于DDPI应用类别的DPIP,当DPI处理运行后,接收来自外部的DPIP,添加到DPI处理匹配条件的同时,自动更新DPIP配置文件。
3) DDPI策略生成处理DDPI应用类别数据。DDPI策略生成使用五元组唯 一标识一个独立连接,对每个独立连接进行统计处理。DDPI策略生成通过定时 对统计处理结果进行阀值判定获取DDPI应用特征字,动态由特征字生成DPIP, 实时将DPIP下发给DPI处理进行后续处理。
其中统计处理分为五个子处理过程包括预统计处理;预统计阀值判定;特 征字统计处理;特征字阀值判定以及深度包检测策略处理。
① 预统计处理得到预统计阀值判定对象以及获取特征字处理范围,为后续处 理做准备。预统计处理过程中,独立连接上的数据完成预统计处理后,作为其它 业务应用结束识别工作,不进行缓存处理,减少处理流量,提高处理性能。
② 预统计阀值判定定时根据特征预统计阀值对预统计阀值判定对象进行阀 值判定。特征预统计阀值为可配置值,根据特征统计精度以及模块实现性能权衡 得到。判定时间间隔为可配置值,为小时级别。当阀值判定对象达到特征预统计 阀值时进行该独立连接特征字统计处理,未达到特征预统计阀值时结束该独立连 接的维护。
③ 特征字统计处理对独立连接上特征字处理范围内的二进制码流进行特征 字统计处理,得到特征字阀值判定对象。在这个处理过程中,是对独立连接上的 完成预统计处理后的IP数据包进行特征字处理。将这些IP数据包在范围内的二 进制码流通过运算得到特征字阀值判定对象。特征字统计处理过程中,独立连接 上的数据完成特征字统计处理后,作为其它业务应用结束识别工作,不进行缓存 处理,减少处理流量,提高处理性能。
④ 特征字阀值判定定时根据特征字阀值对特征字阀值判定对象进行阀值判 定。特征字阀值为可配置值,根据特征统计精度以及模块实现性能权衡得到。判 定时间间隔为可配置值,为分钟级别。当阀值判定对象达到特征字阀值时将特征 字阀值判定对象作为该未知应用的动态深度包检测特征,未达到特征统计阔值时 结束该独立连接的维护。
⑤ 深度包检测策略处理包括深度包检测策略生成和深度包检测策略下发两 个功能。为获取动态深度包检测特征的新应用分配应用类别标识。由该动态深度 包检测特征和应用类别标识生成DPIP,并下发给DPI处理单元,对于新应用后续数据进行应用类别标识。
本发明中,初次完成DDPI策略生成的DDPI应用类型作为其它应用类型返回, 后续的DDPI应用类型可以由DPI处理通过更新后的DDPI策略进行识别。
本发明相对现有技术有如下优点和积极效果-
1、 结合ACL和DPI技术,根据互联网应用特征,分类采用合适方法进行应 用识别,利用现有技术最大力度提高现有互联网应用识别性能。
2、 DPI技术实现上采用动态配置方式,增加实现可配置性和可扩展性。
3、 在解决现有互联网应用识别的同时,通过特征字统计自动学习新兴互联 网应用特征,动态获取DPIP,以达到动态识别互联网应用的目的。
4、 特征字统计仅对输入数据特征字范围内二进制码流进行计算统计,不需 要对数据进行缓存,提高处理性能。
总之,本发明采取动态识别机制,识别范围广泛,准确率高;采取特证字统 计获取深度包检测策略,不对数据进行缓存,处理效率高;操作灵活,可扩展性 好,可实现性强,既可作为网络设备功能实现,也可作为网络分析系统功能实现。


图l是本发明的结构方框图2是动态深度包检测策略生成模块的工作流程图。 其中
IO—ACL (访问控制列表)处理模块; 20_DPI (深度包检测)处理模块; 30—DDPI (动态深度包检测)策略生成模块。 A—互联网应用数据; B—非访问控制列表应用数据;
C一动态深度包检测应用数据; D—识别失败应用数据; E—识别完成应用数据。
英译汉:ACL—Access Control List,访问控制歹樣;
DPI—De印Packet Inspection, 罙度包检测;
DDPI—Dynamic De印Packet Inspection,动态深度包检测;
DPIP—De印Packet Inspection Policy, 罙度包检测策略。
具体实施例方式
下面结合附图和实施例详细说明
一、 一种基于动态深度包检测的互联网应用识别方法及其工作原理
如图1,本方法包括现有ACL处理模块10和DPI处理模块20,设置有DDPI 策略生成模块30;
ACL处理模块10、 DPI处理模块20以及DDPI策略生成模块30前后依次进行。
所述的访问控制列表模块10是通过访问控制列表对基于五元组的互联网应 用进行识别;
所述的深度包检测模块20是根据深度包检测策略对基于特征字的互联网应 用进行识别;
所述的动态深度包检测策略生成模块30是通过对互联网应用进行特征统 计,动态得到互联网应用的特征,由特征生成深度包检测策略,进一步由深度包 检测模块20进行识别处理。
工作原理
互联网应用数据A首先全部进入ACL处理模块10, ACL处理模块10通过ACL 方式对ACL应用类别数据获取应用类别,作为识别完成应用数据E结束识别;
对于其它应用类别数据作为非访问控制列表应用数据B进入DPI处理模块 20, DPI处理模块20根据DPI策略,对DPI应用类别和已动态获取DPIP成功的 DDPI应用类别数据获取应用类别,作为识别完成应用数据E结束识别;
对于其它应用类别数据则进入DDPI策略生成处理模块30, DDPI策略生成处 理模块30对输入数据进行独立连接维护,对每个独立连接进行统计分析,根据 统计结果动态获取DDPI策略,将DDPI策略下发给DPI处理模块20,处理完成 的数据作为识别失败应用数据D结束识别;DPI处理模块20接收到DDPI策略后更新DPI策略,对已动态获取DPIP成功的DDPI应用类别根据更新后的DPI策略 进行相应处理。
1、 ACL处理模块10及其工作原理
ACL处理模块10处理ACL应用类别,通过ACL方式获取应用类别,其它应
用类别则进入下一个处理模块进行后续处理。
ACL处理模块10接入所有互联网应用数据A。对于ACL应用类别,通过ACL 方式获取应用类别,作为识别完成应用数据E结束识别;对于其它应用数据作为 非访问控制列表应用数据B进入下一个处理入口。其中ACL为可配置文件,描述 ACL应用类别五元组信息和应用类别标识对应关系,动态将ACL应用类别的ACL 添加到ACL处理模块10。
2、 DPI处理模块20及其工作原理
DPI处理模块20处理包括DPI应用类别和己动态获取DPIP成功的DDPI应 用类别数据。DPI处理模块20首先对非访问控制列表应用数据B进行应用层内 容解析,然后根据DPIP进行匹配处理,匹配命中即获取应用类型,作为识别完 成应用数据E结束识别;对于识别失败应用数据D进入下一个处理入口 。
其中DPIP可以通过配置文件进行配置也可通过外部模块动态配置。对于DPI 应用类别的DPIP,当DPI处理模块20初次启动时,读取DPIP配置文件;对于 DDPI应用类别的DPIP,当DPI处理模块20运行后,实时接收来自外部的DPIP, 同时自动更新DPIP配置文件。对于DPI应用类别根据初始配置文件,通过DPI 处理获取应用类别;对于已动态获取DPIP成功的DDPI应用类别数据根据更新后 的配置文件,通过DPI处理获取应用类别。获取应用类别成功的数据作为识别完 成应用数据E结束识别;对于其它应用数据作为动态深度包检测应用数据C进入 下一个处理入口。
3、 DDPI策略生成模块30及其工作原理
动态深度包检测策略生成模块(30)是通过对互联网应用进行特征统计,动 态得到互联网应用的特征,由应用特征生成深度包检测策略,动态配置给深度包 检测模块(20),进一步由深度包检测模块(20)进行识别处理;特征统计分为 预统计和特征字统计;预统计中相关统计值达到一定阀值的数据进行特征字统计 处理,而不是所有入口数据;特证字统计中相关统计值达到一定阀值才称为获取其应用特征成功,否则为获取失败。
DDPI策略生成模块30处理未动态获取DPIP成功的DDPI应用类别数据,DDPI 策略生成模块30对每个独立连接进行统计处理,根据统计结果获取DPIP; DDPI 策略生成模块30获取DPIP成功则下发给深度包检测模块20,由深度包检测模 块20对该DDPI应用类别数据做后续处理;所有经过获取DDPI策略生成模块30 处理的数据,都作为识别失败应用数据D结束识别。 二、 DDPI策略生成模块30的工作流程 如图2, DDPI策略生成模块30的工作流程包括下列步骤
① 开始1,即未动态获取DPIP成功的DDPI应用类别数据作为DDPI策略生 成模块30的输入数据开始处理。
② 独立连接查找2,即DDPI策略生成模块30根据五元组査找独立连接; 査找失败则进入独立连接建立3,查找成功或新建成功的数据进入步骤③,
新建失败的数据结束识别;
一个独立连接由五元组进行唯一标识,由相关统计值构成,包括预统计阀值
判定对象,获取特征字处理范围以及特征字阀值判定对象等三项统计值,各统计 值具体含义在后续步骤中进行详细说明。
③ 预统计处理4,通过对数据进行应用层数据统计,得到预统计阀值判定对 象以及获取特征字处理范围,为步骤④做准备。
预统计阀值判定对象为两类
(1) 对独立连接小时流量进行统计,1小时内独立连接上所有数据应用层字 节数称为小时流量;
(2) 对独立连接小时连接次数进行统计,1小时内独立连接建立次数称为小 时连接次数。
特征字处理范围通过对独立连接平均特征有效bit数进行统计得到,1分钟 内该独立连接上应用层数据bit总数/1分钟内该独立连接上IP包个数称为平均 特征有效bit数,该统计仅在独立连接第一个l分钟内进行,如果独立连接持续 时间小于l分钟,结束该独立连接的维护。
独立连接上的数据完成预统计处理,得到预统计阀值判定对象以及获取特征 字处理范围后,作为识别失败应用数据输出,不进行缓存处理。④ 预统计阀值判定5,定时对预统计阀值判定对象,即独立连接的小时流量 和小时连接次数进行阀值判定。特征统计阀值为可配置值,根据特征统计精度以 及模块实现性能权衡得到。判定时间间隔为可配置值,为小时级别,默认为1.5 小时;
当小时流量或小时连接次达到特征统计阀值时进入步骤⑤进行后续处理; 未达到特征统计阀值时,则完成独立连接删除6,结束该独立连接的维护。
⑤ 特征字统计7,通过对数据进行应用层数据统计,得到特征字阀值判定对 象,为步骤⑥做准备。特征字统计对独立连接上连续X个IP包进行二进制码流 运算。这里假定独立连接上从进入特征字统计开始直到独立连接结束的IP包个 数为Y,当Y小于100时,X取值为Y;当Y大于等于100时,X取值为100。特 征字统对这连续X个IP包应用层数据中前N个bit码流(N为该独立连接上平 均特征有效bit数)依次进行'运算,运算结果称为特征统计对象。特征统计对 象中bit值为1个数M称为特征有效bit数,M/N称为特征统计值。独立连接上 的数据完成特征字统计处理,得到特征字阀值判定对象后,作为识别失败应用数 据输出,不进行缓存处理。
⑥ 特征字阀值判定8,定时对特征字阀值判定对象,即特征统计值进行阀值 判定。特征字阀值为可配置值,根据特征统计精度以及模块实现性能权衡得到, 范围在0% — 100%之间。判定时间间隔为可配置值,为分钟级别,默认为10分 钟;
当特征统计值达到特征字统计阀值时进入步骤⑦进行后续处理; 未达到特征字统计阀值时,则完成独立连接删除9,结束该独立连接的维护。
⑦ 深度包检测策略处理10,为新获取的应用动态深度包检测特征分配应用 类型标识,由该应用动态深度包检测特征和应用类别标识生成DPIP,并下发给 DPI处理模块。当DPI处理模块运行时,接收该DPIP,添加到DPI处理匹配条件 的同时,自动更新DPIP配置文件。对于该应用后续连接数据由DPI模块根据更 新后的DPIP进行DPI处理,获取应用类型。
权利要求
1、一种基于动态深度包检测的互联网应用识别方法,包括访问控制列表模块(10)和深度包检测模块(20);其特征在于设置有动态深度包检测策略生成模块(30);访问控制列表模块(10)、深度包检测模块(20)以及动态深度包检测策略生成模块(30)前后依次进行;所述的访问控制列表模块(10)是通过访问控制列表对基于五元组的互联网应用进行识别;所述的深度包检测模块(20)是根据深度包检测策略对基于特征字的互联网应用进行识别;所述的动态深度包检测策略生成模块(30)是通过对互联网应用进行特征统计,动态得到互联网应用的特征,由特征生成深度包检测策略,进一步由深度包检测模块(20)进行识别处理。
2、 按权利要求l所述一种基于动态深度包检测的互联网应用识别方法,其 特征在于动态深度包检测策略生成模块(30)的工作流程包括下列步骤① 开始(1);② 独立连接查找(2),即DDPI策略生成模块30根据五元组查找独立连接; 查找失败则进入独立连接建立(3),査找成功或新建成功的数据进入步骤③,新建失败的数据结束识别;③ 预统计处理(4);④ 预统计阀值判定(5),当小时流量或小时连接次达到特征统计阀值时进入 步骤⑤进行后续处理;未达到特征统计阀值时,则完成独立连接删除(6),结束 该独立连接的维护。⑤ 特征字统计(7);⑥ 特征字阀值判定(8),当特征统计值达到特征字统计阀值时进入步骤⑦进 行后续处理;未达到特征字统计阀值时,则完成独立连接删除(9),结束该独立连接的维护;⑦深度包检测策略处理(10)。
全文摘要
本发明公开了一种基于动态深度包检测的互联网应用识别方法,涉及一种互联网应用识别方法。本发明包括访问控制列表模块(10)和深度包检测模块(20);设置有动态深度包检测策略生成模块(30);访问控制列表模块(10)、深度包检测模块(20)以及动态深度包检测策略生成模块(30)前后依次进行;所述的动态深度包检测策略生成模块(30)是通过对互联网应用进行特征统计,动态得到互联网应用的特征,由特征生成深度包检测策略,进一步由深度包检测模块(20)进行识别处理。本发明识别范围广泛,准确率高,处理效率高,操作灵活,可扩展性好,可实现性强,既可作为网络设备功能实现,也可作为网络分析系统功能实现。
文档编号H04L29/08GK101414939SQ20081023660
公开日2009年4月22日 申请日期2008年11月28日 优先权日2008年11月28日
发明者彪 杨, 熊桂兰, 许泽文 申请人:武汉虹旭信息技术有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1