网络应用流分析与风险评估透析论文

时间:2022-12-29 02:54:00

网络应用流分析与风险评估透析论文

论文摘要:针对网络中的各种应用服务的识别检测,采用应用层协议签名的流量识别技术和流量分组技术,实现网络应用流的分析和风险评估系统——RAS,提出基于流量分组技术的应用流风险评估模型。该系统为网络资源分配和网络安全的预测提供有价值的依据。实验结果表明,TARAS系统具有良好的流量分析效率和风险评估准确性。

论文关健词:应用流分析;风险评估;流量分组

1概述

基于互联网的新技术、新应用模式及需求,为网络的管理带来了挑战:(1)关键应用得不到保障,OA,ERP等关键业务与BT,QQ等争夺有限的广域网资源;(2)网络中存在大量不安全因素,据CNCERT/CC获得的数据表明,2006年上半年约有14万台中国大陆主机感染过Beagle和Slammer蠕虫;(3)传统流量分析方法已无法有效地应对新的网络技术、动态端口和多会话等应用,使得传统的基于端口的流量监控方法失去了作用。

如何有效地掌握网络运行状态、合理分配网络资源,成为网络管理者们的当务之急。针对以上需求,作者设计并实现了一套网络应用流分析与风险评估系统(TrafficAnalysisandRiskAssessmentSystem,TARAS)。

当前,网络流量异常监测主要基于TCP/IP协议。文献[5]提出使用基于协议签名的方法识别应用层协议。本系统采用了应用层协议签名的流量分析技术,这是目前应用流分析最新技术。然而,简单的流量分析并不能确定网络运行状态是否安全。因此,在流量分析的基础上,本文提出了应用流风险评估模型。该模型使用流量分组技术从定量和定性两方面对应用流进行风险评估,使网络运行状态安全与杏这个不确定性问题得到定性评估,这是当前网络管理领域需要的。

2流量分析模型

目前应用流识别技术有很多,本文提出的流量识别方法是对SubhabrataSen提出的应用协议特征方法的改进。针对种类繁多的应用层协议采用了两级匹配结构,提高效率。

应用识别模块在Linux环境下使用Libpcap开发库,通过旁路监听的方式实现。在设计的时候考虑到数据报文处理的效率,采用了类似于Linux下的NetFilter框架的设计方法,结构见图1。

采取上述流量识别框架的优点:(1)在对TCP报文头的查找中使用了哈希散列算法,提高了效率;(2)借鉴状态防火墙的技术,使用面向流(flow)的识别技术,对每个TCP连接的只分析识别前10个报文,对于该连接后续的数据报文则直接查找哈希表进行分类,这样避免了分析每个报文带来的效率瓶颈;(3)模式匹配模块的设计使得可扩展性较好。

在匹配模块设计过程中,笔者发现如果所有的协议都按照基于协议特征的方式匹配,那么随着协议数量的增大,效率又会成为一个需要解决的问题。

因此,在设计应用流识别模块时,笔者首先考虑到传输层端口与网络应用流之间的联系,虽然两者之间没有绝对固定的对应关系,但是它们之间存在着制约,比如:QQ协议的服务器端口基本不会出现在80,8000,4000以外的端口;HTTP协议基本不会出现在80,443,8080以外的端口等,因此,本文在流量分析过程中首先将一部分固定端口的协议使用端口散列判断进行预分类,提高匹配效率。

对于端口不固定的应用流识别,采用两级的结构。将最近经常检测到的业务流量放在常用流量识别子模块里面,这样可以提高查找的速度。另外,不同的网络环境所常用的网络应用流也不同,因此,也没有必要在协议特征库中大范围查找。两级查询匹配保证了模型对网络环境的自适应性,它能够随着网络环境的改变以及网络应用的变化而改变自己的查询策略,但不降低匹配效率。应用流识别子模块的设计具体结构见图2。

3风险评估模型

本文采用基于流量分组技术的风险评估方法。流量分组的目的是为流量的安全评估提供数据。

3.1应用流的分组

网络应用种类多、变化频度高,这给应用流的评估带来了麻烦,如果要综合考虑每一种应用流对网络带来的影响,显然工作量是难以完成的。因此,本文引入应用流分组的概念。应用流分组的目的是从网络环境和安全角度的考虑,将识别后的流量进行归类分组。笔者在长期实验过程中,根据应用的重要性、对网络的占用率、对网络的威胁性等因素得到一个较为合理的分组规则,即将网络流量分为:关键业务,传统流量,P2P及流媒体,攻击流,其他5类。应用流分组确定了流量评估的维度,这样有利于提高评估的效率。表1列举了部分应用流的分组。

应用流分组模块有2个功能。首先是将检测到的各种应用流量按照表1中的分组归类,并计算各分组应用流量的大小、连接数目、通信主机数目3个方面的信息,并以一定的时间周期向流量安全评估模块传送数据。另外一个是在安全事件出现时,向安全响应模块提供异常应用流名称和其他相关信息。应用流分组模块的输入是各应用流的流量大小,而输出有2个:

(1)整个网络的流量分布矩阵。

(2)异常主机流量分组中的成份。

笔者引入流量矩阵的概念。流量矩阵A的数学定义为

其中,aij表示第i台主机的第j组流量的大小,aij的单位为实际流量的单位大小。流量矩阵反映了网络中信息流动的整体情况。

由于TCP/IP协议的广泛应用,网络流量中的绝大部分使用基于TCP的传输层协议,因此传输层的网络连接数也在一定程度上反映了网络流量的情况。定义网络连接数矩阵为

其中,Lij表示第i台主机第J组应用流的网络连接数。

