学院首页>安全防御>病毒防治>蠕虫传播模式分析

蠕虫传播模式分析

作者: 来源: 添加时间:2006-5-23 8:28:27
二、 蠕虫传播的一般模式分析 

1.模式:扫描-攻击-复制。 
从新闻中看到关于蠕虫的报道,报道中总是强调蠕虫如何发送大量的数据包,造成网络拥塞,影响网络通信速度。实际上这不是蠕虫程序的本意,造成网络拥塞对蠕虫程序的发布者没有什么好处。如果可能的话,蠕虫程序的发布者更希望蠕虫隐蔽的传播出去,因为蠕虫传播出去后,蠕虫的发布者就可以获得大量的可以利用的计算资源,这样他获得的利益比起造成网络拥塞的后果来说显然强上万倍。但是,现有的蠕虫采用的扫描方法不可避免的会引起大量的网络拥塞,这是蠕虫技术发展的一个瓶颈,如果能突破这个难关,蠕虫技术的发展就会进入一个新的阶段。 
现在流行的蠕虫采用的传播技术目标一般是尽快地传播到尽量多的电脑中,于是扫描模块采用的扫描策略是这样的: 
随机选取某一段IP地址,然后对这一地址段上的主机扫描。笨点的扫描程序可能会不断重复上面这一过程。这样,随着蠕虫的传播,新感染的主机也开始进行这种扫描,这些扫描程序不知道那些地址已经被扫描过,它只是简单的随机扫描互联网。于是蠕虫传播的越广,网络上的扫描包就越多。即使扫描程序发出的探测包很小,积少成多,大量蠕虫程序的扫描引起的网络拥塞就非常严重了。 
聪明点的作者会对扫描策略进行一些改进,比如在IP地址段的选择上,可以主要针对当前主机所在的网段扫描,对外网段则随机选择几个小的IP地址段进行扫描。对扫描次数进行限制,只进行几次扫描。把扫描分散在不同的时间段进行。扫描策略设计的原则有三点: 
1尽量减少重复的扫描,使扫描发送的数据包总量减少到最小2保证扫描覆盖到尽量大的范围3处理好扫描的时间分布,使得扫描不要集中在某一时间内发生。怎样找到一个合适的策略需要在考虑以上原则的前提下进行分析,甚至需要试验验证。 
 扫描发送的探测包是根据不同的漏洞进行设计的。比如,针对远程缓冲区溢出漏洞可以发送溢出代码来探测,针对web的cgi漏洞就需要发送一个特殊的http请求来探测。当然发送探测代码之前首先要确定相应端口是否开放,这样可以提高扫描效率。一旦确认漏洞存在后就可以进行相应的攻击步骤,不同的漏洞有不同的攻击手法,只要明白了漏洞的利用方法,在程序中实现这一过程就可以了。这一部关键的问题是对漏洞的理解和利用。关于如何分析漏洞不是本文要讨论的内容。 
 攻击成功后,一般是获得一个远程主机的shell,对win2k系统来说就是cmd.exe,得到这个shell后我们就拥有了对整个系统的控制权。复制过程也有很多种方法,可以利用系统本身的程序实现,也可以用蠕虫自代的程序实现。复制过程实际上就是一个文件传输的过程,实现网络文件传输很简单,这里不再讨论。 

2.模式的使用 
既然称之为模式,那么它就是可以复用的。也就是说,我们只要简单地改变这个模式中各个具体环节的代码,就可以实现一个自己的蠕虫了。比如扫描部分和复制部分的代码完成后,一旦有一个新的漏洞出现,我们只要把攻击部分的代码补充上就可以了。 
利用模式我们甚至可以编写一个蠕虫制造机。当然利用模式也可以编写一个自动入侵系统,模式化的操作用程序实现起来并不复杂。 

三、 蠕虫传播的其他可能模式 

除了上面介绍的传播模式外,还可能会有别的模式出现。 
 比如,我们可以把利用邮件进行自动传播也作为一种模式。这种模式的描述为:由邮件地址薄获得邮件地址-群发带有蠕虫程序的邮件-邮件被动打开,蠕虫程序启动。这里面每一步都可以有不同的实现方法,而且这个模式也实现了自动传播所以我们可以把它作为一种蠕虫的传播模式。 
 随着蠕虫技术的发展,今后还会有其他的传播模式出现。 

四.从安全防御的角度看蠕虫的传播模式 
 我们针对蠕虫的传播模式来分析如何防止蠕虫的传播思路会清晰很多。对蠕虫传播的一般模式来说,我们目前做的安全防护工作主要是针对其第二环即"攻击"部分,为了防止攻击,要采取的措施就是及早发现漏洞并打上补丁。其实更重要的是第一环节的防护,对扫描的防护现在人们常用的方法是使用防护墙来过滤扫描。使用防火墙的方法有局限性,因为很多用户并不知道如何使用防火墙,所以当蠕虫仍然能传播开来,有防火墙保护的主机只能保证自己的安全,但是网络已经被破坏了。另外一种方案是从网络整体来考虑如何防止蠕虫的传播。 
 从网络整体来防止蠕虫传播是一个安全专题,需要进一步研究。这里简单提一下。从一般模式的过程来看,大规模扫描是蠕虫传播的重要步骤,如果能防止或限制扫描的进行,那么就可以防止蠕虫的传播了。可能的方法是在网关或者路由器上加一个过滤器,当检测到某个地址发送扫描包就过滤掉该包。具体实现时可能要考虑到如何识别扫描包与正常包的问题,这有待进一步研究。 
 了解了蠕虫的传播模式,可以很容易实现针对蠕虫的入侵检测系统。蠕虫的扫描会有一定的模式,扫描包有一定的特征串,这些都可以作为入侵检测的入侵特征。了解了这些特征就可以针对其制定入侵检测规则。
第 2 页,共 2 页 [1] [2]
站内搜索