文件型病毒的基本机理
2.系统型病毒的磁盘存储结构
系统型病毒是指专门传染操作系统的启动扇区,主要指传染硬盘主引导扇区和DOS引导扇区的病毒。系统型病毒在磁盘上的存储结构是这样的,病毒程序被划分为两部分,第一部分存放在磁盘引导扇区中,第二部分则存放在磁盘其他的扇区中。病毒程序在感染一个磁盘时,首先根据FAT表在磁盘上找到一个空白簇(如果病毒程序的第二部分占用若干个簇,则需要找到一个连续的空白簇),然后将病毒程序的第二部分以及磁盘原引导扇区的内容写入该空白簇,接着将病毒程序的第一部分写入磁盘引导扇区。
但是,由于磁盘不同,病毒程序第二部分所占用的空白簇的位置就不同,而病毒程序在侵入系统时,又必须将其全部程序装入内存,在系统启动时道德装入的是磁盘引导扇区中的病毒程序,该段程序在执行时要将其第二部分装入内存,这样第一部分必须知道其第二部分所在簇的簇号或逻辑扇区号。为此,在病毒程序感染一个磁盘时,不仅要将其第一部分写入磁盘引导扇区,而且必须将病毒程序第二部分所在簇的簇号(或该簇第一扇区的逻辑扇区号)记录在磁盘的偏移地址01F9处,存放其第二部分所在簇第一扇区的逻辑扇区号。
另外,由于DOS分配磁盘空间时,必须将分配的每一簇与一个文件相联系,但是,系统型病毒程序第二部分所占用的簇没有对应的文件名,它们是以直接磁盘读写的方式被存取的,这样它们所占用的簇就有可能被DOS分配给新建立的磁盘文件,从而被覆盖。为了避免这样的情况发生,病毒程序在将其第二部分写入空白簇后,立即将这些簇在FAT中登记项的内容,强制地标记为坏簇(FF7H),经过这样处理后,DOS就不会将这些簇分配给其他新建立的文件。
3.文件型病毒的磁盘存储结构文件型病毒是指专门感染系统中的可执行文件,即扩展名为.COM、.EXE的文件。
对于文件型的病毒来说,病毒程序附着在被感染文件的首部、尾部、中部或“空闲”部位,病毒程序没有独立占用磁盘上的空白簇。也就是说,病毒程序所占用的磁盘空间依赖于其宿主程序所占用的磁盘空间。但是,病毒入侵后一定会使宿主程序占用的磁盘空间增加。
绝大多数文件型病毒属于所谓外壳病毒,什么是文件外壳呢?简单地说是计算机软件的一种层次结构。比方说计算机软件公司编制了一种教育软件,经过设计调试,软件本身的功能已经很完善,可以作为独立的磁盘文件提供给用户。但为了提高产品的商品化程序,公司决定为软件加一个漂亮的封面,为此设计人员可以在已经完成的软件基础上附加一段显示封面的程序。通常我们称软件本身为内核,而附加的显示封面程序称为外壳,加载运行关系。
尽管在结构上外壳接在内核后面,但运行的顺序仍然是先显示封面再跳转去执行内核。可执行文件的外壳一般具有相对独立的功能和结构,去掉外壳将不会影响内核部分的运行。如果我们用“病毒外壳”去替换图中的“封面外壳”,那么就已经说明了文件型病毒的基本机理。计算机病毒一般不传染数据文件,这是由于数据文件是不能执行的,如果病毒传染了数据文件以后,病毒自身得不到执行权,也就不能进行进一步的传播,所以计算机病毒不可能存在于数据文件中,但可能修改和破坏数据文件。
网友评论