电脑程序MS-Word文件宏病毒的侦测方法

文档序号:6412623阅读:1071来源:国知局
专利名称:电脑程序MS-Word文件宏病毒的侦测方法
技术领域
本发明涉及一种电脑病毒的侦测方法,特别涉及一种对MS-Word文件宏病毒的侦测方法。
由于发展策略的正确,及各相关产业的配合,个人电脑迅速普及起来。其中,美国微软公司MicroSoft为其个人电脑撰写作业系统,几乎每一部个人电脑都使用该公司的作业系统,市场占有率之高令人咋舌。
微软公司挟其市场占有率的优势,故其所有的文字排版软件[Word](以下简称MS-Word),也迅速成为高普及率的热门软件。为了扩展MS-Word的功能,微软公司在MS-Word内加入宏指令(WordBasic),以提供软件使用者能自行组合MS-Word内的指令成自订新指令在文件档中,以使软件使用者得以自行设计宏指令,来提高自己的电脑使用效率。
另,众所周知,电脑上甚为流行的电脑病毒可以分为档案型病毒、开机型病毒及混合型病毒……等,且都可以自行复制感染源,经磁盘或网络下载的途径来传染,且其发作时可令电脑产生不正常的动作,症状轻者使电脑唱歌、绣图,或让使用者回答电脑上出现的算术题目,症状重者则会删除电脑的非易失储存装置(HD)上的档案,或将非易失储存装置(HD)整个储存资料清除,造成使用者莫大的精神与财产上的损失。
一般而言,档案型电脑病毒的感染途径通常是由可执行文件(程序扩展名为EXE或COM等)来寄生传染,且利用可执行文件的被执行以使病毒程序取得控制权来运作;但是,由于上述MS-Word软件的流行,且MS-Word软件内附设的宏指令(WordBasic)有能力取得电脑控制权,故在目前已有专由MS-Word的宏指令(WordBasic)所写成的病毒出现(在国内较著名的有[台湾No.1、钓鱼台病毒、白晓燕病毒]等),该病毒可直接寄生在MS-Word文件宏指令(WordBasic)中,实令人难以预防,为避免自身因病毒而遭受重大损失,通常可借助防毒软件来侦防。
而目前传统的侦测MS-Word宏病毒的方法约有下列三种(1)判断是否具有自动动作的宏(WordBasic)此类方法以发现宏(WordBasic)内具有自动动作的宏为目标,至于该宏(WordBasic)是否有破坏性则要靠使用者自行判断,若使用者不熟悉宏指令(WordBasic),则无从判断。
(2)判断是否具有与病毒相同的宏(WordBasic)名称这类方法以发现宏(WordBasic)内与宏病毒具有同等数目及名称的宏(WordBasic)为目标,这种作法只能侦测已知的宏病毒,必须不断的改版,增加新病毒的样本,因此无法侦测出未知病毒,且容易误判。
(3)此较特定的病毒码理论上,这是最容易写的一种方法;但是将病毒码比较法应用在对宏病毒的研判,则是一种严重的错误。这种错误源于对MS-Word文件储存格式的不了解,以致于即使带病毒的宏(WordBasic)已被清除,这类程序仍会判定文件中具有病毒,而造成使用者的恐慌。
且以上诸方法都有执行速度慢、可使用的存储器受MS-Word限制等问题,有感于上述诸方法的缺陷,本发明人遂不断苦思研究、反复实验改良,而得本发明的产生。
本发明的首要目的是提供一种更快速的侦测宏病毒的方法。
本发明的次要目的是提供一更正确的侦测宏病毒的方法。
本发明的又一目的是提供一能侦测未知宏病毒的方法。
根据上述发明目的,本发明的MS-Word文件宏病毒(MS-Word MacroVirus)侦测方法,其特征在于,主要是以标准的作业系统物件连接嵌入程序(OLD2或经扩充的ActivaateX)在电脑系统内直接开启欲侦测的储存设备(Storage)后、开启文件资源(WordDocument Stream)、取得宏索引起点、取得宏长度、读取宏索引区块侦测并分析出MS-Word宏指令上是否带有危险指令的宏的方法(无需透过MS Word来作业)。
由于本发明采用标准的作业系统物件连接嵌入程序(OLE2或扩充为ActivaateX)在电脑系统内直接开启并使用档案,而不需透过MS-Word来作业,大大缩短了侦测时间,且不因使用MS-Word所带来的存储器使用上的错误。并可直接正确取得使用中的资料,避免发生误判的情况;又能适于现有及未来发展出来的MS-Word宏病毒。
为使对本发明的特点及功用有更进一步的了解,以下结合附图对本发明作进一步的详细说明。


