应用程序识别系统、装置以及识别网络应用程序的方法

文档序号:7706856阅读:248来源:国知局
专利名称:应用程序识别系统、装置以及识别网络应用程序的方法
技术领域
本发明涉及一种识别应用程序的系统及方法。
背景技术
网络通信由多种应用组成,包括互联网应用程序,比如网页,对等 (peer-to-peer, P2P)网络应用,即时消息(InstantMessage)等。最近几年里,P2P文件共 享和IM得到了越来越广泛的应用。对P2P/IM不受约束的大量使用会造成许多问题,例如 占用因特网服务提供商(Internet S ervice Provider, ISP)的带宽,保密信息的泄漏,病 毒,蠕虫和间谍软件等。因特网服务提供商可识别不同应用程序发送的数据包,从而对网络 进行强制安全规范。因此,为保护网络资源,可阻止未知的和可能有害的应用程序发送的数 据包。过去,网络应用程序可通过使用静态的和标准的端口来传送数据包。于是,传统的 基于端口的识别方法便可识别出来自不同应用程序的数据包。网络应用程序还可通过使用 动态的和非标准的端口来传送数据包。基于特征(signature)的识别方法检测数据包是否 携带预设特征,从而判断发送该数据包的源应用程序。特征即“指纹”,用于描述数据包的一 组独有特征。然而,一些网络应用程序可发送加密数据包,这些加密数据包可避免被基于端口 和基于特征的识别方法识别出。

