基于XAI实现的应用识别及分类的方法
2012-08-26陈晖,唐勇
陈 晖,唐 勇
CHEN Hui1, TANG Yong2
(1. 四川大学 电气信息学院,成都 610065;2. 中科院 成都计算机应用技术研究所,成都 610041)
0 引言
随着网络应用的发展,给网络的安全管理带来了许多新的问题。一些新的更复杂的安全风险隐藏在各个应用中,与应用密不可分。譬如,基于Web服务的安全漏洞及利用这些漏洞的攻击越来越多。一些未受控的应用,占用正常应用带宽,如在企业网中,基于P2P的下载、娱乐占用大量的带宽。如何针对这些问题进行应用管理的基础在于应用识别及分类。
应用识别及分类的关键技术是协议识别,协议识别方法主要有基于IP/端口识别技术、基于行为模式识别技术、基于统计信息识别技术和基于DPI(深度包检测)识别技术。
基于IP/端口识别技术利用的是某些软件使用固定端口及服务器IP可穷举的特点,人工统计IP/端口信息,一旦发现有连接匹配信息就能够识别出相应的应用。由于该基于IP/端口识别模式使用的IP/端口特征码本身就是用于描述连接信息,因此IP/端口识别技术不具备连接内进一步分析的能力,进而不适用于连接重用情况。
基于行为模式识别技术和基于统计信息识别技术利用的是某些网络软件和用户行为的特定规律进行识别,不具有通用性且识别精度也很难满足商业化需求。且基于行为模式识别技术和基于统计信息识别技术的控制策略都是基于网络节点或连接,因此即使这两种识别技术能够识别单连接上的多种用户行为也无法通过制定策略进行区别控制。
基于DPI识别技术利用数据包载荷的固定特征进行识别,识别结果精确可靠。但是DPI本身存在效率低下的缺点,而且策略控制上同样存在困难。
目前传统协议识别技术大多受到连接的限制,能够识别出连接使用的协议,却无法进一步识别连接内的信息。对于一条连接只对应一种行为来说,用户行为能够通过识别一条或多条连接来确定。对于一条连接对应多种行为(连接重用),由于连接重用可以隐匿用户的网络行为,仅仅通过识别连接使用的协议是无法确定用户正在进行的真实操作。如何在连接重用的情况下有效地区分其中的合法行为与非法行为,提升原有系统的应用协议识别及应用分类的精准度,是网络行为分析的重要目的与重大难点。
针对以上问题,本文提供了一种高效的识别同一连接中不同用户行为的方法,从而做到有效控制非法行为。
1 XAI技术
XAI全称Extensive Application Inspection,拓展应用识别技术。XAI技术是在DPI技术的基础上发展起来的,它继承了传统DPI的所有功能,并在此基础上更进一步,将应用层识别的范畴进行了扩展,将网络流量中的更多的信息挖掘出来,提供了深层应用信息识别、攻击/威胁识别、拓扑识别等更加丰富和强大应用层识别能力。从而使产品能够进行更精细的分析、管理、保障和统计。
XAI技术针对DPI技术从两个方面进行优化和改进。
通过XAI技术,可以从相同的网络流量中挖掘出更深层次的信息和更丰富的数据,更好地为客户创造价值。
具体来说,XAI技术可以提供以下四个方面的信息。
1) 应用识别
XAI技术不仅继承了传统DPI所支持的所有识别技术,包括报文特征识别和流特征识别等,而且在许多方面更进一步,使得XAI技术的识别准确度更高,识别能力更强。
2) 深层应用信息识别
XAI技术能够在应用识别基础之上,进一步识别内容层次和行为层次的描述信息,比如:HTTP浏览的具体行为,IM的帐号信息、聊天行为等;这就使产品不仅能针对应用,而且能更进一步针对深层应用信息进行分析、管理、保障和优化。
3) 攻击/威胁识别
XAI技术可从应用流量中识别网络中的非法入侵和恶意脚本(恶意脚本,恶意邮件,恶意插件等),为网络安全保障提供预警和管理。
4) 拓扑识别
XAI 技术可以识别流量的位置信息,比如移动网络的蜂窝、WLAN 节点等,为运营商或IT管理部门提供分区域监控和管理能力。
XAI技术通过四川电力在各产品线,对从企业网到运营商网络,从宽带互联网到移动互联网、WLAN的应用层管理提供了全方位的技术支持。通过XAI技术提供的更细致和更丰富的信息,可以进行更细粒度和更具差异化的策略控制,更好地为客户提供以下价值。
1) 基于应用协议以及应用内容、应用行为等深层次应用信息的分析、管理、保障和优化;
2) 基于应用流量的攻击/威胁识别,更好地防止网络入侵,为网络安全保障提供预警和管理;
3) 基于应用内容识别,提供数据防护、关键帐号安全防护的能力;
4) 基于应用行为的识别,提供对应用行为的控制能力,防止非业务应用和非法应用,提高工作效率;
5) 基于对应用内容的识别,提供应用层防泄密、控制关键文件资料的外发的能力;
6) 基于应用流量的拓扑识别,提供对应用流量进行分区域控制的能力。
2 针对共享类应用的细分识别
现在互联网主要的工作在TCP和UDP协议上,这两种协议的基础就是网络连接。只有用户和服务提供者建立了连接,才能获取网络服务和信息。而连接是由一系列数据包构成的。在以往DPI的设计逻辑中,通常假设在单一连接上传递的数据包都是用于同一用途的。比如,一条P2P连接全部由P2P数据包构成。
但是随着网络技术的发展,很多网站开始尝试使用连接复用的方式提供服务,即在一条连接上提供不同种类、不同功能的数据包。并且由于分类的细化,很多场景下用户希望知道更为具体的行为,即使这些行为数据包位于同一连接上。在这种情况下,单一的连接识别方式在很多情况下已经不能满足用户的需要,需要对每个特定的数据包进行分析。在这种情况下,我们设计了基于数据包细分的新分类模式,对每个数据包进行分析。当然,数据包仍然不能游离与连接之外,因此这种新模式也充分利用了已有的基于连接的分类模式。用户可以通过特征库配置的方式为每条连接在这两种模式间自由切换。
新模式的工作原理如下:首先定义一组起点特征,这些特征和以前的连接特征一样,但是在匹配后,它们将激活新分类模式、为连接设置基础特征、选择后续数据包需要使用的细分特征库。连接的基础特征是连接的一种属性,一般是一种能够涵盖该连接所有可能性的特征,比如视频、游戏、P2P,或者服务提供商的信息,比如某网站或者某游戏。基础特征可以保存连接的基本属性,如果后续数据包无法分类,我们仍然可以为审计模块提供一个基础的分类结果。同时,也可以定义一组结束特征,这组特征可以停止基于数据包的分类,一般用在性质比较强的数据包类型上,比如木马、违法内容,也可以使用用户下线等关键节点。图解如图1所示。
下面举例说明:假设有一条连接,分别提供A、B、C三种视频服务,在DPI的基于连接模式下,这条连接会被表示为第一个看的的特征,假设为A。然后假定这条连接都提供的是A这种视频服务,停止分析。或者是给这条连接赋上高一级的特征,即视频。都无法具体分类出出现的视频服务种类。在新的框架下,当XAI引擎发现连接中出现A服务(假设为起点特征)时,如果在配置里面指定了这种服务,引擎会马上切换到基于数据包的细分模式,同时把这条连接标识成为视频服务,继续分析后续数据包。后续的数据包将只使用视频的特征进行分析,当发现服务B时,连接上会记录服务B出现,同时把该数据包表示为服务B,送往统计、控制或者日志模块。如果在后续数据包中未发现A、B、C任何一种服务,数据包会读取连接的基础特征,这种情况下为视频,以避免审计模块出现漏审。如果我们设置了结束特征,比如服务C,那么当发现服务C的存在时,引擎切换回基于连接的分类方式,后续数据包的分类结果将不再改变。
图1 新模式工作原理示意图
3 结束语
本文设计并实现了一种全新的基于XAI技术实现的应用识别及分类方法,通过标记不同的状态特征来区分同一连接中的不同应用,解决了连接共享类应用的识别难题,状态特征通过字符序列多维度图的结构来存储,保证了在大特征集合下的匹配速度。与传统的应用识别及分类方法如基于IP/端口识别技术、基于行为模式识别技术、基于统计信息识别技术、基于DPI(深度包检测)识别技术相比,解决了连接重用情况下传统协议识别技术无法有效区分合法行为和非法行为的问题。
[1]智能流量管理技术实现篇之XAI识别技术. http://tech.ccident.com/art/3735/20110718/2440473_1.html.
[2]崔志磊. 基于行为模式的计算机安全策略研究[J]. 苏州市职业大学学报, 2007, 18(3): 54-55.
[3]连一峰. 基于模式挖掘的用户行为异常检测[J]. 计算机学报 报, 2002, 25(3): 325-330.
[4]Pei J, Han J, Mortazavi-Asl B, et al. Prefix Span:Mining Sequential Patterns Efficiently by Prefix- Projected Pattern Growth [C]. Proc. of 2001 Int. Conf. on Data Eng.,Heidelberg, Germany, 2001: 215-224.
[5]Taylor D E,Tumer J S.ClassBench: A packet classification benchmark[C]//IEEE/ACM Transactions on Networking,New York, 2007: 499-511.