图1是本发明的主程序流程图。
图2是本发明的子程序流程图。
本发明是一种有关于电脑程序MS-Word文件宏病毒(MS-WordMacro Virus)的侦测解毒方法(如图1、图2所示),其流程主要是以标准的作业系统物件连接嵌入程序(OLE2或经扩充之ActivaateX)在电脑系统内直接开启欲侦测的储存设备(Storage)后、开启文件资源(WordDocument Stream)、取得宏索引起点、取得宏长度、读取宏索引区块后,判断是否有宏程序(1) 若非,则关闭开启文件资源(WordDocumentStream)后关闭储存设备(Storage),再行解毒;若是,则跳至A区段执行读取宏程序,若宏有编码,则行解码,之后取得第一个WordBasic宏指令,再研判宏指令(4),判断宏指令是否为[Shell、Kill、Organizer、MacroCopy及FileSaveAs],若是,则由流程图B区段执行再判断是否发现危险宏指令(2) 如是,则关闭开启文件资源(WordDocument Stream)后关闭储存设备(Storage),再行解毒;若无发现危险宏指令(2),则再执行判断是否还有宏程序(1) 继续下面的程序;若并非为[Shell、-Kill、Organizer、MacroCopy及FileSaveAs],则再去判断是否还有下一个WordBasic宏指令,若有,则执行取得下一个WordBasic宏指令(3)后再判读WordBasic宏指令(4)继续执行;若再无下一个WordBasic指令,则继续由B区段接下去执行。
由上述程序流程可知,本发明确实可提供一种能够快速、正确而有效地分析出并清除已知或未知的应用在MS-Word上具有危险指令宏的方法。
权利要求
1.一种有关于电脑程序MS-Word文件宏病毒(MS-Word Macro Virus)的侦测方法,其特征在于,主要是以标准的作业系统物件连接嵌入程序(OLD2或经扩充的ActivaateX)在电脑系统内直接开启欲侦测的储存设备(Storage)后、开启文件资源(WordDocument Stream)、取得宏索引起点、取得宏长度、读取宏索引区块侦测并分析出MS-Word宏指令上是否带有危险指令的宏的方法(无需透过MSWord来作业),其主要流程是开启欲侦测的储存设备后、开启文件资源、取得宏索引起点、取得宏长度、读取宏索引区块后,判断是否有宏程序 若非,则关闭开启文件资源后关闭储存设备再行解毒;若是,则跳至A区段执行读取宏程序,若宏有编码,则行解码,之后取得第一个WordBasic宏指令,再研判宏指令、判断宏指令是否为[Shell、Kill、Organizer、MacroCopy及FileSaveAs],若是,则由流程图B区段执行再判断是否发现危险宏指令 如是,则关闭开启文件资源后关闭储存设备,再行解毒;若无发现危险宏指令,则再执行判断是否还有宏程序 继续;若并非为[Shell、Kill、Organizer、MacroCopy及FileSaveAs],则再去判断是否还有下一个WordBasic指令,若有,则执行取得下一个WordBasic宏指令后再由判读WordBasic宏指令继续执行;若再无下一个WordBAsic指令,则继续由B区段接下去执行。
全文摘要
本发明是一种有关于电脑程序MS-Word文件宏病毒(MS-Word Macro Virus)的侦测方法,可用在电脑系统上,直接分析(不需要透过MS-Word)电脑软件MS-Word文件(Document)、模板(Template)内的带危险指令的宏病毒,进而侦测解毒。
文档编号G06F17/00GK1221921SQ9712614
公开日1999年7月7日 申请日期1997年12月31日 优先权日1997年12月31日
发明者尚瑞源 申请人:圣典科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1