发明内容
本发明要解决的技术问题在于提供一种识别应用程序的系统和方法,用以识别目 标网络应用程序发送的非加密数据包和加密数据包。为解决上述技术问题,本发明提供了一种应用程序识别系统,其包括网络接口, 用于接收网络应用程序发送的第一数据包和第二数据包;耦合于该网络接口的特征监测 器,用于根据该第一数据包识别网络应用程序,还用于产生表示第一数据包的状态的监测 数据;耦合于特征监测器的规则生成器,用于根据该监测数据及根据表示该第一和第二数 据包之间的状态转换的状态机产生规则;及耦合于该规则生成器的数据包登录控制器,用 于当第二数据包具有与该规则匹配的内容时,识别出网络应用程序。本发明所述的应用程序识别系统,所述第一数据包包括非加密数据包,所述第二 数据包包括对应的加密数据包。本发明所述的应用程序识别系统,还包括耦合于所述特征监测器的特征数据库, 用于存储分别表示多个目标网络应用程序的多个预设特征,其中,所述特征监测器通过比 较所述第一数据包的内容和所述预设特征来识别所述网络应用程序。本发明所述的应用程序识别系统,还包括耦合于规则生成器的状态数据库,用 于存储多个状态机,所述多个状态机分别表示与多个目标网络应用程序有关的多个状态转 换,其中,所述规则生成器根据所述监测数据从所述多个状态机中选择表示所述第一和第二数据包之间的所述状态转换的所述状态机。本发明所述的应用程序识别系统,所述监测数据包括表示所述网络应用程序的身 份的应用程序身份,所述第一数据包使用的协议类型,表示运行所述网络应用程序的源节 点的互联网协议地址的源IP地址,表示所述第一数据包的目的节点的互联网协议地址的 目的IP地址。本发明所述的应用程序识别系统,所述状态机包括表示所述网络应用程序的身份 的应用程序身份,与所述第一数据包相关的第一数据包状态,以及与所述第二数据包相关 的第二数据包状态。本发明所述的应用程序识别系统,如果所述应用程序身份和与所述第一数据包相 关的所述第一数据包状态都与所述监测数据相匹配,则选择所述状态机。本发明所述的应用程序识别系统,所述规则生成器根据所述监测数据和与所述第 二数据包相关的所述第二数据包状态产生所述规则。本发明所述的应用程序识别系统,所述规则在一段预设时间间隔内有效。本发明所述的应用程序识别系统,还包括耦合于所述规则生成器且耦合于所述 数据包登录控制器的规则数据库,用于存储所述规则。本发明还提供了一种应用程序识别装置,用于识别网络应用程序,其包括特征监 测器,用于根据网络应用程序发送的第一数据包识别该网络应用程序,还用于产生表示第 一数据包的状态的监测数据;规则生成器,用于根据监测数据和状态机产生规则,其中,该 状态机表示第一数据包和网络应用程序发送的第二数据包之间的状态转换;及数据包登录 控制器,用于当网络应用程序发送具有与该规则相匹配的内容的第二数据包时,识别出网 络应用程序。本发明所述的应用程序识别装置,所述第一数据包包括非加密数据包,所述第二 数据包包括对应的加密数据包。本发明所述的应用程序识别装置,还包括特征数据库,用于存储分别表示多个目 标网络应用程序的多个预设特征,其中,如果所述第一数据包具有与所述多个预设特征中 的一个特征匹配的内容,所述网络应用程序则被识别出。本发明所述的应用程序识别装置,还包括状态数据库,用于存储多个状态机,所述 多个状态机分别表示与多个目标网络应用程序有关的状态转换,其中,表示所述第一和第 二数据包的所述状态转换的所述状态机是根据所述监测数据从所述多个状态机中选择出。本发明所述的应用程序识别装置,所述监测数据包括表示所述网络应用程序的身 份的应用程序身份,所述第一数据包使用的协议类型,表示运行所述网络应用程序的源节 点的互联网协议地址的源IP地址,表示所述识别出的第一数据包的目的节点的互联网协 议地址的目的IP地址,表示所述被识别出的第一数据包在所述源节点使用的端口的源端 口,以及表示所述被识别出的第一数据包在所述目的节点使用的端口的目的端口。本发明所述的应用程序识别装置,所述状态机包括表示所述网络应用程序的身份 的应用程序身份,与所述第一数据包相关的第一数据包状态,以及与所述第二数据包相关 的第二数据包状态。本发明所述的应用程序识别装置,如果所述应用程序身份和与所述第一数据包相 关的所述第一数据包状态都与所述监测数据相匹配,则选择所述状态机。
本发明所述的应用程序识别装置,所述规则是根据所述监测数据和与所述第二数 据包相关的所述第二数据包状态来产生的。本发明所述的应用程序识别装置,所述规则在一段预设时间间隔内有效。本发明所述的应用程序识别装置,还包括规则数据库,用于存储所述规则。本发明还提供了一种识别网络应用程序的方法,其包括产生表示该网络应用程 序发送的第一数据包的监测数据;根据监测数据和状态机产生规则,其中,状态机表示网络 应用程序发送的第一数据包和第二数据包之间的状态转换;接收第二数据包;及如果第二 数据包包括与该规则相匹配的内容,则识别出该目标网络应用程序。本发明所述的识别网络应用程序的方法,所述第一数据包包括非加密数据包,所 述第二数据包包括对应的加密数据包。本发明所述的识别网络应用程序的方法,还包括访问分别表示多个目标网络应 用程序的多个预设特征;及如果所述第一数据包具有内容与所述多个预设特征中的一个特 征相匹配,则识别出所述网络应用程序。本发明所述的识别网络应用程序的方法,还包括访问分别表示与多个目标网络 应用程序相关的多个状态转换的多个状态机;及根据所述监测数据,从所述多个状态机中 选择表示与所述网络应用程序相关的所述状态转换的所述状态机。本发明所述的识别网络应用程序的方法,所述规则在一段预设时间间隔内有效。本发明再提供了一种应用程序识别装置,包括非加密数据包识别器,用于基于网 络应用程序发送的非加密数据包识别该网络应用程序,还用于基于该非加密数据包和状态 机产生规则,其中,该状态机表示网络应用程序发送的非加密数据包和对应的加密数据包 之间的状态转换;加密数据包识别器,用于当网络应用程序发送的加密数据包包含与该规 则相匹配的内容时,识别出该网络应用程序。本发明所述的应用程序识别装置,所述非加密数据包识别器包括特征数据库,用 于存储分别表示多个目标网络应用程序的多个预设特征,其中,如果所述非加密数据包具 有与所述多个预设特征中的一个特征匹配的内容,所述目标网络应用程序则被识别出。本发明所述的应用程序识别装置,所述加密数据包识别器包括状态数据库,用于 存储分别表示与多个目标网络应用程序有关的多个状态转换的多个状态机,其中,表示所 述非加密和加密数据包之间的所述状态转换的所述状态机是根据所述监测数据从所述多 个状态机中选择出。与现有技术相比,本发明应用程序识别设备不仅可识别网络应用程序发送的非加 密数据包,还可识别与该非加密数据包相对应的加密数据包。


