n 1. 杀毒软件的工作流程
n 对于一款杀毒软件来说,一次成功的病毒查杀过程,通常都要经历病毒识别、病毒报警、病毒清除、文件或系统复原这几个过 程。各个过程中又运用了很多复杂的技术,但其中最关键的应该是杀毒引擎技术,从广义上来讲,是指通过文件、网页监视等 实时监控行为,运用文件识别技术来完成病毒扫描、识别、报警以及清除,甚至防御的一整套的机制,因此引擎技术也决定了 杀毒软件的优劣,而引擎所包含的众多技术中,病毒识别技术又是重中之重。
n 2. 必不可少的认壳过程
n 病毒、被杀程序加壳已经是非常普遍的现象了,目前主要有两种脱壳技术:算法认壳和动态认壳,目前主流的杀毒软件都引入 了虚拟机技术,虽然这会占用一定的系统资源,但使带壳的病毒文件,运行于虚拟机之上,不仅可以更好的识别各种壳,还可 以有效防止病毒真正的感染文件。
n 算法认壳:此法是根据加壳程序的解密算法对病毒进行认壳,虽然有速度快、消耗资源少的优点,但也有无法认变形壳的缺点 。不过,很多杀毒软件还是能够向用户发出警报,以弥补无法认壳的缺憾。
n 动态认壳:众所周知,只有让加过壳的程序运行起来,才能将其还原成本来的面目,此时为了避免程序运行后真正感染系统文 件,因此引入了虚拟机技术,为带壳的病毒程序虚拟一个计算机环境,使它运行于虚拟环境。此法虽优势明显,但也会消耗很 多的系统资源,因此拥有一套自己的、成熟的虚拟机技术,将大大提高检测的速度。
n 3. 识别病毒的几种方法
n 如何识别病毒,对于任何杀毒软件来说,都是非常重要,同时也是非常核心的工作。识别病毒的能力,往往决定了这款杀毒软 件的病毒查杀能力,若连病毒都无法识别,当然也就不能对病毒作出妥当的处理。检测病毒方法通常有:特征代码法、校验和 法、行为监测法、软件模拟法几种,各安全厂商会衡量不同方法之间的查杀效果、运行开销等因素,再结合自身的技术特点, 选择相应的病毒识别方法。这里只介绍各种方法的优缺点,对于具体的实现步骤,已经超出了 菜鸟 的范畴。
n 特征代码法:这种方法根据正常程序与病毒程序代码的差别来识别病毒文件。有人认为,对于已知病毒来说,这种方法是最简 单、最直接的方法,这种方法的优、缺点都很突出。
 
n 优点:检测的准确率较高,误报率低。
n 缺点:查杀速度慢,由于已知病毒越来越多,因此病毒特征码也随之增加,因此查杀速度也会越来越慢。不能检测未知病毒和 多态性病毒以及隐蔽性病毒。另外这种检测方法也不适合网络版杀毒软件采用,因为它会消耗我们宝贵的网络资源。
n 校验和法:此法计算文件的校验和(只要知道是一种算法就可以了)并保存,可定期或调用文件时进行对比,从而判断文件是 否被病毒感染。虽然此法可以发现未知病毒,但由于其较高的误报率,已经逐渐不被采用。
n 优点:可发现未知病毒。
n 缺点:无法报出病毒名称,误报率高,当软件更新,口令修改或修改文件内容时,校验和法都可能会误报,因为这种方法无法 区分文件内容的变化是不是属于正常的程序使用引起的。
n 行为监测法:此法根据病毒的行为特征来识别病毒,这需要对病毒行为进行详细的分类和研究,分析那些病毒共同的行为,以 及正常程序的罕见行为,根据程序运行时的行为进行病毒判断和预警。
n 优点:由于其归纳和总结各种病毒的共同特征,因此可以发现未知病毒,对于多数未知病毒预报非常有效。
n 缺点:对于未知行为病毒,不能有效检测,同时也存在误报现象,对查到的未知病毒,不能识别病毒名称,因此普通用户不能 对发现的未知病毒进行有效的清除。
n 软件模拟法:这种方法通过模拟病毒运行的方式来检测病毒特征,由于特征码法无法检测多态性病毒,虽然行为监测法可以发 现病毒,但是无法确定病毒名称,也无法对其进行相应的杀除,因此产生了软件模拟法。
n 优点:可识别未知病毒,病毒定位准确,误报率低。
n 缺点:检测速度受到一定影响,消耗系统资源较高。
n 上述几种检测方法各有所长,往往都不能单纯使用一种方法完成大规模病毒的检测报警工作,通常都是几种技术相结合,根据 实际情况和应用场合配合运用相应的检测手段。