网络蠕虫病毒,网络蠕虫病毒的检测与防治

网络蠕虫病毒的检测与防治 - 电脑安全 - 电脑教程网

网络蠕虫病毒的检测与防治

日期:2006-05-06   荐:
随着1988年11月2号由Robert Morris Jr编写的一只基于BSD Unix的“Internet Worm”蠕虫出现,到2001年8月5号的红色代码“Code Red”蠕虫发作,直至2003年8月12号的冲击波“Blaster”蠕虫的大规模爆发。互联网的安全威胁正逐渐逼近每一个普通用户。从1988 年CERT(计算机紧急响应小组)由于Morris 蠕虫事件成立以来,统计到的Internet 安全威胁事件每年以指数增长,近年来的增长态势变得的尤为迅猛(图1)。   ·黑客知识之解析并防范蠕虫病毒·用Delphi来编写蠕虫病毒浅析·高危害级别W32网络蠕虫病毒扩散·实例解析蠕虫病毒的原理·病毒报告:Zotob蠕虫病毒可导致系统频繁·通过移动设备传播的蠕虫病毒·蠕虫病毒制作·木马蠕虫病毒危害空前严重 PC上网12分·深入了解网络蠕虫病毒·进入新年全球传播 高危蠕虫病毒威胁电   图1 因特网安全时间报告   每一次蠕虫的爆发都会给社会带来巨大的损失1988 年11 月2 日,Morris 蠕虫发作,几天之内6000 台以上的Internet 服务器被感染而瘫痪,损失超过一千万美元。2001 年7 月19日,CodeRed 蠕虫爆发,在爆发后的9 小时内就攻击了25 万台计算机,造成的损失估计超过20 亿美元,随后几个月内产生了威力更强的几个变种,其中CodeRed II造成的损失估计超过12 亿美元。2001 年9 月18 日,Nimda 蠕虫被发现,对Nimda 造成的损失评估数据从5 亿美元攀升到26 亿美元后,继续攀升,到现在已无法估计。目前蠕虫爆发的频率越来越快,尤其是近两年来,越来越多的蠕虫(如冲击波、振荡波等)出现。对蠕虫进行深入研究,并提出一种行之有效的解决方案,为企业和政府提供一个安全的网络环境成为我们急待解决的问题。   1.蠕虫的定义   Internet 蠕虫是无须计算机使用者干预即可运行的独立程序,它通过不停的获得网络中存在漏洞的计算机上的部分或全部控制权来进行传播。[1]   蠕虫与病毒的最大不同在于它不需要人为干预,且能够自主不断地复制和传播。

2.蠕虫的行为特征    2.1.1 蠕虫的工作流程:   蠕虫程序的工作流程可以分为漏洞扫描、攻击、传染、现场处理四个阶段,如图  2所示。蠕虫程序扫描到有漏洞的计算机系统后,将蠕虫主体迁移到目标主机。然后,蠕虫程序进入被感染的系统,对目标主机进行现场处理。现场处理部分的工作包括:隐藏、信息搜集等。同时,蠕虫程序生成多个副本,重复上述流程。不同的蠕虫采取的IP生成策略可能并不相同,甚至随机生成。各个步骤的繁简程度也不同,有的十分复杂,有的则非常简单。    ·黑客知识之解析并防范蠕虫病毒·用Delphi来编写蠕虫病毒浅析·高危害级别W32网络蠕虫病毒扩散·实例解析蠕虫病毒的原理·病毒报告:Zotob蠕虫病毒可导致系统频繁·通过移动设备传播的蠕虫病毒·蠕虫病毒制作·木马蠕虫病毒危害空前严重 PC上网12分·深入了解网络蠕虫病毒·进入新年全球传播 高危蠕虫病毒威胁电   图2蠕虫的工作流程   2.2 蠕虫的行为特征   过对蠕虫的整个工作流程进行分析,可以归纳得到它的行为特征:   自我繁殖:   蠕虫在本质上已经演变为黑客入侵的自动化工具, 当蠕虫被释放(release)后,从搜索漏洞,到利用搜索结果攻击系统,到复制副本,整个流程全由蠕虫自身主动完成。就自主性而言,这一点有别于通常的病毒。   利用软件漏洞:   任何计算机系统都存在漏洞,这些就蠕虫利用系统的漏洞获得被攻击的计算机系统的相应权限,使之进行复制和传播过程成为可能。这些漏洞是各种各样的,有操作系统本身的问题,有的是应用服务程序的问题,有的是网络管理人员的配置问题。正是由于漏洞产生原因的复杂性,导致各种类型的蠕虫泛滥。   造成网络拥塞:   在扫描漏洞主机的过程中,蠕虫需要:判断其它计算机是否存在;判断特定应用服务是否存在;判断漏洞是否存在等等,这不可避免的会产生附加的网络数据流量。同时蠕虫副本在不同机器之间传递,或者向随机目标的发出的攻击数据都不可避免的会产生大量的网络数据流量。即使是不包含破坏系统正常工作的恶意代码的蠕虫,也会因为它产生了巨量的网络流量,导致整个网络瘫痪,造成经济损失。   消耗系统资源:   蠕虫入侵到计算机系统之后,会在被感染的计算机上产生自己的多个副本,每个副本启动搜索程序寻找新的攻击目标。大量的进程会耗费系统的资源,导致系统的性能下降。这对网络服务器的影响尤其明显。   留下安全隐患:   大部分蠕虫会搜集、扩散、暴露系统敏感信息(如用户信息等),并在系统中留下后门。这些都会导致未来的安全隐患。

