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