7.5.1 清除恶意代码的一般准则
清除计算机病毒不只是清除病毒程序,或使病毒程序不能运行,还要尽可能恢复系统或文件的本来面目,以将损失减少到最低程度。清除计算机病毒的过程其实可以看作病毒感染宿主程序的逆过程,只要搞清楚病毒的感染机理,清除病毒其实是很容易的。当然,根据入侵病毒种类的不同,清除病毒的方法也不同。事实上,每一种病毒,甚至是每一个病毒的变种,它们的清除方式可能都是不一样的,所以清除病毒时,一定要针对具体的病毒来进行。当然,有些种类病毒的清除方法是很相似的,下面将针对引导型病毒、文件型病毒、混合型病毒、宏病毒、脚本病毒和邮件病毒分别介绍病毒的清除方法。
目前,国内流行的硬、软件清除病毒工具很多,虽然它们在具体操作过程中采用不同的方法,但是它们却都遵循一定的原则。
(1)计算机病毒的清除工作最好在无毒的环境中进行,以确保清除病毒的有效性。这要求在杀毒前用无毒的计算机系统引导盘重新启动系统,或者清除内存中的计算机病毒,恢复正常的中断向量。
(2)在启动系统的系统盘和杀毒软件盘上加写保护标签,以防止其在清除病毒的过程中感染上病毒。
(3)在清除病毒之前,一定要确认系统或文件确实存在病毒,并且准确判断出病毒的种类,以保证杀毒的也效性,否则,可能会破坏原有的系统和文件。还要对要杀毒的文件或系统备份,以便于在杀毒失败后恢复。
(4)杀毒工作要深入而全面,为保证其工作过程的正确性,要对检测到的病毒进行认真的分析研究,找出计算机病毒的宿主程序,确定其病毒标识符和感染对象,即搞清楚病毒感染的是引导区还是文件,或者是既感染引导区,还能感染文件,同时要弄清病毒感染宿主程序的方法,对自身加密的病毒要引起重视,把修改过的文件转换过来,以便找出清除病毒的最佳方法。如果随便清除病毒,可能造成系统或文件不能运行。
(5)尽量不要使用激活病毒的方法检测病毒,因为在激活病毒的同时,计算机系统有可能已经被破坏了。
(6)一般不能用病毒标识免疫方法清除病毒。标识免疫的方法是利用病毒进入系统的条件性来实现的,通常病毒在进入系统之前都要判断内存是否已驻留了病毒,如果是,则退出其加载过程。根据这一免疫原理,编写病毒标识存入内存,以防止病毒入侵。此方法理论上可行,但实际应用中却不保险,因为病毒变种繁多,流传得广而快,将引导区存入所有这些病毒的标识,也就无法起到引导系统的功能了。因此,免疫方法常带有很大的欺骗性,原则上不能作为杀毒工具。
(7)一定要干净彻底地清除计算机及磁盘上所有的同一病毒,对于混合型病毒,既要清除文件中的病毒代码,还要清除引导区中的病毒代码,以防止这些病毒代码重新生成计算机病毒。对于多个文件、多个磁盘或磁盘的多个扇区同时感染同一病毒的,要一次同时清除干净。
(8)对于同一宿主程序被几个病毒交叉感染或重复感染的,要按感染的逆顺序从后向前依次清除病毒。
上述原则是计算机病毒清除工作中必须遵守的,根据这些原则,下面给出了清除计算机病毒的步骤流程,如图7.4所示。
图7.4 清除计算机病毒的流程