鉴于宏病毒用WordBasic语言编写,WordBasic语言提供了许多系统级底层调用,如直接使用DOS系统命令,调用WindowsAPI,调用DDE或DLL等。这些操作均可能对系统直接构成威胁,而Word在指令安全性、完整性上检测能力很弱,破坏系统的指令很容易被执行。宏病毒Nuclear就是破坏操作系统的典型一例。那么,宏病毒的作用机制是什么呢?
Word宏病毒是一些制作病毒的专业人员利用MicrosoftWord的开放性即Word中提供的WordBASIC编程接口,制作的一个或多个具有病毒特点的宏,它能通过.DOC文档及.DOT模板进行自我复制及传播。宏病毒与以往的计算机病毒不同,它是感染微软Word文档文件.DOC和模板文件.DOT等的一种专向病毒。宏病毒与以往攻击DOS和Windows文件的病毒机理完全不一样,它以VB(WORDBASIC)高级语言的方式直接混杂在文件中,并加以传播,不感染程序文件,只感染文档文件。
也许有人会问:MicrosoftWordforWindows所生成的.DOC文件难道不是数据文件吗?回答既是肯定的又是否定的。.DOC文件是一个代码和数据的综合体。虽然这些代码不能直接运行在x86的CPU上,但是可以由Word解释执行操作,因此他们的结果是一样的。宏病毒是针对微软公司的字处理软件Word编写的一种病毒。微软公司的字处理软件是最为流行的编辑软件,并且跨越了多种系统平台,宏病毒充分利用了这一点得到恣意传播。Word的文件建立是通过模板来创建的,模板是为了形成最终文档而提供的特殊文档,模板可以包括以下几个元素:菜单、宏、格式(如备忘录等)。模板是文本、图形和格式编排的蓝图,对于某一类型的所有文档来说,文本、图像和格式编排都是类似的。
Word提供了几种常见文档类型的模板,如备忘录、报告和商务信件。您可以直接使用模板来创建新文档,或者加以修改,也可以创建自己的模板。一般情况下,Word自动将新文档基于缺省的公用模板(Normal.dot)。可以看出,模板在建立整个文档中所起的作用,作为基类,文档继承模板的属性,包括宏、菜单、格式等。WORD处理文档需要同时进行各种不同的动作,如打开文件、关闭文件、读取数据资料以及储存和打印等等。每一种动作其实都对应着特定的宏命令,如存文件与FileSave相对应、改名存文件对应着FileSaveAS、打印则对应着Fil_ePrint等。WORD打开文件时,它首先要检查是否有AutoOpen宏存在,假如有这样的宏,WORD就启动它,除非在此之前系统已经被“取消宏(DisableAutoMacros)”命令设置成宏无效。当然,如果AutoClose宏存在,则系统在关闭一个文件时,会自动执行它。