论析网络应用流分析与风险评估系统

时间:2020-11-02 13:48:29 论文范文 我要投稿

论析网络应用流分析与风险评估系统

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

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

  1概述

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

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

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

  2流量分析模型

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

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

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

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

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

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

  3风险评估模型