计算机病毒的分类有很多,其中一种就是计算机寄生型病毒。计算机中毒后,可能会导致正常的程序无法运行,把计算机内的文件删除或受到不同程度的损坏。破坏引导扇区及BIOS,硬件环境破坏。今天我们来介绍下什么是计算机寄生型病毒。
计算机寄生病毒是指病毒码附加在主程序上,一旦程序被执行,病毒也就被激活。寄生型病毒是一种感染可执行文件的程序,感染后的文件会以不同于原先的方式运行从而产生不可预料的后果,如删除硬盘文件或破坏用户数据等。
它具有“寄生”于可执行文件进行传播的能力且只有在感染了可执行文件执行之后,病毒才会发作。还有一种也是寄生型的时间炸弹和逻辑炸弹,这类病毒被一个特定的时间所发作。
寄生病毒可以分为“头寄生”、“尾寄生”、“中间插入”和“空洞利用”四种:
“头寄生”:
实现将病毒代码放到程序的头上有两种方法,一种是将原来程序的前面一部分拷贝到程序的最后,然后将文件头用病毒代码覆盖;另外一种是生成一个新的文件,首先在头的位置写上病毒代码,然后将原来的可执行文件放在病毒代码的后面,再用新的文件替换原来的文件从而完成感染。使用“头寄生”方式的病毒基本上感染的是批处理病毒和COM格式的文件,因为这些文件在运行的时候不需要重新定位,所以可以任意调换代码的位置而不发生错误。
当然,随着病毒制作水平的提高,很多感染DOS下的EXE文件和视窗系统的EXE文件的病毒也是用了头寄生的方式,为使得被感染的文件仍然能够正常运行,病毒在执行原来程序之前会还原出原来没有感染过的文件用来正常执行,执行完毕之后再进行一次感染,保证硬盘上的文件处于感染状态,而执行的文件又是一切正常的。
“尾寄生”:
由于在头部寄生不可避免的会遇到重新定位的问题,所以最简单也是最常用的寄生方法就是直接将病毒代码附加到可执行程序的尾部。对于DOS环境下COM可执行文件来说,由于COM文件就是简单的二进制代码,没有任何结构信息,所以可以直接将病毒代码附加到程序的尾部,然后改动COM文件开始的3个字节为跳转指令:
JMP [病毒代码开始地址]
对于DOS环境下的EXE文件,有两种处理的方法,一种是将EXE格式转换成COM格式再进行感染,另外一种需要修改EXE文件的文件头,一般会修改EXE文件头的下面几个部分:
代码的开始地址
可执行文件的长度
文件的CRC校验值
堆栈寄存器的指针也可能被修改。
对于视窗操作系统下的EXE文件,病毒感染后同样需要修改文件的头,这次修改的是PE或者NE的头,相对于DOS下EXE文件的头来说,这项工作要复杂很多,需要修改程序入口地址、段的开始地址、段的属性等等,由于这项工作的复杂性,所以很多病毒在编写感染代码的时候会包括一些小错误,造成这些病毒在感染一些文件的时候会出错无法继续,从而幸运的造成这些病毒无法大规模的流行。
感染DOS环境下设备驱动程序(.SYS文件)的病毒会在DOS启动之后立刻进入系统,而且对于随后加载的任何软件(包括杀毒软件)来说,所有的文件操作(包括可能的查病毒和杀病毒操作)都在病毒的监控之下,在这种情况下干净的清除病毒基本上是不可能的。
“插入寄生”:
病毒将自己插入被感染的程序中,可以整段的插入,也可以分成很多段,有的病毒通过压缩原来的代码的方法,保持被感染文件的大小不变。前面论述的更改文件头等基本操作同样需要,对于中间插入来说,要求程序的编写更加严谨,
所以采用这种方式的病毒相对比较少,即使采用了这种方式,很多病毒也由于程序编写上的错误没有真正流行起来。
“空洞利用”:
对于视窗环境下的可执行文件,还有一种更加巧妙的方法,由于视窗程序的结构非常复杂,一般里面都会有很多没有使用的部分,一般是空的段,或者每个段的最后部分。病毒寻找这些没有使用的部分,然后将病毒代码分散到其中,这样就实现了神不知鬼不觉的感染(著名的“CIH”病毒就是用了这种方法)。
以上就是本站给大家介绍的计算机寄生型病毒的知识,希望能帮到您。接下来,我们还会介绍如何清除寄生在文件上的病毒,有兴趣的朋友,欢迎登陆我们网站点击查阅更多网络病毒小知识。