图1所示为根据本发明一个实施例的计算机网络系统的结构框图;图2所示为根据本发明一个实施例的图1所述应用程序识别装置的结构框图;图3A所示为根据本发明一个实施例的监测数据的实例;图3B所示为根据本发明一个实施例的状态机的实例;图3C所示为根据本发明一个实施例的规则的实例;图4所示为根据本发明一个实施例的应用程序识别设备的操作流程图。
具体实施例方式以下结合附图和具体实施例对本发明的技术方案进行详细的说明,以使本发明的 特性和优点更为明显。以下将对本发明的具体实施方式
进行阐述。本发明将结合一些具体实施例进行阐 述,但本发明不局限于这些具体实施例。对本发明进行的修改或者等同替换,均应涵盖在本 发明的权利要求范围当中。本发明的实施例提供了一种识别应用程序的系统和方法。优点在于,应用程序识 别系统可基于目标网络应用程序发送的非加密数据包识别目标网络应用程序,并可根据表 示该非加密数据包的状态的监控数据以及根据表示目标网络应用程序发送的非加密和加 密数据包之间的状态转换的状态机产生规则。因此,根据该规则,可基于目标网络应用程序 发送的加密数据包识别目标网络应用程序。优点在于,应用程序识别设备可识别同一个目 标网络应用程序发送的非加密和加密数据包。图1所示为根据本发明一个实施例的计算机网络系统100的结构框图。计算机网 络系统100可包括源网络150,目的网络160和应用程序识别设备110。源网络150和目的网 络 160可为(但不局限于)家域网(home area network,HAN),局域网(local areanetwork, LAN) (metropolitan area network, MAN)(wide area network, WAN)等。 源网络和目的网络分别耦合于两个网络节点耦合于源网络150的源节点152以及耦合于 目的网络160的目的节点162。网络节点(例如源节点152或目的节点162)可为数据电 路端接设备(data circuit-terminatingequipment, DCE),例如调制解调器,集线器,网 桥,网关等,也可为数据终端设备(data terminal equipment, DTE),例如数字电话手机, 打印机,计算机主机(例如路由器,工作站或服务器)等。在图1的例子中,为实现网络通信,在源节点152上运行的各种网络应用程序可发 送数据包给目的节点162。源网络150和目的网络160可在源节点152和目的节点162之 间传送数据包。应用程序识别设备110耦合于源网络150和目的网络160之间,用于保护 网络资源。在一个实施例中,应用程序识别设备110根据网络管理策略定义需要限制或禁止 的目标网络应用程序。因此,目标网络应用程序发送的数据包的传递被限制或禁止。应用程 序识别设备110可检测来自源节点152的数据包的源应用程序,并由此决定该源应用程序 是否属于受限制或禁止的目标网络应用程序。如果通过源网络150发送来自源节点152的 数据包的应用程序属于目标网络应用程序,应用程序识别设备110可识别出该应用程序。 在识别的基础上,应用程序识别设备110还可根据识别出的应用程序源限制数据包被传递 到目的网络160。这种限制的例子包括但不局限于丢弃数据包,限制数据包的传输速度或 检查聊天记录。如果根据对数据包的检测发现该源应用程序不属于目标网络应用程序,应 用程序识别设备110可通过目的网络160发送数据包到目的节点162。优点在于,应用程序识别设备110均可识别目标网络应用程序传送的非加密和加 密数据包。在一个实施例中,如果在一段预设时间间隔T1以后仍然无法与目的节点162成 功建立通信,源节点152上运行的目标网络应用程序可停止发送数据包。举例说明,在网络管理策略下被禁止的P2P/IM应用程序可发送非加密数据包。非加密数据包可包括通信数据和状态数据。通信数据(例如文本,图像,音频或视频)可表 示需要从源节点152发送到目的节点162的信息。状态数据(例如协议,源和目的互联网 (internet protocol, IP)地址以及源和目的端口)可决定非加密数据包的传输状态。此 外,非加密数据包可包括表示P2P/IM应用程序的一系列独有特点的特征。示例性的特征可 包括(但不局限于)通信数据中的特别的字符串或状态数据中的特别的设置(例如标准 的端口)。因此,非加密数据包携带的特征可表示发送该数据包的源应用程序的身份。应用 程序识别设备110可基于特征识别方法识别P2P/IM应用程序,并根据网络应用策略丢弃该 数据包。如果非加密数据包被丢弃,在源节点152上运行的P2P/IM应用程序可加密非加密 数据包(例如使用一个或多个加密算法加密通信数据或改变状态数据的设置),并可重新 向目的节点162发送加密数据包。因此,原非加密数据包包含的特征可在加密数据包中被 删除,且加密数据包的传输状态可不同于非加密数据包的传输状态。优点在于,应用程序识 别设备110仍可识别出该加密数据包是由该P2P/IM应用程序发送的,并据此强制执行网络 管理限制。同样的,对应的加密数据包可被丢弃。因此,在一个实施例中,如果失败的通信 或传送持续的一段时间间隔大于一个特定时间(例如T1),P2P/IM应用程序将停止传送任 何数据包(例如加密或非加密数据包)。应用程序识别设备110可为通用计算机(例如个人计算机(personal computer, PC)),专用计算机(例如嵌入式系统)或其他设备或系统。在一个实施例中,应用程序识 别设备110包括应用程序识别装置130,网络接口 118和网络接口 120。网络接口或网卡 (例如网络接口 118和网络接口 120)可为以太网接口,光线分布式数据接口或其他类型 的接口。网络接口 118耦合于应用程序识别装置130和目的网络160之间,用于将应用程 序识别装置130连接到目的网络160。同样的,网络接口 120耦合于应用程序识别装置130 和源网络150之间,用于将应用程序识别装置130连接到源网络150。因此,应用程序识别 设备110分别通过网络接口 120和网络接口 118连接到源网络150和目的网络160。应用 程序识别设备110可在权利要求的范畴内包括其他结构和组件,且不局限于图1所示的实 例中的结构。图2所示为根据本发明一个实施例的图1中的应用程序识别装置130的结构框 图。图2将结合图1进行描述。在图2的实例中,应用程序识别装置130包括非加密数据包识别器212、加密数据 包识别器214和路由装置216。非加密数据包识别器212用于识别目标网络应用程序发送的 非加密数据包,还用于产生规则。加密数据包识别器214耦合于非加密数据包识别器212, 用于根据非加密数据包识别器212产生的规则来识别目标网络应用程序发送的对应加密 数据包。路由装置216用于当数据包没有被识别出由某个目标网络应用程序发送的数据包 时,传送该数据包到目标节点162。在一个实施例中,非加密数据包识别器212包括特征监测器220和特征数据库 222。特征数据库222耦合于特征监测器220,用于存储分别表示多个目标网络应用程序的 多个预设特征。特征监测器220用于根据存储在特征数据库222的多个特征检测来自各种 网络应用程序的非加密数据包。更具体的说,特征监测器220可接收数据包,并通过比较数据包中的内容和特征
9数据库中的预设特征来检测该数据包。如果该数据包包括与一个预设特征(例如P2P/IM 的特征)相匹配的内容,特征监测器220便可识别出该数据包为目标网络应用程序(例如 P2P/IM)发送的非加密数据包。特征监测器220还可产生表示被识别出的非加密数据包的状态的监测数据252。 在一个实施例中,监测数据252是通过读取被识别出的非加密数据包的状态信息(例如状 态数据)产生的。图3A所示为根据本发明一个实施例的监测数据252的实例。图3A将结合图2进 行描述。在图3A的例子中,监测数据252包括应用程序身份302,协议类型304,源IP地址 306,目的IP地址308,源端口 310和目的端口 312。应用程序身份302表示发送被识别的 非加密数据包的目标网络应用程序的身份。协议类型304表示被识别的非加密数据包的协 议类型。源IP地址306表示源节点152的IP地址。目的IP地址308表示目的节点162 的IP地址。源端口 310表示被识别的非加密数据包在源节点152上使用的端口。目的端 口 312表示被识别出的非加密数据包在目的节点162上使用的端口。这样,监测数据252 可表示被识别出的非加密数据包的状态。监测数据252可包括其他结构,且不局限于图3A 中的例子。如图2所示,在一个实施例中,非加密识别器212还可包括耦合于特征监测器220 的规则生成器230和耦合于规则生成器230的状态数据库232。如图1所述,如果非加密数 据包被识别出是由目标网络应用程序发送的非加密数据包,根据强制执行的限制该非加密 数据包可被丢弃。然后,同一个目标网络应用程序会重新发送对应的加密数据包。优点在 于,状态数据库232用于存储多个状态机,其中,每个状态机可表示一个目标网络应用程序 发送的非加密数据包和加密数据包之间的状态转换。状态机可用于产生规则,以识别目标 网络应用程序发送的对应加密数据包。图3B所示为根据本发明一个实施例的状态机254的实例。图3B将结合图2和图 3A进行描述。在图3B的例子中,状态机254可包括应用程序身份320,第一数据包状态322 和第二数据包状态324。应用程序身份320可表示目标网络应用程序的身份。第一数据包状 态322表示与目标网络应用程序发送的非加密数据包相关的数据包状态。第二数据包状态 324表示与目标网络应用程序发送的对应加密数据包相关的数据包状态。因此,状态机254 可用于表示同一目标网络应用程序发送的非加密数据包和对应加密数据包的状态转换。在一个实施例中,第一数据包状态322包括第一协议类型330和第一目的端口 334。其中,第一协议类型330表示非加密数据包使用的协议类型,第一目的端口 334表示 非加密数据包的目的端口。第二数据包状态324可包括第二协议类型332和第二目的端口 336。其中,第二协议类型332表示加密数据包使用的协议类型,第二目的端口 336表示加 密数据包的目的端口。状态机254可包括其他结构,且不局限于图3B中的例子。在一个实施例中,特征数据库222中的特征和状态数据库232的状态机可由用户 预先设定或编程获得。并且,特征数据库222中的特征和状态数据库232的状态机可得到 更新。例如,如果一个网络应用程序被定义为在网络管理策略下受限制或禁止的目标网络 应用程序,该网络应用程序的数据包传送可被检查。因此,非加密数据包的特征可被读入特 征数据库222以更新特征数据库222中的特征。并且,状态转换(例如非加密数据包和对 应加密数据包的状态数据之间的差别)可被读入状态数据库232以更新状态数据库232中的状态机。如图2所示,规则生成器230接收表示被识别的非加密数据包的状态的监测数据 252和表示被识别出的非加密数据包和同一目标网络应用程序发送的对应加密数据包之间 的状态转换的状态机254。在一个实施例中,根据监测数据252和状态机254,规则生成器 230产生规则256,用于识别对应的加密数据包。更具体的说,规则生成器230可查询状态 数据库232。如果状态机254包含的应用程序身份320和第一数据包状态322与监测数据 252相匹配,规则生成器230可从状态数据库232中选择对应的状态机254。例如,如果应 用程序身份302与应用程序身份320匹配,协议类型304与第一协议类型330匹配,且目的 端口 312与第一目的端口 334匹配,则可选择该状态机254。因此,在一个实施例中,可根据 监测数据252和状态机254产生规则256。图3C所示为根据本发明一个实施例的规则256的实例。图3C将结合图2,图3A 和图3B进行描述。图3C中与图3A和图3B中标号相同的元素具有相同的功能。在图3C的例子中,规则生成器230从状态机254中读取第二协议类型332,从监测 数据252中读取源IP地址306,从监测数据252中读取目的IP地址308,并从状态机254 中读取第二目的端口 336。然后,规则生成器230通过联合读取的数据生成规则256。如图2所示,在一个实施例中,加密数据包识别器214包括数据包登录控制器240 和规则数据库236。规则数据库236耦合于规则生成器230和数据包登录控制器240之间, 并可用于存储规则生成器230产生的规则。在一个实施例中,规则256可在一段预设时间间隔T2内有效。正如图1中所描述 的,如果在一段预设时间间隔T 1以后仍然无法与目的节点162成功建立通信,在源节点 152上运行的目标网络应用程序会停止发送数据包。预设时间间隔T2可被设置为大于预 设时间间隔T1。如果超过预设时间间隔T2,规则256可自动从规则数据库236中删除。于 是,规则数据库236的存储空间便可用于存储其他规则。在一个实施例中,数据包登录控制器240耦合于特征监控器220和规则数据库 236,用于根据存储在规则数据库236中的规则256来识别目标网络应用程序发送的对应加 密数据包。更具体的说,数据包登录控制器240可接收和检测目标网络应用程序发送的对 应加密数据包。如果该加密数据包包括与规则256中的第二协议类型332,源IP地址306, 目的IP地址308和第二目的端口 336相匹配的内容,则该目标网络应用程序便被识别出。 因此,应用程序识别设备110可识别目标网络应用程序发送的非加密和加密数据包。在一个实施例中,路由装置216用于当特征识别器220和数据包登录控制器240 没有识别出数据包为由目标网络应用程序发送的数据包时,发送该数据包给目的节点162。 更具体的说,在一个实施例中,路由装置216可包括具有有效路径和路由状态的信息的路 由表(未示出)。路由装置216可使用路由表来决定数据包的最佳路径。因此,可根据该决 定的路径将数据包发送到目的节点162。应用程序识别装置130在权利要求的范围和思想下可适用于识别各种类型的数 据包,且不局限于图2,图3A,图3B和图3C的实例。例如,在一个多数据包的系统中,多种数 据包(例如第一数据包、第二数据包和第三数据包)可先后被同一个目标网络应用程序发 送出来。状态数据库(例如状态数据库232)可保存多个状态机(例如表示第一和第二 数据包之间的状态转换的第一状态机,及表示第二和第三数据包之间的状态转换的第二状
11态机)。状态机并不局限于表示非加密数据包和加密数据包之间的状态转换。状态机也可 表示两个非加密数据包之间或两个加密数据包之间的状态转换。如果基于第一数据包识别 出了目标网络应用程序,则可根据第一数据包的监测数据和第一状态机产生第一规则。然 后,如果接收到第二数据包,则可根据第一规则基于第二数据包识别出目标网络应用程序。 同样的,可根据第二数据包的监测数据和第二状态机产生第二规则。这样,如果接收到第三 数据包,则可根据第二规则基于第三数据包识别出目标网络应用程序。图4所示为根据本发明一个实施例的应用程序识别设备110的操作流程图400。 图4将结合图1、图2、图3A、图3B及图3C进行描述。图4所涵盖的具体操作步骤仅仅作为 示例。也就是说,本发明适用于其他合理的操作流程或对图4进行改进的操作步骤。在步骤402中,产生表示非加密数据包的状态的监测数据(例如监测数据252)。 在步骤404中,根据监测数据和状态机(例如状态机254)来产生规则(例如规则256), 该状态机表示该非加密数据包和同一目标网络应用程序发送的对应加密数据包之间的状 态转换。在步骤406中,接收加密数据包。在步骤408中,如果加密数据包具有与该规则匹 配的内容,则识别出目标网络应用程序。上文具体实施方式
和附图仅为本发明之常用实施例。显然,在不脱离权利要求书 所界定的本发明精神和发明范围的前提下可以有各种增补、修改和替换。本领域技术人员 应该理解,本发明在实际应用中可根据具体的环境和工作要求在不背离发明准则的前提下 在形式、结构、布局、比例、材料、元素、组件及其它方面有所变化。因此,在此披露之实施例 仅用于说明而非限制,本发明的范围由权利要求书及其合法等同物界定,而不限于此前的 描述。
权利要求
一种应用程序识别系统,其特征在于,包括网络接口,用于接收网络应用程序发送的第一数据包和第二数据包;耦合于所述网络接口的特征监测器,用于根据所述第一数据包来识别所述网络应用程序,以及用于产生表示所述第一数据包的状态的监测数据;耦合于特征监测器的规则生成器,用于根据所述监测数据及根据表示所述第一和第二数据包之间的状态转换的状态机产生规则;及耦合于所述规则生成器的数据包登录控制器,用于当所述第二数据包具有与所述规则匹配的内容时,识别出所述网络应用程序。
2.根据权利要求1所述的应用程序识别系统,其特征在于,所述第一数据包包括非加 密数据包,所述第二数据包包括对应的加密数据包。
3.根据权利要求1所述的应用程序识别系统,其特征在于,还包括耦合于所述特征监测器的特征数据库,用于存储分别表示多个目标网络应用程序的多 个预设特征,其中,所述特征监测器通过比较所述第一数据包的内容和所述预设特征来识 别所述网络应用程序。
4.根据权利要求1所述的应用程序识别系统,其特征在于,还包括耦合于规则生成器的状态数据库,用于存储多个状态机,所述多个状态机分别表示与 多个目标网络应用程序有关的多个状态转换,其中,所述规则生成器根据所述监测数据从 所述多个状态机中选择表示所述第一和第二数据包之间的所述状态转换的所述状态机。
5.根据权利要求1所述的应用程序识别系统,其特征在于,所述监测数据包括表示所 述网络应用程序的身份的应用程序身份,所述第一数据包使用的协议类型,表示运行所述 网络应用程序的源节点的互联网协议地址的源IP地址,表示所述第一数据包的目的节点 的互联网协议地址的目的IP地址。
6.根据权利要求1所述的应用程序识别系统,其特征在于,所述状态机包括表示所述 网络应用程序的身份的应用程序身份,与所述第一数据包相关的第一数据包状态,以及与 所述第二数据包相关的第二数据包状态。
7.根据权利要求6所述的应用程序识别系统,其特征在于,如果所述应用程序身份和 与所述第一数据包相关的所述第一数据包状态都与所述监测数据相匹配,则选择所述状态 机。
8.根据权利要求6所述的应用程序识别系统,其特征在于,所述规则生成器根据所述 监测数据和与所述第二数据包相关的所述第二数据包状态产生所述规则。
9.根据权利要求1所述的应用程序识别系统,其特征在于,所述规则在一段预设时间 间隔内有效。
10.根据权利要求1所述的应用程序识别系统,其特征在于,还包括耦合于所述规则生成器且耦合于所述数据包登录控制器的规则数据库,用于存储所述 规则。
11.一种应用程序识别装置,其特征在于,用于识别网络应用程序,包括特征监测器,用于根据所述目标网络应用程序发送的第一数据包来识别所述网络应用 程序,还用于产生表示所述第一数据包的状态的监测数据;规则生成器,用于根据所述监测数据和状态机产生规则,其中,所述状态机表示所述第一数据包和所述网络应用程序发送的第二数据包之间的状态转换;及数据包登录控制器,用于当所述网络应用程序发送具有与所述规则相匹配的内容的所 述第二数据包时,识别出所述网络应用程序。
12.根据权利要求11所述的应用程序识别装置,其特征在于,所述第一数据包包括非 加密数据包,所述第二数据包包括对应的加密数据包。
13.根据权利要求11所述的应用程序识别装置,其特征在于,还包括特征数据库,用于 存储分别表示多个目标网络应用程序的多个预设特征,其中,如果所述第一数据包具有与 所述多个预设特征中的一个特征匹配的内容,所述网络应用程序则被识别出。
14.根据权利要求11所述的应用程序识别装置,其特征在于,还包括状态数据库,用于 存储多个状态机,所述多个状态机分别表示与多个目标网络应用程序有关的状态转换,其 中,表示所述第一和第二数据包的所述状态转换的所述状态机是根据所述监测数据从所述 多个状态机中选择出。
15.根据权利要求11所述的应用程序识别装置,其特征在于,所述监测数据包括表示 所述网络应用程序的身份的应用程序身份,所述第一数据包使用的协议类型,表示运行所 述网络应用程序的源节点的互联网协议地址的源IP地址,表示所述识别出的第一数据包 的目的节点的互联网协议地址的目的IP地址,表示所述被识别出的第一数据包在所述源 节点使用的端口的源端口,以及表示所述被识别出的第一数据包在所述目的节点使用的端 口的目的端口。
16.根据权利要求11所述的应用程序识别装置,其特征在于,所述状态机包括表示所 述网络应用程序的身份的应用程序身份,与所述第一数据包相关的第一数据包状态,以及 与所述第二数据包相关的第二数据包状态。
17.根据权利要求16所述的应用程序识别装置,其特征在于,如果所述应用程序身份 和与所述第一数据包相关的所述第一数据包状态都与所述监测数据相匹配,则选择所述状 态机。
18.根据权利要求16所述的应用程序识别装置,其特征在于,所述规则是根据所述监 测数据和与所述第二数据包相关的所述第二数据包状态来产生的。
19.根据权利要求11所述的应用程序识别装置,其特征在于,所述规则在一段预设时 间间隔内有效。
20.根据权利要求11所述的应用程序识别装置,其特征在于,还包括规则数据库,用于 存储所述规则。
21.一种识别网络应用程序的方法,其特征在于,还包括产生表示所述网络应用程序发送的第一数据包的状态的监测数据;根据所述监测数据和状态机产生规则,其中,所述状态机表示所述第一数据包和所述 目标网络应用程序发送的第二数据包之间的状态转换;接收所述第二数据包 ’及如果所述第二数据包具有与所述规则相匹配的内容,则识别出所述目标网络应用程序。
22.根据权利要求21所述的识别网络应用程序的方法,其特征在于,所述第一数据包 包括非加密数据包,所述第二数据包包括对应的加密数据包。
23.根据权利要求21所述的识别网络应用程序的方法,其特征在于,还包括访问分别表示多个目标网络应用程序的多个预设特征;及如果所述第一数据包具有内容与所述多个预设特征中的一个特征相匹配,则识别出所 述网络应用程序。
24.根据权利要求21所述的识别网络应用程序的方法,其特征在于,还包括访问分别表示与多个目标网络应用程序相关的多个状态转换的多个状态机;及根据所述监测数据,从所述多个状态机中选择表示与所述网络应用程序相关的所述状 态转换的所述状态机。
25.根据权利要求21所述的识别网络应用程序的方法,其特征在于,所述规则在一段 预设时间间隔内有效。
26.一种应用程序识别装置,其特征在于,用于识别网络应用程序,包括非加密数据包识别器,用于基于所述网络应用程序发送的非加密数据包来识别所述网 络应用程序,还用于基于所述非加密数据包和状态机产生规则,其中,所述状态机表示所述 非加密数据包和所述网络应用程序发送的对应的加密数据包之间的状态转换;加密数据包识别器,用于当所述目标网络应用程序发送的所述加密数据包包含与所述 规则相匹配的内容时,识别出所述目标网络应用程序。
27.根据权利要求26所述的应用程序识别装置,其特征在于,所述非加密数据包识别 器包括特征数据库,用于存储分别表示多个目标网络应用程序的多个预设特征,其中,如果 所述非加密数据包具有与所述多个预设特征中的一个特征匹配的内容,所述目标网络应用 程序则被识别出。
28.根据权利要求26所述的应用程序识别装置,其特征在于,所述加密数据包识别器 包括状态数据库,用于存储分别表示与多个目标网络应用程序有关的多个状态转换的多个 状态机,其中,表示所述非加密和加密数据包之间的所述状态转换的所述状态机是根据所 述监测数据从所述多个状态机中选择出。
全文摘要
一种应用程序识别系统、装置以及识别网络应用程序的方法。应用程序识别系统包括网络接口,特征监测器,规则生成器和数据包登录控制器。网络接口用于接收网络应用程序发送的第一和第二数据包。特征监测器耦合于该网络接口,用于根据该第一数据包识别网络应用程序,还用于产生表示第一数据包的状态的监测数据。规则生成器耦合于特征监测器,用于根据该监测数据及根据表示该第一和第二数据包之间的状态转换的状态机产生规则。数据包登录控制器耦合于该规则生成器,用于当第二数据包具有与该规则匹配的内容时,识别出网络应用程序。本发明不仅可识别目标网络应用程序发送的非加密数据包,还可识别与该非加密数据包相对应的加密数据包。
文档编号H04L29/06GK101854342SQ20091013332
公开日2010年10月6日 申请日期2009年3月31日 优先权日2009年3月31日
发明者肖海涛 申请人:凹凸电子(武汉)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1