只要执行
传染,必然会留下痕迹。生物医学病毒如此,计算机病毒也是一样。检测计算机病毒,就要到病毒寄生场所去检查,发觉异常情况,并进而验明“正身”,确认计算机病毒的存在。计算机病毒静态时存储于硬盘中,被激活时驻留在内存中,因此对计算机病毒的检测可以分为对硬盘的检测和对内存的检测.
一般对硬盘执行 病毒检测时,要求内存中不带病毒,因为某些计算机病毒会向检测者报告假情况。例如“4096”病毒在内存中时,查看被它感染的文件,不会发觉该文件的长度已发生变化,而当在内存中没有病毒时,才会发觉文件长度已经增长了4096字节;又例如,“DIR2”病毒在内存中,用Debug程序查看被感染文件时,根本看不到“DIR2”病毒的代码,很多检测程序因此而漏过了被感染的文件;还有引导区型的“巴基斯坦智囊”病毒,当它活跃在内存中时,检查引导区就看不到病毒程序而只看到正常的引导扇区。因此,只有在要求确认某种病毒的类型和对其执行 分析、研究时,才能在内存中带毒的情况下作检测工作。
从原始的、未受病毒感染的DOS系统软盘启动,可以保证内存中不带病毒。启动必须是上电启动而不是按键盘上的“Alt+Ctrl+Del”三键的那种热启动,因为某些病毒可以通过截取键盘中断,将自己驻留在内存中。检测硬盘中的病毒,启动系统软盘的DOS版本号应该等于或高于硬盘内DOS系统的版本号。如果硬盘上运用了硬盘管理软件DM、ADM,硬盘压缩存储管理软件Stacker、DoubleSpace等,启动系统软盘时应把这些软件的驱动程序包括在软盘上,并把它们写入config.sys文件中,否则用系统软盘引导启动后,将不能访问硬盘上的所有分区,使躲藏在其中的病毒逃过检查。
检测硬盘中的病毒可分成检测引导区型病毒和检测文件型病毒。这两种检测的原理上相同,但由于病毒的存储形式不同,检测要领还是有差别的。主要是基于下列四种要领 :比较被检测对象与原始备份的比较法;运用 病毒特征代码串执行 查找的搜索法;搜索病毒体内特定位置的特征字识别法;运用反汇编技能分析被检测对象,确证能不能为病毒的分析法。
比较法
这是用原始备份与被检测的引导扇区或被检测的文件执行 比较的要领,可以用打印的代码清单(比如Debug的D命令输出格式)执行 比较,也可用程序来执行 比较(如DOS的DISKCOMP、COMP或PCTOOLS等其它软件)。比较法不须要专用的查病毒程序,只要用常规DOS软件和PCTOOLS等工具软件就可以执行 ,而且还可以发觉那些尚不能被现有的杀毒软件发觉的计算机病毒。因为病毒传播得很快,新病毒层出不穷,而目前还没有能查出一切病毒的通用程序,或通过代码分析,可以判定某个程序中能不能含有病毒的查毒程序,所以只有靠比较法和分析法,或这两种要领相结合来发觉新病毒。
对硬盘的主引导区或对DOS的引导扇区作检查,用比较法能发觉其中的程序源代码能不能发生了变化。由于要执行 比较,因此保留好原始备份是非常主要的。打造备份时必须在无计算机病毒的环境里执行 ,打造好的备份必须妥善保管,写好标签,贴好写保卫。比较法的优点是基本、方便,不用专用软件;缺点是不能确认病毒的种类名称。另外,造成被检测程序与原始备份之间差别的原由尚需进一步验证,以查明是计算机病毒造成的,还是DOS数据被偶然原由,如突然停电、程序失控、恶意程序等破坏的。这些要用到以后讲的分析法,查看变化部分代码的性质,以此来确认能不能存在病毒。
