爱爱小说网 > 体育电子书 > 知者无畏--一个真实的簿世界 >

第8章

知者无畏--一个真实的簿世界-第8章

小说: 知者无畏--一个真实的簿世界 字数: 每页3500字

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



疑的时候,盖茨为他们准备好了一个标准答案:“这是视窗操作系统的问题,Windows本身就不稳定。。。”

一个反病毒软件厂商技术支持部门在碰到无法解决问题时的标准回答:
“在某些硬件环境下,由于微软特定版本的操作系统的某种隐含的不兼容性,可能会造成我们的软件非正常退出或者无法运行,请升级到最新版本或者提供进一步信息。”


第三章 什么是电脑病毒
电脑病毒(puter Virus)在《中华人民共和国计算机信息系统安全保护条例》中被明确定义为:〃指编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码〃。在本章中,我们将力求提供最详尽的病毒知识。采用国际上通行的病毒分类方法,对电脑病毒的种类进行详细的论述,包括每种病毒的基本原理、危害以及最典型的例子等。
对电脑病毒的分类方法有很多种,在这里我们采用一种最普通的方法,根据病毒载体的类型进行分类,然后对几种重要的病毒类型进行重点阐述。
第一节 当你打开电源——引导型病毒
引导型病毒是IBM PC兼容机上最早出现的病毒,也是最早进入我国的病毒。引导病毒感染软磁盘的引导扇区,以及硬盘的主引导记录或者引导扇区。要想全面的了解引导型病毒,需要对基本输入输出系统(BIOS)、电脑的引导过程、分区、扇区、主引导记录等概念有清楚的认识,下面我们结合电脑的启动过程,详细解释这些基本的概念。
当你打开电脑的电源开关的时候,电脑开始启动,从整个机器开始通电到出现视窗系统熟悉的蓝天白云画面是一个非常复杂的过程,其中涉及了所有电脑中的重要部分。当电脑开始通电之后,首先是中央处理器(CPU)接收到一个复位指令,然后跳转到一个特定的地址开始执行,在IBM PC兼容机上这个地址是十六进制的FFFF0,这个地址落到基本输入输出系统(BIOS)的地址范围内。
基本输入输出系统(BIOS):原来是在电脑的硬件和软件之间建立一个桥梁,通过访问BIOS提供的一些功能,软件可以不考虑是IBM还是康柏制造了这台电脑而实现一样的功能。但是在操作系统日益专业和复杂之后,对硬件的访问都是直接由操作系统进行了,所以现在BIOS的基本作用只是进行一些基本的系统硬件检测和引导系统了。BIOS采用非易失性的的存储介质存储,一般使用EPROM、EEPROM或者Flash ROM,也就是在断电之后内容仍然可以保留,包括了系统自我检测和配置的程序以及系统的配置数据。
基本输入输出系统(BIOS)在完成一些基本的硬件检测之后,根据用户的设置(在电脑的开机设置中,一般都有引导顺序这一项,可以选择A:、C:、CDROM或者C:、A:、CDROM等等多种组合),确定将哪一个扇区加载到内存中开始进行下一步的引导工作。如果是从A盘或者光盘引导,则将A盘(软磁盘)或者可引导光盘的引导扇区(第一个扇区)加载到内存中开始执行,如果是从C:(硬盘)引导,则将硬盘的主引导记录加载到内存中开始执行。如果是正常的主引导记录,会根据分区的信息加载适当的引导扇区到内存中,然后引导相应的操作系统。如果是被病毒感染的主引导记录,则会首先将病毒加载到内存中执行,然后再开始通常的引导过程。
磁道(Track)、柱面(cylinder)、扇区(Sector):硬盘、软盘和其他一些磁性存储设备,基本存储的媒体都是一张或者多张可以记录数据的圆片形状的磁性材料,如果存在多张存储介质,则硬盘或者软盘可以包括多个柱面,使用柱面号定位每一片存储介质。每一片存储介质内,使用一圈一圈数据带的方式记录数据,每一圈称为一个磁道,为了更加有效地利用存储资源,每一个磁道划分成多个单位,一个单位称为一个扇区,扇区是最小的磁性介质存储单位,一般一个扇区可以存放512或者512的倍数个字节的数据。
分区(Partition):分区是在硬盘上增加一种可以被操作系统和BIOS认识的数据结构,同一个物理硬盘可以包括多个不同的分区,每一个分区可以采用一种不同的文件系统,例如FAT16、FAT32、视窗NT使用的文件系统NTFS或者OS/2使用的高性能文件系统(HPFS)。
引导扇区(Boot Sector)对于软磁盘或者光盘,是第一个扇区,对于硬盘是每一个分区的第一个扇区,如果一个分区在分区表中被标记为可引导的,则这个分区的第一个扇区就是该分区的引导扇区。引导扇区是引导型病毒的天然栖息地。
主引导记录(Master Boot Record)MBR(Main Boot Record),位于整个硬盘的0磁道0柱面1扇区。不过,在总共512字节的主引导扇区中,MBR只占用了其中的446个字节(偏移0偏移1BDH),另外的64个字节(偏移1BEH偏移1FDH)交给了DPT(Disk Partition Table硬盘分区表),表示了整块硬盘的分区信息。主引导记录中包含了硬盘的一系列参数和一段引导程序。其中的硬盘引导程序的主要作用是检查分区表是否正确并且在系统硬件完成自检以后引导具有激活标志的分区上的操作系统,并将控制权交给启动程序。MBR是由分区程序(如Fdisk)所产生的,它不依赖任何操作系统,由于主引导记录是在系统启动的时候最早执行的硬盘上的代码,所以也成为很多引导病毒篡改的目标。
主引导记录或者引导扇区都有可能被病毒感染。当系统被感染后,正常的主引导记录或者引导扇区的代码被病毒代码替换,电脑启动的时候首先运行的是病毒代码,正常情况下,病毒代码会一直驻留在内存中等待感染的时机。一般情况下,当读写软盘的时候,如果在内存中有病毒代码,这这张软盘有很大的机会被感染(内存中的病毒代码用病毒提供的引导扇区覆盖软盘上原来的引导扇区)。当感染硬盘的时候,病毒可以覆盖原来的主引导记录,也可以覆盖活动分区的引导扇区(通常是C分区的引导扇区),病毒还可以修改分区表中活动扇区的地址,使其指向病毒代码所在的扇区。
引导病毒在感染硬盘之后,一般会把原来的主引导记录保存在硬盘上的其他扇区中(通常是第一个可用的扇区),如果病毒代码超过一个扇区大小,病毒可能会分布在几个扇区中。如果一个引导型病毒设计的比较完善的话,它会将自己放置在比较安全的地方,比如说逻辑驱动器的空闲扇区、未使用的系统扇区等。“石头”病毒家族使用的就是这种方法,它把自己放在主引导记录和第一个引导扇区之间,这中间很多扇区是没有被使用的。另外一些病毒可以分析文件分配表的结构,发现没有被使用的扇区之后,将扇区的标志设置为“坏”,然后将病毒代码放在这些所谓的坏扇区中。“大脑”和“乒乓”病毒就是用了这种方法来存放病毒代码。还有一些病毒将自己放在硬盘的最后一个扇区上(由于现代的硬盘是非常大,最后一个扇区被使用的可能性是非常小的,但是如果在硬盘上同时安装了OS/2操作系统,这些病毒会损坏OS/2操作系统的文件,因为OS/2操作系统会使用这个扇区存放一些系统数据)。
文件分配表(FAT),DOS和视窗操作系统使用的一种简单文件系统格式。根据数据单元的位数,有FAT12、FAT16和FAT32三个版本。
还有一些病毒使用了很少见的方法来存放病毒代码,其中一种是修改硬盘的参数,使用户看到的硬盘容量要小于实际的硬盘容量,比如说,原来硬盘是976个磁道的(从0到975磁道),病毒将这个参数修改为975个磁道(从0到974磁道),这样病毒就可以将自己的代码存放在第975磁道而不会被发现了。另外一种主要是针对软磁盘的,很多软磁盘都可以支持比标准格式容量稍大一些的格式,例如1。44M的软盘一般都可以格式化成1。72M,这样,病毒就可以将自己放在标称的容量以外的地区,这些地方对于用户是不可见的,但是对于硬件是可读写的,而且病毒可以将这些代码加载到内存中执行,“野兔”病毒就使用了这种方法放置病毒代码。
还有一些病毒自己就包括了完整的主引导记录程序,这样病毒可以不保存原来的主引导记录。
绝大多数引导型病毒在感染系统的时候,会保留一些重要的系统信息,比如说硬盘分区表的信息,基本输入输出系统参数的信息等,因为只有正确的提供了这些信息,电脑才能找到硬盘分区以及分区上的操作系统,从而能够正常的启动。所以清除这些引导型病毒非常简单,只要使用一张干净的DOS系统盘引导电脑,然后敲入下面几个命令就可以了:
A: SYS C:(回车换行)清除C盘的引导区病毒
A: FDISK /MBR(回车换行)清除主引导记录中的病毒
但是还有少数几种引导区病毒是不能采用这种简单的方法清除的,这些病毒没有保存原来的参数信息,或者甚至把原来的参数进行了加密处理,当病毒存在在内存中的时候,操作系统或者其他的软件如果存取被感染的扇区,病毒将提供原来没有被感染的扇区(将加密的数据解密),所以系统可以正常的启动。一旦采用了上面所说的方法恢复了没有病毒的主引导记录或者引导扇区,由于启动的时候没有病毒进入系统,也就没有代码去完成对不正确数据的解密从而得到正确的参数信息,你将会发现硬盘的所有分区都丢失了。碰到这种情况,你可以作出下面几种选择:彻底的重新格式化硬盘——你所有的数据也随之丢失;恢复原来包含病毒的主引导记录或者引导扇区——如果你够走运的备份了原来数据的话;手工恢复分区表和其他数据—这需要非常高的专业知识和经验。
由于这类引导型病毒的存在,所以建议你在使用上面所述的引导型病毒清除办法的时候一定要慎重,而且在做任何操作之前记住备份你修改前的扇区数据。
由于引导型病毒都比较精干,往往将数据和程序放在一起,所以多重感染引导型病毒经常造成系统不能正常启动。
基本上所有的引导区病毒都是内存驻留型的。由于在电脑启动的时候,引导型病毒就被加载到内存中,并且到关机为止一直存在,所以引导型病毒基本上都会减少可用内存的容量,一种比较简单的方法是直接减少地址0040:0013处的值,这样在系统引导成功之后,在DOS命令行下敲入下面的命令:
MEM(回车换行)
你会发现显示的数值要小于640K,这就说明系统内存中已经存在引导型病毒。
还有一种更加高明的做法是等到DOS引导成功之后,在DOS的内存中为病毒分配一块内存,然后将病毒拷贝到这块内存中,再释放原来病毒所占的内存,这样即使你使用MEM命令,也无法察觉病毒已经占用了一部分系统内存。
为了实现传染的目的,引导型病毒基本上都会修改第13H(16进制)号中断,这样,一旦访问磁盘就会首先执行病毒代码,病毒会判断存取的介质是否需要感染,如果需要就把病毒代码写入软磁盘、硬盘的主引导记录或者引导扇区中。
第二节 数量最多的病毒——文件型病毒
我们把所有通过操作系统的文件系统进行感染的病毒都称作文件病毒,所以这是一类数目非常巨大的病毒。理论上可以制造这样一个病毒,该病毒可以感染基本上所有操作系统的可执行文件。目前已经存在这样的文件病毒,可以感染所有标准的DOS可执行文件:包括批处理文件、DOS下的可加载驱动程序(。SYS)文件以及普通的/EXE可执行文件。当然还有感染所有视窗操作系统可执行文件的病毒,可感染文件的种类包括:视窗3。X版本,视窗9X版本,视窗NT和视窗2000版本下的可执行文件,后缀名是EXE、DLL或者VXD、SYS。
除此之外,还有一些病毒可以感染高级语言程序的源代码,开发库和编译过程所生成的中间文件。病毒也可能隐藏在普通的数据文件中,但是这些隐藏在数据文件中的病毒不是独立存在的,必须需要隐藏在普通可执行文件中的病毒部分来加载这些代码。从某种意义上,宏病毒—隐藏在字处理文档或者电子数据表中的病毒也是一种文件型病毒,但是由于宏病毒的重要性,我们在后面专门用一节对宏病毒进行论述。
可执行文件格式:
在DOS环境下有四种基本的可执行文件格式:
批处理文件,是以。BAT结尾的文件,在BAT文件中可以包括一些DOS命令,以及在批处理文件中调用其它的可执行文件;批文件还有一些简单的流程控制功能,可以实现循环、条件判断等简单的编程工作。
设备驱动文件,是以。SYS结尾的文件,比如说CONFIG。SYS和IO。SYS等,是DOS操作系统使用的设备驱动程序。 
文件,是以结尾的纯代码文件。没有文件头部分,缺省的总是从16进制的100H处开始执行,没有重定位项,这也限制了它的所有代码和数据必须控制在64K以内。
EXE文件,是以。EXE结尾的文件,这种文件以英文字母“MZ”开头,通常我们称之为MZ文件。MZ文件有一个文件头,用来指出每个段的定义,以及重定位表。。EXE文件摆脱了代码大小最多不能超过64K的限制,是DOS下最主要的文件格式。
在视窗3。0和视窗3。1版本中,微软推出了一种新的可执行文件格式,在MZ文件头之后又有一个以NE开始的文件头,我们称之为NE文件。由于视窗的可执行文件同DOS相比增加了很多内容,如资源、动态库。。。。NE格式表现极为复杂,NE格式文件装载程序读取磁盘上的文件后,需要在内存中组装成一个完全不同的数据结构然后开始运行。 
在视窗32位平台(版本9x和版本NT/2000系列),微软又推出了一种新的可执行文件格式,可移植的可执行文件(Portable Executable File)格式。它同NE格式不同的是在MZ文件头之后是一个以“PE”开始的文件头。PE文件格式是从COFF(一个在Unix世界中广泛使用的通用二进制文件格式)的对象格式发展而来的,它同NE格式相比是进了一大步,其文件在磁盘中的格式同内存中的格式区别不大,装载程序实现起来相当简单。
在视窗32位环境下,微软还有一种应用比较少的可执行文件格式:线性可执行文件(Linear Executable),主要用于设备驱动程序VXD,这种格式是微软和IBM共同开发的,也是IBM的OS/2操作系统使用的可执行文件格式。

根据病毒感染文件方法的不同,文件型病毒可以分成下面几大类:

寄生病毒
这类病毒在感染的时候,将病毒代码加入正常程序之中,原来程序的功能部分或者全部被保留。根据病毒代码加入的方式不同,寄生病毒可以分为“头寄生”、“尾寄生”、“中间插入”和“空洞利用”四种:

“头寄生”:
实现将病毒代码放到程序的头上有两种方法,一种是将原来程序的前面一部分拷贝到程序的最后,然后将文件头用病毒代码覆盖;另外一种是生成一个新的文件,首先在头的位置写上病毒代码,然后将原来的可执行文件放在病毒代码的后面,再用新的文件替换原来的文件从而完成感染。使用“头寄生”方式的病毒基本上感染的是批处理病毒和格式的文件,因为这些文件在运行的时候不需要重新定位,所以可以任意调换代码的位置而不发生错误。



当然,随着病毒制作水平的提高,很多感染DOS下的EXE文件和

返回目录 上一页 下一页 回到顶部 0 0

你可能喜欢的