|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
宏是1995年出现的应用程序编程语言,它使得文档处理中繁复的敲键操作自动化。所谓宏病毒就是指利用宏语言来实现的计算机病毒。宏病毒的出现改变了病毒的载体模式,以前病毒的载体主要是可执行文件,而现在文档或数据也可作为宏病毒的载体。微软规定宏代码保存在文档或数据文件的内部,这样一来就给宏病毒传播提供了方便。同时,宏病毒的出现也实现了病毒的跨平台传播,它能够感染任何运行Office的计算机。例如,Office病毒是第一种既能感染运行Windows 98的IBM PC又能感染运行Macintosh的机器的病毒。根据统计,宏病毒已经出现在Word、Excel、Access、PowerPoint、Project、Lotus、AutoCAD和Corel Draw当中。宏病毒的触发用户打开一个被感染的文件并让宏程序执行,宏病毒将自身复制到全局模板,然后通过全局模板把宏病毒传染到新打开的文件,如下图所示。
|
|
|
|
|
|
|
|
Word宏病毒是宏病毒的典型代表,其他的宏病毒传染过程与它类似。下面以Word宏病毒为例,分析宏病毒的传染过程。微软为了使Word更易用,在Word中集成了许多模板,如典雅型传真、典雅型报告等。这些模板不仅包含了相应类型文档的一般格式,而且还允许用户在模板内添加宏,使得用户在制作自己的特定格式文件时,减少重复劳动。在所有这些模板中,最常用的就是Normal.dot模板,它是启动Word时载入的缺省模板。任何一个Word文件,其背后都有相应的模板,当打开或创建Word文档时,系统都会自动装入Normal.dot模板并执行其中的宏。Word处理文档时,需要进行各种不同的操作,如打开文件、关闭文件、读取数据资料以及存储和打印等。每一种动作其实都对应着特定的宏命令,如存文件与File Save相对应、改名存文件对应着File Save AS等。这些宏命令集合在一起构成了通用宏,通用宏保存在模板文件中,以使得Word启动后可以有效地工作。Word打开文件时,它首先要检查文件内包含的宏是否有自动执行的宏(AutoOpen宏)存在,假如有这样的宏,Word就启动它。通常,Word宏病毒至少会包含一个以上的自动宏,当Word运行这类自动宏时,实际上就是在运行病毒代码。宏病毒的内部都具有把带病毒的宏复制到通用宏的代码段,也就是说当病毒代码被执行过后,它就会将自身复制到通用宏集合内。当Word系统退出时,它会自动地把所有通用宏和传染进来的病毒宏一起保存到模板文件中,通常是Normal.dot模板。这样,一旦Word系统遭受感染,则以后每当系统进行初始化,系统都会随着Normal.dot的装入而成为带毒的Word系统,继而在打开和创建任何文档时感染该文档。
|
|
|
|
|
|
|
|
|
|
|
|
|