计算机毕业论文 -------一种简单的计算机病毒的实现 联系客服

发布时间 : 星期六 文章计算机毕业论文 -------一种简单的计算机病毒的实现更新完毕开始阅读6fc45d7358fafab069dc02fd

商丘师范学院

2010届函授本科毕业论文

一种简单的计算机病毒的实现

姓名:赵学中

院系:计算机与信息技术学院

专业:计算机科学与技术

学号:100480 指导教师:

2011年10月25日

一种简单的计算机病毒的实现

摘 要

计算机病毒是干扰计算机正常运行并造成计算机软硬件故障,破坏计算机数据的能进行自我复制的计算机程序或指令集合。随着计算机在社会生活各个领域的广泛应用,计算机病毒攻击与防范技术也在不断拓展,防范计算机病毒也越来越受到高度重视。本论文从脚本病毒的基本理论和实现脚本病毒的关键技术出发,实现了一个简单的脚本病毒,深入分析了脚本病毒的机制及原理。本论文概述了计算机病毒的发展历史,发展趋势,简单介绍了实现脚本病毒所需要的VBScript,Windows脚本宿主(WSH)以及注册表的基本知识。重点讲述了该脚本病毒的工作原理以及各个模块所使用的主要技术,并以该脚本病毒的源代码为例,分析了设计思路,感染模块,破坏模块,标记模块的功能,实现了脚本病毒采用递归算法进行的搜索磁盘机制和感染机制。

关键词:计算机病毒 注册表 Windows脚本宿主 递归算法 1引 言

近年来计算机技术高速发展,各种各样的新技术得到了应用,新技术的发展为我们带来了方便,使信息交流更加快捷有效,而病毒也随着计算机技术的广泛应用而得到了发展,从DOS到Windows再到Internet,病毒无处不在,甚至愈演愈烈,对计算的破坏也在不断升级,研究病毒原理及结构迫在眉睫。知己知彼,百战百胜,研究计算机病毒有助于反病毒技术的发展,了解病毒的原理和结构才能清除和防治病毒,减少病毒给我们带来的损失。

本文以一个脚本病毒为例,分别解析了计算机病毒的感染模块、破坏模块、搜索模块,解析病毒程序的一般结构。分析了各模块的功能特征,以及实现了一个脚本病毒,达到对脚本病毒原理进行深入分析的目的。

此文的目的在于了解病毒的发展状况及病毒程序的设计思路,掌握病毒基础知识,使我们能够尽早的防治和尽快的发现病毒的存在,提高计算机的安全性,意义不言而喻。

2 病毒的发展史

2.1计算机病毒的发展历史

到了1987年,第一个电脑病毒C-BRAIN终于诞生了。一般而言,业界都公认这是真正具备完整特征的电脑病毒始祖。这个病毒程序是由一对巴基斯坦兄弟:巴斯特(Basit)和阿姆捷特(Amjad)所写的,他们在当地经营一家贩卖个人电脑的商店,由于当地盗拷软件的风气非常盛行,因此他们的目的主要是为了防止他们的软件被任意盗拷。只要有人盗拷他们的软件,C-BRAIN就会发作,将盗拷者的硬盘剩余空间给吃掉。

这个病毒在当时并没有太大的杀伤力,但后来一些有心人士以C-BRAIN为蓝图,制作出一些变形的病毒。而其他新的病毒创作,也纷纷出笼,不仅有个人创作,甚至出现不少创作集团(如NuKE,Phalcon/Skism,VDV)。各类扫毒、防毒与杀毒软件以及专业公司也纷纷出现。一时间,各种病毒创作与反病毒程序,不断推陈出新,百家争鸣。

2.2计算机病毒的当前状况

1.计算机网络(互联网、局域网)成为计算机病毒的主要传播途径,使用计算机网络逐渐成为计算机病毒发作条件的共同点。

计算机病毒最早只通过文件拷贝传播,当时最常见的传播媒介是软盘和盗版光碟。随着计算机网络的发展,目前计算机病毒可通过计算机网络利用多种方式(电子邮件、网页、即时通讯软件等)

进行传播。计算机网络的发展有助于计算机病毒的传播速度大大提高,感染的范围也越来越广。可以说,网络化带来了计算机病毒传染的高效率。与以前计算机病毒给我们的印象相比,计算机病毒的主动性(主动扫描可以感染的计算机)、独立性(不再依赖宿主文件)更强了。 2.计算机病毒变形的速度极快并向混合型、多样化发展

计算机病毒向混合型、多样化发展的结果是一些病毒会更精巧,另一些病毒会更复杂,混合多种病毒特征,如红色代码病毒(Code Red)就是综合了文件型、蠕虫型病毒的特性,这种发展趋势会造成反病毒工作更加困难。2004年1月27日,一种新型蠕虫病毒在企业电子邮件系统中传播,导致邮件数量暴增,从而阻塞网络。不同反病毒厂商将其命名为Novarg、Mydoom、SCO炸弹、诺威格、小邮差变种等,该病毒采用的是病毒和垃圾邮件相结合的少见战术,不知情用户的推波助澜使得这种病毒的传播速度似乎比近来其他几种病毒的传播速度要快。 3.运行方式和传播方式的隐蔽性

微软安全中心发布的漏洞安全公告中MS04-028所提及的GDI+漏洞,危害等级被定为“严重”。在被计算机病毒感染的计算机中,你可能只看到一些常见的正常进程如svchost、taskmgr等,其实它是计算机病毒进程。 4.利用操作系统漏洞传播