在网络通信过程中,每个流量分组的通信主机数量具有参考价值,在此引入通信主机数量矩阵,数学描述为

其中,hij为表示某一分组流量的通信主机数目。

另外,流量分组模块在接收到安全响应模块的请求时,会向其发送该异常网络节点的应用流类别信息。

信息内容为:主机IP地址,主机应用流分组名,应用流名称列表。

3.2应用流的风险评估

网络流量的特征是网络安全性的重要表现。本节主要描述网络用户流量的安全评估过程和机制。流量的安全评估实际上是网络风险评估过程的一部分。风险评估的方法有定量评估、定性评估和定性与定量结合的评估方法。在此本文借鉴风险评估定性与定量结合的方法设计流量的安全评估子模型。

本节首先确定该模型的评估的对象、指标和目标,评估的具体方法如下:

(1)流量安全评估的对象是每个网络节点的应用流分组。

(2)评估对象的定量指标分别是网络流量大小、网络连接数和网络通信主机数。

(3)评价的目标是确定各应用流的安全性。

(4)评估方法是以先定量后定性的方法为原则,具体方法如下:

1)制定各分组流量的安全评估规则,为量化评估提供依据。

2)参照安全评估规则,根据3个量化指标评价网络用户流量的安全性,并得到安全评分。

3)根据安全性评价集,将量化后的安全评分指标定性化。另外,对于攻击流进行特别评估,并且当出现攻击流时,攻击流安全等级代表主机安全等级。

安全评估子模型的结构如图3所示。

3.2.1各分组流量的安全定量评价

对于不同分组的通信行为和流量特点,本模块采用分指标量化评估的方法进行安全评估。表2中各指标的安全性划分是根据实验得出的结论。

对于各流量安全评估节点,A各节点应用分组流量的集合;L为网络连接的集合;H是各节点通信主机数集合;Sij是各节点量化评估的结果集合。定义安全评估函数F(A,L,H)=Sij(1≤i≤n,1≤j≤5),用于表示目标节点流量安全评估的量化结果,从而实现对目标安全状况的定量分析。

将该评价方法设为F则该过程可用数学描述如下:

其中,Sij为各网络节点中应用流分组的安全评分。

3.2.2流量安全定性评价

量化后的安全评分对与安全程度的描述仍然有很大的不确定性,因此,需要将安全评分定性化以确定其所在的安全级别。每个安全级别确定安全分数以及对于攻击流的安全等级划分如表3—表5所示。

以上5个安全等级对于流量的安全性的区分如下:

(1)安全状态表明该分组流量属于正常情况;

(2)可疑状态表明该分组流量中有可疑成分或流量大小超过正常情况;

(3)威胁状态表明该类流量威胁到网络的正常运行和使用;

(4)危险状态主要指该分组流量危害网络的正常运行;

(5)高危状态表明该类分组的流量成分已严重危害网络正常运行。

量化安全评分经过定性划分后可以得到一个定性的流量安全评估矩阵Th,将该过程用运算h表示为

其中,Tij为第i台主机第j组应用流的安全等级。

4实验结果

4.1应用流的识别率

由于TARAS系统能够识别多种应用流量,因此识别算法的准确性是一个重要的指标。网络环境重的各种因素以及网络应用协议特征不断变化等原因,TARAS系统对应用流的识别存在漏报和误报的间题。应用流的识别率见表6。由表6的统计数据可以看到,TARAS对各种协议的识别存在漏报和误报的情况。具体来看,eMule应用由于大量使用UDP传输数据,因此识别率不高。另外,http协议通常使用传输层80端口,但这个端口也被QQ和MSN2个聊天软件使用,除此之外一些木马后门程序为了防止防火墙的封杀也往往使用该端口,因此,在识别过程中http协议会产生误报,即将非http协议数据也当作http协议计算。

4.2应用流的风险评估

为了测试TARAS系统风险评估的准确性,笔者在拥有8台主机的局域网中做相关测试,并以其中3台(主机17、主机77和主机177)进行实验。局域网内8台主机各应用分组流量状况如表7所示。关键业务和其他应用的分组流量为0。

主机17使用传统应用FTP执行下载任务,其他流量分组中无或只有极少流量,从表7可以看出,该主机的传统应用分组流量达到2Mb/s,此时传统应用流量分组应该达到威胁级别,而其他分组应该都是安全级别,主机的总体评价为安全。主机77不断受到Nimda蠕虫病毒的攻击,从表7可以发现,该主机高危分组的流量为2048kb/s,此时该分组应该达到高危级别,而其他分组由于流量为0因此为安全,主机的总体评价为高危。主机177使用BT进行下载,并使其流量达到1536kb/s,根据风险评估策略,该主机的P2P及流媒体分组应该达到威胁级别,其他分组应该都是安全级别,主机的总体评价为安全。表8为TETRAS系统对表7所示流量状况进行评估所得的风险评估结果。

对比表7和表8可以发现,TARAS系统能够正确地对网络中各主机流量状况进行风险评估。同时该实验结果也证实:虽然TARAS系统对于应用流的识别存在一定误差,但是该误差没有严重影响网络运行状况和风险级别安全,误差在可接受范围内。

5结束语

本文针对当前网络管理面临的问题,将应用流成份分析和风险评估引入到网络流量分析和评估领域中,设计并实现了应用流分析和评估系统——TARAS。该系统主要解决网络流量管理中的2个问题:

(1)网络运行状态感知。借鉴韩国浦项大学Myung-SupKim的分析方法,采用常用协议特征识别的方法设计流量识别系统。

(2)网络应用流的风险评估。采用基于权重打分的方法对各网络节点应用分组的流量进行先定量后定性的评估。