1、第第4章章 计算机病毒防治计算机病毒防治4.1 计算机病毒概述计算机病毒概述 4.2 DOS环境下的病毒环境下的病毒 4.3 宏病毒宏病毒 4.4 网络病毒网络病毒 4.5 现代计算机病毒流行特性现代计算机病毒流行特性 4.6 杀毒软件技术杀毒软件技术 4.7 典型病毒介绍典型病毒介绍 4.8 常用反病毒软件产品常用反病毒软件产品 习习 题题4.1 计算机病毒概述计算机病毒概述4.1.1 病毒的定义病毒的定义“计算机病毒计算机病毒”一词最早是由美国计算机病毒研究一词最早是由美国计算机病毒研究专家专家F.Cohen博士提出的。博士提出的。“病毒病毒”一词是借用一词是借用生物学中的病毒。通过分析研
2、究计算机病毒,人生物学中的病毒。通过分析研究计算机病毒,人们发现它在很多方面与生物病毒有着相似之处。们发现它在很多方面与生物病毒有着相似之处。计算机病毒在中华人民共和国计算机信息系统计算机病毒在中华人民共和国计算机信息系统安全保护条例中的定义为:安全保护条例中的定义为:“指编制或者在计指编制或者在计算机程序中插入的破坏计算机功能或者数据,影算机程序中插入的破坏计算机功能或者数据,影响计算机使用并且能够自我复制的一组计算机指响计算机使用并且能够自我复制的一组计算机指令或者程序代码令或者程序代码”。4.1.2 计算机病毒的历史计算机病毒的历史随着计算机在各行各业的大量应用,计算机病毒也随着计算机在
3、各行各业的大量应用,计算机病毒也随之渗透到计算机世界的每个角落,常以人们意随之渗透到计算机世界的每个角落,常以人们意想不到的方式侵入计算机系统。计算机病毒的流想不到的方式侵入计算机系统。计算机病毒的流行引起人们的普遍关注,成为影响计算机安全运行引起人们的普遍关注,成为影响计算机安全运行的一个重要因素。行的一个重要因素。世界上第一例被证实的病毒是在世界上第一例被证实的病毒是在1983年。直到年。直到1987年,病毒并没有真正在世界上传播开来,也没有年,病毒并没有真正在世界上传播开来,也没有引起人们的重视,更没有被充分认识到将造成多引起人们的重视,更没有被充分认识到将造成多大的危害。大的危害。19
4、88年年11月的一次病毒发作,造成月的一次病毒发作,造成Internet网上的网上的6200多用户系统瘫痪,经济损失多用户系统瘫痪,经济损失达九千多万美元,随后一系列病毒事件的发生,达九千多万美元,随后一系列病毒事件的发生,才引起人们对计算机病毒高度重视,并在国际计才引起人们对计算机病毒高度重视,并在国际计算机领域掀起了一个探讨病毒的高潮。算机领域掀起了一个探讨病毒的高潮。计算机病毒的发展经历了以下几个阶段:计算机病毒的发展经历了以下几个阶段:1.DOS引导阶段引导阶段1987年,计算机病毒主要是引导型病毒,具有代表年,计算机病毒主要是引导型病毒,具有代表性的是性的是“小球小球”、“石头石头”
5、、Azusa/Hong-Kong/2708病毒等。当时计算机数量较少,功能病毒等。当时计算机数量较少,功能简单,一般需要通过软盘启动后使用。引导型病简单,一般需要通过软盘启动后使用。引导型病毒利用软盘的启动原理工作,它们修改系统引导毒利用软盘的启动原理工作,它们修改系统引导扇区,在计算机启动时首先取得控制权,减少系扇区,在计算机启动时首先取得控制权,减少系统内存,修改磁盘读写中断,在系统存取操作磁统内存,修改磁盘读写中断,在系统存取操作磁盘时传播,影响系统工作效率。病毒自身代码不盘时传播,影响系统工作效率。病毒自身代码不隐藏不加密,所以查、解都很容易。隐藏不加密,所以查、解都很容易。1989年
6、引导年引导型病毒发展为可以感染硬盘,典型的代表有型病毒发展为可以感染硬盘,典型的代表有“石石头头2”。2.DOS可执行文件阶段可执行文件阶段1989年,可执行文件型病毒出现,一般只传年,可执行文件型病毒出现,一般只传染染.COM和和.EXE可执行文件。它们利用可执行文件。它们利用DOS系系统加载执行文件的机制工作,如统加载执行文件的机制工作,如“耶路撒冷耶路撒冷”、“星期天星期天”病毒。病毒代码在系统执行文件时取病毒。病毒代码在系统执行文件时取得控制权,修改得控制权,修改DOS中断,在系统调用时进行传中断,在系统调用时进行传染,将自己附加在可执行文件中,被感染的文件染,将自己附加在可执行文件中
7、,被感染的文件长度明显变长,病毒代码没有加密。同样这类病长度明显变长,病毒代码没有加密。同样这类病毒容易查、解。毒容易查、解。3.混合型阶段混合型阶段1990年以后出现双料病毒,既感染文件同时又感染年以后出现双料病毒,既感染文件同时又感染引导记录,也称混合型病毒。引导记录,也称混合型病毒。常见的有常见的有Flip/Omicron Xqr invader/侵入者、侵入者、Plastique/塑料炸弹、塑料炸弹、ALFA/3072-2、Ghost/One-Half/3544(幽灵)、幽灵)、Natas(幽灵王)、幽灵王)、TPVO/3783等。如果只解除了感染文件上的病毒,等。如果只解除了感染文件
8、上的病毒,而没有清除引导区的病毒,那么在系统重新引导而没有清除引导区的病毒,那么在系统重新引导时病毒又将激活,会重新感染文件;如果只清除时病毒又将激活,会重新感染文件;如果只清除了引导区的病毒而没有清除文件上的病毒,一旦了引导区的病毒而没有清除文件上的病毒,一旦执行被感染文件,就又会感染硬盘引导区。执行被感染文件,就又会感染硬盘引导区。4.伴随、批次型阶段伴随、批次型阶段1992年,伴随型病毒出现,它们利用年,伴随型病毒出现,它们利用DOS加载文件加载文件的优先顺序进行工作。具有代表性的是的优先顺序进行工作。具有代表性的是“金蝉金蝉”病毒,它感染病毒,它感染EXE文件时生成一个和文件时生成一个
9、和EXE同名的同名的扩展名为扩展名为COM的伴随体;的伴随体;它感染它感染COM文件时,将原来的文件时,将原来的COM文件改为同名文件改为同名的的EXE文件,再产生一个原名的伴随体,文件扩文件,再产生一个原名的伴随体,文件扩展名为展名为.COM,这样,在这样,在DOS加载文件时,病毒加载文件时,病毒就取得控制权。这类病毒的特点是不改变原来的就取得控制权。这类病毒的特点是不改变原来的文件内容、日期及属性,解除病毒时只要将其伴文件内容、日期及属性,解除病毒时只要将其伴随体删除即可。在非随体删除即可。在非DOS操作系统中,一些伴随操作系统中,一些伴随型病毒利用操作系统的描述语言进行工作,较典型病毒利
10、用操作系统的描述语言进行工作,较典型的代表是型的代表是“海盗旗海盗旗”病毒,它在得到执行时,病毒,它在得到执行时,询问用户名称和口令,然后返回一个出错信息,询问用户名称和口令,然后返回一个出错信息,将自身删除。批次型病毒是工作在将自身删除。批次型病毒是工作在DOS下的和下的和“海盗旗海盗旗”病毒类似的一类病毒。病毒类似的一类病毒。5.多形型阶段多形型阶段1994年,随着汇编语言编程技术的发展,实现同一年,随着汇编语言编程技术的发展,实现同一功能可以用不同的方式来完成,这些方式的组合功能可以用不同的方式来完成,这些方式的组合使一段看似随机的代码产生相同的运算结果。幽使一段看似随机的代码产生相同的
11、运算结果。幽灵病毒就是利用这个特点,每感染一次就产生不灵病毒就是利用这个特点,每感染一次就产生不同的代码。病毒能产生一段有上亿种可能的代码同的代码。病毒能产生一段有上亿种可能的代码运算程序,也称运算程序,也称多态多态病毒,病毒体被隐藏在解病毒,病毒体被隐藏在解码前的加密数据中,查解这类病毒必须能对这段码前的加密数据中,查解这类病毒必须能对这段数据进行解码,加大了查毒的难度。多形型病毒数据进行解码,加大了查毒的难度。多形型病毒是一种综合性病毒,它既能感染引导区又能感染是一种综合性病毒,它既能感染引导区又能感染程序区,多数具有解码算法,一种病毒往往要两程序区,多数具有解码算法,一种病毒往往要两段以
12、上的子程序方能解除。段以上的子程序方能解除。6.生成器,变体机阶段生成器,变体机阶段1995年,在汇编语言中,一些数据的运算放在不同年,在汇编语言中,一些数据的运算放在不同的通用寄存器中,可运算出同样的结果,随机插的通用寄存器中,可运算出同样的结果,随机插入一些空操作和无关指令,也不影响运算的结果,入一些空操作和无关指令,也不影响运算的结果,这样,一段解码算法就可以由生成器生成。当生这样,一段解码算法就可以由生成器生成。当生成的是病毒时,这种复杂的病毒生成器和变体机成的是病毒时,这种复杂的病毒生成器和变体机就产生了。比较典型的代表是就产生了。比较典型的代表是“病毒制造病毒制造机机”VCL,它可
13、以在瞬间制造出成千上万种不同它可以在瞬间制造出成千上万种不同的病毒,查解时就不能使用传统的特征识别法,的病毒,查解时就不能使用传统的特征识别法,需要在宏观上分析指令,解码后查解病毒。变体需要在宏观上分析指令,解码后查解病毒。变体机就是增加解码复杂程度的指令生成机。机就是增加解码复杂程度的指令生成机。7.网络,蠕虫阶段网络,蠕虫阶段1995年以后,随着网络的普及,病毒大量利用网络年以后,随着网络的普及,病毒大量利用网络进行传播,但只是以上几代病毒的改进。在非进行传播,但只是以上几代病毒的改进。在非DOS操作系统中,操作系统中,“蠕虫蠕虫”是典型的代表,它不是典型的代表,它不占用除内存以外的任何资
14、源,不修改磁盘文件,占用除内存以外的任何资源,不修改磁盘文件,利用网络功能搜索网络地址,将自身向下一地址利用网络功能搜索网络地址,将自身向下一地址进行传播,有时也在网络服务器和启动文件中存进行传播,有时也在网络服务器和启动文件中存在。在。8.视窗阶段视窗阶段1996年,随着年,随着Windows 3.x和和Windows95的日益普的日益普及,利用及,利用Windows传播的病毒迅速发展,它们修传播的病毒迅速发展,它们修改改(NE,PE)文件,典型的代表是文件,典型的代表是DS.3873病毒,病毒,这类病毒的机制更为复杂,它们利用保护模式和这类病毒的机制更为复杂,它们利用保护模式和API调用接
15、口工作,解除方法也比较复杂。调用接口工作,解除方法也比较复杂。近一两年流行的近一两年流行的CIH病毒就是一种专门感染病毒就是一种专门感染Windows95/98程序文件的病毒。这种病毒使用程序文件的病毒。这种病毒使用Windows VXD(虚拟设备驱动程序)技术,发虚拟设备驱动程序)技术,发作时不仅破坏硬盘数据,而且还对一些使用作时不仅破坏硬盘数据,而且还对一些使用Flash ROM 芯片存储芯片存储BIOS程序的主板造成损坏。程序的主板造成损坏。9.宏病毒阶段宏病毒阶段1996年,随着年,随着Windows Word功能的增强,使用功能的增强,使用Word宏语言也可以编制病毒。这种病毒使用类
16、宏语言也可以编制病毒。这种病毒使用类Basic语言,编写容易,感染语言,编写容易,感染Word文档文件。在文档文件。在Excel和和AmiPro上出现的相同工作机制的病毒也上出现的相同工作机制的病毒也归为此类。归为此类。10.互联网阶段互联网阶段1997年,随着因特网的发展,各种病毒也开始利用年,随着因特网的发展,各种病毒也开始利用因特网进行传播。一些携带病毒的数据包和邮件因特网进行传播。一些携带病毒的数据包和邮件越来越多,如果不小心打开了这些邮件,机器就越来越多,如果不小心打开了这些邮件,机器就有可能中毒。有可能中毒。1997年,随着万维网上年,随着万维网上Java的普及,的普及,利用利用J
17、ava语言进行传播和获取资料的病毒开始出语言进行传播和获取资料的病毒开始出现。这类病毒的主要特点是:它们一般不需要宿现。这类病毒的主要特点是:它们一般不需要宿主程序,多数都能够跨平台,借助网络迅速传播,主程序,多数都能够跨平台,借助网络迅速传播,破坏系统数据;有一些能够窃取使用者的重要数破坏系统数据;有一些能够窃取使用者的重要数据资料,如个人的数据文件、网络帐号密码、信据资料,如个人的数据文件、网络帐号密码、信用卡信息等。网络病毒的查杀具有更大的难度,用卡信息等。网络病毒的查杀具有更大的难度,而且容易复发。而且容易复发。4.1.3 计算机病毒的特点计算机病毒的特点要做好反病毒技术的研究,首先要
18、认清计算机病毒的要做好反病毒技术的研究,首先要认清计算机病毒的特点和行为机理,为防范和清除计算机病毒提供充特点和行为机理,为防范和清除计算机病毒提供充实可靠的依据。根据对计算机病毒的产生、传染和实可靠的依据。根据对计算机病毒的产生、传染和破坏行为的分析,总结出病毒的几个主要特点:破坏行为的分析,总结出病毒的几个主要特点:1.刻意编写人为破坏刻意编写人为破坏计算机病毒不是偶然自发产生的,而是人为编写的有计算机病毒不是偶然自发产生的,而是人为编写的有意破坏、严谨精巧的程序段,它是严格组织的程序意破坏、严谨精巧的程序段,它是严格组织的程序代码,与所在环境相互适应并紧密配合。编写病毒代码,与所在环境相
19、互适应并紧密配合。编写病毒的动机一般有以下几种情况:为了表现和证明自己;的动机一般有以下几种情况:为了表现和证明自己;出于对上级的不满;出于好奇的出于对上级的不满;出于好奇的“恶作剧恶作剧”;为了;为了报复;为了纪念某一事件等等。也有因为政治、军报复;为了纪念某一事件等等。也有因为政治、军事、民族、宗教、专利等方面的需要而专门编写的。事、民族、宗教、专利等方面的需要而专门编写的。有的病毒编制者为了相互交流或合作,甚至形成了有的病毒编制者为了相互交流或合作,甚至形成了专门的病毒组织。专门的病毒组织。计算机病毒的破坏性多种多样。若按破坏性粗略分计算机病毒的破坏性多种多样。若按破坏性粗略分类,可以分
20、为良性病毒和恶性病毒。恶性病毒是类,可以分为良性病毒和恶性病毒。恶性病毒是指在代码中包含有损伤、破坏计算机系统的操作,指在代码中包含有损伤、破坏计算机系统的操作,在其传染或发作时会对系统直接造成严重损坏。在其传染或发作时会对系统直接造成严重损坏。它的破坏目的非常明确,如破坏数据、删除文件、它的破坏目的非常明确,如破坏数据、删除文件、格式化磁盘、破坏主板等,因此恶性病毒非常危格式化磁盘、破坏主板等,因此恶性病毒非常危险。良性病毒是指不包含立即直接破坏的代码,险。良性病毒是指不包含立即直接破坏的代码,只是为了表现其存在或为说明某些事件而存在,只是为了表现其存在或为说明某些事件而存在,如只显示某些信
21、息,或播放一段音乐,或没有任如只显示某些信息,或播放一段音乐,或没有任何破坏动作但不停地传播。但是这类病毒的潜在何破坏动作但不停地传播。但是这类病毒的潜在破坏还是有的,它使内存空间减少,占用磁盘空破坏还是有的,它使内存空间减少,占用磁盘空间,降低系统运行效率,使某些程序不能运行,间,降低系统运行效率,使某些程序不能运行,它还与操作系统和应用程序争抢它还与操作系统和应用程序争抢CPU的控制权,的控制权,严重时导致系统死机、网络瘫痪。严重时导致系统死机、网络瘫痪。2.自我复制能力自我复制能力自我复制也称自我复制也称“再生再生”或或“传染传染”。再生机制是判。再生机制是判断是不是计算机病毒的最重要依
22、据。这一点与生断是不是计算机病毒的最重要依据。这一点与生物病毒的特点也最为相似。在一定条件下,病毒物病毒的特点也最为相似。在一定条件下,病毒通过某种渠道从一个文件或一台计算机传染到另通过某种渠道从一个文件或一台计算机传染到另外没有被感染的文件或计算机,轻则造成被感染外没有被感染的文件或计算机,轻则造成被感染的计算机数据破坏或工作失常,重则使计算机瘫的计算机数据破坏或工作失常,重则使计算机瘫痪。病毒代码就是靠这种机制大量传播和扩散的。痪。病毒代码就是靠这种机制大量传播和扩散的。携带病毒代码的文件称为计算机病毒载体或带毒携带病毒代码的文件称为计算机病毒载体或带毒程序。每一台被感染了病毒的计算机,本
23、身既是程序。每一台被感染了病毒的计算机,本身既是一个受害者,又是计算机病毒的传播者,通过各一个受害者,又是计算机病毒的传播者,通过各种可能的渠道,如软盘、光盘、活动硬盘、网络种可能的渠道,如软盘、光盘、活动硬盘、网络去传染其它的计算机。去传染其它的计算机。在染毒的计算机上曾经使用过的软盘,很有可能已在染毒的计算机上曾经使用过的软盘,很有可能已被计算机病毒感染,如果拿到其它机器上使用,被计算机病毒感染,如果拿到其它机器上使用,病毒就会通过带毒软盘传染这些机器。如果计算病毒就会通过带毒软盘传染这些机器。如果计算机已经连网,通过数据或程序共享,病毒就可以机已经连网,通过数据或程序共享,病毒就可以迅速
24、传染与之相连的计算机,若不加控制,就会迅速传染与之相连的计算机,若不加控制,就会在很短时间内传遍整个世界。在很短时间内传遍整个世界。3.夺取系统控制权夺取系统控制权当计算机在正常程序控制之下运行时,系统运行是当计算机在正常程序控制之下运行时,系统运行是稳定的。在这台计算机上可以查看病毒文件的名稳定的。在这台计算机上可以查看病毒文件的名字,查看或打印计算机病毒代码,甚至拷贝病毒字,查看或打印计算机病毒代码,甚至拷贝病毒文件,系统都不会激活并感染病毒。病毒为了完文件,系统都不会激活并感染病毒。病毒为了完成感染、破坏系统的目的必然要取得系统的控制成感染、破坏系统的目的必然要取得系统的控制权,这是计算
25、机病毒的另外一个重要特点。权,这是计算机病毒的另外一个重要特点。计算机病毒一经在系统中运行,病毒首先要做初始计算机病毒一经在系统中运行,病毒首先要做初始化工作,在内存中找到一片安身之地,随后将自化工作,在内存中找到一片安身之地,随后将自身与系统软件挂起钩来执行感染程序。在这一系身与系统软件挂起钩来执行感染程序。在这一系列的操作中,最重要的是病毒与系统挂起钩来,列的操作中,最重要的是病毒与系统挂起钩来,即取得系统控制权,系统每执行一次操作,病毒即取得系统控制权,系统每执行一次操作,病毒就有机会执行它预先设计的操作,完成病毒代码就有机会执行它预先设计的操作,完成病毒代码的传播或进行破坏活动。反病毒
26、技术也正是抓住的传播或进行破坏活动。反病毒技术也正是抓住计算机病毒的这一特点提前与病毒取得系统控制计算机病毒的这一特点提前与病毒取得系统控制权,阻止病毒取得系统控制权,然后识别出计算权,阻止病毒取得系统控制权,然后识别出计算机病毒的代码和行为。机病毒的代码和行为。4.隐蔽性隐蔽性不经过程序代码分析或计算机病毒代码扫描,病毒不经过程序代码分析或计算机病毒代码扫描,病毒程序与正常程序不易区别开。程序与正常程序不易区别开。在没有防护措施的情况下,计算机病毒程序取得系在没有防护措施的情况下,计算机病毒程序取得系统控制权后,可以在很短的时间里大量传染。而统控制权后,可以在很短的时间里大量传染。而在受到传
27、染后,一般计算机系统仍然能够运行,在受到传染后,一般计算机系统仍然能够运行,被感染的程序也能执行,用户不会感到明显的异被感染的程序也能执行,用户不会感到明显的异常,这便是计算机病毒的隐蔽性。正是由于这种常,这便是计算机病毒的隐蔽性。正是由于这种隐蔽性,计算机病毒得以在用户没有察觉的情况隐蔽性,计算机病毒得以在用户没有察觉的情况下扩散传播。计算机病毒的隐蔽性还表现在病毒下扩散传播。计算机病毒的隐蔽性还表现在病毒代码本身设计得非常短小,一般只有几百到几代码本身设计得非常短小,一般只有几百到几K字节,非常便于隐藏到其它程序中或磁盘的某一字节,非常便于隐藏到其它程序中或磁盘的某一特定区域内。随着病毒编
28、写技巧的提高,病毒代特定区域内。随着病毒编写技巧的提高,病毒代码本身还进行加密或变形,使得对计算机病毒的码本身还进行加密或变形,使得对计算机病毒的查找和分析更困难,容易造成漏查或错杀。查找和分析更困难,容易造成漏查或错杀。5.潜伏性潜伏性大部分病毒在感染系统后一般不会马上发作,它可大部分病毒在感染系统后一般不会马上发作,它可长期隐藏在系统中,除了传染外,不表现出破坏长期隐藏在系统中,除了传染外,不表现出破坏性,这样的状态可能保持几天,几个月甚至几年,性,这样的状态可能保持几天,几个月甚至几年,只有在满足其特定条件后才启动其表现模块,显只有在满足其特定条件后才启动其表现模块,显示发作信息或进行系
29、统破坏。使计算机病毒发作示发作信息或进行系统破坏。使计算机病毒发作的触发条件主要有以下几种:的触发条件主要有以下几种:(1)利用系统时钟提供的时间作为触发器,这种触利用系统时钟提供的时间作为触发器,这种触发机制被大量病毒使用。发机制被大量病毒使用。(2)利用病毒体自带的计数器作为触发器。病毒利利用病毒体自带的计数器作为触发器。病毒利用计数器记录某种事件发生的次数,一旦计数器用计数器记录某种事件发生的次数,一旦计数器达到设定值,就执行破坏操作。达到设定值,就执行破坏操作。这些事件可以是计算机开机的次数,可以是病毒程这些事件可以是计算机开机的次数,可以是病毒程序被运行的次数,还可以是从开机起被运行
30、过的序被运行的次数,还可以是从开机起被运行过的程序数量,等等。程序数量,等等。(3)利用计算机内执行的某些特定操作作为触发器。利用计算机内执行的某些特定操作作为触发器。特定操作可以是用户按下某些特定键的组合,可特定操作可以是用户按下某些特定键的组合,可以是执行的命令,可以是对磁盘的读写。被病毒以是执行的命令,可以是对磁盘的读写。被病毒使用的触发条件多种多样,而且往往是由多个条使用的触发条件多种多样,而且往往是由多个条件的组合触发。大多数病毒的组合条件是基于时件的组合触发。大多数病毒的组合条件是基于时间的,再辅以读写盘操作,按键操作以及其它条间的,再辅以读写盘操作,按键操作以及其它条件。件。6.
31、不可预见性不可预见性不同种类病毒的代码千差万别,病毒的制作技术也不同种类病毒的代码千差万别,病毒的制作技术也在不断地提高,病毒比反病毒软件永远是超前的。在不断地提高,病毒比反病毒软件永远是超前的。新的操作系统和应用系统的出现,软件技术的不断新的操作系统和应用系统的出现,软件技术的不断发展,也为计算机病毒提供了新的发展空间,对发展,也为计算机病毒提供了新的发展空间,对未来病毒的预测更加困难,这就要求人们不断提未来病毒的预测更加困难,这就要求人们不断提高对病毒的认识,增强防范意识。人为编制的病高对病毒的认识,增强防范意识。人为编制的病毒人类一定会战胜它。毒人类一定会战胜它。4.1.4 计算机病毒的
32、破坏行为计算机病毒的破坏行为计算机病毒的破坏性表现为病毒的杀伤能力。病毒计算机病毒的破坏性表现为病毒的杀伤能力。病毒破坏行为的激烈程度取决于病毒作者的主观愿望破坏行为的激烈程度取决于病毒作者的主观愿望和他的技术能力。数以万计、不断发展的病毒破和他的技术能力。数以万计、不断发展的病毒破坏行为千奇百怪,不可穷举。根据有关病毒资料坏行为千奇百怪,不可穷举。根据有关病毒资料可以把病毒的破坏目标和攻击部位归纳如下:可以把病毒的破坏目标和攻击部位归纳如下:1.攻击系统数据区。攻击部位包括:硬盘主引导扇攻击系统数据区。攻击部位包括:硬盘主引导扇区、区、Boot扇区、扇区、FAT表、文件目录。一般来说,表、文
33、件目录。一般来说,攻击系统数据区的病毒是恶性病毒,受损的数据攻击系统数据区的病毒是恶性病毒,受损的数据不易恢复。不易恢复。2.攻击文件。病毒对文件的攻击方式很多,如删除、攻击文件。病毒对文件的攻击方式很多,如删除、改名、替换内容、丢失簇、对文件加密等。改名、替换内容、丢失簇、对文件加密等。3.攻击内存。内存是计算机的重要资源,也是病毒攻击内存。内存是计算机的重要资源,也是病毒攻击的重要目标。病毒额外地占用和消耗内存资攻击的重要目标。病毒额外地占用和消耗内存资源,可导致一些大程序运行受阻。病毒攻击内存源,可导致一些大程序运行受阻。病毒攻击内存的方式有大量占用、改变内存总量、禁止分配和的方式有大量
34、占用、改变内存总量、禁止分配和蚕食内存。蚕食内存。4.干扰系统运行,使运行速度下降。此类行为也是干扰系统运行,使运行速度下降。此类行为也是花样繁多,如不执行命令、干扰内部命令的执行、花样繁多,如不执行命令、干扰内部命令的执行、虚假报警、打不开文件、内部栈溢出、占用特殊虚假报警、打不开文件、内部栈溢出、占用特殊数据区、换现行盘、时钟倒转、重启动、死机、数据区、换现行盘、时钟倒转、重启动、死机、强制游戏、扰乱串并接口等等。病毒激活时,系强制游戏、扰乱串并接口等等。病毒激活时,系统时间延迟程序启动,在时钟中纳入循环计数,统时间延迟程序启动,在时钟中纳入循环计数,迫使计算机空转,运行速度明显下降。迫使
35、计算机空转,运行速度明显下降。5.干扰键盘、喇叭或屏幕。病毒干扰键盘操作,如干扰键盘、喇叭或屏幕。病毒干扰键盘操作,如响铃、封锁键盘、换字、抹掉缓存区字符、重复、响铃、封锁键盘、换字、抹掉缓存区字符、重复、输入紊乱。许多病毒运行时,会使计算机的喇叭输入紊乱。许多病毒运行时,会使计算机的喇叭发出响声。病毒扰乱显示的方式很多,如字符跌发出响声。病毒扰乱显示的方式很多,如字符跌落、环绕、倒置、显示前一屏、光标下跌、滚屏、落、环绕、倒置、显示前一屏、光标下跌、滚屏、抖动、乱写、吃字符等等。抖动、乱写、吃字符等等。6.攻击攻击CMOS。在机器的在机器的CMOS中,保存着系统的中,保存着系统的重要数据,如
36、系统时钟、磁盘类型、内存容量等,重要数据,如系统时钟、磁盘类型、内存容量等,并具有校验和。有的病毒激活时,能够对并具有校验和。有的病毒激活时,能够对CMOS区进行写入动作,破坏区进行写入动作,破坏CMOS中的数据。新发现中的数据。新发现的的CIH病毒破坏计算机硬件,乱写某些主板病毒破坏计算机硬件,乱写某些主板BIOS芯片,损坏硬盘。芯片,损坏硬盘。7.干扰打印机。假报警、间断性打印、更换字符。干扰打印机。假报警、间断性打印、更换字符。.网络病毒破坏网络系统,非法使用网络资源,破坏电网络病毒破坏网络系统,非法使用网络资源,破坏电子邮件,发送垃圾信息,占用网络带宽等等。子邮件,发送垃圾信息,占用网
37、络带宽等等。4.1.5 计算机病毒的命名与分类计算机病毒的命名与分类对计算机病毒命名,各个组织或公司不尽相同。有时对计算机病毒命名,各个组织或公司不尽相同。有时对一种病毒,不同的软件会报出不同的名称。如对一种病毒,不同的软件会报出不同的名称。如“SPY”病毒,病毒,KILL起名为起名为SPY,KV300则叫则叫“TPVO-3783”。给病毒起名的方法不外乎以下几种:给病毒起名的方法不外乎以下几种:按病毒出现的地点,如按病毒出现的地点,如“ZHENJIANG_JES”其样本最其样本最先来自镇江某用户;按病毒中出现的人名或特征字先来自镇江某用户;按病毒中出现的人名或特征字符,如符,如“ZHANGF
38、ANG-1535”,“DISK KILLER”,“上海一号上海一号”;按病毒发作时的症状命名,如;按病毒发作时的症状命名,如“火火炬炬”,“蠕虫蠕虫”;按病毒发作的时间,如;按病毒发作的时间,如“NOVEMBER 9”在在11月月9日发作;有些名称包含病日发作;有些名称包含病毒代码的长度,如毒代码的长度,如“PIXEL.xxx系列,系列,KO.xxx等。等。从第一个病毒出世以来,究竟世界上有多少种病毒从第一个病毒出世以来,究竟世界上有多少种病毒说法不一。无论多少种,病毒的数量仍在不断增说法不一。无论多少种,病毒的数量仍在不断增加。据国外统计,计算机病毒以加。据国外统计,计算机病毒以10种种/周
39、的速度周的速度递增。另据我国公安部统计,国内以递增。另据我国公安部统计,国内以4种种/月的速月的速度递增。病毒种类众多,分类如下:度递增。病毒种类众多,分类如下:1.按传染方式分为引导型、文件型和混合型病毒。按传染方式分为引导型、文件型和混合型病毒。引导型病毒利用软盘的启动原理工作,修改系统启引导型病毒利用软盘的启动原理工作,修改系统启动扇区。在计算机启动时首先取得控制权,减少动扇区。在计算机启动时首先取得控制权,减少系统内存,修改磁盘读写中断,在系统存取操作系统内存,修改磁盘读写中断,在系统存取操作时进行传播,影响系统工作效率。时进行传播,影响系统工作效率。文件型病毒一般只传染磁盘上的可执行
40、文件文件型病毒一般只传染磁盘上的可执行文件COM,EXE等。在用户调用染毒的执行文件时,病毒首等。在用户调用染毒的执行文件时,病毒首先运行,然后病毒驻留内存伺机传染其他文件或先运行,然后病毒驻留内存伺机传染其他文件或直接传染其他文件。直接传染其他文件。其特点是附着于正常程序文件中,成为程序文件的其特点是附着于正常程序文件中,成为程序文件的一个外壳或部件。这是较为常见的传染方式。一个外壳或部件。这是较为常见的传染方式。混合型病毒兼有以上两种病毒的特点,既感染引导混合型病毒兼有以上两种病毒的特点,既感染引导区又感染文件,因此这种病毒更易传染。区又感染文件,因此这种病毒更易传染。2.按连接方式分为源
41、码型、入侵型、操作系统型和按连接方式分为源码型、入侵型、操作系统型和外壳型病毒。外壳型病毒。源码型病毒较为少见,亦难以编写、传播。因为它源码型病毒较为少见,亦难以编写、传播。因为它要攻击高级语言编写的源程序,在源程序编译之要攻击高级语言编写的源程序,在源程序编译之前插入其中,并随源程序一起编译、连接成可执前插入其中,并随源程序一起编译、连接成可执行文件。这样刚刚生成的可执行文件便已经带毒行文件。这样刚刚生成的可执行文件便已经带毒了。了。入侵型病毒可用自身代替正常程序中的部分模块或入侵型病毒可用自身代替正常程序中的部分模块或堆栈区。因此这类病毒只攻击某些特定程序,针堆栈区。因此这类病毒只攻击某些
42、特定程序,针对性强。一般情况下也难以发现和清除。对性强。一般情况下也难以发现和清除。操作系统病毒可用其自身部分加入或替代操作系统操作系统病毒可用其自身部分加入或替代操作系统的部分功能。因其直接感染操作系统,这类病毒的部分功能。因其直接感染操作系统,这类病毒的危害性也较大。的危害性也较大。外壳病毒将自身附在正常程序的开头或结尾,相当外壳病毒将自身附在正常程序的开头或结尾,相当于给正常程序加了个外壳。大部分的文件型病毒于给正常程序加了个外壳。大部分的文件型病毒都属于这一类。都属于这一类。3.按破坏性可分为良性病毒和恶性病毒。按破坏性可分为良性病毒和恶性病毒。4.宏病毒是近几年才出现的,按方式分类属
43、于文件宏病毒是近几年才出现的,按方式分类属于文件型病毒。型病毒。5.网络病毒指基于在网上运行和传播,影响和破坏网络病毒指基于在网上运行和传播,影响和破坏网络系统的病毒。网络系统的病毒。应该指出分类是相对的,同一种病毒按不同分类可应该指出分类是相对的,同一种病毒按不同分类可属于不同类型。属于不同类型。4.1.6 计算机病毒的结构计算机病毒的结构计算机病毒在结构上有着共同性,一般由引导部分、计算机病毒在结构上有着共同性,一般由引导部分、传染部分、表现部分几部分组成。传染部分、表现部分几部分组成。1.引导部分也就是病毒的初始化部分,它随着宿主引导部分也就是病毒的初始化部分,它随着宿主程序的执行而进入
44、内存,为传染部分做准备。程序的执行而进入内存,为传染部分做准备。2.传染部分作用是将病毒代码复制到目标上去。一传染部分作用是将病毒代码复制到目标上去。一般病毒在对目标进行传染前,要判断传染条件,般病毒在对目标进行传染前,要判断传染条件,如如CIH病毒只针对病毒只针对Windows 95/98操作系统,判操作系统,判断病毒是否已经感染过该目标等。断病毒是否已经感染过该目标等。3.表现部分是病毒间差异最大的部分,前两部分是表现部分是病毒间差异最大的部分,前两部分是为这部分服务的。它破坏被传染系统或者在被传为这部分服务的。它破坏被传染系统或者在被传染系统的设备上表现出特定的现象。大部分病毒染系统的设
45、备上表现出特定的现象。大部分病毒都是在一定条件下才会触发其表现部分的。都是在一定条件下才会触发其表现部分的。4.2 DOS环境下的病毒环境下的病毒4.2.1 DOS基本知识介绍基本知识介绍1.DOS的基本结构的基本结构DOS由由4个相互独立又相互联系的程序模块组成,个相互独立又相互联系的程序模块组成,这四个模块构成了这四个模块构成了DOS的的4个层次。它们是引导个层次。它们是引导记录模块、基本输入输出模块、核心模块和记录模块、基本输入输出模块、核心模块和SHELL模块。模块。(1)引导记录模块引导记录模块 当当FORMAT格式化磁盘时,它格式化磁盘时,它作为一个记录写在软盘的作为一个记录写在软
46、盘的0面面0道道1扇区,或硬盘扇区,或硬盘上上DOS 分区的第一个扇区。引导记录模块由三分区的第一个扇区。引导记录模块由三部分组成:软(硬)盘部分组成:软(硬)盘I/O参数表、软(硬)盘参数表、软(硬)盘基数表、引导记录块。基数表、引导记录块。(2)基本输入输出模块基本输入输出模块 又称基本输入输出管理模块。又称基本输入输出管理模块。它由两部分组成:系统初始化程序、标准字符和它由两部分组成:系统初始化程序、标准字符和块设备驱动程序。系统初始化程序完成确定内存块设备驱动程序。系统初始化程序完成确定内存容量,定位容量,定位DOS核心模块的初始化程序,解释核心模块的初始化程序,解释CONFIG.SY
47、S文件并设置系统环境,加载可安装文件并设置系统环境,加载可安装的设备驱动程序以及命令处理程序等。加载时该的设备驱动程序以及命令处理程序等。加载时该模块以文件名模块以文件名IO.SYS 装入内存,系统启动成功装入内存,系统启动成功后该程序消失。后该程序消失。(3)核心模块核心模块 这部分是文件管理和系统调用模块,这部分是文件管理和系统调用模块,是是DOS的内核。它由内核初始化程序、系统功能的内核。它由内核初始化程序、系统功能调用程序组成。内核初始化程序完成调用程序组成。内核初始化程序完成DOS内部初内部初始化工作,负责设置始化工作,负责设置DOS中断向量入口,检查常中断向量入口,检查常驻的设备驱
48、动链。根据块设备驱动程序返回的磁驻的设备驱动链。根据块设备驱动程序返回的磁盘参量,建立磁盘盘参量,建立磁盘I/O参数表以及设置缺省的磁参数表以及设置缺省的磁盘扇区缓冲区等。盘扇区缓冲区等。系统功能调用程序主要由系统功能调用程序主要由INT 21h构成,该程序向构成,该程序向用户提供由用户提供由0-63h子功能号组成的系统功能调用。子功能号组成的系统功能调用。当应用程序调用这些功能时,首先要设置寄存器当应用程序调用这些功能时,首先要设置寄存器为指定的参数,然后由系统调用这些功能,如,为指定的参数,然后由系统调用这些功能,如,文件和记录的管理、内存管理、字符设备的输入文件和记录的管理、内存管理、字
49、符设备的输入/输出、目录管理、日期和时间管理、输出、目录管理、日期和时间管理、“假脱假脱机机”、网络管理、程序结束等。核心模块的文件、网络管理、程序结束等。核心模块的文件名为名为MSDOS.SYS。(4)SHELL模块模块 即命令处理程序,它是用户和操即命令处理程序,它是用户和操作系统的接口,任务是分析执行用户命令,包括作系统的接口,任务是分析执行用户命令,包括从磁盘上加载程序到内存运行。该模块由三部分从磁盘上加载程序到内存运行。该模块由三部分组成:常驻部分组成:常驻部分CCPR、SHELL初始化程序、暂初始化程序、暂驻部分驻部分CCPT。在启动时该模块以文件名在启动时该模块以文件名COMMA
50、ND.COM装入内存并分常驻和暂驻两装入内存并分常驻和暂驻两部分。部分。2.DOS启动过程启动过程PC X86系列计算机设计时,都使系列计算机设计时,都使0FFFF0H处于处于ROM区中并将该地址设计为一条跳转指令,将区中并将该地址设计为一条跳转指令,将控制权转交自检程序和控制权转交自检程序和ROM引导装入程序。所引导装入程序。所以计算机系统加电启动后,程序执行的首地址总以计算机系统加电启动后,程序执行的首地址总是是0FFFF0H,和和DOS操作系统无关。系统启动操作系统无关。系统启动有冷启动和热启动之分,冷启动有两种情况:开有冷启动和热启动之分,冷启动有两种情况:开机或按机或按RESET开关