当前位置:范文大全 > 公文范文 > 计算机蠕虫病毒检测和防御技术探讨

计算机蠕虫病毒检测和防御技术探讨

时间:2025-08-02 07:56:41 浏览次数:

摘要:该文从蠕虫和病毒等相关概念出发分析了蠕虫病毒的行为特征和相关检测方法,并主要就netflow检测技术进行了详细的分析与探讨。

关键词:蠕虫病毒;检测;netflow

中图分类号:TP393文献标识码:A文章编号:1009-3044(2010)08-1848-03

Computer Worm Virus Detection and Prevention Techniques

PENG Zhi-chao

(Computer Department, Hunan University of Humanities, Science and Technology, Loudi 417000, China)

Abstract: In this paper analyses worm viruses behavior and associated detection methods baesed on worms and viruses concepts, stresses on netflow detection technology analysis and discussion.

Key words: worm virus; detect; netflow

随着互联网络的迅速发展,随之而来的网络安全事件也日益突出,特别是以计算机蠕虫病毒为代表的网络攻击已经成为我们最难对付的网络安全事件之一。国内著名计算机反病毒厂商江民科技发布了2009年上半年计算机病毒疫情特征报告显示,蠕虫病毒占12%仅次于木马病毒。由于计算机蠕虫病毒最快能够在几分钟内感染网络上绝大多数有漏洞的机器,占用网络带宽和耗尽网络设备的系统资源,导致正常的服务和应用无法进行。

1 蠕虫病毒介绍

计算机蠕虫是一种利用网络的通信功能将自身从一个节点发送到另一个节点并自动运行的程序。这种病毒虽然不会破坏你的计算机数据和硬件,但是它不断扩散,占用甚至耗尽网络带宽和网络设备的资源。蠕虫由两部分组成:一个主程序和一个引导程序。主程序一旦在机器上建立就会去收集与当前机器联网的其它机器的信息。它能通过读取公共配置文件并运行显示当前网上联机状态信息的系统实用程序而做到这一点。随后,它尝试利用前面所描述的那些缺陷去在这些远程机器上建立其引导程序。与计算机病毒不同的是,计算机蠕虫不需要附在别的程序内,可能不用使用者介入操作也能自我复制或执行。

计算机蠕虫病毒是一种融合计算机蠕虫、计算机病毒和木马技术的新病毒,它无须计算机使用者干预即可运行,通过大规模的扫描获取网络中存在漏洞的计算机的控制权进行复制和传播,在已感染的计算机中设置后门或执行恶意代码破坏计算机系统或信息。目前危害比较大的计算机蠕虫病毒主要通过三种途径传播:系统漏洞、聊天软件和电子邮件。其中利用系统漏洞传播的病毒往往传播速度极快,防止计算机蠕虫病毒利用系统漏洞传播,最好的办法是打好相应的系统补丁;而通过电子邮件传播的病毒往往会出现大量的变种,用户中毒后往往会造成数据丢失、个人信息失窃、系统运行变慢等。防范邮件蠕虫的最好办法就是提高自己的安全意识,不要轻易打开带有附件的电子邮件。另外,启用杀毒软件的“邮件监控”功能,也可以提高自己对病毒邮件的防护能力;MSN,QQ等聊天软件也成为计算机蠕虫病毒传播的途径之一,主要防范措施是提高安全防范意识,对于通过聊天软件发送的任何文件,不要随意点击聊天软件发送的网络链接。

网络蠕虫病毒最大的特点蔓延速度快,感染范围和所阻塞的网络不可控,计算机蠕虫病毒的危害是巨大的,主要体现在以下五个方面:1) 消耗被感染主机的系统资源以及破坏系统文件和信息资源;2)消耗网络资源导致网络拥塞甚至瘫痪;3) 消耗网络设备系统资源,如路由器和交换机;4) 降低被感染主机和网络设备的系统性能;5) 与黑客技术融合,造成更大的安全隐患。

2 蠕虫检测与防御技术

