1.8.1 计算机病毒
计算机病毒(Computer Virus)在《中华人民共和国计算机信息系统安全保护条例》中有明确定义:病毒指编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码。
通俗地讲,病毒就是人为的特殊程序,具有自我复制能力、很强的感染性、一定的潜伏性、特定的触发性和极大的破坏性。
计算机病毒与医学上的“病毒”不同,计算机病毒不是天然存在的,是别有用心的人利用计算机软件和硬件所固有的脆弱性编制的一组指令集或程序代码。它能潜伏在计算机的存储介质(或程序)里,条件满足时即被激活,通过修改其他程序的方法将自己的精确文本或者可能演化的形式放入其他程序中。从而感染其他程序,对计算机资源进行破坏,所谓的病毒就是人为造成的,对其他用户的危害性很大。
为了能够自我复制,病毒必须能够运行代码并能够对内存运行进行操作。基于这个原因,许多病毒都是将自己附着在合法的可执行文件上。如果用户企图运行该可执行文件,那么病毒就有机会运行。病毒可以根据运行时所表现出来的行为分成两类。非常驻型病毒会立即查找其他宿主并伺机加以感染,之后再将控制权交给被感染的应用程序。常驻型病毒被运行时并不会查找其他宿主。相反的,一个常驻型病毒会将自己加载内存并将控制权交给宿主。
非常驻型病毒可以被描述成具有搜索模块和复制模块的程序。搜索模块负责查找可被感染的文件,一旦搜索到该文件,搜索模块就会启动复制模块进行感染。
常驻型病毒包含复制模块,其角色类似于非常驻型病毒中的复制模块。复制模块在常驻型病毒中不会被搜索模块调用。病毒在被运行时会将复制模块加载内存,并确保当操作系统运行特定动作时,该复制模块会被调用。例如,复制模块会在操作系统运行其他文件时被调用。在这个例子中,所有可以被运行的文件均会被感染。常驻型病毒有时会被区分成快速感染者和慢速感染者。快速感染者会试图感染尽可能多的文件。例如,一个快速感染者可以感染所有被访问到的文件。这会对杀毒软件造成特别的问题。当运行全系统防护时,杀毒软件需要扫描所有可能会被感染的文件。如果杀毒软件没有察觉到内存中有快速感染者,快速感染者可以借此搭便车,利用杀毒软件扫描文件的同时进行感染。快速感染者依赖其快速感染的能力。但这同时会使得快速感染者容易被侦测到,这是因为其行为会使系统性能降低,进而增加被杀毒软件侦测到的风险。相反,慢速感染者被设计成偶尔才对目标进行感染,如此一来就可避免被侦测到的机会。