操作系统是联系计算机用户和计算机系统的桥梁,也是计算机系统的核心,目前应用最为广泛的是WINDOWS系列的操作系统。随着DOS操作系统使用率的减少,感染DOS操作系统的计算机病毒也将退出历史舞台;随着WINDOWS操作系统使用率的增加,针对WINDOWS操作系统的计算机病毒将成为主流。

5.计算机病毒技术与黑客技术将日益融合

严格来说,木马和后门程序并不是计算机病毒,因为它们不能自我复制和扩散。但随着计算机病毒技术与黑客技术的发展,病毒编写者最终将会把这两种技术进行了融合。 6.物质利益将成为推动计算机病毒发展的最大动力

从计算机病毒的发展史来看,对技术的兴趣和爱好是计算机病毒发展的源动力。但越来越多的迹象表明,物质利益将成为推动计算机病毒发展的最大动力。

如今,不少银行都提供网上验证或密码钥匙,用户千万不要只图节省费用而冒失去巨大资金风险。买密码钥匙或数字证书是相当必要的。

2.3计算机病毒的发展趋势

对所有脚本类病毒发展的展望:随着网络的飞速发展,网络蠕虫病毒开始流行,而VBS脚本蠕虫则更加突出,不仅数量多,而且威力大。由于利用脚本编写病毒比较简单,除了将继续流行目前的VBS脚本病毒外,将会逐渐出现更多的其它脚本类病毒,譬如PHP,JS,Perl病毒等。但是脚本并不是真正病毒技术爱好者编写病毒的最佳工具,并且脚本病毒解除起来比较容易、相对容易防范。脚本病毒仍将继续流行,但是能够具有像爱虫、新欢乐时光那样大影响的脚本蠕虫病毒只是少数。计算机病毒的发展趋势: 1.高频度

病毒疫情发作的频率高。造成较大影响的计算机病毒达到百余种之多。恶性病毒的比例大,病毒对计算机用户的危害增大; 2.传播速度快,危害面广

由于网络的特征决定了国内计算机病毒几乎与国外病毒疫情同步爆发,且迅速大面积流行。目前对用户安全威胁最大的是恶性网络蠕虫病毒 3.病毒制作技术新

与传统的计算机病毒不同的是,许多新病毒是利用当前最新的编程语言与编程技术实现,易于修改以产生新的变种,从而逃避反病毒软件的搜索。例如“爱虫”病毒是用VBScript语言编写的,只要通过Windows下自带的编辑软件修改病毒代码中的一部分,就能轻而易举地制造病毒变种,以

躲避反病毒软件的追击。 4.病毒形式多样化

病毒呈现多样化的趋势。病毒分析显示,虽然新病毒不断产生,但较早的病毒发作仍很普遍,并向卡通图片、ICQ、OICQ等方面发展。 此外,新的病毒更善于伪装,如主题会在传播中改变,许多病毒会伪装成常用程序,或者将病毒代码写入文件内部长度而不发生变化,用来麻痹计算机用户。5.病毒生成工具

以往计算机病毒都是编程高手制作的,编写病毒显示自己的技术。“库尔尼科娃”病毒的设计者只是修改下载的VBS蠕虫孵化器,“库尔尼科娃”病毒就诞生了。据报道,VBS蠕虫孵化器被人们下载了十五万次以上。由于这类工具在网络上可以很容易地获得,使得现在新病毒出现的频率超出以往任何时候。

3相关工具简要介绍

3.1 WSH(Windows Script Host)介绍

VBS代码在本地是通过Windows Script Host(WSH)解释执行的。VBS脚本的执行离不开WSH,WSH是微软提供的一种基于32位Windows平台的、与语言无关的脚本解释机制,它使得脚本能够直接在Windows桌面或者命令提示符下运行。利用WSH,用户能够操纵WSH对象、ActiveX对象、注册表和文件系统等。 1.概述

WSH,是“Windows Scripting Host”的缩略形式,其通用的中文译名为“Windows脚本宿主”。它是内嵌于Windows操作系统中的脚本语言工作环境。Windows Scripting Host 这个概念最早出现于Windows 98操作系统。MS-Dos下的批处理命令类似于如今的脚本语言。微软在研发Windows 98时,为了实现多类脚本文件在Windows界面或Dos命令提示符下的直接运行,就在系统内植入了一个基于32位Windows平台、并独立于语言的脚本运行环境,并将其命名为“Windows Scripting Host”。WSH架构于ActiveX之上,通过充当ActiveX的脚本引擎控制器,WSH为Windows 用户充分利用威力强大的脚本指令语言扫清了障碍 2.组成

WSH自带的几个内置对象包括: 由Wscript.exe提供的对象

Wscript 作为Wscript公开给脚本引擎。

WshArguments 通过Wscript.Arguments属性访问。 由WSHom.Ocx提供的对象。

WshShortcut 通过WshShell.CreateShortcut方法访问。 WshUrlShortcut 通过WshShell.CreateShortcut 方法访问。 WshCollection 通过WshNetwork.EnumNetworkDrives访问。 WshEnvironment 通过WshShell.Environment属性访问。 WshSpecialFolders 通过WshShell.Folder属性访问。

它们主要可以完成环境变量的获取,网络登陆,驱动器映射,快截方式创建,程序加载,特殊文件夹(如系统文件夹)信息获取等功能。 3.WSH的作用

WSH的设计,在很大程度上考虑到了“非交互性脚本(no interactive scripting)”的需要。在这一指导思想下产生的WSH,给脚本带来非常强大的功能,可以利用它完成映射网络驱动器、检索及修改环境变量、处理注册表项等工作;管理员还可以使用 WSH 的支持功能来创建简单的登陆脚本,甚至可以编写脚本来管理活动目录。而事实上,上述功能的实现,均与WSH内置的多个对象密切相关,这些内置对象肩负着直接处理脚本指令的重任。