3.SIR传播模型   3.1. 蠕虫的工作方式   通过前面的分析,可以把蠕虫的工作方式归纳如下:   1) 随机产生一个IP 地址;   2) 判断对应此IP 地址的机器是否可被感染;   3) 如果可被感染,则感染之。   4) 重复1~3 共m 次,m 为蠕虫产生的繁殖副本数量。   3.2 SIR传播模型   在传统的对计算机病毒的传播机制研究中,常常借用已有的传染病数学模型,但由于计算机病毒的攻击对象是文件系统,所以传统计算机病毒研究中把计算机作为传播个体并不合适。同计算机病毒不同,Internet 蠕虫具有主动攻击特征,不需要计算机使用者的参与,并且蠕虫的攻击对象是计算机系统,这两个条件正好同传染病模型的假设条件相符。在蠕虫的SIR模型中,假设在一台主机内蠕虫传播经过了如下的三个步骤:   Susceptible -〉Infective ?〉Recovered   主机存在漏洞->主机被感染->漏洞被修复,蠕虫被清除。   根据此模型产生的蠕虫在网络上的传播速度图如图3所示。蠕虫的传播经历了开始的缓慢传播,接下来的快速传播和最后的缓慢消失三个阶段。因此能否在蠕虫的缓慢传播阶段实现对蠕虫的检测和防治成为有效防治蠕虫的关键。      图 3蠕虫的传播模型   4.蠕虫的检测与防治   由以上的分析可知,尽早的发现蠕虫并对感染蠕虫的主机进行隔离和恢复,是防止蠕虫泛滥,造成重大损失的关键。   4.1蠕虫的检测   4.1.1 蠕虫监测和防护现状   目前国内并没有专门的蠕虫检测和防御系统,传统的主机防病毒系统并不能对未知的蠕虫进行检测,只能被动的对已发现的特征的蠕虫进行检测。而目前市场上的入侵检测产品,对蠕虫的检测也多半的基于特征,同时ids提供的异常检测功能,虽然可以发现网络中的异常,但是也没有更好的办法对蠕虫的传染进行控制,减少蠕虫造成的损失。   中科网威的VDS产品针对病毒查杀软件和目前NIDS存在的不足,在检测和互动方面使用了多种技术,达到对蠕虫的检测和控制的目的。下面先说一下对中科网威对未知蠕虫的检测技术。