计算机蠕虫病毒已经成为网络上极大的安全隐患,由于计算机蠕虫病毒具有相当的复杂性和破坏性,因此,对计算机蠕虫病毒的早期检测和防御就显得格外重要。检测主要是发现、分析网络异常行为特征,而防御是在检测到蠕虫病毒后进行危机控制和快速响应。但目前还没有哪种措施能有效的检测和防御所有的计算机蠕虫病毒,特别是新型的未知的计算机蠕虫病毒。在网络中应用最广泛的计算机蠕虫病毒的检测和防御技术是防火墙技术,入侵检测系统(Intrusion Detection Systems, IDS)技术,简单网络管理协议(Simple Network Management Protocol, SNMP)技术和NetFlow技术等。

2.1 防火墙技术

通过配置防火墙软件,禁止除服务端口外的其他端口,这样切断计算机蠕虫病毒的传输通道和通信通道。过滤含有某个计算机蠕虫病毒特征的报文,屏蔽已被感染的主机对保护网络的访问等。由于计算机蠕虫病毒的行为和一般的网络应用有很大的相似性,因此防火墙技术可能会导致某些正常的网络应用也被封堵。例如RedCodeII利用的是80端口,如果屏蔽掉80端口,那么网络应用最广泛的WEB服务就会被禁止掉。同时,防火墙技术也可能漏报某些计算机蠕虫病毒。

2.2 IDS技术

IDS主要用来检测DDOS攻击和计算机蠕虫病毒。IDS分为两种:基于特征模型的IDS和基于异常模型的IDS。基于特征模型的IDS通过分析已知计算机蠕虫病毒的机制和特征,构建相应的数据模型的数据库。IDS在所监控的网络中收集计算机和网络活动的数据以及他们之间的连接,将这些数据构建成网络活动行为的特征与数据库中的数据模型相匹配,检查计算机蠕虫病毒是否存在。这种技术通过模型匹配对已知计算机蠕虫病毒能有效的防治,但是却不能检测和防御新型的未知的计算机蠕虫病毒。基于异常模型的IDS则是通过监视不正常的通信量变化检测新的攻击,这里的通信量的改变是指当前的通信量的度量值和它正常条件下的通信量的阀值的差值。由于确定一个适当的包含所有正常通信因素的阈值相当困难,因而基于异常模型的IDS有较高的报错率。

2.3 SNMP+MRTG技术

SNMP是一种应用层协议,是TCP/IP协议族的一部分,它使网络设备间能方便地交换管理信息。SNMP能够让网络管理员管理网络的性能,发现和解决网络问题及进行网络的扩充。MRTG (MultiRouter Traffic Grapher)是一个监控网络链路流量负载的工具软件。它耗用的系统资源很小,它通过SNMP协议从设备得到其流量信息,并将流量负载以包含PNG等格式图形的HTML文档的方式显示给用户,以直观的形式显示流量负载。当计算机蠕虫病毒爆发时,在MRTG上可以直观的看出网络流量的增加,结合MRTG反馈的信息,网络管理者可以及时采取补救措施,防止计算机蠕虫病毒造成更大的危害。该技术也是目前局域网管理中应用最广泛的技术之一。

2.4 NetFlow技术

NetFlow是Cisco公司在其IOS交换体系中引入的一种新的交换技术。NetFlow服务可在最大限度减小对路由器/交换机性能影响的前提下提供详细的数据流统计信息,作为其交换功能的一部分,它能够提供包括用户、协议、端口和服务类型等统计信息。由于蠕虫传播过程中会发起大量的扫描连接,通过工具统计分析NetFlow数据流,可以很容易地发现蠕虫的扫描行为,进而采取相应措施,隔断其感染途径。下面主要探讨NetFlow技术对计算机蠕虫病毒进行检测与防御。

3 NetFlow 的工作原理

由于现在计算机蠕虫病毒的传播速度越来越快,爆发周期越来越短,危害也越来越大,因此,如何在计算机蠕虫病毒发作早期将其检测出来成了减轻计算机蠕虫病毒危害的关键。NetFlow是Cisco公司开发的一种实现网络层高性能交换的技术,其工作原理是:NetFlow利用标准的交换模式处理数据流的第一个IP包数据,生成流缓存(Flow Cache),随后同样的数据基于缓存信息在同一个数据流中进行传输,不再匹配相关的访问控制等策略,NetFlow缓存同时包含了随后数据流的统计信息。一个NetFlow流定义为在一个源IP地址和目的IP地址间传输的单向数据包流,且所有数据包具有共同的传输层源、目的端口号。

