蠕虫 病毒家族里古老又年轻的一员
文章作者:张小兵提起蠕虫病毒,可能大家不大能说清楚它到底是一个什么样的东西,但是一提起红色代码、尼姆达、爱情后门、2003蠕虫王、冲击波、震荡波等臭名昭著的病毒,我想大家一定记忆犹新,这些病毒一旦爆发,便会全球泛滥,引起整个网络的动荡,如果你经常上网的话,很可能遭遇到它们的蹂躏。
蠕虫的产生:东风夜放花千树
蠕虫是一种比较古老的病毒,产生于上世纪七十年代,由于蠕虫病毒一开始便是根植于网络的,因此随着网络的发展,蠕虫的生命力越来越强、破坏力越来越大。
早期的蠕虫是不属于病毒的,也不具备破坏性,它只是一种网络自动工具。1972年,原来只做为军事目的而开发的阿帕网(ARPANET)开始走向世界,成为现在的互联网,从此互联网便以极其迅猛的速度发展着。1973年互联网上还只有25台主机,但是到了1987年,连接在互联网上的主机数则突破了10000台。
每台主机都向广大的电脑用户提供着海量的信息,在这么大的信息海洋中寻找有用的资料是一件非常痛苦的事,为了解决这在网络上的搜索问题,一群热心的技术人员便开始实验“蠕虫”程序,这种程序的构思来自于经典的科幻小说《电波骑士》,小说里描写了一种叫做“绦虫”的程序,该程序可以成群结队地出没于网上,使网络阻塞。这种蠕虫程序可以在一个局域网中的许多计算机上并行运行,并且能快速有效地检测网络的状态,进行相关信息的收集。后来,又出现了专门检测网络的爬虫程序和专门收集信息的蜘蛛程序。目前这两种网络搜索技术还在被大量使用。
由于这类早期的蠕虫只是一种网络自动工具,因此在当时这种程序并没有被人们认为是病毒,编写这种工具的技术则被称之为蠕虫技术,当第一个蠕虫程序出现后,蠕虫技术便得到了很大的发展,直到1989年的莫里斯蠕虫事件的出现。
莫里斯是美国一所大学的研究生,由于父亲是贝尔实验室的研究员,因此它从小就开始接触计算机和网络,对LINUX系统非常了解。不可否认的是他对那种能够控制整个网络的程序非常着迷,于是当他发现了当时操作系统中的几个严重漏洞时,他便开始着手编写“莫里斯蠕虫”,这种蠕虫没有任何实用价值,只是利用系统漏洞的将自己在网络上进行复制,由于莫里斯在编程中出现了一个错误,将控制复制速度的变量值设得太大,造成了蠕虫在短时间内迅速复制,最终使大半个互联网陷入了瘫痪。由于这件事情影响太大,社会反响非常强烈,作者本人也因此受了法律制裁。从此以后,蠕虫也是一种病毒的概念被确立起来,而这种利用系统漏洞进行传播的方式就成了现在蠕虫的主要传播方式。
蠕虫的原理:问君能有几多愁 ?
当蠕虫被确认为病毒时,真正意义上的网络病毒便出现了,总的来说,蠕虫本身并不感染文件,也不会对文件进行改写,而是利用系统的漏洞在网络上大量繁殖自身,达到病毒制造者的某些目的。
蠕虫病毒运行时会常驻于一台或多台机器中,并有自动重新定位的能力,如果它检测到网络中的某台机器未被感染,它就把自身的一个拷贝发送给那台机器。每个病毒拷贝都能把自身的拷贝重新定位于另一台机器中,并且能识别它占用的那台机器,从而在网络上的每一台计算机中运行。因为它有繁殖性,所以“蠕虫”病毒在大面积泛滥时会大量占用网络资源与系统资源,造成一些工作无法顺利进行。震荡波病毒就是一个典型的利用漏洞的蠕虫病毒。而另外一种蠕虫病毒如求职信、SCO炸弹等则常常以电子邮件附件的形式进行传播。
蠕虫病毒传播的流程是:扫描、攻击、复制、隐藏、控制、破坏。病毒程序通常由两部分组成:主程序和引导程序。主程序会利用漏洞扫描技术对网络上存在漏洞的计算机进行扫描,由于要针对不同的漏洞发送不同的扫描包,因此一般情况下,一个蠕虫病毒只会利用一种漏洞。当病毒发现有漏洞的计算机时,便会对这些计算机尝试攻击,由于这种攻击会使系统中的关键程序遭到破坏,从而使系统出现各种异常,这就是冲击波、震荡波等蠕虫病毒爆发时用户的计算机总是重启的原因。
当病毒攻击成功后,便会获得远程计算机的最高控制权,然后利用这个权力将自己的引导程序拷贝到远程计算机上并运行。当这个引导程序运行时,就会反过头来再把病毒的主程序通过网络带入到这台远程计算机中,在这一过程中,引导程序往往会将主程序做隐藏文件放入系统文件夹中,然后修改注册表,将自己设为自动启动状态。病毒之所以将自己藏入系统文件夹中,是由于系统文件夹的文件非常多,用户一方面记不住那么多的文件名,另一方面又不太在意,因此有很好的隐藏效果。而病毒之所以将自己设为自动启动状态,是由于蠕虫病毒本身不具备感染文件的能力,要获得系统的控制权就只能随着系统启动而自动启动。
这一切完成后,病毒主程序便开始运行,然后监视整个系统,完成它想完成的任何动作,因此蠕虫病毒会有各种各样的破坏,比如“密码”病毒可以偷盗用户的密码及系统关键信息,而“硬盘杀手”则会破坏用户的电脑硬盘。其实,用户真正感到蠕虫可怕的地方倒不是它的破坏,而是它的传播过程,因为它在传播的过程中即要扫描网络又要拷贝自己,所以当一个蠕虫病毒爆发时,会在网络中迅速形成链式反应,在短时间内造成全球网络阻塞,严重时还会使整个网络瘫痪,危害极大。
病毒的发现:众里寻它千百度
当我们了解了蠕虫病毒后,就会有一个很自然的问题,就是到底如何发现这些隐藏的蠕虫呢?有人说:“用杀毒软件呗!”是的,这的确是一个即方便又快捷的办法,但是有一点就是,如果出现新的蠕虫时应该怎么办,由于杀毒软件本身是要先抓住病毒,然后进行分析,然后升级,之后才能对已知的病毒进行查杀。如果不幸的是,你中了世界上最新的蠕虫病毒,其它的杀毒软件都还未抓到该病毒的样本,这种样本上报的工作就落在了你的头上,你该怎么办?
其实,不管是任何事,只要发生了就会留下痕迹,蠕虫病毒也不例外,既然蠕虫病毒自己也是一种程序,既然蠕虫病毒会藏在你的系统中,既然蠕虫会监视你的系统,那么发现蠕虫就不会是一件不可能的事,我们大致可以从以下几个方面循序渐进地发现新的蠕虫病毒。
首先可以利用一些自动防护工具,如个人防火墙软件。个人防火墙软件有一个特点,就是它本身不用进行升级就能进行很好的网络防护,如今的个人防火墙软件都提供了应用程序保护的功能,比如瑞星个人防火墙2004版,应用程序保护的原理说起来很简单,就是防火墙先将网络访问给监控起来,一旦发现有应用程序访问网络就向用户报警,由用户决定是否放行。当用户安装了防火墙后,如果发现有不明的程序访问网络,而且该程序还处在系统目录下,则很有可能就是中了蠕虫病毒了。
其次,检查注册表。注册表是WINDOWS系列操作系统中最重要的一个数据库文件,它记录着系统的所有关键数据,而一些软件要想让系统记住它的话,也往往会在注册表中建立相应的注册内容,被称为注册表项,蠕虫病毒也不例外,所有的蠕虫病毒都有随系统启动而启动的动作,因此它们会修改注册表中叫做自启动项的注册表项,该项的具体位置是:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run,只要用户在“开始\运行”菜单中键入“regedit”即可打开注册表,然后根据上述提示找到自启动项,该项里存放的都是一些日常启动的程序,也就是存在于系统右下角那个托盘中的程序,比如杀毒软件的实时监控程序、防火墙程序等。不多,很容易记忆,如果用户有经常看注册表自启动项的习惯,如果发现有来自系统目录下的一些不明程序在自启项中写有自己的项,那么该项就极有可能是病毒所为,用户可以根据该注册表项提供的路径找到这个可疑文件,如果该文件没有什么图标,而且大小在十几K到几十K之间,则基本就可断定是蠕虫病毒了。
再次,查看内存中的可疑进程。所有的程序只要进入内存,都是以进程的形式存在的,在9X以上操作系统中,用户只要使用系统自带的“任务管理器”就可以查看内存中的所有进程,用户可以用CTRL+SHIFT+ESC三键直接调出任务管理器或右键单击开始电脑下方的程序栏,在右键菜单中进行选择,当任务管理器调出后,选择“进程”那一页,就可以看到系统内的所有进程了,比如说,我们使用的WORD软件,在内存中的进程是WINWORD.EXE、瑞星个人防火墙的进程是Rfw.exe,如此等等,如果用户经常查看内存的话,就会对一些常用进程了如指掌,这时如果有蠕虫进入内存的话,就会很容易被你发现,比如说这次的震荡波病毒在内存中建立的进程是avserve.exe。
病毒的手动清除:待从头收拾旧山河
当发现有蠕虫形迹时,就要想办法把它清除掉,如果手中有杀毒软件,则可以先升级再进行C盘查杀,找出蠕虫病毒,如果手中没有杀毒软件或者用户遇到了杀毒软件也无法查到的新病毒,就只能自力更生,进行手工清除了,不过,有了上面查找病毒的经验,清除就是一件相对容易的事了,这里,只要掌握病毒感染的四要素就能很好地清除病毒,这四要素是:漏洞、内存、注册表、文件。
下面就以“高波(Worm.Agobot)”病毒为例,来讲讲手动清除的过程。“高波”病毒是利用冲击波病毒的漏洞进行传播的,在去年十大病毒里排名第六,如今变种已经达到了几百个。当用户发现自己的电脑在上网时突然变得速度很慢,或者计算机自动重启动,则很有可能是中了该病毒,就应该采取措施了。
首先,给系统漏洞打补丁。由于蠕虫病毒大多数都是利用系统漏洞进行传播的,因此在清除蠕虫病毒之前最好是将蠕虫病毒利用的相关漏洞进行修补,否则,如果漏洞存在,即使病毒被清除后,在连网的情况下还会被蠕虫继续感染。用户可以到[url]http://it.rising.com.cn/newSite/Channels/info/virus/TopicDatabasePackage/12-145900547.htm[/url]地址去下载能堵得住高波漏洞的补丁程序,或者使用操作系统的“自动更新”功能。
清除内存中的病毒进程。每个进入内存的蠕虫都会有一个唯一的进程,只要清除了该进程,就可以使蠕虫在这次失效,高波病毒也不例外。用户可以使用“任务管理器”在内存中查找名为“mdms.exe”的进程,然后直接将它结束。
删除注册表中的病毒项。该病毒为了每次能获得控制权会在注册表的自启动项HKCU\Software\Microsoft\Windows\CurrentVersion\Run中添加名为"Machine Debug Manager"="%SYSDIR%\mdms.exe"的病毒项,您只打开注册表,直接将该病毒项清除即可。
最后一步,删除病毒文件。通过注册表的病毒键值可以知道病毒就躲在WINDOWS安装目录下的SYSTEM32目录里,名字为:mdms.exe,用户只要按图索骥,找到该文件直接删除即可,有的时候,由于某种原因该文件会删除失败,这时应该进入安全模式,或者用A盘直接启动到DOS模式下进行删除。怎么样,简单吧?
总结
在以上的文章中,我们总结中了蠕虫病毒的感染的四要素:漏洞、内存、注册表、文件,任何一个蠕虫都会有这四个要素,只要用户了解了这些知识,以后再遇到蠕虫病毒时,就不会再害怕了,因为,病毒也是一种程序,最终会被我们完全控制。 蠕虫有的蛮可怕的
找文件与程序的一些空闲内存
然后挤进去,噫..够什么的...
页:
[1]