APP下载

基于NetFlow流量分析的网络蠕虫检测算法

2010-07-25吴国东黄牛刘巍

船电技术 2010年11期
关键词:蠕虫网络流量流量

吴国东 黄牛 刘巍

(武汉第二船舶设计研究所,武汉 )

1 引言

随着现代网络技术的发展,使用网络的用户越来越多,网络流量亦越来越大。近年来,网络安全面临着一个主要的威胁,就是通过网络传播、无需人工干预的恶意代码—蠕虫[1]。网络蠕虫导致网络流量的突然急剧增大,迅速耗尽运营商网络的所有带宽资源,造成普通用户的正常通信阻断,进而瘫痪用户业务甚至整个互联网通过破坏寄宿的主机资料、植入后门(backdoor)等手段危害终端主机的安全。而且在感染的过程中会产生大量的数据报,这些数据报给网络交换设备带来了沉重的负担,致使整个网络效率降低,甚至变成一种阻断服务攻击。

由于网络蠕虫给网络的运营和维护带来严重的威胁,因而学术界早已将该问题列为网络安全议题之一。国内外学者对网络蠕虫进行了大量的研究,取得一定的成果[2,3,4,5]。

为了方便地获得网络中路由器中转发的数据报,思科公司开发了专门用于网络流量的NetFlow协议,通过NetFlow可以实时获取网络流量详情,通过分析异常流量,可以探测出网络蠕虫的存在[6,7]。本文基于NetFlow协议、网络蠕虫的传播特征提出一个检测网络蠕虫的算法。

2 NetFlow协议及系统架构

2.1 NetFlow协议数据报格式

作为业界领先的互联网解决方案提供商,思科公司不但提供了性能卓越的网络设备,还同步配套研发了专门针对客户对网络流量分析需求的NetFlow技术。NetFlow技术能对IP/MPLS网络的通信流量进行详细的分析。为对网络中不同类型的数据流进行准确的流量分析,首先需要对网络中传输的各种类型数据报进行区分。由于IP网络的非面向连接特性,网络中不同类型的通信可能是任意一台终端设备向另一台终端设备发送的一组IP数据报,这组数据报实际上就构成了网络中的一个数据流 (Flow)。如果管理系统能对传送的所有数据流进行区分,准确记录传送时间、传送方向和数据流的大小,就可以对所有流量进行分析和统计。

目前使用较多的NetFlow版本为V5, 一个NetFlow 数据报由1个报头和1~30个流记录组成。NetFlow数据报的主要内容如表1所示:

表1 NetFlow数据报的主要内容

2.2 系统架构

网络中支持NetFlow协议的设备(如Cisco路由器)产生并发出NetFlow数据报,通过配置发包设备的端口可以将数据报输出到数据采集设备上,数据采集设备抓取NetFlow数据报并解析,将解析的数据插入至数据库中。为了减少网络设备的负担,路由器发出的NetFlow数据报是设备对高速网络端口进行抽样的结果,故保存足够的历史数据以进行统计分析相对于单条数据分析更有意义。

具体来说,利用NetFlow实现网络监控系统,应该包含如下四个部分:

(1)产生NetFlow流量数据的路由器或交换设备NFD(NetFlow Device);

(2)采集流量数据的设备NFCD(NetFlow Collector Device);

(3)数据库DB(Database);

(4) 进行流量统计分析的设备NFAD(NetFlow Analyzer Device)。

这些设备的整体结构如图1所示。

3 网络蠕虫特征

3.1 网络蠕虫NetFlow数据报特征

图1 网络流量采集及分析系统架构

由于蠕虫病毒会按照特定的程序去感染其他主机,因而发出的数据报是有一定的特征的,如数据报的协议、端口、数据报的长度等。在流量监测系统中,网络中的数据报将会通过NetFlow协议发送到NetFlow采集设备中,这样,可以通过分析NetFlow数据报特征来检测蠕虫。表2列出的是一些常见的蠕虫病毒的NetFlow数据报特征:

表2 常见蠕虫病毒的NetFlow数据报特征

3.2 网络蠕虫流量特征

由表2可以看出,通过数据报特征能较快地发现蠕虫病毒,但是蠕虫病毒变异速度非常快,如果没有及时获取新的蠕虫病毒的数据报特征则会导致蠕虫病毒的漏报,因此,我们必须研究蠕虫爆发时的网络流量特征。根据各项研究资料,蠕虫病毒传播时的特征如下:

(1)通过特定协议/端口请求连接大量的IP地址。蠕虫为了尽快感染其他主机,会向其他IP发送特定协议的数据报;

(2)大量失败的连接请求。因为蠕虫通常对攻击的IP缺乏足够的信息,如攻击IP的相应端口是否开放、IP是否提供了相应的服务等,可能使得攻击连接请求失败。

4 网络蠕虫检测算法

