專利名稱:一種免疫文件宏病毒的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)安全技術(shù)領(lǐng)域,具體涉及一種免疫文件宏病毒的方法和裝置。
背景技術(shù):
宏病毒是一種寄存在文檔或模板的宏中的計(jì)算機(jī)病毒。一旦打開這樣的文檔,其中的宏就會(huì)被執(zhí)行,于是宏病毒就會(huì)被激活,轉(zhuǎn)移到計(jì)算機(jī)上,并駐留在模板上。從此以后,所有自動(dòng)保存的文檔都會(huì)“感染”上這種宏病毒,而且如果其他用戶打開了感染病毒的文檔,宏病毒又會(huì)轉(zhuǎn)移到他的計(jì)算機(jī)上。由于宏病毒藏于數(shù)據(jù)文件內(nèi),且其使用的腳本語(yǔ)法靈活多變,完成一個(gè)功能有很多種寫法,故識(shí)別一個(gè)文件是否有宏病毒非常困難。現(xiàn)有技術(shù)一種免疫文件宏病毒的方法采用占坑的方法,具體而言,如果發(fā)現(xiàn)某一種宏病毒會(huì)釋放一個(gè)特定名稱的文件,就新建一個(gè)同名的文件夾,利用Windows同名文件和文件夾不能共存的方式阻止宏病毒的傳播;該方法僅能免疫特定的、已有的宏病毒,而不能免疫新的、未知的病毒,故免疫效率不高?,F(xiàn)有技術(shù)另一種免疫文件宏病毒的方法通過(guò)禁用所有宏的方法禁止Office的所有宏功能;該方法會(huì)影響正常需要使用宏功能的文件??傊?,需要本領(lǐng)域技術(shù)人員迫切解決的一個(gè)技術(shù)問(wèn)題就是如何能夠提高宏病毒的免疫效率。
發(fā)明內(nèi)容
鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的一種免疫文件宏病毒的方法和裝置。依據(jù)本發(fā)明的一個(gè)方面,提供了一種免疫文件宏病毒的方法,包括截獲Office進(jìn)程的文件行為請(qǐng)求;依據(jù)所述文件行為請(qǐng)求,分析得到相應(yīng)文件行為的信息;利用所述文件行為的信息,判斷所述文件行為是否為宏病毒行為;在所述文件行為是Office進(jìn)程修改模板文件的宏病毒行為時(shí),允許所截獲的文件行為請(qǐng)求;在所述文件行為是除Office進(jìn)程修改模板文件的行為之外的宏病毒行為時(shí),阻止所截獲的文件行為請(qǐng)求??蛇x地,所述依據(jù)所述文件行為請(qǐng)求,分析得到相應(yīng)文件行為的信息的步驟,包括分析所述文件行為請(qǐng)求中攜帶的應(yīng)用程序接口 API的參數(shù),得到相應(yīng)文件行為的
信息;所述文件行為的信息至少包括如下信息中的一項(xiàng)或多項(xiàng)文件路徑,行為名稱,共享方式和文件屬性;所述文件屬性至少包括如下屬性中的一項(xiàng)或多項(xiàng)普通,只讀,隱藏,加密和壓縮。
可選地,所述利用所述文件行為的信息,判斷所述文件行為是否為宏病毒行為的步驟,包括將所述文件行為的信息與已知宏病毒行為的信息進(jìn)行匹配,若匹配成功,則確定所述文件行為是宏病毒行為。可選地,所述利用所述文件行為的信息,判斷所述文件行為是否為宏病毒行為的步驟,包括依據(jù)所述文件行為的信息,判斷所述文件行為對(duì)應(yīng)文件為本次計(jì)算機(jī)運(yùn)行期間未被Office進(jìn)程修改過(guò)的已有文件還是被Office進(jìn)程修改過(guò)的新文件;將所述文件行為的信息和所述文件行為對(duì)應(yīng)文件的判斷結(jié)果與已知宏病毒行為的信息進(jìn)行匹配,若匹配成功,則確定所述文件行為是宏病毒行為。可選地,所述方法還包括若所述文件行為是Office進(jìn)程修改模板文件的宏病毒行為,則在所述Office進(jìn)程結(jié)束時(shí),判斷修改后的模板文件是否帶有宏,若是,則使用預(yù)先備份的不帶有宏的模板文件替換所述修改后的模板文件;所述判斷修改后的模板文件是否帶有宏的步驟,包括以二進(jìn)制的格式打開所述修改后的模板文件;判斷所述修改后的模板文件的二進(jìn)制內(nèi)容中是否包含有宏標(biāo)識(shí),若是,則判斷修改后的模板文件帶有宏,否則判斷修改后的模板文件不帶有宏??蛇x地,所述方法還包括當(dāng)匹配失敗時(shí),判斷所述文件行為對(duì)應(yīng)文件或目錄是否在白名單數(shù)據(jù)集中;當(dāng)所述文件行為對(duì)應(yīng)文件或目錄在白名單數(shù)據(jù)集中時(shí),確定所述文件行為不是宏病毒行為;當(dāng)所述文件行為對(duì)應(yīng)文件或目錄不在白名單數(shù)據(jù)集中時(shí),判斷所述文件行為對(duì)應(yīng)文件或目錄是否在黑名單數(shù)據(jù)集中;當(dāng)所述文件行為對(duì)應(yīng)文件或目錄在黑名單數(shù)據(jù)集中時(shí),確定所述文件行為是宏病毒行為;當(dāng)所述文件行為對(duì)應(yīng)文件或目錄不在黑名單數(shù)據(jù)集中時(shí),判斷所述文件行為對(duì)應(yīng)文件或目錄為本次計(jì)算機(jī)運(yùn)行期間未被Office進(jìn)程修改過(guò)的已有文件或目錄還是被Office進(jìn)程修改過(guò)的新文件或目錄;當(dāng)所述文件行為對(duì)應(yīng)文件或目錄為本次計(jì)算機(jī)運(yùn)行期間未被Office進(jìn)程修改過(guò)的已有文件或目錄時(shí),確定所述文件行為不是宏病毒行為;當(dāng)所述文件行為對(duì)應(yīng)文件或目錄為本次計(jì)算機(jī)運(yùn)行期間被Office進(jìn)程修改過(guò)的新文件或目錄時(shí),確定所述文件行為是宏病毒行為??蛇x地,所述依據(jù)所述文件行為的信息,判斷所述文件行為對(duì)應(yīng)文件為本次計(jì)算機(jī)運(yùn)行期間未被Office進(jìn)程修改過(guò)的已有文件還是被Office進(jìn)程修改過(guò)的新文件的步驟,包括維護(hù)第一文件集合和第二文件集合;所述第一文件集合包括本次計(jì)算機(jī)運(yùn)行期間未被Office進(jìn)程修改過(guò)的已有文件,所述第二文件集合包括Office進(jìn)程操作過(guò)的已有文件;
依據(jù)所述文件行為的信息,判斷所述文件行為對(duì)應(yīng)文件是否在所述第一文件集合或第二文件集合中;當(dāng)所述文件行為對(duì)應(yīng)文件在所述第一文件集合中時(shí),判斷所述文件行為對(duì)應(yīng)文件為本次計(jì)算機(jī)運(yùn)行期間未被Office進(jìn)程修改過(guò)的已有文件;當(dāng)所述文件行為對(duì)應(yīng)文件在所述第二文件集合中時(shí),判斷所述文件行為對(duì)應(yīng)文件為本次計(jì)算機(jī)運(yùn)行期間被Office進(jìn)程修改過(guò)的新文件。可選地,所述已知宏病毒行為至少包括如下行為中的一項(xiàng)或多項(xiàng)=Office進(jìn)程修改模板文件的行為,Office進(jìn)程向模板目錄寫文件的行為,Office進(jìn)程執(zhí)行Office進(jìn)程釋放的可執(zhí)行文件,Of f ice進(jìn)程執(zhí)行Of f ice進(jìn)程釋放的腳本文件,Of f ice進(jìn)程修改注冊(cè)表的行為,Office進(jìn)程復(fù)制文件的行為。根據(jù)本發(fā)明的另一方面,提供了一種免疫文件宏病毒的裝置,包括請(qǐng)求截獲模塊,適于截獲Office進(jìn)程的文件行為請(qǐng)求;請(qǐng)求分析模塊,適于依據(jù)所述文件行為請(qǐng)求,分析得到相應(yīng)文件行為的信息;宏病毒判斷模塊,適于利用所述文件行為的信息,判斷所述文件行為是否為宏病毒行為;第一處理模塊,適于在所述文件行為是Office進(jìn)程修改模板文件的宏病毒行為時(shí),允許所截獲的文件行為請(qǐng)求;及第二處理模塊,適于在所述文件行為是除Office進(jìn)程修改模板文件的行為之外的宏病毒行為時(shí),阻止所截獲的文件行為請(qǐng)求。可選地,所述請(qǐng)求分析模塊,具體適于分析所述文件行為請(qǐng)求中攜帶的應(yīng)用程序接口 API的參數(shù),得到相應(yīng)文件行為的信息;所述文件行為的信息至少包括如下信息中的一項(xiàng)或多項(xiàng)文件路徑,行為名稱,共享方式和文件屬性;所述文件屬性至少包括如下屬性中的一項(xiàng)或多項(xiàng)普通,只讀,隱藏,加密和壓縮??蛇x地,所述宏病毒判斷模塊包括第一匹配子模塊,適于將所述文件行為的信息與已知宏病毒行為的信息進(jìn)行匹配,若匹配成功,則確定所述文件行為是宏病毒行為??蛇x地,所述宏病毒判斷模塊包括文件信息判斷子模塊,適于依據(jù)所述文件行為的信息,判斷所述文件行為對(duì)應(yīng)文件為本次計(jì)算機(jī)運(yùn)行期間未被Office進(jìn)程修改過(guò)的已有文件還是被Office進(jìn)程修改過(guò)的新文件;及第二匹配子模塊,適于將所述文件行為的信息和所述文件行為對(duì)應(yīng)文件的判斷結(jié)果與已知宏病毒行為的信息進(jìn)行匹配,若匹配成功,則確定所述文件行為是宏病毒行為??蛇x地,所述第一處理模塊還包括宏處理子模塊,適于當(dāng)所述文件行為是Office進(jìn)程修改模板文件的宏病毒行為且所述Office進(jìn)程結(jié)束時(shí),判斷修改后的模板文件是否帶有宏,若是,則使用預(yù)先備份的不帶有宏的模板文件替換所述修改后的模板文件;所述裝置還包括適于判斷修改后的模板文件是否帶有宏的宏判斷模塊,所述宏判斷模塊包括打開子模塊,適于以二進(jìn)制的格式打開所述修改后的模板文件;及
宏標(biāo)識(shí)判斷子模塊,適于判斷所述修改后的模板文件的二進(jìn)制內(nèi)容中是否包含有宏標(biāo)識(shí),若是,則判斷修改后的模板文件帶有宏,否則判斷修改后的模板文件不帶有宏??蛇x地,所述裝置還包括白名單數(shù)據(jù)集判斷模塊,適于當(dāng)匹配失敗時(shí),判斷所述文件行為對(duì)應(yīng)文件或目錄是否在白名單數(shù)據(jù)集中;第一白名單數(shù)據(jù)集處理模塊,適于當(dāng)所述文件行為對(duì)應(yīng)文件或目錄在白名單數(shù)據(jù)集中時(shí),確定所述文件行為不是宏病毒行為;第二白名單數(shù)據(jù)集處理模塊,適于當(dāng)所述文件行為對(duì)應(yīng)文件或目錄不在白名單數(shù)據(jù)集中時(shí),判斷所述文件行為對(duì)應(yīng)文件或目錄是否在黑名單數(shù)據(jù)集中;第一黑名單數(shù)據(jù)集處理模塊,適于當(dāng)所述文件行為對(duì)應(yīng)文件或目錄在黑名單數(shù)據(jù)集中時(shí),確定所述文件行為是宏病毒行為;第二黑名單數(shù)據(jù)集處理模塊,適于當(dāng)所述文件行為對(duì)應(yīng)文件或目錄不在黑名單數(shù)據(jù)集中時(shí),判斷所述文件行為對(duì)應(yīng)文件或目錄為本次計(jì)算機(jī)運(yùn)行期間未被Office進(jìn)程修改過(guò)的已有文件或目錄還是被Office進(jìn)程修改過(guò)的新文件或目錄 '及文件處理模塊,適于當(dāng)所述文件行為對(duì)應(yīng)文件或目錄為本次計(jì)算機(jī)運(yùn)行期間未被Office進(jìn)程修改過(guò)的已有文件或目錄時(shí),確定所述文件行為不是宏病毒行為,以及,當(dāng)所述文件行為對(duì)應(yīng)文件或目錄為本次計(jì)算機(jī)運(yùn)行期間被Office進(jìn)程修改過(guò)的新文件或目錄時(shí),確定所述文件行為是宏病毒行為??蛇x地,所述文件信息判斷子模塊,包括文件集合維護(hù)單元,適于維護(hù)第一文件集合和第二文件集合;所述第一文件集合包括本次計(jì)算機(jī)運(yùn)行期間未被Office進(jìn)程修改過(guò)的已有文件,所述第二文件集合包括本次計(jì)算機(jī)運(yùn)行期間被Office進(jìn)程修改過(guò)的新文件;文件集合判斷單元,適于依據(jù)所述文件行為的文件路徑,判斷所述文件行為對(duì)應(yīng)文件是否在所述第一文件集合或第二文件集合中,當(dāng)所述文件行為對(duì)應(yīng)文件或目錄在所述第一文件集合中時(shí),判斷所述文件行為對(duì)應(yīng)文件為本次計(jì)算機(jī)運(yùn)行期間未被Office進(jìn)程修改過(guò)的已有文件,當(dāng)所述文件行為對(duì)應(yīng)文件或目錄在所述第二文件集合中時(shí),判斷所述文件行為對(duì)應(yīng)文件為本次計(jì)算機(jī)運(yùn)行期間被Office進(jìn)程修改過(guò)的新文件??蛇x地,所述已知宏病毒行為至少包括如下行為中的一項(xiàng)或多項(xiàng)=Office進(jìn)程修改模板文件的行為,Office進(jìn)程向模板目錄寫文件的行為,Office進(jìn)程執(zhí)行Office進(jìn)程釋放的可執(zhí)行文件,Of f ice進(jìn)程執(zhí)行Of f ice進(jìn)程釋放的腳本文件,Of f ice進(jìn)程修改注冊(cè)表的行為,Office進(jìn)程復(fù)制文件的行為。本發(fā)明的一種免疫文件宏病毒的方法和裝置具有如下有益效果通過(guò)本發(fā)明,可以通過(guò)對(duì)Office進(jìn)程的行為請(qǐng)求進(jìn)行截獲及分析,如果發(fā)現(xiàn)宏病毒行為的情況,就可以采取相應(yīng)的阻止措施,以防止用戶的計(jì)算機(jī)受到宏病毒的侵害。由于Office進(jìn)程的行為請(qǐng)求是Office宏病毒行為的必經(jīng)途徑,故相對(duì)于現(xiàn)有技術(shù)僅能免疫特定的、已有的宏病毒,本發(fā)明能夠針對(duì)所有的Office宏病毒行為進(jìn)行免疫處理,故本發(fā)明能夠提供宏病毒的免疫范圍,提高宏病毒的免疫效率。上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式
。
通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種免疫文件宏病毒的方法的流程圖;圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種免疫文件宏病毒的方法的流程圖;以及圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種免疫文件宏病毒的裝置的結(jié)構(gòu)圖。
具體實(shí)施例方式下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。參照?qǐng)D1,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種免疫文件宏病毒的方法的流程圖,具體可以包括步驟101、截獲Office進(jìn)程的文件行為請(qǐng)求;Windows下暴露的對(duì)開發(fā)人員的接口叫做API (應(yīng)用程序編程接口,ApplicationProgramming Interface),各種應(yīng)用層應(yīng)用程序都是通過(guò)調(diào)用各種API來(lái)實(shí)現(xiàn)的,Office軟件也不例外;也即,無(wú)論執(zhí)行Office宏病毒行為還是執(zhí)行Office正常讀取文件等安全行為,Office進(jìn)程均需要調(diào)用相應(yīng)的API。,換個(gè)說(shuō)法,Office進(jìn)程的文件行為請(qǐng)求也就是調(diào)用API的請(qǐng)求。通常API被封裝到DLL (動(dòng)態(tài)鏈接庫(kù))中,在某個(gè)應(yīng)用程序要調(diào)用一個(gè)API的時(shí)候,如果這個(gè)函數(shù)所在的DLL沒有被加載到本進(jìn)程中則加載該DLL,然后保存當(dāng)前環(huán)境(各個(gè)寄存器和函數(shù)調(diào)用完后的返回地址等)。接著程序會(huì)跳轉(zhuǎn)到這個(gè)API的入口地址去執(zhí)行此處的指令。由此看來(lái),欲在調(diào)用真正的API之前先調(diào)用自己的函數(shù),那么可以修改這個(gè)API的入口處的代碼,使其先跳轉(zhuǎn)到自己的函數(shù)地址,然后在自己的函數(shù)中確定是否調(diào)用原有的API函數(shù)。Hook (鉤子)是Windows消息處理中的一個(gè)環(huán)節(jié),用于監(jiān)控消息在系統(tǒng)中的傳遞。鉤子機(jī)制允許應(yīng)用程序截獲處理Window消息或特定事件。鉤子實(shí)際上是一個(gè)處理消息的程序段,通過(guò)系統(tǒng)調(diào)用,把它掛入系統(tǒng)。每當(dāng)特定的消息發(fā)出,在沒有到達(dá)目的窗口前,鉤子程序就先捕獲該消息,亦即鉤子函數(shù)先得到控制權(quán)。這時(shí)鉤子函數(shù)即可以加工處理(改變)該消息,也可以不作處理而繼續(xù)傳遞該消息,還可以強(qiáng)制結(jié)束消息的傳遞。因此,本發(fā)明實(shí)施例可以通過(guò)Hook API的原理截獲Office進(jìn)程的文件行為請(qǐng)求,具體而言,預(yù)先修改Office進(jìn)程的入口處的代碼,這樣,Office進(jìn)程的文件行為請(qǐng)求被Office應(yīng)用程序執(zhí)行時(shí),相應(yīng)的API就會(huì)先跳轉(zhuǎn)到本發(fā)明實(shí)施例的函數(shù)地址,并且,本發(fā)明實(shí)施例可以獲取得到Office進(jìn)程的文件行為請(qǐng)求。步驟102、依據(jù)所述文件行為請(qǐng)求,分析得到相應(yīng)文件行為的信息;
在實(shí)際應(yīng)用中,所述文件行為請(qǐng)求中通常攜帶有應(yīng)用程序接口 API的參數(shù),則所述依據(jù)所述文件行為請(qǐng)求,分析得到相應(yīng)文件行為的信息的步驟,具體可以包括子步驟S101、分析所述文件行為請(qǐng)求中攜帶的應(yīng)用程序接口 API的參數(shù),得到相應(yīng)文件行為的信息;其中,所述文件行為的信息至少可以包括如下信息中的一項(xiàng)或多項(xiàng)文件路徑,行為名稱,共享方式和文件屬性;所述文件屬性至少可以包括如下屬性中的一項(xiàng)或多項(xiàng)普通,只讀,隱藏,加密和壓縮。以CreateFile函數(shù)為例,該API是用來(lái)創(chuàng)建和打開文件的HANDLE CreateFile (LPCTSTR IpFileName,//指向文件名的指針DWORD dwDesiredAccess, // 訪問(wèn)摸式(寫 / 讀)DWORD dwShareMode,//共享方式LPSECURITY_ATTRIBUTES IpSecurityAttributes, // 指向安全屬性的指針DWORD dwCreationDisposition,//如何創(chuàng)建DWORD dwFlagsAndAttributes,//文件屬性HANDLE hTemp lateFile// 用于復(fù)制文件句柄)如果應(yīng)用程序要調(diào)用該API,其參數(shù)就需要指明文件路徑,行為名稱(寫或者讀文件的行為),文件共享方式等,也即,分析API的參數(shù)可以得到相應(yīng)文件行為的眾多信息。當(dāng)然上述操作文件的API只是作為示例,實(shí)際上,除了操作文件的API外,本發(fā)明實(shí)施例能夠截獲的API還可以包括其它API,如操作注冊(cè)表的APIRegSetValue等。LONG RegSetValue ( //設(shè)置指定注冊(cè)表項(xiàng)中缺省(沒有名字)的值HKEY hKey,//指向當(dāng)前打開的句柄或者預(yù)定義的句柄值LPCTSTR IpSubKey, //設(shè)置Key子項(xiàng)的缺省值,如果設(shè)置為NULL,則設(shè)置hKey表項(xiàng)。。DWORD dwType,//被存儲(chǔ)信息的類型LPCTSTR IpData, //要存儲(chǔ)的值的指針DWORD cbData//數(shù)據(jù)的大小,不包含終止字符)步驟103、利用所述文件行為的信息,判斷所述文件行為是否為宏病毒行為;本發(fā)明實(shí)施例可以提供如下判斷所述文件行為是否為宏病毒行為的方案判斷方案1、所述利用所述文件行為的信息,判斷所述文件行為是否為宏病毒行為的步驟,具體可以包括子步驟S201、將所述文件行為的信息與已知宏病毒行為的信息進(jìn)行匹配,若匹配成功,則確定所述文件行為是宏病毒行為。在實(shí)際應(yīng)用中,可收集得到已知宏病毒行為,并進(jìn)一步分析得到所收集已知宏病毒行為的信息。在本發(fā)明的一種應(yīng)用示例中,可以對(duì)大量Microsoft Office的宏病毒樣本的研究,收集得到如下已知宏病毒行為1、修改注冊(cè)表的行為,目的修改注冊(cè)表中安全等級(jí)設(shè)置以降低安全等級(jí)設(shè)置,或修改注冊(cè)表中開機(jī)啟動(dòng)項(xiàng)以將釋放的可執(zhí)行文件寫入開機(jī)啟動(dòng)項(xiàng)等;2、傳播行為,其利用感染模板進(jìn)行傳播,例如向模板目錄寫文件等等;其中,不同的Microsoft office會(huì)有不同的感染模板,例如Windows7系統(tǒng),默認(rèn)情況下Microsoftfford 的感染模板文件是 C: \Users\用戶名\AppData\Roaming\Microsoft\Templates\normal. dotExcel 的感染模板目錄C:\Users\用戶名\AppData\Roaming\Microsoft\Excel\xlstart 和 Excel 安裝目錄 \off ice 11 \xlstart3、感染行為惡意程序打開安全文件,自己往安全文件里面復(fù)制,給用戶郵件聯(lián)系人發(fā)送包括病毒文件的郵件等;4、發(fā)作時(shí)行為,包括4.1、在某個(gè)時(shí)間段彈窗;4. 2、重復(fù)復(fù)制工作表,影響軟件正常使用;4. 3、釋放可執(zhí)行 文件,具體可以包括創(chuàng)建文件、寫文件、執(zhí)行文件等等。需要說(shuō)明的是,上述已知宏病毒行為是針對(duì)Microsoft Office研究得到的,其只是作為本發(fā)明實(shí)施例的一種示例,并不作為本發(fā)明實(shí)施例的實(shí)施限制。對(duì)上述已知宏病毒行為進(jìn)行分析,可以得到表I所示已知宏病毒行為的信息,其具體可以包括已知宏病毒行為的名稱和已知宏病毒行為的對(duì)象兩種信息。表I
權(quán)利要求
1.一種免疫文件宏病毒的方法,其特征在于,包括 截獲Office進(jìn)程的文件行為請(qǐng)求; 依據(jù)所述文件行為請(qǐng)求,分析得到相應(yīng)文件行為的信息; 利用所述文件行為的信息,判斷所述文件行為是否為宏病毒行為; 在所述文件行為是Office進(jìn)程修改模板文件的宏病毒行為時(shí),允許所截獲的文件行為請(qǐng)求; 在所述文件行為是除Office進(jìn)程修改模板文件的行為之外的宏病毒行為時(shí),阻止所截獲的文件行為請(qǐng)求。
2.如權(quán)利要求1所述的方法,其特征在于,所述依據(jù)所述文件行為請(qǐng)求,分析得到相應(yīng)文件行為的信息的步驟,包括 分析所述文件行為請(qǐng)求中攜帶的應(yīng)用程序接口 API的參數(shù),得到相應(yīng)文件行為的信息; 所述文件行為的信息至少包括如下信息中的一項(xiàng)或多項(xiàng)文件路徑,行為名稱,共享方式和文件屬性;所述文件屬性至少包括如下屬性中的一項(xiàng)或多項(xiàng)普通,只讀,隱藏,加密和壓縮。
3.如權(quán)利要求1所述的方法,其特征在于,所述利用所述文件行為的信息,判斷所述文件行為是否為宏病毒行為的步驟,包括 將所述文件行為的信息與已知宏病毒行為的信息進(jìn)行匹配,若匹配成功,則確定所述文件行為是宏病毒行為。
4.如權(quán)利要求1所述的方法,其特征在于,所述利用所述文件行為的信息,判斷所述文件行為是否為宏病毒行為的步驟,包括 依據(jù)所述文件行為的信息,判斷所述文件行為對(duì)應(yīng)文件為本次計(jì)算機(jī)運(yùn)行期間未被Office進(jìn)程修改過(guò)的已有文件還是被Office進(jìn)程修改過(guò)的新文件; 將所述文件行為的信息和所述文件行為對(duì)應(yīng)文件的判斷結(jié)果與已知宏病毒行為的信息進(jìn)行匹配,若匹配成功,則確定所述文件行為是宏病毒行為。
5.如權(quán)利要求1或2所述的方法,其特征在于,還包括 若所述文件行為是Office進(jìn)程修改模板文件的宏病毒行為,則在所述Office進(jìn)程結(jié)束時(shí),判斷修改后的模板文件是否帶有宏,若是,則使用預(yù)先備份的不帶有宏的模板文件替換所述修改后的模板文件; 所述判斷修改后的模板文件是否帶有宏的步驟,包括 以二進(jìn)制的格式打開所述修改后的模板文件; 判斷所述修改后的模板文件的二進(jìn)制內(nèi)容中是否包含有宏標(biāo)識(shí),若是,則判斷修改后的模板文件帶有宏,否則判斷修改后的模板文件不帶有宏。
6.如權(quán)利要求3或4所述的方法,其特征在于,還包括 當(dāng)匹配失敗時(shí),判斷所述文件行為對(duì)應(yīng)文件或目錄是否在白名單數(shù)據(jù)集中; 當(dāng)所述文件行為對(duì)應(yīng)文件或目錄在白名單數(shù)據(jù)集中時(shí),確定所述文件行為不是宏病毒行為; 當(dāng)所述文件行為對(duì)應(yīng)文件或目錄不在白名單數(shù)據(jù)集中時(shí),判斷所述文件行為對(duì)應(yīng)文件或目錄是否在黑名單數(shù)據(jù)集中;當(dāng)所述文件行為對(duì)應(yīng)文件或目錄在黑名單數(shù)據(jù)集中時(shí),確定所述文件行為是宏病毒行為; 當(dāng)所述文件行為對(duì)應(yīng)文件或目錄不在黑名單數(shù)據(jù)集中時(shí),判斷所述文件行為對(duì)應(yīng)文件或目錄為本次計(jì)算機(jī)運(yùn)行期間未被Office進(jìn)程修改過(guò)的已有文件或目錄還是被Off ice進(jìn)程修改過(guò)的新文件或目錄; 當(dāng)所述文件行為對(duì)應(yīng)文件或目錄為本次計(jì)算機(jī)運(yùn)行期間未被Office進(jìn)程修改過(guò)的已有文件或目錄時(shí),確定所述文件行為不是宏病毒行為; 當(dāng)所述文件行為對(duì)應(yīng)文件或目錄為本次計(jì)算機(jī)運(yùn)行期間被Office進(jìn)程修改過(guò)的新文件或目錄時(shí),確定所述文件行為是宏病毒行為。
7.如權(quán)利要求4所述的方法,其特征在于,所述依據(jù)所述文件行為的信息,判斷所述文件行為對(duì)應(yīng)文件為本次計(jì)算機(jī)運(yùn)行期間未被Office進(jìn)程修改過(guò)的已有文件還是被Office進(jìn)程修改過(guò)的新文件的步驟,包括 維護(hù)第一文件集合和第二文件集合;所述第一文件集合包括本次計(jì)算機(jī)運(yùn)行期間未被Office進(jìn)程修改過(guò)的已有文件,所述第二文件集合包括Office進(jìn)程操作過(guò)的已有文件;依據(jù)所述文件行為的信息,判斷所述文件行為對(duì)應(yīng)文件是否在所述第一文件集合或第二文件集合中; 當(dāng)所述文件行為對(duì)應(yīng)文件在所述第一文件集合中時(shí),判斷所述文件行為對(duì)應(yīng)文件為本次計(jì)算機(jī)運(yùn)行期間未被Office進(jìn)程修改過(guò)的已有文件; 當(dāng)所述文件行為對(duì)應(yīng)文件在所述第二文件集合中時(shí),判斷所述文件行為對(duì)應(yīng)文件為本次計(jì)算機(jī)運(yùn)行期間被Office進(jìn)程修改過(guò)的新文件。
8.如權(quán)利要求3或4所述的方法,其特征在于,所述已知宏病毒行為至少包括如下行為中的一項(xiàng)或多項(xiàng)=Office進(jìn)程修改模板文件的行為,Office進(jìn)程向模板目錄寫文件的行為,Office進(jìn)程執(zhí)行Office進(jìn)程釋放的可執(zhí)行文件,Office進(jìn)程執(zhí)行Office進(jìn)程釋放的腳本文件,Office進(jìn)程修改注冊(cè)表的行為,Office進(jìn)程復(fù)制文件的行為。
9.一種免疫文件宏病毒的裝置,其特征在于,包括 請(qǐng)求截獲模塊,適于截獲Office進(jìn)程的文件行為請(qǐng)求; 請(qǐng)求分析模塊,適于依據(jù)所述文件行為請(qǐng)求,分析得到相應(yīng)文件行為的信息; 宏病毒判斷模塊,適于利用所述文件行為的信息,判斷所述文件行為是否為宏病毒行為; 第一處理模塊,適于在所述文件行為是Office進(jìn)程修改模板文件的宏病毒行為時(shí),允許所截獲的文件行為請(qǐng)求;及 第二處理模塊,適于在所述文件行為是除Office進(jìn)程修改模板文件的行為之外的宏病毒行為時(shí),阻止所截獲的文件行為請(qǐng)求。
10.如權(quán)利要求9所述的裝置,其特征在于,所述請(qǐng)求分析模塊,具體適于分析所述文件行為請(qǐng)求中攜帶的應(yīng)用程序接口 API的參數(shù),得到相應(yīng)文件行為的信息;所述文件行為的信息至少包括如下信息中的一項(xiàng)或多項(xiàng)文件路徑,行為名稱,共享方式和文件屬性;所述文件屬性至少包括如下屬性中的一項(xiàng)或多項(xiàng)普通,只讀,隱藏,加密和壓縮。
11.如權(quán)利要求9所述的裝置,其特征在于,所述宏病毒判斷模塊包括 第一匹配子模塊,適于將所述文件行為的信息與已知宏病毒行為的信息進(jìn)行匹配,若匹配成功,則確定所述文件行為是宏病毒行為。
12.如權(quán)利要求9所述的裝置,其特征在于,所述宏病毒判斷模塊包括 文件信息判斷子模塊,適于依據(jù)所述文件行為的信息,判斷所述文件行為對(duì)應(yīng)文件為本次計(jì)算機(jī)運(yùn)行期間未被Office進(jìn)程修改過(guò)的已有文件還是被Office進(jìn)程修改過(guò)的新文件;及 第二匹配子模塊,適于將所述文件行為的信息和所述文件行為對(duì)應(yīng)文件的判斷結(jié)果與已知宏病毒行為的信息進(jìn)行匹配,若匹配成功,則確定所述文件行為是宏病毒行為。
13.如權(quán)利要求9或10所述的裝置,其特征在于,所述第一處理模塊還包括 宏處理子模塊,適于當(dāng)所述文件行為是Off ice進(jìn)程修改模板文件的宏病毒行為且所述Office進(jìn)程結(jié)束時(shí),判斷修改后的模板文件是否帶有宏,若是,則使用預(yù)先備份的不帶有宏的模板文件替換所述修改后的模板文件; 所述裝置還包括適于判斷修改后的模板文件是否帶有宏的宏判斷模塊,所述宏判斷模塊包括 打開子模塊,適于以二進(jìn)制的格式打開所述修改后的模板文件;及宏標(biāo)識(shí)判斷子模塊,適于判斷所述修改后的模板文件的二進(jìn)制內(nèi)容中是否包含有宏標(biāo)識(shí),若是,則判斷修改后的模板文件帶有宏,否則判斷修改后的模板文件不帶有宏。
14.如權(quán)利要求11或12所述的裝置,其特征在于,還包括 白名單數(shù)據(jù)集判斷模塊,適于當(dāng)匹配失敗時(shí),判斷所述文件行為對(duì)應(yīng)文件或目錄是否在白名單數(shù)據(jù)集中; 第一白名單數(shù)據(jù)集處理模塊,適于當(dāng)所述文件行為對(duì)應(yīng)文件或目錄在白名單數(shù)據(jù)集中時(shí),確定所述文件行為不是宏病毒行為; 第二白名單數(shù)據(jù)集處理模塊,適于當(dāng)所述文件行為對(duì)應(yīng)文件或目錄不在白名單數(shù)據(jù)集中時(shí),判斷所述文件行為對(duì)應(yīng)文件或目錄是否在黑名單數(shù)據(jù)集中; 第一黑名單數(shù)據(jù)集處理模塊,適于當(dāng)所述文件行為對(duì)應(yīng)文件或目錄在黑名單數(shù)據(jù)集中時(shí),確定所述文件行為是宏病毒行為; 第二黑名單數(shù)據(jù)集處理模塊,適于當(dāng)所述文件行為對(duì)應(yīng)文件或目錄不在黑名單數(shù)據(jù)集中時(shí),判斷所述文件行為對(duì)應(yīng)文件或目錄為本次計(jì)算機(jī)運(yùn)行期間未被Office進(jìn)程修改過(guò)的已有文件或目錄還是被Office進(jìn)程修改過(guò)的新文件或目錄 '及 文件處理模塊,適于當(dāng)所述文件行為對(duì)應(yīng)文件或目錄為本次計(jì)算機(jī)運(yùn)行期間未被Office進(jìn)程修改過(guò)的已有文件或目錄時(shí),確定所述文件行為不是宏病毒行為,以及,當(dāng)所述文件行為對(duì)應(yīng)文件或目錄為本次計(jì)算機(jī)運(yùn)行期間被Office進(jìn)程修改過(guò)的新文件或目錄時(shí),確定所述文件行為是宏病毒行為。
15.如權(quán)利要求11所述的裝置,其特征在于,所述文件信息判斷子模塊,包括文件集合維護(hù)單元,適于維護(hù)第一文件集合和第二文件集合;所述第一文件集合包括本次計(jì)算機(jī)運(yùn)行期間未被Office進(jìn)程修改過(guò)的已有文件,所述第二文件集合包括本次計(jì)算機(jī)運(yùn)行期間被Office進(jìn)程修改過(guò)的新文件; 文件集合判斷單元,適于依據(jù)所述文件行為的文件路徑,判斷所述文件行為對(duì)應(yīng)文件是否在所述第一文件集合或第二文件集合中,當(dāng)所述文件行為對(duì)應(yīng)文件或目錄在所述第一文件集合中時(shí),判斷所述文件行為對(duì)應(yīng)文件為本次計(jì)算機(jī)運(yùn)行期間未被Office進(jìn)程修改過(guò)的已有文件,當(dāng)所述文件行為對(duì)應(yīng)文件或目錄在所述第二文件集合中時(shí),判斷所述文件行為對(duì)應(yīng)文件為本次計(jì)算機(jī)運(yùn)行期間被Office進(jìn)程修改過(guò)的新文件。
16.如權(quán)利要求11或12所述的裝置,其特征在于,所述已知宏病毒行為至少包括如下行為中的一項(xiàng)或多項(xiàng)=Office進(jìn)程修改模板文件的行為,Office進(jìn)程向模板目錄寫文件的行為,Office進(jìn)程執(zhí)行Office進(jìn)程釋放的可執(zhí)行文件,Office進(jìn)程執(zhí)行Office進(jìn)程釋放的腳本文件,Office進(jìn)程修改注冊(cè)表的行為,Office進(jìn)程復(fù)制文件的行為。
全文摘要
本發(fā)明公開了一種免疫文件宏病毒的方法和裝置,其中的方法具體包括截獲Office進(jìn)程的文件行為請(qǐng)求;依據(jù)所述文件行為請(qǐng)求,分析得到相應(yīng)文件行為的信息;利用所述文件行為的信息,判斷所述文件行為是否為宏病毒行為;在所述文件行為是Office進(jìn)程修改模板文件的宏病毒行為時(shí),允許所截獲的文件行為請(qǐng)求;在所述文件行為是除Office進(jìn)程修改模板文件的行為之外的宏病毒行為時(shí),阻止所截獲的文件行為請(qǐng)求。本發(fā)明能夠提供宏病毒的免疫范圍,提高宏病毒的免疫效率。
文檔編號(hào)G06F21/56GK103034809SQ20121054594
公開日2013年4月10日 申請(qǐng)日期2012年12月14日 優(yōu)先權(quán)日2012年12月14日
發(fā)明者禹建文 申請(qǐng)人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司