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