專(zhuān)利名稱(chēng):電腦程序MS-Word文件宏病毒的偵測(cè)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種電腦病毒的偵測(cè)方法,特別涉及一種對(duì)MS-Word文件宏病毒的偵測(cè)方法。
由于發(fā)展策略的正確,及各相關(guān)產(chǎn)業(yè)的配合,個(gè)人電腦迅速普及起來(lái)。其中,美國(guó)微軟公司MicroSoft為其個(gè)人電腦撰寫(xiě)作業(yè)系統(tǒng),幾乎每一部個(gè)人電腦都使用該公司的作業(yè)系統(tǒng),市場(chǎng)占有率之高令人咋舌。
微軟公司挾其市場(chǎng)占有率的優(yōu)勢(shì),故其所有的文字排版軟件[Word](以下簡(jiǎn)稱(chēng)MS-Word),也迅速成為高普及率的熱門(mén)軟件。為了擴(kuò)展MS-Word的功能,微軟公司在MS-Word內(nèi)加入宏指令(WordBasic),以提供軟件使用者能自行組合MS-Word內(nèi)的指令成自訂新指令在文件檔中,以使軟件使用者得以自行設(shè)計(jì)宏指令,來(lái)提高自己的電腦使用效率。
另,眾所周知,電腦上甚為流行的電腦病毒可以分為檔案型病毒、開(kāi)機(jī)型病毒及混合型病毒……等,且都可以自行復(fù)制感染源,經(jīng)磁盤(pán)或網(wǎng)絡(luò)下載的途徑來(lái)傳染,且其發(fā)作時(shí)可令電腦產(chǎn)生不正常的動(dòng)作,癥狀輕者使電腦唱歌、繡圖,或讓使用者回答電腦上出現(xiàn)的算術(shù)題目,癥狀重者則會(huì)刪除電腦的非易失儲(chǔ)存裝置(HD)上的檔案,或?qū)⒎且资?chǔ)存裝置(HD)整個(gè)儲(chǔ)存資料清除,造成使用者莫大的精神與財(cái)產(chǎn)上的損失。
一般而言,檔案型電腦病毒的感染途徑通常是由可執(zhí)行文件(程序擴(kuò)展名為EXE或COM等)來(lái)寄生傳染,且利用可執(zhí)行文件的被執(zhí)行以使病毒程序取得控制權(quán)來(lái)運(yùn)作;但是,由于上述MS-Word軟件的流行,且MS-Word軟件內(nèi)附設(shè)的宏指令(WordBasic)有能力取得電腦控制權(quán),故在目前已有專(zhuān)由MS-Word的宏指令(WordBasic)所寫(xiě)成的病毒出現(xiàn)(在國(guó)內(nèi)較著名的有[臺(tái)灣No.1、釣魚(yú)臺(tái)病毒、白曉燕病毒]等),該病毒可直接寄生在MS-Word文件宏指令(WordBasic)中,實(shí)令人難以預(yù)防,為避免自身因病毒而遭受重大損失,通??山柚蓝拒浖?lái)偵防。
而目前傳統(tǒng)的偵測(cè)MS-Word宏病毒的方法約有下列三種(1)判斷是否具有自動(dòng)動(dòng)作的宏(WordBasic)此類(lèi)方法以發(fā)現(xiàn)宏(WordBasic)內(nèi)具有自動(dòng)動(dòng)作的宏為目標(biāo),至于該宏(WordBasic)是否有破壞性則要靠使用者自行判斷,若使用者不熟悉宏指令(WordBasic),則無(wú)從判斷。
(2)判斷是否具有與病毒相同的宏(WordBasic)名稱(chēng)這類(lèi)方法以發(fā)現(xiàn)宏(WordBasic)內(nèi)與宏病毒具有同等數(shù)目及名稱(chēng)的宏(WordBasic)為目標(biāo),這種作法只能偵測(cè)已知的宏病毒,必須不斷的改版,增加新病毒的樣本,因此無(wú)法偵測(cè)出未知病毒,且容易誤判。
(3)此較特定的病毒碼理論上,這是最容易寫(xiě)的一種方法;但是將病毒碼比較法應(yīng)用在對(duì)宏病毒的研判,則是一種嚴(yán)重的錯(cuò)誤。這種錯(cuò)誤源于對(duì)MS-Word文件儲(chǔ)存格式的不了解,以致于即使帶病毒的宏(WordBasic)已被清除,這類(lèi)程序仍會(huì)判定文件中具有病毒,而造成使用者的恐慌。
且以上諸方法都有執(zhí)行速度慢、可使用的存儲(chǔ)器受MS-Word限制等問(wèn)題,有感于上述諸方法的缺陷,本發(fā)明人遂不斷苦思研究、反復(fù)實(shí)驗(yàn)改良,而得本發(fā)明的產(chǎn)生。
本發(fā)明的首要目的是提供一種更快速的偵測(cè)宏病毒的方法。
本發(fā)明的次要目的是提供一更正確的偵測(cè)宏病毒的方法。
本發(fā)明的又一目的是提供一能偵測(cè)未知宏病毒的方法。
根據(jù)上述發(fā)明目的,本發(fā)明的MS-Word文件宏病毒(MS-Word MacroVirus)偵測(cè)方法,其特征在于,主要是以標(biāo)準(zhǔn)的作業(yè)系統(tǒng)物件連接嵌入程序(OLD2或經(jīng)擴(kuò)充的ActivaateX)在電腦系統(tǒng)內(nèi)直接開(kāi)啟欲偵測(cè)的儲(chǔ)存設(shè)備(Storage)后、開(kāi)啟文件資源(WordDocument Stream)、取得宏索引起點(diǎn)、取得宏長(zhǎng)度、讀取宏索引區(qū)塊偵測(cè)并分析出MS-Word宏指令上是否帶有危險(xiǎn)指令的宏的方法(無(wú)需透過(guò)MS Word來(lái)作業(yè))。
由于本發(fā)明采用標(biāo)準(zhǔn)的作業(yè)系統(tǒng)物件連接嵌入程序(OLE2或擴(kuò)充為ActivaateX)在電腦系統(tǒng)內(nèi)直接開(kāi)啟并使用檔案,而不需透過(guò)MS-Word來(lái)作業(yè),大大縮短了偵測(cè)時(shí)間,且不因使用MS-Word所帶來(lái)的存儲(chǔ)器使用上的錯(cuò)誤。并可直接正確取得使用中的資料,避免發(fā)生誤判的情況;又能適于現(xiàn)有及未來(lái)發(fā)展出來(lái)的MS-Word宏病毒。
為使對(duì)本發(fā)明的特點(diǎn)及功用有更進(jìn)一步的了解,以下結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。
圖1是本發(fā)明的主程序流程圖。
圖2是本發(fā)明的子程序流程圖。
本發(fā)明是一種有關(guān)于電腦程序MS-Word文件宏病毒(MS-WordMacro Virus)的偵測(cè)解毒方法(如圖1、圖2所示),其流程主要是以標(biāo)準(zhǔn)的作業(yè)系統(tǒng)物件連接嵌入程序(OLE2或經(jīng)擴(kuò)充之ActivaateX)在電腦系統(tǒng)內(nèi)直接開(kāi)啟欲偵測(cè)的儲(chǔ)存設(shè)備(Storage)后、開(kāi)啟文件資源(WordDocument Stream)、取得宏索引起點(diǎn)、取得宏長(zhǎng)度、讀取宏索引區(qū)塊后,判斷是否有宏程序(1) 若非,則關(guān)閉開(kāi)啟文件資源(WordDocumentStream)后關(guān)閉儲(chǔ)存設(shè)備(Storage),再行解毒;若是,則跳至A區(qū)段執(zhí)行讀取宏程序,若宏有編碼,則行解碼,之后取得第一個(gè)WordBasic宏指令,再研判宏指令(4),判斷宏指令是否為[Shell、Kill、Organizer、MacroCopy及FileSaveAs],若是,則由流程圖B區(qū)段執(zhí)行再判斷是否發(fā)現(xiàn)危險(xiǎn)宏指令(2) 如是,則關(guān)閉開(kāi)啟文件資源(WordDocument Stream)后關(guān)閉儲(chǔ)存設(shè)備(Storage),再行解毒;若無(wú)發(fā)現(xiàn)危險(xiǎn)宏指令(2),則再執(zhí)行判斷是否還有宏程序(1) 繼續(xù)下面的程序;若并非為[Shell、-Kill、Organizer、MacroCopy及FileSaveAs],則再去判斷是否還有下一個(gè)WordBasic宏指令,若有,則執(zhí)行取得下一個(gè)WordBasic宏指令(3)后再判讀WordBasic宏指令(4)繼續(xù)執(zhí)行;若再無(wú)下一個(gè)WordBasic指令,則繼續(xù)由B區(qū)段接下去執(zhí)行。
由上述程序流程可知,本發(fā)明確實(shí)可提供一種能夠快速、正確而有效地分析出并清除已知或未知的應(yīng)用在MS-Word上具有危險(xiǎn)指令宏的方法。
權(quán)利要求
1.一種有關(guān)于電腦程序MS-Word文件宏病毒(MS-Word Macro Virus)的偵測(cè)方法,其特征在于,主要是以標(biāo)準(zhǔn)的作業(yè)系統(tǒng)物件連接嵌入程序(OLD2或經(jīng)擴(kuò)充的ActivaateX)在電腦系統(tǒng)內(nèi)直接開(kāi)啟欲偵測(cè)的儲(chǔ)存設(shè)備(Storage)后、開(kāi)啟文件資源(WordDocument Stream)、取得宏索引起點(diǎn)、取得宏長(zhǎng)度、讀取宏索引區(qū)塊偵測(cè)并分析出MS-Word宏指令上是否帶有危險(xiǎn)指令的宏的方法(無(wú)需透過(guò)MSWord來(lái)作業(yè)),其主要流程是開(kāi)啟欲偵測(cè)的儲(chǔ)存設(shè)備后、開(kāi)啟文件資源、取得宏索引起點(diǎn)、取得宏長(zhǎng)度、讀取宏索引區(qū)塊后,判斷是否有宏程序 若非,則關(guān)閉開(kāi)啟文件資源后關(guān)閉儲(chǔ)存設(shè)備再行解毒;若是,則跳至A區(qū)段執(zhí)行讀取宏程序,若宏有編碼,則行解碼,之后取得第一個(gè)WordBasic宏指令,再研判宏指令、判斷宏指令是否為[Shell、Kill、Organizer、MacroCopy及FileSaveAs],若是,則由流程圖B區(qū)段執(zhí)行再判斷是否發(fā)現(xiàn)危險(xiǎn)宏指令 如是,則關(guān)閉開(kāi)啟文件資源后關(guān)閉儲(chǔ)存設(shè)備,再行解毒;若無(wú)發(fā)現(xiàn)危險(xiǎn)宏指令,則再執(zhí)行判斷是否還有宏程序 繼續(xù);若并非為[Shell、Kill、Organizer、MacroCopy及FileSaveAs],則再去判斷是否還有下一個(gè)WordBasic指令,若有,則執(zhí)行取得下一個(gè)WordBasic宏指令后再由判讀WordBasic宏指令繼續(xù)執(zhí)行;若再無(wú)下一個(gè)WordBAsic指令,則繼續(xù)由B區(qū)段接下去執(zhí)行。
全文摘要
本發(fā)明是一種有關(guān)于電腦程序MS-Word文件宏病毒(MS-Word Macro Virus)的偵測(cè)方法,可用在電腦系統(tǒng)上,直接分析(不需要透過(guò)MS-Word)電腦軟件MS-Word文件(Document)、模板(Template)內(nèi)的帶危險(xiǎn)指令的宏病毒,進(jìn)而偵測(cè)解毒。
文檔編號(hào)G06F17/00GK1221921SQ9712614
公開(kāi)日1999年7月7日 申請(qǐng)日期1997年12月31日 優(yōu)先權(quán)日1997年12月31日
發(fā)明者尚瑞源 申請(qǐng)人:圣典科技股份有限公司