针对路由器送出的NetFlow数据,NetFlow可以利用NetFlow数据采集软件采集数据存储到服务器上,以便利用各种NetFlow数据分析工具进行进一步的处理。Cisco提供了Cisco NetFlow Collector(NFC)采集NetFlow数据,其它许多厂家也提供类似的采集软件。例如flow-tools、Cflowd工具等。

1) NetFlow数据采集

NetFlow以流为数据统计的采集单位,网络的流(Flow)是一个特定来源和目的端的单向数据报文序列,也就是来源IP、目地IP、来源Port、目地Port 和传输协议5 个属性相同的报文整合成一个流。NetFlow 协议的核心是对流缓存进行组织、管理,最终可提供遵循某种汇聚方法而得到流的统计数据。其处理方法为:在一定时间内,将流中的数据报文按照一定的聚类规则汇聚形成原始数据置于缓存中。超时时间到达或者缓存充满时,这些数据按一定的格式发送到网络上指定的接收者。利用NetFlow 协议执行流量采集的系统分成3个部分:

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

(2) 用来采集流量数据的设备,称为NetFlow Collector Device(NFCD);

(3) 利用NetFlow数据进行各种数据分析和处理的设备,称为NetFlow AnalyzerDevice(NFAD)。

一般情况下,直接使用运营网络承载NFD和NFCD之间的通信信息(使用UDP 通信)。网络上可以存在数个NFD以及NFCD,每个NFD可以在一个或多个端口上启用NetFlow,各个端口对穿越自身的流产生独立的统计数据。一个NFCD可以收集多个NFD产生的流量数据,而一个NFD也可以将其产生的流量数据分发给多个NFCD。各种NFAD获得所需的NFCD数据完成各种分析和管理工作,其中NetFlow服务器用来收集各个NFCD 采集的数据分类分发给不同的NFAD。

2) NetFlow 协议数据格式

NetFlow 协议目前包括1、5、7、8 四个版本,版本之间差异主要表现在对流采用的汇聚方法不同。以网络监控或规划为目的而部署NetFlow要求获得流的较多细节,因而常采用版本5。NetFlow协议的版本5 采集到的流量数据可以支持不同维度的统计分析。通常情况下,接收程序不管接收哪种格式,它都会分配一个足够大的缓冲区,以便数据报文到来时,可以容纳尽可能大的数据。此外,它使用报头信息中的版本信息来决定如何理解这些数据报文。报头信息中的第2个字段是数据报文中记录的个数,可以用它来对记录进行索引。因为NetFlow 输出采用UDP协议来发送输出的数据报文,所以可能会丢失数据。为了确定信息流输出信息是否丢失,版本5、7、8 的报头信息格式中包含了一个信息流序列号。这个序列号等于前一个序列号加上刚刚过去的数据报文中信息流的个数。当接收到一个新的数据报文后,接收程序可以从报头信息中的序列号中提取出预期的序列号,这样即可以获取丢失信息流的数目。

4 利用NetFlow来检测蠕虫病毒

近年来,Red Code、尼姆达、震荡波、Conficker、MSN蠕虫等蠕虫病毒的相继爆发,不但对用户主机造成影响,而且对网络的正常运行也构成了危害,因为这些病毒具有扫描网络,主动传播病毒的能力,会大量占用网络带宽或网络设备系统资源。

4.1 蠕虫病毒传播特征分析

计算机蠕虫病毒爆发时最显著的特征是产生大量的网络异常流量,耗用网络带宽和系统资源。但是,造成网络异常流量的攻击方法是多种多样的,例如:DoS、DDoS和计算机蠕虫病毒攻击等,其攻击的方法非常灵活,同时随着时间和技术的发展而不断变化。计算机蠕虫病毒攻击时,首要的工作是尽可能的查找受害主机从而达到传播的目的。通常计算机蠕虫病毒会在很短的时间内,发送成千上万的包到一个大的IP地址段中。如果计算机蠕虫病毒是通过TCP进行传播(绝大部分计算机蠕虫病毒都是通过这种方式),在传播时,会发送大量的TCP SYN包以查找其他主机上的脆弱性服务或系统漏洞。