蠕虫爆发时,应用NetFlow分析方法,可以根据病毒的NetFlow数据报特征或者网络流量特征快速定位感染病毒的IP地址,并参考NetFlow数据流的其它特征在网络设备上采取相应的限制、过滤措施,从而达到抑制病毒流量传播的目的。

4.1 建立常见蠕虫特征表

根据已有经验和资料,建立常见蠕虫病毒NetFlow数据报特征表WormTable,表中应该包含病毒编号、名称和各项特征。

4.2 蠕虫检测算法的实现

步骤0:流量采集设备NFCD在每采集到一个数据报,都检查该数据报的NetFlow数据报特征,通过查表WormTable来实现对已知病毒的快速、准确地报告;对于未明的蠕虫病毒,按如下步骤分析其流量特征,进而判断蠕虫的存在:

步骤1:设定检测蠕虫病毒的窗口时间θ,根据观测正常网络流中连接请求的失败率,设定连接请求失败率下限ξ,以及允许同一个IP在θ时间内访问同一子网中不同目的IP的个数λ(各参数的指定因特定的网络而宜);

步骤2:每过θ时间统计一下过去的θ时间内在数据库是否存在这样的流纪录,这些流纪录的源IP地址相同,但目的IP地址不同,而且目的地址或者是保留的IP地址,或者不同的目的地址的个数为η(η>=λ),如果存在这样的源IP地址集合,则以集合WormSet记之,转入步骤3进一步分析,否则本次分析结束,转步骤4;

步骤3:如果WormSet=ф,转步骤4;否则,获取ip(ip ∈ W ormSet )并置WormSet = WormSet -{ip},查询数据库,找出所有在θ时间内目的地址为ip的流纪录的条数η’(即在窗口时间内对可疑ip有响应,说明ip请求连接的主机及协议是存在的),通过η、η’计算连接请求的失败率ξ’=1-η’/η,如果ξ’> ξ,说明ip请求连接的失败率过高,偏离正常情况,提示用户可能存在未明的蠕虫病毒,继续步骤3分析;

步骤4:分析完成,将新发现的病毒添加至WormTable表,正常退出。

5 测试结果及结论

应用本算法测试了一个网络。网络情况是:30台主机,通过cisco路由器连入局域网,该路由器作为NetFlow设备将数据发送到NetFlow采集器,并由采集器将数据存入Oracle数据库。由另一子网内一台主机用Red Code(红色代码)攻击该子网内主机,网络监控发现并成功提示可能为Red Code蠕虫。

实际上,通过流量统计特征只能得到可能存在蠕虫病毒,并不能完全确定有蠕虫病毒。因为有些网络行为和蠕虫爆发时的特征几乎一样。如进行网络拓扑发现的时候,需要通过运行拓扑发现软件的主机逐一去ping网络中所有的主机和设备,这时,在网络中就存在大量的ICMP数据报,都是从一台机器上发出,这些数据报企图和网络中的所有IP建立连接,必然有大量的连接是失败的,整个过程的特征和蠕虫病毒爆发时的特征完全相同。很显然,如果要得到完全准确的蠕虫检测报告,需要根据实际情况进行分析。

[1] Kienzle D M , Elder M C. Recent worms: a survey and trends[C]. WORM′03-Proceedings of the 2003 ACM Workshop on Rapid Malcode. New York: ACM Press ,2003 : 1-10.

[2] 张冶江, 李之棠, 陆垂伟等. P2P蠕虫的分析与对策[J].华中科技大学学报(自然科学版), 2007, 35(增刊I): 228-231.

[3] Chen G, Gray R S. Simulating non-scanning worms on peer-to-peer networks[C].INFOSCAL E’06-Proceedings of the First International Conference on Scalable Information Systems. New York: ACM Press,2006 : 29-41.

[4] Weaver N , Paxson V , Staniford S and Cunningham R.A taxonomy of computer worms[C]. WORM’03-Proceedings of the 2003 ACM Workshop on Rapid Malcode. New York: ACM Press , 2003 : 11-18.

[5] 王炜, 罗代升, 王欣. 高效的蠕虫对抗代码结构和生成方法[J]. 计算机工程, 2007,33(16):104-108.

[6] 邹柏贤. 网络流量正常行为模型的建立[J]. 计算机应用, 2002, 22(7): 18-20.

[7] 曾 嘉, 金跃辉, 叶小卫. 基于NetFlow的网络异常流量检测[J]. 微计算机应用, 2007, 28(7): 709-713.

猜你喜欢

蠕虫网络流量流量
基于多元高斯分布的网络流量异常识别方法
冰墩墩背后的流量密码
张晓明:流量决定胜负!三大流量高地裂变无限可能!
蠕虫状MoS2/C的制备及其在锂离子电池负极材料中的应用
基于神经网络的P2P流量识别方法
寻找书业新流量
秋季谨防家禽蠕虫病
AVB网络流量整形帧模型端到端延迟计算
基于隔离和免疫的蠕虫传播模型及稳定性分析
五位一体流量平稳控制系统