蠕虫的行为特征描述和工作原理分析.pdf
- 文档编号:3210199
- 上传时间:2022-11-20
- 格式:PDF
- 页数:11
- 大小:82.79KB
蠕虫的行为特征描述和工作原理分析.pdf
《蠕虫的行为特征描述和工作原理分析.pdf》由会员分享,可在线阅读,更多相关《蠕虫的行为特征描述和工作原理分析.pdf(11页珍藏版)》请在冰豆网上搜索。
蠕虫的行为特征描述和工作原理分析*郑辉*李冠一涂菶生(南开大学20-333#,天津,300071)E-mail:
zhenghuiieee.orghttp:
/摘要:
本文详细讨论了计算机蠕虫和计算机病毒的异同,指出它们除了在复制和传染方面具有相似性之外,还有很多不同点,如蠕虫主要以计算机为攻击目标,病毒主要以文件系统为攻击目标;蠕虫具有主动攻击特性,而病毒在传播时需要计算机使用者的触发。
通过详细区分它们的不同行为特征,确定了在计算机网络安全防范体系中不同角色的责任。
然后描述了蠕虫发展的历史,从中可以看到,蠕虫产生了越来越大的危害。
通过分析计算机蠕虫的工作原理、功能结构、实体组成,提出了蠕虫的统一功能结构模型,并给出了有针对性的对计算机蠕虫攻击进行防范的措施。
最后本文分析了一些新的蠕虫技术发展趋势,指出计算机蠕虫本质上是黑客入侵行为的自动化,更多的黑客技术将被用到蠕虫编写当中来,由此可以看出对蠕虫攻击的防治和对抗将是长期而困难的工作。
关键词:
蠕虫,计算机病毒,计算机网络安全,蠕虫定义,蠕虫历史,行为特征,功能模型一、引言计算机病毒给世界范围内的计算机系统带来了不可估量的危害,给人们留下了深刻的印象。
同时给人们一种误解,认为危害计算机的程序就是病毒。
从而不加区分把计算机病毒(Virus)、计算机蠕虫(Worm)、木马程序(TrojanHorse)、后门程序(Backdoor)、逻辑炸弹(LogicBomb)等等这些概念都称为计算机病毒。
这种误解不仅体现在媒体的宣传中,而且体现在病毒技术研究人员的文章12中,反病毒厂商对产品的介绍说明中,甚至政府部门制定的法律法规3当中。
这种相近概念上的误解导致不能有效的给出针对不同类型危害计算机安全的程序的有效防治措施,也为整体的计算机安全防护带来了一定困难。
另外,同一程序的不同分类也不利于对其性质的进一步研究和分析。
计算机病毒和计算机蠕虫在传播、复制等特性上非常相似,尤其容易造成人们的误解。
导致误解的原因有很多,一方面由于反病毒技术人员自身知识的限制,无法对这两种程序进行清楚细致的区分;另一方面虽然病毒的命名有一定的规范45,但病毒编写者在为自己的程序起名字的时候并不一定遵循这个规范,利用网络功能如电子邮件进行传播的病毒常常被病毒编写者冠以蠕虫的名字,这也给人们带来一些误导。
为了照顾这种病毒的命名,曾有文献试图将蠕虫细分为活动蠕虫和邮件蠕虫6。
由于用计算机病毒这个称谓不能涵盖所有危害计算机的程序的特征,而且容易产生误导,所以有的文献采用了含义更广泛的称谓“恶意软件”(malware)7来统一称呼它们。
从蠕虫产生开始,十几年来,很多研究人员对蠕*高等学校博士点学科点专项科研基金资助课题(编号:
2000005516)。
*作者简介:
郑辉(1972),男,吉林伊通人,博士研究生,主要研究领域为网络与信息安全。
李冠一(1978),女,辽宁鞍山人,硕士研究生,主要研究领域为模式识别,计算机视觉与图像处理等。
涂奉生(1937),江西南昌人,博士生导师,主要研究领域为CIMS,DEDS理论,制造系统及通讯理论。
虫和病毒这两个概念进行了区分714,但描述基本都很粗略,而且不同研究人员给出的分类也不一致。
本文试图明确区分这两个概念。
通过对几种典型的蠕虫程序进行分析,本文讨论了蠕虫的主要行为特征。
文献614提出了蠕虫的功能结构描述,但由于对蠕虫和病毒两种程序的行为特征区分的不明确,这些功能模型结构不清晰,体系不完整。
本文在参考前人工作的基础上,提出了比较清晰全面的蠕虫程序的统一功能模型来完成对蠕虫程序的功能结构描述。
并进一步对蠕虫的实体结构进行了分析,依据功能结构描述和实体结构分析,给出了针对蠕虫防治的几点建议。
另外,本文也对蠕虫技术的未来发展趋势进行了描述。
二、蠕虫的定义1、蠕虫的原始定义:
蠕虫这个生物学名词在1982年由XeroxPARC的JohnF.Shoch等人最早引入计算机领域15,并给出了计算机蠕虫的两个最基本特征:
“可以从一台计算机移动到另一台计算机”和“可以自我复制”。
他们编写蠕虫的目的是做分布式计算的模型试验,在他们的文章中,蠕虫的破坏性和不易控制已经初露端倪。
1988年Morris蠕虫爆发后,EugeneH.Spafford为了区分蠕虫和病毒,给出了蠕虫的技术角度的定义,“计算机蠕虫可以独立运行,并能把自身的一个包含所有功能的版本传播到另外的计算机上。
”(wormisaprogramthatcanrunbyitselfandcanpropagateafullyworkingversionofitselftoothermachines.)8。
2、病毒的原始定义:
人们在探讨计算机病毒的定义时,常常追溯到DavidGerrold在1972年的发表的科幻小说WhenHarlieWasOne,但计算机病毒的技术角度的定义是由FredCohen在1984年给出的,“计算机病毒是一种程序,它可以感染其它程序,感染的方式为在被感染程序中加入计算机病毒的一个副本,这个副本可能是在原病毒基础上演变过来的。
”(aprogramthatcaninfectotherprogramsbymodifyingthemtoincludeapossiblyevolvedcopyofitself.)9。
1988年Morris蠕虫爆发后,EugeneH.Spafford为了区分蠕虫和病毒,将病毒的含义作了进一步的解释。
“计算机病毒是一段代码,能把自身加到其它程序包括操作系统上。
它不能独立运行,需要由它的宿主程序运行来激活它。
”(virusisapieceofcodethataddsitselftootherprograms,includingoperatingsystems.itcannotrunindependentlyanditrequiresthatitshostprogramberuntoactivateit.)8。
3、蠕虫、病毒之间的区别与联系:
计算机蠕虫和计算机病毒都具有传染性和复制功能,这两个主要特性上的一致,导致二者之间是非常难区分的,尤其是近年来,越来越多的病毒采取了部分蠕虫的技术,另一方面具有破坏性的蠕虫也采取了部分病毒的技术,更加剧了这种情况。
但对计算机蠕虫和计算机病毒进行区分还是非常必要的,因为通过对它们之间的区别、不同功能特性的分析,可以确定谁是对抗计算机蠕虫的主要因素、谁是对抗计算机病毒的主要因素;可以找出有针对性的有效对抗方案;同时也为对它们的进一步研究奠定初步的理论基础。
本文给出了病毒和蠕虫的一些差别,如下表(表1):
病毒蠕虫存在形式寄生独立个体复制机制插入到宿主程序(文件)中自身的拷贝传染机制宿主程序运行系统存在漏洞(vulnerability)搜索机制(传染目标)针对本地文件针对网络上的其它计算机触发传染计算机使用者程序自身影响重点文件系统网络性能、系统性能计算机使用者角色病毒传播中的关键环节无关防治措施从宿主文件中摘除为系统打补丁(Patch)对抗主体计算机使用者、反病毒厂商系统提供商、网络管理人员表1.病毒和蠕虫的一些差别4、蠕虫定义的进一步说明:
在上面提到的蠕虫原始定义和病毒原始定义中,都忽略了相当重要的一个因素,就是计算机使用者,定义中都没有明确描述计算机使用者在其整个传染机制中所处的地位。
计算机病毒主要攻击的是文件系统,在其传染的过程中,计算机使用者是传染的触发者,是传染的关键环节,使用者的计算机知识水平的高低常常决定了病毒所能造成的破坏程度。
而蠕虫主要利用计算机系统漏洞(vulnerability)进行传染,搜索到网络中存在漏洞的计算机后主动进行攻击,在传染的过程中,与计算机操作者是否进行操作无关,从而与使用者的计算机知识水平无关。
另外,蠕虫的定义中强调了自身副本的完整性和独立性,这也是区分蠕虫和病毒的重要因素。
可以通过简单的观察攻击程序是否存在载体来区分蠕虫与病毒;目前很多破坏性很强的病毒利用了部分网络功能,例如以信件作为病毒的载体,或感染Windows系统的网络邻居共享中的文件。
通过分析可以知道,Windows系统的网络邻居共享本质上是本地文件系统的一种扩展,对网络邻居共享文件的攻击不能等同与对计算机系统的攻击。
而利用信件作为宿主的病毒同样不具备独立运行的能力。
不能简单的把利用了部分网络功能的病毒统统称为蠕虫或蠕虫病毒,因为它们不具备上面提到的蠕虫的基本特征。
通过简单的分析,可以得出结论,文献1213中提到的“Morris蠕虫病毒”是蠕虫而非病毒;“Happy99蠕虫病毒”、“Mellisa网络蠕虫宏病毒”、“LoverLetter网络蠕虫病毒”、“SirCam蠕虫病毒”是病毒而非蠕虫;“NAVIDAD网络蠕虫”、“Blebla.B网络蠕虫”、“VBS_KAKWORM.A蠕虫”是病毒而非蠕虫。
三、蠕虫发展的历史1980年,XeroxPARC的研究人员编写了最早的蠕虫15,用来尝试进行分布式计算(DistributedComputation)。
整个程序由几个段(Segment)组成,这些段分布在网络中的不同计算机上,它们能够判断出计算机是否空闲,并向处于空闲状态的计算机迁移。
当某个段被破坏掉时,其它段能重新复制出这个段。
研究人员编写蠕虫的目的是为了辅助科学实验。
1988年11月2日,Morris蠕虫8101618发作,几天之内6000台以上的Internet服务器被感染,损失超过一千万美元。
它造成的影响是如此之大,使它在后来的10几年里,被反病毒厂商作为经典病毒案例,虽然它是蠕虫而非病毒;1990年,Morris蠕虫的编写者RobertT.Morris被判有罪并处以3年缓刑、1万美元罚金和400小时的社区义务劳动。
Morris蠕虫通过fingerd、sendmail、rexec/rsh三种系统服务中存在漏洞进行传播。
1989年10月16日,WANK蠕虫34被报告,它表现出来强烈的政治意味,自称是抗议核刽子手的蠕虫(wormsagainstthenuclearkillers),将被攻击的DECVMS计算机的提示信息改为“表面上高喊和平,背地里却准备战争”(Youtalkoftimesofpeaceforall,andthenprepareforwar.)。
WANK蠕虫是通过系统弱口令漏洞进行传播的。
1998年5月,ADM蠕虫1920被发现,它只感染Linux系统,由于程序自身的限制,它的传染效率较低。
ADM蠕虫是通过域名解析服务程序BIND中的反向查询(inversequery)溢出漏洞进行传播的。
1999年9月,Millennium蠕虫21被报告,它可能是最没有名气的蠕虫,因为只有一个人声称自己的计算机系统被它感染,并且人们能够得到的蠕虫代码不能正常工作。
Millennium蠕虫只感染Linux系统,它入侵系统后,会修补所有它利用的系统漏洞。
它通过imapd、qpopper、bind、rpc.mountd四种系统服务中存在漏洞进行传播。
2001年1月,Ramen蠕虫22在Linux系统下发现,它的名字取自一种面条。
它在15分钟内可以扫描13万个地址,早期的版本只修改被入侵计算机Web服务下的index.html文件,在利用系统漏洞入侵后会为系统修补好漏洞。
但后期的版本中被加入了隐藏其踪迹的工具包(Rootkit),并在系统中留下后门。
虽然它是蠕虫而非病毒,但仍被媒体称为“Linux系统下的首例病毒”。
Ramen蠕虫通过wuftpd、rpc.statd、LPRng三种系统服务中存在漏洞进行传播。
2001年3月23
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 蠕虫 行为 特征 描述 工作 原理 分析