网络蠕虫在扫描阶段有四个重要的特征:①在一个短的时间段,向不同IP地址发起的首次连接数很多;②收到的首次连接请求的响应很少;③首次连接请求的目的端口基本上一致;④发出的连接请求数据包很小。利用这四个特征,我们可以发现大部分蠕虫病毒,对未知蠕虫病毒也一样。通过对netflow数据流统计分析,我们可以获得这四个特征(其中特征①③④可以直观的从数据流读出,进行相应的递增统计处理即可;特征②则需要做统计分析),从而检测出蠕虫扫描。统计测试算法就是针对特征②所设计的。利用该算法和特征①③④的统计结果,我们就能够判定一个主机是否感染蠕虫病毒。

4.2 NetFlow进行预警和监控的方法

目前,利用NetFlow进行预警和监控的方法有很多,比较常用方法有:Top N;模式匹配;TCP标志位;ICMP和基线。其中以Top N和模式匹配最为常用,也最简单有效。

① Top N:基于Top N发现网络异常的方法有两个:Top N会话和Top N数据。Top N指出一个主机发出大量的连接请求到一个或多个目的主机,连接请求数已远远超过正常的连接数。Top N数据定义的是一段时期内两个网络节点或一个节点到一个地址段的连续的大量网络数据传输。一般出现这两种情况是由于新的计算机蠕虫病毒、DoS/DDoS攻击、网络扫描或其他网络滥用。服务器实时监控网络流量,对流记录以Top N会话或Top N数据进行递减排序。例如,流记录显示一台主机发起的连接数与收到响应包的比值超过我们设定的阈值,就报警。或者,一台主机发送的数据包与接收到的数据包比值超过我们设定的阈值,就报警。

② 模式匹配:模式匹配是基于流分析的另一种可以检测网络异常行为的方法。通过筛选流记录,那么“可疑的”的流字段将被标识出来。流记录中的所有的流字段都可以用于模式匹配,但源IP地址、目的IP地址、源端口和目的端口是最常用的。一般来说,为了发起一次攻击,大多数的攻击会有一个特定的端口。比如说,震荡波蠕虫工作在445端口。管理员通过对流记录的目的端口进行过滤,可以发现相应的攻击。这种方法易于使用并可用在大多数的案例中,虽然可能存在误报问题。

4.3 获取NetFlow数据流的的工具

FlowScan工具,由Wisconsin-Madison大学的Dave Plonka开发,是一个多用途的工具,能够满足多个服务提供商的需要,该工具和其他统计flow数据流的工具结合在一起,可以实现NetFlow数据流的获取,存储,分析等功能。Cflowd是CAIDA公司的一个流分析工具,目前用于分析使用交换方法的Cisco"s NetFlow。当前的发行版包括搜集、存储、基本的cflowd分析模块和arts++库。这个分析包允许由ISP和网络工程师进行数据搜集和分析,支持容量计划,趋势分析,以及在一个网络服务供应商环境中的工作量描述。但是,现在CAIDA公司已不在支持Cflowd。相反,可以利用另一种开源软件flow-tools。RRDTOOL基本上是串行的绘图和数据存储/管理MRTG组件,RRDTOOL比MRTG更快,并高度可配置。

5 结束语

蠕虫正在成为其他攻击代码的传输载体,同时蠕虫攻击正在成为其他攻击企图的阶段性工作。对蠕虫病毒的检测与防御成为网络安全的重要内容。

参考文献:

[1] 江民发布2009年上半年计算机病毒疫情特征报告[EB/OL]./news/jiangmin/index/important/2009814162818.htm#top.

[2] 文伟平,卿斯汉,蒋建春,王业君.网络蠕虫研究与进展[J].软件学报,2004,15(8).

[3] 王平,方滨兴,云晓春.基于自动特征提取的大规模网络蠕虫检测[J].通信学报,2006,27(6).

[4] 李晓冬,李毅超.基于漏洞的蠕虫特征自动提取技术研究[J].计算机应用.2008,28(3)

[5] 向郑涛,陈宇峰,董亚波,鲁东明.蠕虫检测技术研究进展[J].计算机工程与设计,2009,30(5).

相关热词搜索: 防御 蠕虫病毒 探讨 检测 计算机