应用识别技术白皮书
关键词:应用识别、应用协议模型化、应用协议智能决策、应用识别定义语言、UAAE
摘 要:H3C UAAE技术是指使用统一的应用协议及应用定义语言技术、应用协议模型化分类识别技术、应用协议的智能决策技术对应用协议和应用精确识别的技术。
缩略语:
缩略语 | 英文全名 | 中文解释 |
BT | BitTorrent | 比特洪流 |
FTP | File Transfer Protocol | 文件传输协议 |
HTTP | Hypertext Transfer Protocol | 超文本传输协议 |
NAT | Network Address Translation | 网络地址转换 |
P2P | Peer to Peer | 对等网络 |
UAAE | Universal Application Apperceiving Engine | 通用应用识别引擎 |
VoIP | Voice over IP | 在IP上传送语音 |
目 录
应用管理是指在深度、智能感知应用的基础上,对应用作全面、透明的管理,如应用入侵抵御、应用带宽管理和应用审计管理等。
应用识别是指依据应用本身的特征,将承载在同一类型应用协议上的不同应用区分出来。
应用协议识别是指依据应用协议的不同模型化分类,使用不同的识别技术,准确地识别应用协议。
网络应用的发展给网络安全管理带来了新的问题。
l 一些新的更复杂的安全风险隐藏在应用之中,与应用本身密不可分。譬如,基于Web服务的安全漏洞和利用这些漏洞的攻击越来越多。如何准确识别这些攻击成为网络安全管理的严重挑战。
l 一些未受控的应用,利用网络这一“封闭管道”,挤占正常应用带宽。例如,企业网中,基于P2P的下载、娱乐类应用占用了大量的带宽,影响企业的整体生产率。对于这类应用的准确识别,也成为关注的焦点。
无论是基于应用的攻击识别,还是基于应用的带宽管理,应用识别已成为应用管理的基础。由于应用协议是应用的运行环境,因而应用的准确识别是基于应用协议的准确识别。
应用协议从基于TCP/UDP固定端口发展成绝大多数基于TCP/UDP可变端口。而传统应用识别系统依靠固定端口或内容特征识别等单一手段,没有把报文的深度内容检测以及相关的协议解析、检测验证结合起来,更谈不上在应用环境下对应用行为或攻击行为进行有状态的推导,导致这些系统识别度不高。因而发展新的应用协议识别技术成为必需。在准确识别应用协议的基础上,才能对应用做到深入、全面和准确地管理。
为了准确地识别应用协议及应用,H3C通过对应用协议和应用的分析,提出了UAAE技术。
H3C UAAE技术包括:统一的应用协议及应用定义语言技术、应用协议模型化分类识别技术、应用协议及应用智能决策技术。H3C UAAE技术具有如下优点:
l H3C UAAE通过通用的应用协议和应用定义语言,能够动态升级应用识别库,解决及时识别新应用的问题。
l H3C UAAE以模型化分类识别技术将应用协议及应用进行分类识别,兼顾了识别效率和准确性;对于同一报文使用不同的分类识别技术识别出的应用协议依据优先级进行智能决策。
l H3C UAAE在准确识别应用协议的基础上,深度、智能感知应用,在应用环境中检测和抵御攻击,把各种应用及其行为置于明确的可管理的前提下,实现准确的应用带宽管理和透明的应用审计管理。
图1 H3C UAAE架构
l 统一的定义语言,以及协议定义、协议特征状态机定义、应用定义、应用特征状态机定义是H3C UAAE定义、扩展和升级的基础。H3C UAAE使用统一的定义语言对协议、协议特征状态机、应用、应用特征状态机进行定义,易于扩展和升级新的应用协议和应用。
l H3C UAAE对应用报文进行协议解析,然后进行特征识别;对特征识别结果结合已识别的应用环境进行分析或依据多个报文的特征识别结果跟踪特征状态机,准确识别出应用协议和应用。
H3C UAAE的智能识别以协议模型化识别为核心,有机地结合协议解析、应用环境分析、状态跟踪和特征识别,如图2所示。
H3C UAAE根据协议的识别结果,在数据送入特征识别前对数据进行解析;特征识别的结果在数据所处的应用环境下进行分析验证;按照识别模型,一些特征识别结果还会触发UAAE跟踪特征状态机,进行基于状态的应用识别。其中,每个模块的具体功能如下:
l 协议模型化识别和智能决策:通过多种模型,依据协议层次的特点对协议进行识别,并对识别的结果依据优先级进行智能决策。这样使得协议识别高效、准确。
l 协议解析:按照协议层次对协议进行解析,并对协议载荷进行相应的解码。
l 特征识别:在协议识别的基础上,基于协议载荷对协议进行特征识别。
l 应用环境分析:在应用环境中,对特征识别的结果进行过滤和筛选。
l 状态跟踪:对于某些必须对多个报文进行特征识别才能确认的协议,状态跟踪模块可以对部分报文协议载荷的特征识别结果进行状态管理。
H3C UAAE对种类繁多的应用协议进行模型化识别,同时在模型化识别的基础上依据优先级进行智能决策,如图3所示。
图3 H3C UAAE应用识别引擎模型化和智能决策
H3C UAAE的应用协议模型化识别不是完全在一个扁平层次上进行的,而是根据应用协议自身的特点层次化的。例如,H3C UAAE对于在TCP协议上通过固定端口或特征状态机识别出HTTP协议,而在HTTP协议上通过特征状态机识别其上承载的其他应用协议,这种细化进一步提高了应用协议识别模型化的精度。下面对每种模型化识别方式分别进行介绍。
固定端口小于1024的协议,其端口通常是相对稳定的,可以根据端口快速识别它们;另外,如用户明确其网络应用布局,用户也可以自定义其对网络中特定端口下的应用协议。H3C UAAE提供快速的固定端口协议识别模型,同时会用协议智能决策来修正固定端口上误报的协议,从而兼顾了识别系统的效率和准确度。
如图4所示,目前越来越多的协议采用控制通道和数据通道配合的模型,控制通道用于协商出一个或多个数据通道进行数据交互,数据通道通常使用控制通道协商的随机TCP/UDP端口。如FTP协议、VoIP应用协议属于这种模型。H3C UAAE针对这类协议,采用多通道关联协议识别技术,能准确地识别协商协议。
如图5所示,防火墙和NAT设备的部署,造就了很多应用层隧道的出现,这些隧道是应用协议层次之间发生了嵌套。如HTTP Tunnel,表面是一个80端口的连接,但实际上可能承载任何应用数据。隧道本质上只是一个通道,需要对隧道的载荷进行应用协议的准确识别。H3C UAAE有专门的隧道递归识别模型,能够识别出HTTP Tunnel这类隧道内的应用协议。
在许多固定端口的协议中,可以重新指定固定端口。如HTTP协议,除80端口外,通常还有8000、8080等,甚至可以指定任意端口。此外,还有许多P2P协议,如BT、eMule、迅雷,协议本身的端口范围是可变的。这两种情况下,若只通过固定端口来识别,会造成应用协议的误识别和漏识别。H3C UAAE不仅能够通过单个报文的固有协议特征进行应用协议识别,还可以通过多个报文中不同的协议特征跟踪特征状态机进行应用协议识别,很好地解决了上述问题。
H3C UAAE是一个可扩展的架构,易于扩展协议插件。对于特定协议,UAAE结合协议插件的确认结果完全精确地识别协议。
准确识别应用协议,既可以使用单一识别方法,也可以综合使用多种识别方法。对于同一个应用报文使用多种识别方法得出多个应用协议时,需要采取智能决策机制,准确识别出应用协议。
H3C UAAE在以上模型分类识别的基础上,还进行有效灵活的智能决策。UAAE对各种识别手段和验证方法进行优先级排序,高优先级的识别结果动态智能的替换低优先级的识别结果,如此使应用识别的结果精确度大大提高。
例如,传统的应用识别系统仅根据固定端口,把所有80端口识别成HTTP流量。H3C UAAE对于使用TCP 80端口登录的Skype协议,在TCP握手时,UAAE根据端口识别出该会话是一个HTTP会话。进一步检测会话的内容,一旦识别了Skype的登录行为特征,UAAE依据优先级能够立即智能地做出判决,将会话识别为Skype登录协议。
图6 可扩展、可升级的应用识别和行为识别能力
网络应用的变化不仅体现在量上的增加,更体现在其增长速度的加快上。另外,实际分析表明,一些应用,如VoIP、P2P,为了躲避监管,也会不断地调整和修改其通讯协议。
H3C UAAE框架是一个可扩展的框架,支持使用统一的定义语言定义新的应用协议,更新应用识别库以及扩展新的应用插件,可以及时识别新的应用协议和应用,很好地满足应用网络的变化需求。
H3C UAAE应用识别库的升级途径:
l H3C有专业的应用分析团队,能够及时分析网络中的应用变化,为用户提供最新的应用识别库,用户可以使用手动升级或自动升级应用识别库,即时提升用户设备的应用识别能力。
l 同时,H3C UAAE提供Web接口,用户可以配置固定端口和特征从而定义特定的应用协议。
Copyright ©2009 杭州华三通信技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
本文档中的信息可能变动,恕不另行通知。