1.对未知蠕虫的检测   对蠕虫在网络中产生的异常,有多种的的方法可以对未知的蠕虫进行检测,比较通用的方法有对流量异常的统计分析,对tcp连接异常的分析,网威入侵检测在这两种分析的基础上,又使用了对ICMP数据异常分析的方法,可以更全面的检测网络中的未知蠕虫。这种网络蠕虫的测的方法是Bob Gray,Vincent Berk在2003年11月4日的ISTS 技术大会中提出的。   具体实现如下:   当一台主机向一个不存在的主机发起连接时,中间的路由器会产生一个ICMP-T3(目标不可达)包返回给蠕虫主机(如图4)。   ·黑客知识之解析并防范蠕虫病毒·用Delphi来编写蠕虫病毒浅析·高危害级别W32网络蠕虫病毒扩散·实例解析蠕虫病毒的原理·病毒报告:Zotob蠕虫病毒可导致系统频繁·通过移动设备传播的蠕虫病毒·蠕虫病毒制作·木马蠕虫病毒危害空前严重 PC上网12分·深入了解网络蠕虫病毒·进入新年全球传播 高危蠕虫病毒威胁电   图 4路由器返回ICMP-T3包   在蠕虫的扫描阶段,蠕虫会随机的或者伪随机的生成大量的IP地址进行扫描,探测漏洞主机。这些被扫描主机中会存在许多空的或者不可达的IP地址,从而在一段时间里,蠕虫主机会接收到大量的来自不同路由器的ICMP-T3数据包(如图5)。网威的VDS通过对这些数据包进行检测和统计,在蠕虫的扫描阶段将其发现,然后对蠕虫主机进行隔离,对蠕虫其进行分析,进而采取防御措施。      图5蠕虫的随机扫描行为   如图6所示,将ICMP-T3数据包进行收集、解析,并根据源和目的地址进行分类,如果一个IP在一定时间(T)内对超过一定数量(N)的其它主机的同一端口(P)进行了扫描,则产生一个发现蠕虫的报警(同时还会产生其它的一些报警)。      图6 检测扫描   这种方法可以检测出具有高速,大规模传染模型的网络蠕虫。(很难检测针对某个网络的传播的特定的蠕虫和慢速传播的蠕虫。这两种蠕虫,可以认为对整个网络来说,他们的危害比较小)   2.对于已知蠕虫的检测   网威网络病毒检测系统为了适应对蠕虫各个阶段的不同行为的检测,使用编译技术,创建了网威的脚本语言NPDCL(网威检测控制语言),结合虚拟机技术,创建了解释执行NPDCL语言的虚拟机。通过整个NPDCL脚本来控制整个VDS的检测过程。打破了传统的单一的发现符合某条规则就进行事件报警的机制,提高安全事件的关联分析功能。从而可以对一个蠕虫的各个阶段的不同行为进行关联分析,并且根据蠕虫的多个行为特征进行判断,而不是简单的针对某个存在漏洞的服务进行特征匹配。同时具有丰富的行为特征库,可以对目前流行的病毒,如振荡波,冲积波等病毒以及多种变种进行检测。   以“振荡波的b变种”检测为例,其检测流程如图7。      图7 振荡波检测流程   首先通过对TCP半连接状态的检测发现蠕虫的扫描行为,发现可疑的扫描源;然后在TCP的连接建立时间中检测可疑扫描源对漏洞主机特定端口(445)的攻击行为,进一步确认感染了蠕虫的主机;第三步检测蠕虫的自我传播过程,对震荡波来说,是通过5545端口的ftp服务来进行传播;最后通过传播文件的特征(如123_up.exe)来进一步确认振荡波的传播。   在以上的检测步骤中都会产生相关的报警,从而采取相应的措施,防止蠕虫的进一步传播。

4.2网威VDS的蠕虫防治策略   当蠕虫被发现时,要在尽量短的时间内对其进行响应。首先产生报警,通知管理员,并通过防火墙、路由器、或者HIDS的互动将感染了蠕虫的主机隔离;然后对蠕虫进行分析,进一步制定检测策略,尽早对整个系统存在的不安全隐患进行修补。防治蠕虫再次传染,并对感染了蠕虫的主机进行蠕虫的删除工作。     如图8所示,VDS发现感染了蠕虫的主机时,可以通过:   ·黑客知识之解析并防范蠕虫病毒·用Delphi来编写蠕虫病毒浅析·高危害级别W32网络蠕虫病毒扩散·实例解析蠕虫病毒的原理·病毒报告:Zotob蠕虫病毒可导致系统频繁·通过移动设备传播的蠕虫病毒·蠕虫病毒制作·木马蠕虫病毒危害空前严重 PC上网12分·深入了解网络蠕虫病毒·进入新年全球传播 高危蠕虫病毒威胁电   图8 网威蠕虫检测系统的响应图   1.与防火墙互动:通过控制防火墙的策略,对感染主机的对外访问数据进行控制,防止蠕虫对外网的主机进行感染。同时如果VDS发现外网的蠕虫对内网进行扫描和攻击,也可以和防火墙进行互动,防止外网的蠕虫传染内网的主机。   2.交换机联动:中科网威VDS支持和CISCO系列的交换机通过SNMP协议进行联动,当发现内网主机被蠕虫感染时,可以切断感染主机同内网的其他主机的通讯,防止感染主机在内网的大肆传播,同时可以控制因为蠕虫发作而产生的大量的网络流量。同时为了适应用户的网络环境,我们还提供了Telnet配置网络设备的接口,这样VDS系统可以和网络任何支持Telnet管理的网络设备进行联动。   3.通知HIDS:装有HIDS的服务器接收到VDS系统传来的信息,可以对可疑主机的访问进行阻断,这样可以阻止受感染的主机访问服务器,使服务器上的重要资源免受损坏。   4.报警:产生报警,通知网络管理员,对蠕虫进行分析后,可以通过配置Scaner来对网络进行漏洞扫描,通知存在漏洞的主机到Patch服务器下载补丁进行漏洞修复,防治蠕虫进一步传播。   小结:文章中介绍了蠕虫一些情况和特征,同时提出了中科网威公司对蠕虫的发现,防治的一些解决方法和思路。希望中科网威的VDS系统可以为用户的网络提供全方位的蠕虫的防护。
标签: