蠕虫
能通过网络进行自我传播的恶意程序
蠕虫是一种能够利用系统漏洞通过网络进行自我传播的恶意程序。它是利用网络进行复制和传播,传染途径是通过网络和电子邮件。蠕虫病毒是自包含的程序(或是一套程序),它能传播它自身功能的拷贝或它的某些部分到其他的计算机系统中(通常是经过网络连接)。
定义
蠕虫定义
计算机蠕虫是一种独立的恶意软件计算机程序,它复制自身以便传播到其他计算机。通常,它使用计算机网络来传播自己,依靠目标计算机上的安全故障来访问它。 与计算机病毒不同,它不需要附加到现有的程序。 蠕虫几乎总是对网络造成一些伤害,即使只是消耗带宽,而病毒几乎总是损坏或修改目标计算机上的文件。
蠕虫病毒定义
是一种结合了蠕虫和病毒机理(技术特点)的产物,蠕虫病毒也集成了蠕虫和病毒的优点,使其更加强大,传播能力更强(注意与DOS操作系统下的“蠕虫”病毒的区别)。
入侵模式
组成部分
蠕虫由两部分组成:一个主程序和一个引导程序。 主程序一旦在机器上建立就会去收集与当前机器联网的其它机器的信息。它能通过读取公共配置文件并运行显示当前网上联机状态信息的系统实用程序而做到这一点。随后,它尝试利用前面所描述的那些缺陷去在这些远程机器上建立其引导程序。
入侵方法
蠕虫程序常驻于一台或多台机器中,并有自动重新定位(autoRelocation)的能力。如果它检测到网络中的某台机器未被占用,它就把自身的一个拷贝(一个程序段)发送给那台机器。每个程序段都能把自身的拷贝重新定位于另一台机器中,并且能识别它占用的哪台机器。蠕虫侵入一台计算机后,首先获取其他计算机的IP地址,然后将自身副本发送给这些计算机。蠕虫病毒也使用存储在染毒计算机上的邮件客户端地址簿里的地址来传播程序。虽然有的蠕虫程序也在被感染的计算机中生成文件,但一般情况下,蠕虫程序只占用内存资源而不占用其它资源。蠕虫还会蚕食并破坏系统,最终使整个系统瘫痪。
计算机蠕虫的通用结构
1、目标定位
为了在网络上快速传播,蠕虫应该具有发现新感染对象的能力。大多数蠕虫搜索本地系统上的存储的电子邮件地址列表并向这些地址发送蠕虫的拷贝。这种方法对于攻击者来说很方便,因为大部分单位都允许邮件信息穿过单位的防火墙,这就为蠕虫提供了一个穿透点。
很多蠕虫在IP层搜索网络上的可达节点,并利用节点的“指纹”信息识别远程系统的类型,以确定该系统上是否有被利用的漏洞。
2、感染传播
把自己传输到新系统并远程控制该系统的策略是蠕虫非常重要的组成部分。大部分的蠕虫都假定目标系统运行在某种特定类型的操作系统上,然后发送一个可以在这种系统上运行的蠕虫。举例来说,蠕虫开发者可以使用脚本语言、文档格式、二进制文件或者注入到内存中的代码(或者这几种方式的组合)攻击目标系统。通常,攻击者利用社会工程学的 方法欺骗接受者执行蠕虫程序。然而,越来越多的蠕虫携带一些“漏洞利用”模块,这样,蠕虫不需要用户的干预就能够自动在含有漏洞的远程系统上执行。
3、远程控制和更新接口
蠕虫的另一个非常重要的组成部分是利用通信模块进行远程控制。如果没有该模板,蠕虫作者就不能通过给蠕虫拷贝发送控制信息来控制蠕虫网络。远程允许攻击者利用蠕虫作为僵尸网络上的分布式拒绝服务工具攻击多个未知的目标。
更新和插件接口是高级蠕虫的另一重要特色,它允许在被感染的计算机系统上更新蠕虫代码,攻击者必须面对的一个问题是:在利用系统的某个漏洞成功进入该系统后,通常就不能再次利用这个漏洞发起第二轮攻击。这样的问题有助于攻击者避免是用同样的代码多次感染同一个系统,因为重复感染可能会造成系统崩溃。不过,入侵者可以通过多种其他途径避免重复感染。
4、生命周期管理
有些蠕虫作者希望某个版本的蠕虫在事先设定的某段时间内工作。比如蠕虫W32/Welchia.A会在2004年初“自杀”,然后在2004年2 月下旬又发布了Welchia.B(该蠕虫的B版本),这个版本又运行了3个多月自杀。另一方面,有些蠕虫的生命周期控制模块有问题,到了他们该寿终正寝的时候却任然运行着。而且,我们还经常遇到有些版本的蠕虫被其他版本的蠕虫修补后又继续运行下去的情况。
发展历史
实际的术语“蠕虫”最早用于约翰·布伦纳的1975年小说“冲击波骑士”。在这部小说中,Nichlas Haflinger设计和设置了一个数据收集蠕虫,对一个强大的人进行报复,他们经营一个引发大规模一致性的国家电子信息网络。 “你有最大的蠕虫在网络中,它自动破坏任何尝试监测它...从来没有一个蠕虫与那么坚韧的头或长尾巴!”
1982年,Shock和Hupp根据The Shockwave Rider一书中的一种概念提出了一种“蠕虫”(Worm)程序的思想。蠕虫程序可用作为Ethernet(以太网)网络设备的一种诊断工具,它能快速有效地检测网络。
1988年11月2日,康奈尔大学计算机科学研究生罗伯特·塔潘·莫里斯(Robert Tappan Morris)发布了所谓的莫里斯蠕虫,中断了互联网上的大量计算机,当时猜测是所有连接互联网计算机的十分之一。在莫里斯上诉过程中,美国上诉法院估计,从每个装置中清除病毒的费用在200-53,000美元的范围内,并促使建立CERT协调中心和Phage邮件列表。 莫里斯自己成为第一个根据1986年计算机欺诈和滥用法案被审判和定罪的人。
蠕虫病毒大多数都是由C++ SDK编程下的产物,体积小巧隐藏更深,很好的躲过杀软的查杀,另外还有delphi编写的蠕虫,例如大名鼎鼎的熊猫烧香病毒。
与病毒的异同
相同
蠕虫也是一种病毒,因此具有病毒的共同特征。一般的病毒是需要寄生的,它可以通过自己指令的执行,将自己的指令代码写到其他程序的体内,而被感染的文件就被称为”宿主”,例如,Windows下可执行文件的格式为PE格式(Portable Executable),当需要感染pe文件时,在宿主程序中,建立一个新段,将病毒代码写到新段中,修改的程序入口点等,这样,宿主程序执行的时候,就可以先执行病毒程序,病毒程序运行完之后,在把控制权交给宿主原来的程序指令。
不同
病毒主要是感染文件,当然也还有像DIRII这种链接型病毒,还有引导区病毒。引导区病毒他是感染磁盘的引导区,如果是软盘、U盘(闪存盘)、移动硬盘等被感染,这张受感染的盘用在其他机器上后,同样也会感染其他机器,所以传播方式也可以是移动存储设备。
蠕虫一般不采取利用PE格式插入文件的方法,而是复制自身在互联网环境下进行传播,病毒的传染能力主要是针对计算机内的文件系统而言,而蠕虫病毒的传染目标是互联网内的所有计算机.局域网条件下的共享文件夹,电子邮件Email,网络中的恶意网页,大量存在着漏洞的服务器等都成为蠕虫传播的良好途径。
防治方法
杀毒软件
使用具有实时监控功能的杀毒软件,并且注意不要轻易打开、运行不明来源的文件。
提高安全意识、补丁、防火墙
首先是提高安全意识,勤打补丁,定时升级杀毒软件和防火墙,对于网络管理员来说,还要对系统定期备份,尤其是多机备份,防止意外情况下的数据丢失,对于局域网用户,可以在因特网入口处安装防火墙,对邮件服务器进行监控,对用户进行安全培训。对于个人用户,上网要尽量选择一些大的门户网站,尽量少上一些小的不知名的网站,对于来历不明的电子邮件,最好不要打开,尤其是附件。另外,机器的安全设置可以设置的高一些,比如IE的安全级别可以设置为中,把其中所有ActiveX插件以及Java相关控件全部选择“禁用”即可。不过,这样做在以后的网页浏览过程中可能会造成个别含有ActiveX的网站无法浏览。另外,office里面可以禁用宏等。
更改名字
对于有些网络蠕虫病毒通过调用系统中已经编译好的带有破坏性的程序来实现这一功能。那么我们就把本地的带有破坏性的程序改名字,比如把format改成fmt,那样病毒的编辑者就无法实现用调用本地命令来实现这一功能。
删除Windows Script Host
由于蠕虫病毒大多是用VBScript脚本语言编写的,而VBScript代码是通过Windows Script Host来解释执行的,因此将Windows Script Host删除,就再也不用担心这些用VBS和JS编写的病毒了。从另一个角度来说,Windows Script Host本来是被系统管理员用来配置桌面环境系统服务脚本程序的系统支持文件,更改其名称或者干脆删除(这种做法有一定的副作用,如果删除脚本程序的系统支持文件的话,网页的js和ws,vbs等脚本将不能再执行,所以请慎用)。
参考资料
计算机病毒防范艺术.机械工业出版社.2006-12-21
submarine.paulgraham.
最新修订时间:2023-11-17 22:42
目录
概述
定义
入侵模式
参考资料