病毒猎手的武器档案

IT商界

  猎杀病毒必须依靠优良的武器,没有优良高效的杀毒武器,再优秀的病毒猎手面对病毒时也是无能为力的。在众多的杀毒软件中,扫描引擎(Scan Engine)是其中最核心的部分。一款杀毒软件是否优秀,衡量的标准就是病毒扫描引擎,它是真正影响扫描速度及侦测率的主要因素,扫描引擎是一个没有界面和包装的杀毒核心程序,它被放在杀毒软件所安装的目录之下,就好像汽车引擎平常是无法直接看见的,可是它却是影响汽车性能最关键的因素。扫描引擎主要会通过以下几种方法辨别分析病毒:

  1.病毒特征码扫描法

  将新发现的病毒加以分析后,根据其特征,编成病毒码,加入数据库中。以后每当执行查毒程序时,便立刻扫描程序档案,并与病毒码对比,即能侦测到是否有病毒。病毒码扫描法速度快,效率又高,目前很多杀毒软件采用这种方式。但其缺点是无法侦测到未知的新病毒以及变种病毒。

  2.加总比对法(Check-sum)

  根据每个程序的文件名称、大小、时间、日期及内容,加总为一个检查码,再将检查码附于程序的后面,或是将所有检查码放在同一个数据库中,再利用此Check-sum系统,追踪并记录每个程序的检查码是否被更改,以判断是否中毒。这种技术可侦测到各种病毒。但最大的缺点就是误判率高,且无法确认是哪种病毒感染的。对于Stealth Virus病毒,是无法侦测到的。

  3.人工智能陷阱(Rule-based)

  人工智能陷阱是一种监测计算机行为的常驻式扫描技术。它将所有病毒所产生的行为归纳起来,一旦发现内存的程序有任何不当的行为,系统就会有所警觉,并告知使用者。这种技术的优点是执行速度快、手续简便,且可以侦测到各种病毒。缺点是程序设计难,且不容易考虑周全。不过在这千变万化的病毒世界中,人工智能陷阱扫描技术是一种具有保全功能的新技术。

  4.软件仿真扫描法

  软件仿真技术专门用来对付千面人病毒(Polymorphic/Mutation Virus)。千面人病毒在每次传染时,都以不同的随机数加密于每个中毒的档案中,传统病毒码对比的方式根本就无法找到这种病毒。软件仿真技术则是成功地仿真CPU执行,在其设计的DOS虚拟机器(Virtual Machine)下假装执行病毒的变体引擎译码程序,安全并真正地将多型体病毒解开,使它显露原本的面目,再加以扫描。

  5.VICE(Virus Instruction Code Emulation)先知扫描法

  VICE先知扫描技术是继软件仿真扫描法后的一大技术上的突破。既然软件仿真扫描法可以建立一个保护模式下的DOS虚拟机器,仿真CPU动作并假装执行程序以解开变体引擎病毒,那么应用类似的技术也可以分析一般程序,检查可疑的病毒码。因此VICE先知扫描法是将工程师用来判断程序是否有病毒码存在的方法,归纳成专家系统知识库,再利用软件工程的仿真技术(Software Emulation)假装执行新的病毒,即可分析出新病毒码,用来对付以后出现的病毒。

  6.实时I/O扫描(Realtime I/O Scan)法

  实时I/O扫描法的目的在于实时地对资料的输入/输出动作进行病毒码对比,希望能够在病毒尚未被执行之前,就能够防堵下来。从理论上来说,这样的实时扫描程序虽然会影响到整体的数据传输速率,但是使用Realtime I/O scan技术,数据资料传送进来之后,就等于扫描过了一次。

  7.宏病毒陷阱(MacroTrapTM)

  MacroTrapTM技术结合了病毒码比对与人工智能陷阱技术,依病毒行为模式(Rule base)来侦测已知及未知的宏病毒。其中,配合OLE2技术可将宏与文件分开,使得扫描速度加快,而且更可有效地将宏病毒彻底清除!

  8.空中抓毒(On the flyTM)

  空中抓毒就是在数据传输过程中所经过的一个节点(Node,就是一台计算机)上设计一套杀毒软件,把网络中所有可能带有病毒的信息进行扫描。多用于网络版杀毒软件中。