1 概述
互联网犹如一般双刃剑,在给人们带来方便的同时,也带来了网络安全的巨大隐患,每年由于网络安全事件所带来的经济损失和国家安全威胁一直居高不下。在个人用户层面,由于病毒、木马、恶意扫描和其它的黑客攻击手段造成的个人信息泄露、财产损失和其它的问题已经使得用户不胜其扰。各部门对于网络信息安全的工作愈来愈重视,各类加强网络安全的软硬件被相继部署到内网与DMZ区之间或者是放置在出口位置[1]。很多单位也考虑利用网络行为分析和审计系统来监控分析用户的上网行为。但是传统的行为审计与分析系统只能做到对网络行为的记录和收集,对于深入分析这一块做的不是很好。
对于一些非法的、未受控的应用必须识别并加以控制,否则他们将利用网络这一“封闭管道”,挤占合法应用带宽,如在内部网络中中,P2P下载、娱乐类等应用占用了大量的带宽,会对正常的业务造成极大的影响。
现阶段,基于端口进行应用协议的识别是最为通常的手段。但随着各种网络应用的逐步丰富,这种基于端口来识别报文所属协议类型的方法暴露出其存在的不足,这就迫切要求一种基于更新的识别技术的审计系统来解决问题。随着网络安全防护过程中对应用层的关注,基于深度包检测技术(DPI)和深度流检测技术(DFI)成为安全领域的热门技术之一[2]。
2 UAAE(Universal Application Apperceiving Engine)技术
2.1常见的应用识别技术分析
为了应对端口固定进行协议识别的缺陷[3],在实际使用过程中,主要有DPI和DFI两种技术:
DPI(Deep Packet Inspecttion),即深度包检测。在进行分析报文头的基础上,结合不同的应用协议的“指纹”综合判断所属的应用。
DFI(Deep Flow Inspection),即深度流检测。它是基于一种流量行为的应用识别技术。不同的应用类型体现在会话连接或者数据流上的状态各有不同,表1展现了不同的应用的流量特征。
这两种技术,由于实现机制的不同,在检测效果上也各有优缺点。
DPI技术由于可以比较准确的识别出具体的应用,因此广泛的应用于各种需要准确识别应用的系统中,如运营商的用户行为分析系统;而DFI技术由于采用流量模型方式可以识别出DPI技术无法识别的流量,如P2P加密流等,因此目前越来越多的在带宽控制系统中得到应用。
2.2 UAAE应用识别模型
2.2.1 应用识别分类
基于对现有协议的识别方法进行深入研究,以及对网络协议的深刻理解基础上,结合上述两种应用识别技术,H3C提出了一种通用的协议识别模型——UAEE(Universal Application Apperceiving Engine)。在该应用识别模型中,对于应用的识别可以分成如下几类:
1) 固定端口协议类:一些协议如BGP、RIP等,其端口是相对稳定的,可以根据端口号快速识别。
2) 特征状态发现协议类:绝大部分P2P协议的端口是不固定的,有些甚至故意使用一些标准协议的知名端口,如BT、Emule、迅雷、Skype等,都会使用80端口进行协议交互,因此需要依靠深入的数据分析来识别这些应用协议。
3) 隧道协议类:防火墙和NAT设备的部署使得网络中出现了很多应用层隧道。如HTTP Tunnel,表面来看是一个80端口的连接,但实际上里面有可能承载了任何种类的应用数据。
4) 流量模型发现协议类:越来越多的P2P流量采用加密方式传输,如迅雷、Skype等,通过上述应用“指纹”方式是无法识别的。
在UAEE模型中,对于上述类别1-3采用DPI技术进行具体应用的识别;对于DPI技术无法识别的应用和数据流,则通过DFI进行流量的识别[4],及上述类别4。
2.2.2 UAEE模型
在IP协议簇中,协议是有层次关系的,如同一棵树,如图1所示。
对于每个协议,可以通过应用“指纹”来识别。应用“指纹”即协议的特征,它可以对一个或多个进行定义,这样也组成了协议特征树。对于每个特征可以指定其对应的父辈协议特征,UAEE通过一套完整的语法来描述协议的识别方法。
如图2所示,数据包经过重组后送到协议识别核心模块,该模块将数据包交给检测引擎进行检测;检测引擎根据接收到的动态下发的协议特征树对数据包进行检测,然后向协议识别核心模块返回命中的检测结果;协议识别核心模块根据该检测结果和其内部的协议特征树进行协议层次推导并识别出相应的协议。同时如果协议识别核心模块发现一个会话经过多个报文仍然没有获知最上层应用,则会采用DFI技术对流量进行深度分析识别[5],从而判断出对应未知流量所属应用。
UAEE引擎在结合应用模型分类识别的基础上,还能够进行有效灵活的智能决策。它可以对各种智能手段和验证方法进行优先级排序,高优先级的识别结果动态智能的替换低优先级的识别结果,使应用识别的结果精确度大大提高。例如,对于使用TCP 80端口登录的Skype协议,在TCP握手时,UAEE根据端口识别出该会话是一个HTTP会话。进一步检测会话的内容,一旦识别了Skype的登录特征,UAEE可以依据优先级立即智能地做出判决,将会话识别为Skype登录协议。
3 基于UAAE的网络审计系统设计
3.1 系统架构
系统在传统的网络审计系统基础上,分为用户界面、流量分析及处理和日志记录等几个模块,其中流量分析及处理部分又分为流量识别、数据包处理和协议及端口分析三个部分[6],主要负责对流量数据包进行捕获、分析和处理,并根据端口和协议类型识别出其性质,并对识别的具体情况作出记录,系统内置的特征库将帮助其判定识别结果;日志系统负责记录日志并将结果以适当的方式提供给用户界面做查询及导出处理;用户界面负责处理用户策略的下发及日志信息的显示等,同时要提供若干查询接口供用户使用。具体架构如图3。
3.2 用户界面
用户界面提供了系统与用户的交互功能,主要实现两个功能,用户策略的下发,查看流量数据包的识别结果及分析情况。
用户策略的下发,用户可以选择监控主机的IP地址,协议类型,及控制类型,若是干扰则填入干扰速率,系统会将策略信息存入特征库中。
查看流量数据包的识别结果,通过用户界面可以看到实时情况或是以往某个时间段的流量识别情况,并且包含协议对应的包大小,占总的百分比
,所属类型等。
3.3 流量识别模块
本文介绍了多种识别技术,流量识别模块需要根据流量的特点选择识别技术,有些协议通过与特征库中的规则进行相关匹配就可以进行识别,有些则需要考虑包长,发包速率,或负载内容等情况,要为这些协议提供针对性的代码识别策略。根据P2P,BT,网页,游戏、基金股票等多种业务大类上百种应用协议的分析,总结出协议识别流程。
3.4 数据库处理模块
图3中显示数据库与系统中的多个模块都有数据交互,该模块对用户界面与识别模块、干扰模块进行数据共享,也是日志模块的数据源头。这样即省去了各个模块之间的数据通信,又不用分配大量的内存空间进行数据存储。
数据库中存放了数据包的各种信息(包括包大小,到达时间,离开时间,包头信息,负载内容,识别结果以及处理结果等);用户策略(包括用户下发策略的IP、限制流量大小、下策略的协议)。识别模块将识别结果存入数据库中,供用户界面查看及日志中心记录保存。 用户界面将用户策略存数据库供干扰模块查看,而用户界面可以通过数据库查看识别和干扰结果,避免了用户界面与干扰模块的直接通信。数据库不仅成为模块之间数据传输的通道,更可以长期的保存数据信息。
3.5 协议及端口分析模块
协议及端口分析是UAAE应用识别技术最大的特点,其根据流量数据包的来源端口和目的端口分析其动向[7],并根据数据包绑定的协议判定其行为属性,利用专有模块将分析结果上报日志中心,提高了审计的准确率以及稳定性。
3.6 日志中心模块
日志模块的功能是记录系统的所进行的操作,以及错误信息,监控系统的运行状况,以及定期从数据库中导出数据包的识别结果,以日志的形式长期保存。
日志模块对整个系统的正常运行作用非常大,在发生系统故障时,可以根据系统日志查找故障原因,能迅速判断故障产生的原因;通过查看系统一段时期内执行的操作,可以防止非法使用,清除系统内存在的隐患。在配置大容量存储空间的情况下,还可以大规模长期保存系统产生的日志数据。
4 结束语
基于UAAE应用识别技术的审计系统通过图表的方式和排行的方式可以使得管理者对于网络的应用状况和热点有一个比较清晰的了解,涉及到具体的应用以及每一次访问行为,都会有一个详细的内容列表,包括:源地址、目的地址、协议、行为(读取、改写、复制、执行)、行为频度、可能的客户端软件等,这样,相比起传统的审计系统而言,管理员所能获取的有用信息就明显增多了。其特点概括如下:
1) 可以根据协议的前期报文识别具体的协议类型,从而可以很好的满足实时性的要求。
2) 支持应用的快速定义,这样通过升级应用特征库可以达到快速支持识别新的应用。
3) 引擎融合了DPI和DFI检测技术,很好的弥补了单个技术应用识别的不足,从个可以全面而完整的识别目前绝大部分的应用。
4) 在协议的推导过程中,很好的结合了协议解析、检测认证以及攻击行为的推导,从而极大的提高了攻击检测的精度。
5) 对于一个数据流,一旦应用识别成功,可以智能识别记忆结果并判断是否存在可能的安全风险,这样对于该数据流后续报文可以进行快速导航,从而提高设备的整体性能并提高对危险行为的检测效率。
参考文献:
[1] 周丽, 王小玲.基于网络审计日志关联规则挖掘的改进[J] .计算机技术与发展,2011,21(6):150-153.
[2] 杜娟,苏拥军,侯晓燕.基于DPI和DFI技术的网络流量检测方案研究[J].科技信息,2013(3):109.
[3] 陈朝晖.一种基于DPI 和DFI 技术的应用识别系统[J].电子信息,2011(6):77-80.
[4] 叶文晨,汪敏,等. 一种联合DPI 和DFI 的网络流量检测方法[J].计算机工程,2011,37(10):102-107.
[5] 候艳.基于深度包和流的流量识别系统设计[J].电子设计工程,2013,21(22):30-32.
[6] 吴军.一种以DPI为核心的网络流量识别方案[J].软件导刊,2014,13(1):23-26.
[7] 张艳荣,张治中.基于DPI的移动分组网络流量分析技术的研究与实现[J].电信科学,2014(4):88-94.