專利名稱::一種程序處理方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及網(wǎng)絡(luò)安全
技術(shù)領(lǐng)域:
,具體涉及一種程序處理方法和系統(tǒng)。
背景技術(shù):
:惡意程序是一個(gè)概括性的術(shù)語,指任何故意創(chuàng)建用來執(zhí)行未經(jīng)授權(quán)并通常是有害行為的軟件程序。計(jì)算機(jī)病毒、后門程序、鍵盤記錄器、密碼盜取者、Word和Excel宏病毒、引導(dǎo)區(qū)病毒、腳本病毒(batch,windowsshell,java等)、木馬、犯罪軟件、間謀軟件和廣告軟件等等,都是一些可以稱之為惡意程序的例子。現(xiàn)今全球惡意程序數(shù)量呈幾何級(jí)增長,為了適應(yīng)惡意程序的更新速度,以快速地識(shí)別和查殺惡意程序,目前普遍利用主動(dòng)防御技術(shù)查殺惡意程序。主動(dòng)防御技術(shù)是基于程序的行為進(jìn)行自主分析判斷的實(shí)時(shí)防護(hù)技術(shù),其從最原始的定義出發(fā),直接將程序的行為作為判斷惡意程序的依據(jù),進(jìn)而衍生出通過在本地使用特征庫、在本地設(shè)置行為閾值以及在本地啟發(fā)式殺毒等方式來判別、攔截惡意程序的行為,從而在一定程度上達(dá)到保護(hù)客戶端設(shè)備的目的。但是,為了盡可能減小對(duì)程序性能的影響,主動(dòng)防御技術(shù)只對(duì)程序的exe文件進(jìn)行檢測(cè),而不檢查程序加載的動(dòng)態(tài)鏈接庫(DynamicLinkLibrary,DLL)文件。因此,一些惡意程序就利用這一點(diǎn),通過DLL劫持技術(shù)將該惡意程序的DLL文件與可信任的白名單中的程序(例如操作系統(tǒng)自帶的程序)打包在一起,當(dāng)用戶選擇執(zhí)行該白名單中的程序時(shí),其中的惡意程序的DLL文件就會(huì)被加載,從而使主動(dòng)防御技術(shù)不能成功攔截該惡意程序。
發(fā)明內(nèi)容鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的程序處理系統(tǒng)和相應(yīng)的程序處理方法。依據(jù)本發(fā)明的一個(gè)方面,提供了一種程序處理方法,包括當(dāng)檢測(cè)到待執(zhí)行程序創(chuàng)建進(jìn)程時(shí),獲取所述待執(zhí)行程序的特征信息;將所述待執(zhí)行程序的特征信息上傳至服務(wù)器,由服務(wù)器將所述待執(zhí)行程序的特征信息與預(yù)先設(shè)置的云端鑒別條件進(jìn)行匹配,得到匹配結(jié)果;接收所述服務(wù)器返回的匹配結(jié)果,并依據(jù)所述匹配結(jié)果確定所述待執(zhí)行程序是否存在被劫持的DLL文件。本發(fā)明實(shí)施例中,程序處理方法還包括若存在,則通過服務(wù)器對(duì)所述被劫持的DLL文件進(jìn)行查殺;依據(jù)服務(wù)器查殺結(jié)果對(duì)所述待執(zhí)行程序執(zhí)行相應(yīng)的操作。本發(fā)明實(shí)施例中,匹配結(jié)果為所述待執(zhí)行程序需要檢查的DLL文件信息,所述依據(jù)所述匹配結(jié)果確定所述待執(zhí)行程序是否存在被劫持的DLL文件,包括判斷指定目錄下是否存在所述需要檢查的DLL文件信息,若存在,則確定所述待執(zhí)行程序存在被劫持的DLL文件;其中,所述被劫持的DLL文件為指定目錄下存在的DLL文件,所述指定目錄為當(dāng)前目錄或者指定的相對(duì)目錄。本發(fā)明實(shí)施例中,云端鑒別條件中包括多個(gè)特定程序匹配條件和滿足該特定程序匹配條件后需要檢查的特定DLL文件信息。本發(fā)明實(shí)施例中,由服務(wù)器將所述待執(zhí)行程序的特征信息與預(yù)先設(shè)置的云端鑒別條件進(jìn)行匹配,得到匹配結(jié)果,包括通過服務(wù)器將所述待執(zhí)行程序的特征信息與所述特定程序匹配條件進(jìn)行匹配;通過服務(wù)器獲取滿足相匹配的特定程序匹配條件后需要檢查的特定DLL文件信息;將所述特定DLL文件信息作為所述待執(zhí)行程序需要檢查的DLL文件信息。本發(fā)明實(shí)施例中,特定程序匹配條件包括以下信息中的至少一種文件名稱信息、文件大小信息、文件特征值信息、文件圖標(biāo)信息、產(chǎn)品名稱信息、內(nèi)部名稱信息、原始文件名信息,以及進(jìn)程的命令行信息、進(jìn)程路徑信息和父進(jìn)程路徑信息;待執(zhí)行程序的特征信息包括以下信息中的至少一種待執(zhí)行程序的文件名稱信息、文件大小信息、文件特征值信息、文件圖標(biāo)信息、產(chǎn)品名稱信息、內(nèi)部名稱信息、原始文件名信息,以及待執(zhí)行程序創(chuàng)建的進(jìn)程的命令行信息、進(jìn)程路徑信息和父進(jìn)程路徑信息。本發(fā)明實(shí)施例中,在通過服務(wù)器對(duì)所述被劫持的DLL文件進(jìn)行查殺之前,還包括獲取所述待執(zhí)行程序?qū)?yīng)的EXE文件;將所述待執(zhí)行程序?qū)?yīng)的EXE文件的信息和所述被劫持的DLL文件的信息上傳至服務(wù)器;所述通過服務(wù)器對(duì)所述被劫持的DLL文件進(jìn)行查殺,包括通過服務(wù)器獲取所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí),所述等級(jí)包括安全等級(jí)、未知等級(jí)、可疑/高度可疑等級(jí)、以及惡意等級(jí);依據(jù)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)對(duì)所述被劫持的DLL文件進(jìn)行查殺。本發(fā)明實(shí)施例中,被劫持的DLL文件為一個(gè)或多個(gè),依據(jù)服務(wù)器查殺結(jié)果對(duì)所述待執(zhí)行程序執(zhí)行相應(yīng)的操作,包括當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)中至少一個(gè)為惡意等級(jí)時(shí),攔截所述待執(zhí)行程序的執(zhí)行;當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)均為安全等級(jí)時(shí),允許所述待執(zhí)行程序的執(zhí)行;當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)中沒有惡意等級(jí),并且至少一個(gè)被劫持的DLL文件的等級(jí)高于所述EXE文件的等級(jí)時(shí),獲取其中最高的等級(jí),將所述EXE文件的等級(jí)修改為所述最高的等級(jí),允許所述待執(zhí)行程序的執(zhí)行,并攔截待執(zhí)行程序執(zhí)行后發(fā)起的可疑操作。本發(fā)明實(shí)施例中,可疑操作為以下任意一種文件操作、注冊(cè)表操作、進(jìn)程操作和網(wǎng)絡(luò)操作。本發(fā)明實(shí)施例中,待執(zhí)行程序?yàn)榘酌麊沃械某绦颉1景l(fā)明實(shí)施例中,云端鑒別條件存儲(chǔ)在服務(wù)器中。本發(fā)明實(shí)施例中,程序處理方法還包括服務(wù)器定期檢測(cè)所述云端鑒別條件是否滿足升級(jí)條件,若滿足,則服務(wù)器獲取新的鑒別條件,并通過重新加載所述新的鑒別條件完成所述云端鑒別條件的升級(jí)更新;其中,所述升級(jí)條件在服務(wù)器中進(jìn)行配置。依據(jù)本發(fā)明的另一方面,提供了一種程序處理系統(tǒng),包括客戶端和服務(wù)器,其中,客戶端包括特征信息獲取模塊,適于當(dāng)檢測(cè)到待執(zhí)行程序創(chuàng)建進(jìn)程時(shí),獲取所述待執(zhí)行程序的特征信息;特征信息上傳模塊,適于將所述待執(zhí)行程序的特征信息上傳至服務(wù)器;所述服務(wù)器包括匹配模塊,適于將所述待執(zhí)行程序的特征信息與預(yù)先設(shè)置的云端鑒別條件進(jìn)行匹配,得到匹配結(jié)果;所述客戶端還包括確定模塊,適于接收所述服務(wù)器返回的匹配結(jié)果,并依據(jù)所述匹配結(jié)果確定所述待執(zhí)行程序是否存在被劫持的DLL文件。本發(fā)明實(shí)施例中,服務(wù)器還包括查殺模塊,適于當(dāng)客戶端的確定模塊的檢查結(jié)果為存在時(shí),對(duì)所述被劫持的DLL文件進(jìn)行查殺;客戶端還包括處理模塊,適于依據(jù)服務(wù)器查殺結(jié)果對(duì)所述待執(zhí)行程序執(zhí)行相應(yīng)的操作。本發(fā)明實(shí)施例中,匹配結(jié)果為所述待執(zhí)行程序需要檢查的DLL文件信息,確定模塊包括判斷子模塊,適于判斷指定目錄下是否存在所述需要檢查的DLL文件信息,若存在,則確定所述待執(zhí)打程序存在被劫持的DLL文件;其中,所述被劫持的DLL文件為指定目錄下存在的DLL文件,所述指定目錄為當(dāng)前目錄或者指定的相對(duì)目錄。本發(fā)明實(shí)施例中,云端鑒別條件中包括多個(gè)特定程序匹配條件和滿足該特定程序匹配條件后需要檢查的特定DLL文件信息。本發(fā)明實(shí)施例中,匹配模塊包括匹配子模塊,適于將所述待執(zhí)行程序的特征信息與所述特定程序匹配條件進(jìn)行匹配;特定DLL文件信息獲取子模塊,適于獲取滿足相匹配的特定程序匹配條件后需要檢查的特定DLL文件信息;確定子模塊,適于將所述特定DLL文件信息作為所述待執(zhí)行程序需要檢查的DLL文件信息。本發(fā)明實(shí)施例中,特定程序匹配條件包括以下信息中的至少一種文件名稱信息、文件大小信息、文件特征值信息、文件圖標(biāo)信息、產(chǎn)品名稱信息、內(nèi)部名稱信息、原始文件名信息,以及進(jìn)程的命令行信息、進(jìn)程路徑信息和父進(jìn)程路徑信息;待執(zhí)行程序的特征信息包括以下信息中的至少一種待執(zhí)行程序的文件名稱信息、文件大小信息、文件特征值信息、文件圖標(biāo)信息、產(chǎn)品名稱信息、內(nèi)部名稱信息、原始文件名信息,以及待執(zhí)行程序創(chuàng)建的進(jìn)程的命令行信息、進(jìn)程路徑信息和父進(jìn)程路徑信息。本發(fā)明實(shí)施例中,客戶端還包括文件獲取模塊,適于在服務(wù)器的查殺模塊對(duì)所述被劫持的DLL文件進(jìn)行查殺之前,獲取所述待執(zhí)行程序?qū)?yīng)的EXE文件;文件信息上傳模塊,適于將所述待執(zhí)行程序?qū)?yīng)的EXE文件的信息和所述被劫持的DLL文件的信息上傳至服務(wù)器;查殺模塊包括等級(jí)查詢子模塊,適于查詢所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí),所述等級(jí)包括安全等級(jí)、未知等級(jí)、可疑/高度可疑等級(jí)、以及惡意等級(jí);·查殺子模塊,適于依據(jù)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)對(duì)所述被劫持的DLL文件進(jìn)行查殺。本發(fā)明實(shí)施例中,被劫持的DLL文件為一個(gè)或多個(gè),處理模塊包括程序攔截子模塊,適于當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)中至少一個(gè)為惡意等級(jí)時(shí),攔截所述待執(zhí)行程序的執(zhí)行;執(zhí)行子模塊,適于當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)均為安全等級(jí)時(shí),允許所述待執(zhí)行程序的執(zhí)行;可疑操作攔截子模塊,適于當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)中沒有惡意等級(jí),并且至少一個(gè)被劫持的DLL文件的等級(jí)高于所述EXE文件的等級(jí)時(shí),獲取其中最高的等級(jí),將所述EXE文件的等級(jí)修改為所述最高的等級(jí),允許所述待執(zhí)行程序的執(zhí)行,并攔截待執(zhí)行程序執(zhí)行后發(fā)起的可疑操作。本發(fā)明實(shí)施例中,可疑操作為以下任意一種文件操作、注冊(cè)表操作、進(jìn)程操作和網(wǎng)絡(luò)操作。本發(fā)明實(shí)施例中,待執(zhí)行程序?yàn)榘酌麊沃械某绦?。本發(fā)明實(shí)施例中,云端鑒別條件存儲(chǔ)在服務(wù)器中。本發(fā)明實(shí)施例中,服務(wù)器還包括升級(jí)模塊,適于定期檢測(cè)所述云端鑒別條件是否滿足升級(jí)條件,若滿足,則獲取新的鑒別條件,并通過重新加載所述新的鑒別條件完成所述云端鑒別條件的升級(jí)更新;其中,所述升級(jí)條件在服務(wù)器中進(jìn)行配置。根據(jù)本發(fā)明的程序處理方法和系統(tǒng)可以在檢測(cè)到待執(zhí)行程序創(chuàng)建進(jìn)程時(shí),通過服務(wù)器預(yù)先設(shè)置的云端鑒別條件檢查所述待執(zhí)行程序是否存在被劫持的DLL文件,如果待執(zhí)行程序存在被劫持的DLL文件,則通過服務(wù)器對(duì)所述被劫持的DLL文件進(jìn)行查殺,然后依據(jù)服務(wù)器查殺結(jié)果對(duì)所述待執(zhí)行程序執(zhí)行相應(yīng)的操作。由此解決了惡意程序利用可信的白名單中的程序加載惡意DLL文件而導(dǎo)致主動(dòng)防御無法正常攔截惡意程序的問題,取得了更加有效地?cái)r截惡意程序的有益效果。其次,本發(fā)明的云端鑒別條件保存在服務(wù)器中,當(dāng)滿足升級(jí)條件時(shí),可以立刻全網(wǎng)升級(jí),升級(jí)速度較快,不需要客戶端升級(jí)文件即可生效,對(duì)于突發(fā)的惡意程序有很好的攔截效果,從而避免用戶的損失。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。通過閱讀下文優(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í)施例的程序處理方法的流程圖4示出了根據(jù)本發(fā)明實(shí)施例所述的云端鑒別條件的示意圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的程序處理系統(tǒng)的結(jié)構(gòu)框圖;以及圖6示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的程序處理系統(tǒng)的結(jié)構(gòu)框圖。具體實(shí)施方式下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。本發(fā)明可以應(yīng)用于計(jì)算機(jī)系統(tǒng)/服務(wù)器,其可與眾多其它通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置一起操作。適于與計(jì)算機(jī)系統(tǒng)/服務(wù)器一起使用的眾所周知的計(jì)算系統(tǒng)、環(huán)境和/或配置的例子包括但不限于個(gè)人計(jì)算機(jī)系統(tǒng)、服務(wù)器計(jì)算機(jī)系統(tǒng)、瘦客戶機(jī)、厚客戶機(jī)、手持或膝上設(shè)備、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)個(gè)人電腦、小型計(jì)算機(jī)系統(tǒng)大型計(jì)算機(jī)系統(tǒng)和包括上述任何系統(tǒng)的分布式云計(jì)算技術(shù)環(huán)境,等等。計(jì)算機(jī)系統(tǒng)/服務(wù)器可以在由計(jì)算機(jī)系統(tǒng)執(zhí)行的計(jì)算機(jī)系統(tǒng)可執(zhí)行指令(諸如程序模塊)的一般語境下描述。通常,程序模塊可以包括例程、程序、目標(biāo)程序、組件、邏輯、數(shù)據(jù)結(jié)構(gòu)等等,它們執(zhí)行特定的任務(wù)或者實(shí)現(xiàn)特定的抽象數(shù)據(jù)類型。計(jì)算機(jī)系統(tǒng)/服務(wù)器可以在分布式云計(jì)算環(huán)境中實(shí)施,分布式云計(jì)算環(huán)境中,任務(wù)是由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的。在分布式云計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備的本地或遠(yuǎn)程計(jì)算系統(tǒng)存儲(chǔ)介質(zhì)上。實(shí)施例一參照?qǐng)D1,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的程序處理方法的流程圖,該方法具體可以包括步驟S101,當(dāng)檢測(cè)到待執(zhí)行程序創(chuàng)建進(jìn)程時(shí),獲取所述待執(zhí)行程序的特征信息。步驟S102,將所述待執(zhí)行程序的特征信息上傳至服務(wù)器,由服務(wù)器將所述待執(zhí)行程序的特征信息與預(yù)先設(shè)置的云端鑒別條件進(jìn)行匹配,得到匹配結(jié)果。步驟S103,接收所述服務(wù)器返回的匹配結(jié)果,并依據(jù)所述匹配結(jié)果確定所述待執(zhí)行程序是否存在被劫持的DLL文件。對(duì)于本實(shí)施例提出的程序處理方法的具體過程,將在下面的實(shí)施例中詳細(xì)介紹。通過上述步驟SlOl-步驟S103可以利用服務(wù)器中的云端鑒別條件檢測(cè)待執(zhí)行程序是否存在被劫持的DLL文件,后續(xù)可以通過檢測(cè)結(jié)果對(duì)待執(zhí)行程序進(jìn)行處理。如果檢測(cè)到待執(zhí)行程序存在被劫持的DLL文件,則后續(xù)可以通過服務(wù)器對(duì)被劫持的DLL文件進(jìn)行查殺,然后依據(jù)服務(wù)器查殺結(jié)果對(duì)所述待執(zhí)行程序執(zhí)行相應(yīng)的操作。由此解決了惡意程序利用可信的白名單中的程序加載惡意DLL文件而導(dǎo)致主動(dòng)防御無法正常攔截惡意程序的問題,能夠更加有效地?cái)r截惡意程序。實(shí)施例二參照?qǐng)D2,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的程序處理方法的流程圖。為了適應(yīng)惡意程序的更新速度,以快速地識(shí)別和查殺惡意程序,目前普遍利用主動(dòng)防御技術(shù)查殺惡意程序。主動(dòng)防御技術(shù)是基于程序的行為進(jìn)行自主分析判斷的實(shí)時(shí)防護(hù)技術(shù),通過在系統(tǒng)的關(guān)鍵位置設(shè)置攔截點(diǎn)對(duì)系統(tǒng)的關(guān)鍵位置進(jìn)行保護(hù)。當(dāng)有程序執(zhí)行修改這些關(guān)鍵位置的行為(例如寫入注冊(cè)表、創(chuàng)建計(jì)劃任務(wù)、修改瀏覽器首頁、修改默認(rèn)瀏覽器和注冊(cè)瀏覽器插件等行為)時(shí),就會(huì)對(duì)該程序進(jìn)行攔截,攔截后需要判斷此次修改行為是否為惡意的,通常對(duì)行為的判斷是通過判斷執(zhí)行此次修改行為的程序是否安全來實(shí)現(xiàn)的,如果程序是惡意的,則說明該修改行為是惡意的,因此需要攔截該程序的執(zhí)行。一般來說,主動(dòng)防御技術(shù)通過對(duì)程序的文件進(jìn)行檢查,以檢測(cè)程序的安全性。但是在檢查程序文件時(shí),需要計(jì)算文件的哈希值,還需要訪問網(wǎng)絡(luò),這些都是比較耗費(fèi)時(shí)間的操作,并且一般的程序會(huì)加載幾十個(gè)甚至上百個(gè)DLL文件,即使使用緩存技術(shù)進(jìn)行優(yōu)化,還是會(huì)明顯延長程序的啟動(dòng)時(shí)間。因此,為了盡可能減小對(duì)程序性能的影響,主動(dòng)防御技術(shù)只對(duì)程序的EXE文件進(jìn)行檢測(cè),而不檢查程序加載的DLL文件。因此,一些惡意程序就利用這一點(diǎn),通過DLL劫持技術(shù)將該惡意程序的DLL文件與可信任的白名單中的程序(例如操作系統(tǒng)自帶的程序)打包在一起,當(dāng)用戶選擇執(zhí)行該白名單中的程序時(shí),其中的惡意程序的DLL文件就會(huì)被加載,從而使主動(dòng)防御技術(shù)不能成功攔截該惡意程序。為了防止惡意程序利用可信任的白名單中的程序突破主動(dòng)防御而成功執(zhí)行,本發(fā)明實(shí)施例提出了一種程序處理方法,具體的,該程序處理方法包括以下步驟步驟S201,當(dāng)檢測(cè)到待執(zhí)行程序創(chuàng)建進(jìn)程時(shí),通過服務(wù)器預(yù)先設(shè)置的云端鑒別條件檢查所述待執(zhí)行程序是否存在被劫持的DLL文件。需要說明的是,該步驟S201為檢查所述待執(zhí)行程序是否存在被劫持的DLL文件的過程,相對(duì)于上述實(shí)施例一來說,該步驟S201可以包括上述實(shí)施例一中的步驟SlOl-步驟S103。步驟S202,若存在,則通過服務(wù)器對(duì)所述被劫持的DLL文件進(jìn)行查殺。步驟S203,依據(jù)服務(wù)器查殺結(jié)果對(duì)所述待執(zhí)行程序執(zhí)行相應(yīng)的操作。通過上述步驟S201-步驟S203可以在待執(zhí)行程序存在被劫持的DLL文件時(shí),進(jìn)一步通過服務(wù)器對(duì)這些被劫持的DLL文件進(jìn)行查殺,然后依據(jù)服務(wù)器查殺結(jié)果對(duì)所述待執(zhí)行程序執(zhí)行相應(yīng)的操作。對(duì)于具體的處理過程,將在下面的實(shí)施例中詳細(xì)介紹。本發(fā)明實(shí)施例提出的程序處理方法通過對(duì)待執(zhí)行程序中被劫持的DLL文件進(jìn)行檢查,能夠解決惡意程序利用可信任的白名單中的程序加載惡意DLL文件而導(dǎo)致主動(dòng)防御無法正常攔截惡意程序的問題,取得了更加有效地?cái)r截惡意程序的有益效果。實(shí)施例三下面,對(duì)于具體的程序處理方法進(jìn)行詳細(xì)描述。參照?qǐng)D3,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的程序處理方法的流程圖,所述方法包括步驟S301,當(dāng)檢測(cè)到待執(zhí)行程序創(chuàng)建進(jìn)程時(shí),通過服務(wù)器預(yù)先設(shè)置的云端鑒別條件檢查所述待執(zhí)行程序是否存在被劫持的DLL文件。本發(fā)明實(shí)施例主要是在待執(zhí)行程序創(chuàng)建進(jìn)程時(shí),增加對(duì)DLL文件的查詢過程,需要檢查待執(zhí)行程序是否存在被劫持的DLL文件,如果存在,則說明該待執(zhí)行程序有可能被惡意程序利用,因此要進(jìn)一步檢查這些被劫持的DLL文件是否安全。在本實(shí)施例中,通過服務(wù)器預(yù)先設(shè)置的云端鑒別條件檢查所述待執(zhí)行程序是否存在被劫持的DLL文件。云端鑒別條件存儲(chǔ)在服務(wù)器中,在云端鑒別條件中包括多個(gè)特定程序匹配條件和滿足該特定程序匹配條件后需要檢查的特定DLL文件信息,本實(shí)施例就是要將待執(zhí)行程序的一些特征信息與云端鑒別條件進(jìn)行匹配,然后再依據(jù)匹配結(jié)果進(jìn)行判斷。對(duì)于具體的匹配過程,是在服務(wù)器中執(zhí)行的。具體的,該步驟S301可以包括以下子步驟子步驟al,獲取所述待執(zhí)行程序的特征信息。其中,待執(zhí)行程序的特征信息可以包括以下信息中的至少一種待執(zhí)行程序的文件名稱信息、文件大小信息、文件特征值信息、文件圖標(biāo)信息、產(chǎn)品名稱信息、內(nèi)部名稱信息、原始文件名信息,以及待執(zhí)行程序創(chuàng)建的進(jìn)程的命令行信息、進(jìn)程路徑信息和父進(jìn)程路徑信息。當(dāng)然,所述待執(zhí)行程序的特征信息還可以包括其他信息,本實(shí)施例對(duì)此并不加以限制。子步驟a2,將所述待執(zhí)行程序的特征信息上傳至服務(wù)器。由于本實(shí)施例需要通過預(yù)先設(shè)置的云端鑒別條件檢查所述待執(zhí)行程序是否存在被劫持的DLL文件,云端鑒別條件存儲(chǔ)在服務(wù)器中,因此在獲取到待執(zhí)行程序的特征信息之后,首先需要將這些特征信息上傳至服務(wù)器,由服務(wù)器將待執(zhí)行程序的特征信息與云端鑒別條件進(jìn)行匹配。子步驟a3,通過服務(wù)器將所述待執(zhí)行程序的特征信息與所述云端鑒別條件進(jìn)行匹配,獲得所述待執(zhí)行程序需要檢查的DLL文件信息,將所述需要檢查的DLL文件信息作為匹配結(jié)果;下面,具體介紹一下與云端鑒別條件進(jìn)行匹配的過程。由上述描述可知,在云端鑒別條件中包括多個(gè)特定程序匹配條件和滿足該特定程序匹配條件后需要檢查的特定DLL文件信息,在本發(fā)明實(shí)施例中,可以將待執(zhí)行程序的特征信息與特定程序匹配條件進(jìn)行匹配,從而獲得需要檢查的DLL文件信息。由于特定程序匹配條件需要與待執(zhí)行程序的特征信息進(jìn)行匹配,因此,在所述特定程序匹配條件中也可以包括一些與程序的特征信息相對(duì)應(yīng)的信息,通過這些信息即可找到與待執(zhí)行程序的特征信息相匹配的特定程序匹配條件。在本實(shí)施例中,所述特定程序匹配條件可以包括以下信息中的至少一種文件名稱信息、文件大小信息、文件特征值信息、文件圖標(biāo)信息、產(chǎn)品名稱信息、內(nèi)部名稱信息、原始文件名信息,以及進(jìn)程的命令行信息、進(jìn)程路徑信息和父進(jìn)程路徑信息。當(dāng)然,所述特定程序匹配條件還可以包括其他信息,本實(shí)施例對(duì)此并不加以限制。具體的,通過服務(wù)器針對(duì)特定程序匹配條件的處理過程可以包括(i)將所述待執(zhí)行程序的特征信息與所述特定程序匹配條件進(jìn)行匹配;(ii)獲取滿足相匹配的特定程序匹配條件后需要檢查的特定DLL文件信息;(iii)將所述特定DLL文件信息作為所述待執(zhí)行程序需要檢查的DLL文件信息。具體的,可以通過以下實(shí)例進(jìn)行說明。如圖4所示,是本發(fā)明實(shí)施例所述的云端鑒別條件的示意圖。從圖中可以看出,在該云端鑒別條件中包括條件和返回值兩個(gè)部分,其中條件一列中包含了多個(gè)表達(dá)式,這些表達(dá)式即為本發(fā)明實(shí)施例所述的特定程序匹配條件,返回值一列包含了多個(gè)字符串,這些字符串中指定了滿足對(duì)應(yīng)的特定程序匹配條件后需要檢查的特定DLL文件信息。在條件一列的表達(dá)式中可以包括產(chǎn)品名稱信息(h1.GEN)、文件大小信息(h1.DSI)、內(nèi)部名稱信息(h1.1TN)、原始文件名信息(111.(幻、進(jìn)程路徑信息(111.051')、父進(jìn)程路徑信息(h1.SRC)、進(jìn)程命令行信息(h1.CLE)等信息(圖3是云端鑒別條件的部分截圖,其中有些信息在圖3中沒有顯示),這些信息適于與待執(zhí)行程序的特征信息進(jìn)行匹配。在返回值一列的字符串中“DLL:”后指定了滿足對(duì)應(yīng)的特定程序匹配條件后需要檢查的特定DLL文件信息,在本實(shí)施例中,所述DLL文件信息可以為DLL文件的名稱。另外,在返回值一列的字符串中,可以指定多個(gè)需要檢查的特定DLL文件信息,每個(gè)DLL文件信息之間以逗號(hào)相隔。例如,獲取到當(dāng)前待執(zhí)行程序的特征信息為產(chǎn)品名稱信息“金山重裝高手”,然后將該產(chǎn)品名稱信息與云端鑒別條件進(jìn)行匹配,經(jīng)過判斷,特定程序匹配條件中的“(h1.GEN:like,金山重裝高手)”是與產(chǎn)品名稱信息“金山重裝高手”相匹配的條件,因此,可以從該條件對(duì)應(yīng)的返回值“(return_extinfo:〈hips>DLL:kdump.dll,irrlicht.dll〈/hips>)”中獲取需要檢查的DLL文件名稱為“kdump.dll”和“irrlicht.dll”。需要說明的是,本實(shí)施例所述的云端鑒別條件還可以包括其他的信息,例如是否生效、條件序號(hào)、應(yīng)用比例等,本領(lǐng)域技術(shù)人員根據(jù)實(shí)際情況進(jìn)行相應(yīng)處理即可,本實(shí)施例對(duì)此并不加以限制。子步驟a4,接收服務(wù)器下發(fā)的所述待執(zhí)行程序需要檢查的DLL文件信息。服務(wù)器依據(jù)云端鑒別條件獲取到所述待執(zhí)行程序需要檢查的DLL文件信息之后,需要將所述需要檢查的DLL文件信息下發(fā)至客戶端,然后客戶端進(jìn)一步對(duì)這些需要檢查的DLL文件信息進(jìn)行判斷,以確定出所述待執(zhí)行程序被劫持的DLL文件。子步驟a5,判斷指定目錄下是否存在所述需要檢查的DLL文件信息,若存在,則確定所述待執(zhí)行程序存在被劫持的DLL文件。一般來說,DLL文件會(huì)存儲(chǔ)在系統(tǒng)目錄中,如果在程序執(zhí)行時(shí)需要調(diào)用某些DLL文件,則將這些DLL文件存儲(chǔ)在指定目錄下,因此存儲(chǔ)在指定目錄下的DLL文件即為該程序所調(diào)用的DLL文件。在本實(shí)施例中,所述指定目錄可以為當(dāng)前目錄或者指定的相對(duì)目錄。所以,客戶端在接收到服務(wù)器下發(fā)的待執(zhí)行程序需要檢查的DLL文件信息之后,還需要進(jìn)一步判斷指定目錄下是否存在所述需要檢查的DLL文件信息。如果指定目錄下存在所述需要檢查的DLL文件信息,說明所述待執(zhí)行程序存在被劫持的DLL文件,并且所述被劫持的DLL文件即為指定目錄下存在的DLL文件,需要對(duì)這些被劫持的DLL文件進(jìn)行查殺;如果指定目錄下不存在所述需要檢查的DLL文件信息,說明這些DLL文件不會(huì)被待執(zhí)行程序加載,因此不需要對(duì)其進(jìn)行查殺。例如,仍然以上述舉例進(jìn)行說明,如果服務(wù)器下發(fā)給客戶端的待執(zhí)行程序需要檢查的DLL文件信息為DLL文件名稱“kdump.dll”和“irrlicht.dll”,則判斷指定目錄下是否存在這些DLL文件名稱。例如,判斷出指定目錄下存在其中的一個(gè)DLL文件名稱為“kdump.dll",則將DLL文件“kdump.dll”作為待執(zhí)行程序被劫持的DLL文件。需要說明的是,對(duì)應(yīng)于上述實(shí)施例一,本實(shí)施例中的子步驟al為上述實(shí)施例一中的步驟SlOl的具體過程,子步驟a2-子步驟a3為上述實(shí)施例一中的步驟S102的具體過程,子步驟a4_子步驟a5為上述實(shí)施例一中的步驟S103的具體過程,本實(shí)施例在此不再詳細(xì)論述。步驟S302,獲取所述待執(zhí)行程序?qū)?yīng)的EXE文件。步驟S303,若指定目錄下存在所述需要檢查的DLL文件信息,則將所述待執(zhí)行程序?qū)?yīng)的EXE文件的信息和所述被劫持的DLL文件的信息上傳至服務(wù)器。其中,上傳的文件的信息可以包括文件的哈希值、文件路徑等信息,本發(fā)明實(shí)施例對(duì)此并不加以限制。由于現(xiàn)有的主動(dòng)防御只對(duì)程序的EXE文件進(jìn)行檢查,而不檢查程序的DLL文件,如果惡意程序利用可信的白名單中的程序加載惡意DLL文件,則惡意程序就能繞過主動(dòng)防御的攔截而成功執(zhí)行。因此,本發(fā)明實(shí)施例提出不僅對(duì)程序的EXE文件進(jìn)行檢查,對(duì)程序的DLL文件也進(jìn)行檢查,但是并不是對(duì)所有的DLL文件進(jìn)行檢查,而是通過與云端鑒別條件匹配,確定出程序中被劫持的DLL文件,然后對(duì)這些被劫持的DLL文件進(jìn)行查殺。具體的,對(duì)文件進(jìn)行查殺的過程由服務(wù)器執(zhí)行,因此,如果在步驟S201中判斷出待執(zhí)行程序中存在被劫持的DLL文件,并且確定出了被劫持的DLL文件,則將所述待執(zhí)行程序?qū)?yīng)的EXE文件的信息和所述被劫持的DLL文件的信息均上傳至服務(wù)器,通過服務(wù)器對(duì)這些文件進(jìn)行查殺;如果判斷出待執(zhí)行程序中不存在被劫持的DLL文件,則說明該待執(zhí)行程序沒有被惡意程序利用,此時(shí)只需要將待執(zhí)行程序?qū)?yīng)的EXE文件的信息上傳至服務(wù)器即可。例如,在步驟S301中判斷出待執(zhí)行程序被劫持的DLL文件為“kdump.dll”,則將DLL文件“kdump.dll”的信息和產(chǎn)品名稱信息為“金山重裝高手”的待執(zhí)行程序?qū)?yīng)的EXE文件的信息上傳至服務(wù)器。步驟S304,通過服務(wù)器對(duì)所述被劫持的DLL文件進(jìn)行查殺。服務(wù)器在接收到客戶端上傳的待執(zhí)行程序?qū)?yīng)的EXE文件的信息和所述被劫持的DLL文件的信息之后,即依據(jù)所述文件信息對(duì)相應(yīng)的文件進(jìn)行查殺。該步驟S304具體可以包括子步驟bI,通過服務(wù)器獲取所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)。在本實(shí)施例中,所述等級(jí)包括安全等級(jí)、未知等級(jí)、可疑/高度可疑等級(jí)、以及惡意等級(jí)。對(duì)于等級(jí)的設(shè)置,可以設(shè)置等級(jí)為10-29時(shí)為安全等級(jí)(該等級(jí)的文件為白文件),等級(jí)為30-49時(shí)為未知等級(jí)(該等級(jí)的文件為灰文件),等級(jí)為50-69時(shí)為可疑/高度可疑等級(jí)(該等級(jí)的文件為可疑文件),等級(jí)大于或等于70時(shí)為惡意等級(jí)(該等級(jí)的文件為惡意文件)。當(dāng)然,還可以設(shè)置所述等級(jí)為其他形式,本發(fā)明對(duì)此并不加以限制。子步驟b2,依據(jù)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)對(duì)所述被劫持的DLL文件進(jìn)行查殺。具體的,可以通過用于查殺可移植執(zhí)行體(PortableExecute,PE)類型文件的云查殺引擎,或者人工智能引擎(QihooVirtualMachine,QVM)對(duì)所述EXE文件和被劫持的DLL文件進(jìn)行查殺。其中,PE類型文件通常指Windows操作系統(tǒng)上的程序文件,常見的PE類型文件包括EXE、DLL、OCX、SYS、COM等類型文件。殺毒引擎可以根據(jù)對(duì)文件等級(jí)的識(shí)別結(jié)果,按照殺毒引擎中保存的黑名單,和/或白名單對(duì)相應(yīng)文件進(jìn)行查殺。對(duì)于具體的查殺過程,本領(lǐng)域技術(shù)人員根據(jù)實(shí)際經(jīng)驗(yàn)進(jìn)行相應(yīng)處理即可,本實(shí)施例在此不再詳細(xì)論述。步驟S305,依據(jù)服務(wù)器查殺結(jié)果對(duì)所述待執(zhí)行程序執(zhí)行相應(yīng)的操作。服務(wù)器在獲取到EXE文件和被劫持的DLL文件的等級(jí)之后,將獲取到的等級(jí)下發(fā)給客戶端,客戶端依據(jù)服務(wù)器查殺結(jié)果對(duì)所述待執(zhí)行程序執(zhí)行相應(yīng)的操作。具體的,該步驟S305可以包括以下子步驟子步驟Cl,當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)中至少一個(gè)為惡意等級(jí)時(shí),攔截所述待執(zhí)行程序的執(zhí)行。在本實(shí)施例中,所述被劫持的DLL文件為一個(gè)或多個(gè),如果獲取到的EXE文件的等級(jí)和被劫持的DLL文件的等級(jí)中存在惡意等級(jí),則說明該待執(zhí)行程序是有風(fēng)險(xiǎn)的,此時(shí)需要攔截所述待執(zhí)行程序的執(zhí)行。子步驟c2,當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)均為安全等級(jí)時(shí),允許所述待執(zhí)行程序的執(zhí)行。子步驟c3,當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)中沒有惡意等級(jí),并且至少一個(gè)被劫持的DLL文件的等級(jí)高于所述EXE文件的等級(jí)時(shí),獲取其中最高的等級(jí),將所述EXE文件的等級(jí)修改為所述最高的等級(jí),允許所述待執(zhí)行程序的執(zhí)行,并攔截待執(zhí)行程序執(zhí)行后發(fā)起的可疑操作。如果EXE文件的等級(jí)和被劫持的DLL文件的等級(jí)不滿足上述子步驟cl和子步驟c2中的兩種情況,則將EXE文件的等級(jí)修改為所述最高的等級(jí),并且可以允許所述待執(zhí)行程序的執(zhí)行,此時(shí)由于待執(zhí)行程序的EXE文件可能也存在風(fēng)險(xiǎn),因此當(dāng)待執(zhí)行程序執(zhí)行后發(fā)起可疑操作時(shí),可以對(duì)這些可疑的操作進(jìn)行攔截。例如,在步驟S301中確定出待執(zhí)行程序被劫持的DLL文件為“kdump.dll”,通過服務(wù)器獲取到待執(zhí)行程序的EXE文件的等級(jí)為安全等級(jí),“kdump.dll”的等級(jí)為可疑/高度可疑等級(jí),其中最高的文件等級(jí)為可疑/高度可疑等級(jí),此時(shí),即將所述EXE文件的等級(jí)修改為可疑/高度可疑等級(jí)。并且,由于EXE文件的等級(jí)被修改了,因此后續(xù)當(dāng)該待執(zhí)行程序執(zhí)行某些可疑的操作時(shí),即可通過EXE文件的等級(jí)判斷該程序是否安全,如果EXE文件是可疑的,則可以對(duì)這些可疑操作進(jìn)行攔截。其中,可疑的操作可以為以下任意一種文件操作、注冊(cè)表操作、進(jìn)程操作和網(wǎng)絡(luò)操作。例如,對(duì)于文件操作可以為對(duì)windows操作系統(tǒng)相關(guān)的文件,或者一些裝載量比較大的應(yīng)用軟件(如qq、阿里旺旺等),或者桌面的快捷方式等的操作;對(duì)于注冊(cè)表的操作可以是程序?qū)懭胱?cè)表自動(dòng)加載,以及破壞注冊(cè)表等;對(duì)于進(jìn)程操作可以是進(jìn)程之間相互注入(一個(gè)進(jìn)程在另一個(gè)進(jìn)程中插入并執(zhí)行一些代碼)、進(jìn)程遠(yuǎn)線程操作、結(jié)束進(jìn)程(例如有些惡意程序結(jié)束掉QQ進(jìn)程,重新登錄會(huì)截取到密碼,或者進(jìn)程后續(xù)的一些操作)等;對(duì)于網(wǎng)絡(luò)操作可以是安裝驅(qū)動(dòng)或服務(wù)、全局鉤子注入,記錄鍵盤操作、修改瀏覽器中網(wǎng)頁內(nèi)容等。當(dāng)然,還可以包括其他一些操作,本發(fā)明實(shí)施例對(duì)此并不加以限制。需要說明的是,本實(shí)施例主要是針對(duì)惡意程序利用可信任的白名單中的程序加載惡意DLL文件的情況進(jìn)行處理,因此,EXE文件的等級(jí)應(yīng)為安全等級(jí),如果有DLL文件的等級(jí)高于該EXE文件的等級(jí),則修改EXE文件的等級(jí)。步驟S306,服務(wù)器定期檢測(cè)所述云端鑒別條件是否滿足升級(jí)條件,若滿足,則服務(wù)器獲取新的鑒別條件,并通過重新加載所述新的鑒別條件完成所述云端鑒別條件的升級(jí)更新。本實(shí)施例中的云端鑒別條件是需要定期升級(jí)更新的。具體的,可以在服務(wù)器中配置升級(jí)條件,服務(wù)器定期檢測(cè)所述云端鑒別條件是否滿足升級(jí)條件,當(dāng)滿足時(shí),服務(wù)器直接獲取新的云端鑒別條件,并用新的云端鑒別條件替換原有的云端鑒別條件,從而對(duì)原有的云端鑒別條件進(jìn)行升級(jí)更新。其中,升級(jí)條件可以根據(jù)本地鑒別條件的文件版本來判斷,比如有更新的版本時(shí)則升級(jí),也可以指定當(dāng)本地版本滿足某個(gè)條件時(shí)升級(jí)為一個(gè)指定版本,本發(fā)明實(shí)施例對(duì)此并不加以限制。例如,如果發(fā)現(xiàn)了新的被利用的程序(QQ游戲),但是云端鑒別條件中不存在該程序,則可以在云端鑒別條件中增加一個(gè)特定程序匹配條件,其中包括該程序的特征信息(“QQ游戲”)以及滿足該特定程序匹配條件后需要檢查的DLL文件信息。當(dāng)然,還可以采用其他的方式對(duì)云端鑒別條件進(jìn)行升級(jí)更新,本實(shí)施例對(duì)此并不加以限制。由于云端鑒別條件保存在服務(wù)器中,因此當(dāng)滿足升級(jí)條件時(shí),不需要客戶端升級(jí)文件即可生效,因此可以立刻全網(wǎng)升級(jí),升級(jí)速度較快,對(duì)于突發(fā)的惡意程序有很好的攔截效果,從而避免用戶的損失。最后,需要說明的是,本發(fā)明實(shí)施例主要是針對(duì)惡意程序利用可信任的白名單中的程序加載惡意DLL文件的情況進(jìn)行處理。如果待執(zhí)行程序是可信任的白名單中的程序,此時(shí)主動(dòng)防御技術(shù)只檢查程序的EXE文件,將會(huì)判斷該程序是安全的,從而允許其執(zhí)行,但是如果惡意程序利用該白名單中的程序加載惡意DLL文件,則該惡意程序也會(huì)成功執(zhí)行。因此,對(duì)于這種情況,本發(fā)明實(shí)施例通過在檢測(cè)到待執(zhí)行程序創(chuàng)建進(jìn)程時(shí),通過服務(wù)器預(yù)先設(shè)置的云端鑒別條件檢查所述待執(zhí)行程序是否存在被劫持的DLL文件,如果待執(zhí)行程序存在被劫持的DLL文件,則通過服務(wù)器對(duì)所述被劫持的DLL文件進(jìn)行查殺,然后依據(jù)服務(wù)器查殺結(jié)果對(duì)所述待執(zhí)行程序執(zhí)行相應(yīng)的操作。由此解決了惡意程序利用可信的白名單中的程序加載惡意DLL文件而導(dǎo)致主動(dòng)防御無法正常攔截惡意程序的問題,取得了更加有效地?cái)r截惡意程序的有益效果。需要說明的是,對(duì)于前述的方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請(qǐng)并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本申請(qǐng),某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作并不一定是本申請(qǐng)所必需的。實(shí)施例四參照?qǐng)D5,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的程序處理系統(tǒng)的結(jié)構(gòu)框圖,所述系統(tǒng)包括客戶端501和服務(wù)器502。其中,客戶端包括特征信息獲取模塊5011、特征信息上傳模塊5012和確定模塊5013,所述服務(wù)器包括匹配模塊5021。特征信息獲取模塊5011,適于當(dāng)檢測(cè)到待執(zhí)行程序創(chuàng)建進(jìn)程時(shí),獲取所述待執(zhí)行程序的特征信息;特征信息上傳模塊5012,適于將所述待執(zhí)行程序的特征信息上傳至服務(wù)器;匹配模塊5021,適于將所述待執(zhí)行程序的特征信息與預(yù)先設(shè)置的云端鑒別條件進(jìn)行匹配,得到匹配結(jié)果;確定模塊5013,適于接收所述服務(wù)器返回的匹配結(jié)果,并依據(jù)所述匹配結(jié)果確定所述待執(zhí)行程序是否存在被劫持的DLL文件。通過上述各個(gè)模塊可以利用服務(wù)器中的云端鑒別條件檢測(cè)待執(zhí)行程序是否存在被劫持的DLL文件,如果檢測(cè)到待執(zhí)行程序存在被劫持的DLL文件,則后續(xù)可以通過服務(wù)器對(duì)被劫持的DLL文件進(jìn)行查殺,然后依據(jù)服務(wù)器查殺結(jié)果對(duì)所述待執(zhí)行程序執(zhí)行相應(yīng)的操作。從而能夠解決惡意程序利用可信的白名單中的程序加載惡意DLL文件而導(dǎo)致主動(dòng)防御無法正常攔截惡意程序的問題,更加有效地?cái)r截惡意程序。實(shí)施例五參照?qǐng)D6,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的程序處理系統(tǒng)的結(jié)構(gòu)框圖,所述系統(tǒng)包括客戶端601和服務(wù)器602。其中,客戶端601包括檢查模塊6011、EXE文件獲取模塊6012、上傳模塊6013和處理模塊6014;服務(wù)器602包括DLL文件信息獲取模塊6021、查殺模塊6022和升級(jí)模塊6023。檢查模塊6011,適于當(dāng)檢測(cè)到待執(zhí)行程序創(chuàng)建進(jìn)程時(shí),通過服務(wù)器預(yù)先設(shè)置的云端鑒別條件檢查所述待執(zhí)行程序是否存在被劫持的DLL文件;需要說明的是,上述檢查模塊主要是適于檢查所述待執(zhí)行程序是否存在被劫持的DLL文件,相對(duì)于上述實(shí)施例四來說,該檢查模塊的功能可以對(duì)應(yīng)于上述實(shí)施例四中的特征信息獲取模塊5011、特征信息上傳模塊5012、匹配模塊5021和確定模塊5013幾個(gè)模塊實(shí)現(xiàn)的功能。其中,所述待執(zhí)行程序?yàn)榘酌麊沃械某绦?,所述云端鑒別條件存儲(chǔ)服務(wù)器中。所述檢查模塊6011包括特征信息獲取子模塊,適于獲取所述待執(zhí)行程序的特征信息;其中,所述待執(zhí)行程序的特征信息可以包括以下信息中的至少一種待執(zhí)行程序的文件名稱信息、文件大小信息、文件特征值信息、文件圖標(biāo)信息、產(chǎn)品名稱信息、內(nèi)部名稱信息、原始文件名信息,以及待執(zhí)行程序創(chuàng)建的進(jìn)程的命令行信息、進(jìn)程路徑信息和父進(jìn)程路徑信息。特征信息上傳子模塊,適于將所述待執(zhí)行程序的特征信息上傳至服務(wù)器。所述服務(wù)器602包括DLL文件信息獲取模塊6021,適于通過將所述待執(zhí)行程序的特征信息與所述云端鑒別條件進(jìn)行匹配,獲得所述待執(zhí)行程序需要檢查的DLL文件信息,將所述需要檢查的DLL文件信息作為匹配結(jié)果;其中,所述云端鑒別條件中包括多個(gè)特定程序匹配條件和滿足該特定程序匹配條件后需要檢查的特定DLL文件信息。所述DLL文件信息獲取模塊包括匹配子模塊,適于將所述待執(zhí)行程序的特征信息與所述特定程序匹配條件進(jìn)行匹配;所述特定程序匹配條件可以包括以下信息中的至少一種文件名稱信息、文件大小信息、文件特征值信息、文件圖標(biāo)信息、產(chǎn)品名稱信息、內(nèi)部名稱信息、原始文件名信息,以及進(jìn)程的命令行信息、進(jìn)程路徑信息和父進(jìn)程路徑信息。特定DLL文件信息獲取子模塊,適于獲取滿足相匹配的特定程序匹配條件后需要檢查的特定DLL文件信息;確定子模塊,適于將所述特定DLL文件信息作為所述待執(zhí)行程序需要檢查的DLL文件信息。所述檢查模塊6011還包括接收子模塊,適于接收服務(wù)器下發(fā)的所述待執(zhí)行程序需要檢查的DLL文件信息;判斷子模塊,適于判斷指定目錄下是否存在所述需要檢查的DLL文件信息,若存在,則確定所述待執(zhí)打程序存在被劫持的DLL文件;其中,所述被劫持的DLL文件為指定目錄下存在的DLL文件,所述指定目錄為當(dāng)前目錄或者指定的相對(duì)目錄。需要說明的是,對(duì)應(yīng)于上述實(shí)施例四,本實(shí)施例中的特征信息獲取子模塊可以為上述實(shí)施例四中的特征信息獲取模塊中包括的子模塊,特征信息上傳子模塊可以為上述實(shí)施例四中的特征信息上傳模塊中包括的子模塊,DLL文件信息獲取子模塊可以為上述實(shí)施例四中的匹配模塊中包括的子模塊,接收子模塊和判斷子模塊可以為上述實(shí)施例四中的確定模塊中包括的子模塊,本實(shí)施例在此不再詳細(xì)論述。所述客戶端601還包括文件獲取模塊6012,適于在服務(wù)器的查殺模塊對(duì)所述被劫持的DLL文件進(jìn)行查殺之前,獲取所述待執(zhí)行程序?qū)?yīng)的EXE文件;文件信息上傳模塊6013,適于將所述待執(zhí)行程序?qū)?yīng)的EXE文件的信息和所述被劫持的DLL文件的信息上傳至服務(wù)器;所述服務(wù)器602還包括查殺模塊6022,適于當(dāng)客戶端的確定模塊的檢查結(jié)果為存在時(shí),對(duì)所述被劫持的DLL文件進(jìn)行查殺;所述查殺模塊6022包括等級(jí)查詢子模塊,適于查詢所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí),所述等級(jí)包括安全等級(jí)、未知等級(jí)、可疑/高度可疑等級(jí)、以及惡意等級(jí);查殺子模塊,適于依據(jù)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)對(duì)所述被劫持的DLL文件進(jìn)行查殺。所述客戶端還包括處理模塊6014,適于依據(jù)服務(wù)器查殺結(jié)果對(duì)所述待執(zhí)行程序執(zhí)行相應(yīng)的操作;其中,所述被劫持的DLL文件為一個(gè)或多個(gè),所述處理模塊6014包括程序攔截子模塊,適于當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)中至少一個(gè)為惡意等級(jí)時(shí),攔截所述待執(zhí)行程序的執(zhí)行;執(zhí)行子模塊,適于當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)均為安全等級(jí)時(shí),允許所述待執(zhí)行程序的執(zhí)行;可疑操作攔截子模塊,適于當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)中沒有惡意等級(jí),并且至少一個(gè)被劫持的DLL文件的等級(jí)高于所述EXE文件的等級(jí)時(shí),獲取其中最高的等級(jí),將所述EXE文件的等級(jí)修改為所述最高的等級(jí),允許所述待執(zhí)行程序的執(zhí)行,并攔截待執(zhí)行程序執(zhí)行后發(fā)起的可疑操作。其中,所述可疑操作可以為以下任意一種文件操作、注冊(cè)表操作、進(jìn)程操作和網(wǎng)絡(luò)操作,當(dāng)然,所述可疑操作還可以為其他的一些操作,本發(fā)明實(shí)施例對(duì)此并不加以限制。所述服務(wù)器602還包括升級(jí)模塊6023,適于定期檢測(cè)所述云端鑒別條件是否滿足升級(jí)條件,若滿足,則獲取新的鑒別條件,并通過重新加載所述新的鑒別條件完成所述云端鑒別條件的升級(jí)更新;其中,所述升級(jí)條件在服務(wù)器中進(jìn)行配置。本發(fā)明實(shí)施例的程序處理系統(tǒng)可以依據(jù)云端鑒別條件檢查待執(zhí)行程序是否存在被劫持的DLL文件,并且對(duì)待執(zhí)行程序被劫持的DLL文件進(jìn)行查殺,然后依據(jù)服務(wù)器查殺結(jié)果對(duì)待執(zhí)行程序執(zhí)行相應(yīng)的操作。由此解決了惡意程序利用可信的白名單中的程序加載惡意DLL文件而導(dǎo)致主動(dòng)防御無法正常攔截惡意程序的問題,取得了更加有效地?cái)r截惡意程序的有益效果。其次,本發(fā)明實(shí)施例的云端鑒別條件保存在服務(wù)器中,當(dāng)滿足升級(jí)條件時(shí),不需要客戶端升級(jí)文件即可生效,因此可以立刻全網(wǎng)升級(jí),升級(jí)速度較快,對(duì)于突發(fā)的惡意程序有很好的攔截效果,從而避免用戶的損失。對(duì)于上述程序處理系統(tǒng)實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見圖1、圖2和圖3所示方法實(shí)施例的部分說明即可。本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。本領(lǐng)域技術(shù)人員易于想到的是上述各個(gè)實(shí)施例的任意組合應(yīng)用都是可行的,故上述各個(gè)實(shí)施例之間的任意組合都是本申請(qǐng)的實(shí)施方案,但是由于篇幅限制,本說明書在此就不一一詳述了。在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對(duì)任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說明書的理解。類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的程序處理系統(tǒng)中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。本文公開了Al、一種程序處理方法,包括當(dāng)檢測(cè)到待執(zhí)行程序創(chuàng)建進(jìn)程時(shí),獲取所述待執(zhí)行程序的特征信息;將所述待執(zhí)行程序的特征信息上傳至服務(wù)器,由服務(wù)器將所述待執(zhí)行程序的特征信息與預(yù)先設(shè)置的云端鑒別條件進(jìn)行匹配,得到匹配結(jié)果;接收所述服務(wù)器返回的匹配結(jié)果,并依據(jù)所述匹配結(jié)果確定所述待執(zhí)行程序是否存在被劫持的DLL文件。A2、根據(jù)Al所述的方法,還包括若存在,則通過服務(wù)器對(duì)所述被劫持的DLL文件進(jìn)行查殺;依據(jù)服務(wù)器查殺結(jié)果對(duì)所述待執(zhí)行程序執(zhí)行相應(yīng)的操作。A3、根據(jù)Al所述的方法,所述匹配結(jié)果為所述待執(zhí)行程序需要檢查的DLL文件信息,所述依據(jù)所述匹配結(jié)果確定所述待執(zhí)行程序是否存在被劫持的DLL文件,包括判斷指定目錄下是否存在所述需要檢查的DLL文件信息,若存在,則確定所述待執(zhí)行程序存在被劫持的DLL文件;其中,所述被劫持的DLL文件為指定目錄下存在的DLL文件,所述指定目錄為當(dāng)前目錄或者指定的相對(duì)目錄。A4、根據(jù)A3所述的方法,所述云端鑒別條件中包括多個(gè)特定程序匹配條件和滿足該特定程序匹配條件后需要檢查的特定DLL文件信息。A5、根據(jù)A4所述的方法,所述由服務(wù)器將所述待執(zhí)行程序的特征信息與預(yù)先設(shè)置的云端鑒別條件進(jìn)行匹配,得到匹配結(jié)果,包括通過服務(wù)器將所述待執(zhí)行程序的特征信息與所述特定程序匹配條件進(jìn)行匹配;通過服務(wù)器獲取滿足相匹配的特定程序匹配條件后需要檢查的特定DLL文件信息;將所述特定DLL文件信息作為所述待執(zhí)行程序需要檢查的DLL文件信息。A6、根據(jù)A5所述的方法,所述特定程序匹配條件包括以下信息中的至少一種文件名稱信息、文件大小信息、文件特征值信息、文件圖標(biāo)信息、產(chǎn)品名稱信息、內(nèi)部名稱信息、原始文件名信息,以及進(jìn)程的命令行信息、進(jìn)程路徑信息和父進(jìn)程路徑信息;所述待執(zhí)行程序的特征信息包括以下信息中的至少一種待執(zhí)行程序的文件名稱信息、文件大小信息、文件特征值信息、文件圖標(biāo)信息、產(chǎn)品名稱信息、內(nèi)部名稱信息、原始文件名信息,以及待執(zhí)行程序創(chuàng)建的進(jìn)程的命令行信息、進(jìn)程路徑信息和父進(jìn)程路徑信息。A7、根據(jù)A2所述的方法,在通過服務(wù)器對(duì)所述被劫持的DLL文件進(jìn)行查殺之前,還包括獲取所述待執(zhí)行程序?qū)?yīng)的EXE文件;將所述待執(zhí)行程序?qū)?yīng)的EXE文件的信息和所述被劫持的DLL文件的信息上傳至服務(wù)器;所述通過服務(wù)器對(duì)所述被劫持的DLL文件進(jìn)行查殺,包括通過服務(wù)器獲取所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí),所述等級(jí)包括安全等級(jí)、未知等級(jí)、可疑/高度可疑等級(jí)、以及惡意等級(jí);依據(jù)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)對(duì)所述被劫持的DLL文件進(jìn)行查殺。A8、根據(jù)A7所述的方法,所述被劫持的DLL文件為一個(gè)或多個(gè),所述依據(jù)服務(wù)器查殺結(jié)果對(duì)所述待執(zhí)行程序執(zhí)行相應(yīng)的操作,包括當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)中至少一個(gè)為惡意等級(jí)時(shí),攔截所述待執(zhí)行程序的執(zhí)行;當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)均為安全等級(jí)時(shí),允許所述待執(zhí)行程序的執(zhí)行;當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)中沒有惡意等級(jí),并且至少一個(gè)被劫持的DLL文件的等級(jí)聞?dòng)谒鯡XE文件的等級(jí)時(shí),獲取其中最聞的等級(jí),將所述EXE文件的等級(jí)修改為所述最高的等級(jí),允許所述待執(zhí)行程序的執(zhí)行,并攔截待執(zhí)行程序執(zhí)行后發(fā)起的可疑操作。A9、根據(jù)AS所述的方法,所述可疑操作為以下任意一種文件操作、注冊(cè)表操作、進(jìn)程操作和網(wǎng)絡(luò)操作。A10、根據(jù)Al所述的方法,所述待執(zhí)行程序?yàn)榘酌麊沃械某绦?。AU、根據(jù)Al所述的方法,所述云端鑒別條件存儲(chǔ)在服務(wù)器中。A12、根據(jù)Al所述的方法,還包括服務(wù)器定期檢測(cè)所述云端鑒別條件是否滿足升級(jí)條件,若滿足,則服務(wù)器獲取新的鑒別條件,并通過重新加載所述新的鑒別條件完成所述云端鑒別條件的升級(jí)更新;其中,所述升級(jí)條件在服務(wù)器中進(jìn)行配置。本文公開了B13、一種程序處理系統(tǒng),包括客戶端和服務(wù)器,其中,客戶端包括特征信息獲取模塊,適于當(dāng)檢測(cè)到待執(zhí)行程序創(chuàng)建進(jìn)程時(shí),獲取所述待執(zhí)行程序的特征信息;特征信息上傳模塊,適于將所述待執(zhí)行程序的特征信息上傳至服務(wù)器;所述服務(wù)器包括匹配模塊,適于將所述待執(zhí)行程序的特征信息與預(yù)先設(shè)置的云端鑒別條件進(jìn)行匹配,得到匹配結(jié)果;所述客戶端還包括確定模塊,適于接收所述服務(wù)器返回的匹配結(jié)果,并依據(jù)所述匹配結(jié)果確定所述待執(zhí)行程序是否存在被劫持的DLL文件。B14、根據(jù)B13所述的系統(tǒng),所述服務(wù)器還包括查殺模塊,適于當(dāng)客戶端的確定模塊的檢查結(jié)果為存在時(shí),對(duì)所述被劫持的DLL文件進(jìn)行查殺;所述客戶端還包括處理模塊,適于依據(jù)服務(wù)器查殺結(jié)果對(duì)所述待執(zhí)行程序執(zhí)行相應(yīng)的操作。B15、根據(jù)B13所述的系統(tǒng),所述匹配結(jié)果為所述待執(zhí)行程序需要檢查的DLL文件信息,所述確定模塊包括判斷子模塊,適于判斷指定目錄下是否存在所述需要檢查的DLL文件信息,若存在,則確定所述待執(zhí)行程序存在被劫持的DLL文件;其中,所述被劫持的DLL文件為指定目錄下存在的DLL文件,所述指定目錄為當(dāng)前目錄或者指定的相對(duì)目錄。B16、根據(jù)B15所述的系統(tǒng),所述云端鑒別條件中包括多個(gè)特定程序匹配條件和滿足該特定程序匹配條件后需要檢查的特定DLL文件信息。B17、根據(jù)B16所述的系統(tǒng),所述匹配模塊包括匹配子模塊,適于將所述待執(zhí)行程序的特征信息與所述特定程序匹配條件進(jìn)行匹配;特定DLL文件信息獲取子模塊,適于獲取滿足相匹配的特定程序匹配條件后需要檢查的特定DLL文件信息;確定子模塊,適于將所述特定DLL文件信息作為所述待執(zhí)行程序需要檢查的DLL文件信息。B18、根據(jù)B17所述的系統(tǒng),所述特定程序匹配條件包括以下信息中的至少一種文件名稱信息、文件大小信息、文件特征值信息、文件圖標(biāo)信息、產(chǎn)品名稱信息、內(nèi)部名稱信息、原始文件名信息,以及進(jìn)程的命令行信息、進(jìn)程路徑信息和父進(jìn)程路徑信息;所述待執(zhí)行程序的特征信息包括以下信息中的至少一種待執(zhí)行程序的文件名稱信息、文件大小信息、文件特征值信息、文件圖標(biāo)信息、產(chǎn)品名稱信息、內(nèi)部名稱信息、原始文件名信息,以及待執(zhí)行程序創(chuàng)建的進(jìn)程的命令行信息、進(jìn)程路徑信息和父進(jìn)程路徑信息。B19、根據(jù)B14所述的系統(tǒng),所述客戶端還包括文件獲取模塊,適于在服務(wù)器的查殺模塊對(duì)所述被劫持的DLL文件進(jìn)·行查殺之前,獲取所述待執(zhí)行程序?qū)?yīng)的EXE文件;文件信息上傳模塊,適于將所述待執(zhí)行程序?qū)?yīng)的EXE文件的信息和所述被劫持的DLL文件的信息上傳至服務(wù)器;所述查殺模塊包括等級(jí)查詢子模塊,適于查詢所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí),所述等級(jí)包括安全等級(jí)、未知等級(jí)、可疑/高度可疑等級(jí)、以及惡意等級(jí);查殺子模塊,適于依據(jù)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)對(duì)所述被劫持的DLL文件進(jìn)行查殺。B20、根據(jù)B19所述的系統(tǒng),所述被劫持的DLL文件為一個(gè)或多個(gè),所述處理模塊包括程序攔截子模塊,適于當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)中至少一個(gè)為惡意等級(jí)時(shí),攔截所述待執(zhí)行程序的執(zhí)行;執(zhí)行子模塊,適于當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)均為安全等級(jí)時(shí),允許所述待執(zhí)行程序的執(zhí)行;可疑操作攔截子模塊,適于當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)中沒有惡意等級(jí),并且至少一個(gè)被劫持的DLL文件的等級(jí)高于所述EXE文件的等級(jí)時(shí),獲取其中最高的等級(jí),將所述EXE文件的等級(jí)修改為所述最高的等級(jí),允許所述待執(zhí)行程序的執(zhí)行,并攔截待執(zhí)行程序執(zhí)行后發(fā)起的可疑操作。B21、根據(jù)B20所述的系統(tǒng),所述可疑操作為以下任意一種文件操作、注冊(cè)表操作、進(jìn)程操作和網(wǎng)絡(luò)操作。B22、根據(jù)B13所述的系統(tǒng),所述待執(zhí)行程序?yàn)榘酌麊沃械某绦?。B23、根據(jù)B13所述的系統(tǒng),所述云端鑒別條件存儲(chǔ)在服務(wù)器中。B24、根據(jù)B13所述的系統(tǒng),所述服務(wù)器還包括升級(jí)模塊,適于定期檢測(cè)所述云端鑒別條件是否滿足升級(jí)條件,若滿足,則獲取新的鑒別條件,并通過重新加載所述新的鑒別條件完成所述云端鑒別條件的升級(jí)更新;其中,所述升級(jí)條件在服務(wù)器中進(jìn)行配置。權(quán)利要求1.一種程序處理方法,包括當(dāng)檢測(cè)到待執(zhí)行程序創(chuàng)建進(jìn)程時(shí),獲取所述待執(zhí)行程序的特征信息;將所述待執(zhí)行程序的特征信息上傳至服務(wù)器,由服務(wù)器將所述待執(zhí)行程序的特征信息與預(yù)先設(shè)置的云端鑒別條件進(jìn)行匹配,得到匹配結(jié)果;接收所述服務(wù)器返回的匹配結(jié)果,并依據(jù)所述匹配結(jié)果確定所述待執(zhí)行程序是否存在被劫持的DLL文件。2.根據(jù)權(quán)利要求1所述的方法,還包括若存在,則通過服務(wù)器對(duì)所述被劫持的DLL文件進(jìn)行查殺;依據(jù)服務(wù)器查殺結(jié)果對(duì)所述待執(zhí)行程序執(zhí)行相應(yīng)的操作。3.根據(jù)權(quán)利要求1所述的方法,所述匹配結(jié)果為所述待執(zhí)行程序需要檢查的DLL文件信息,所述依據(jù)所述匹配結(jié)果確定所述待執(zhí)行程序是否存在被劫持的DLL文件,包括判斷指定目錄下是否存在所述需要檢查的DLL文件信息,若存在,則確定所述待執(zhí)行程序存在被劫持的DLL文件;其中,所述被劫持的DLL文件為指定目錄下存在的DLL文件,所述指定目錄為當(dāng)前目錄或者指定的相對(duì)目錄。4.根據(jù)權(quán)利要求3所述的方法,所述云端鑒別條件中包括多個(gè)特定程序匹配條件和滿足該特定程序匹配條件后需要檢查的特定DLL文件信息。5根據(jù)權(quán)利要求4所述的方法,所述由服務(wù)器將所述待執(zhí)行程序的特征信息與預(yù)先設(shè)置的云端鑒別條件進(jìn)行匹配,得到匹配結(jié)果,包括通過服務(wù)器將所述待執(zhí)行程序的特征信息與所述特定程序匹配條件進(jìn)行匹配;通過服務(wù)器獲取滿足相匹配的特定程序匹配條件后需要檢查的特定DLL文件信息;將所述特定DLL文件信息作為所述待執(zhí)行程序需要檢查的DLL文件信息。6.根據(jù)權(quán)利要求5所述的方法,所述特定程序匹配條件包括以下信息中的至少一種文件名稱信息、文件大小信息、文件特征值信息、文件圖標(biāo)信息、產(chǎn)品名稱信息、內(nèi)部名稱信息、原始文件名信息,以及進(jìn)程的命令行信息、進(jìn)程路徑信息和父進(jìn)程路徑信息;所述待執(zhí)行程序的特征信息包括以下信息中的至少一種待執(zhí)行程序的文件名稱信息、文件大小信息、文件特征值信息、文件圖標(biāo)信息、產(chǎn)品名稱信息、內(nèi)部名稱信息、原始文件名信息,以及待執(zhí)行程序創(chuàng)建的進(jìn)程的命令行信息、進(jìn)程路徑信息和父進(jìn)程路徑信息。7.根據(jù)權(quán)利要求2所述的方法,在通過服務(wù)器對(duì)所述被劫持的DLL文件進(jìn)行查殺之前,還包括獲取所述待執(zhí)行程序?qū)?yīng)的EXE文件;將所述待執(zhí)行程序?qū)?yīng)的EXE文件的信息和所述被劫持的DLL文件的信息上傳至服務(wù)器;所述通過服務(wù)器對(duì)所述被劫持的DLL文件進(jìn)行查殺,包括通過服務(wù)器獲取所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí),所述等級(jí)包括安全等級(jí)、未知等級(jí)、可疑/高度可疑等級(jí)、以及惡意等級(jí);依據(jù)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)對(duì)所述被劫持的DLL文件進(jìn)行查殺。8.根據(jù)權(quán)利要求7所述的方法,所述被劫持的DLL文件為一個(gè)或多個(gè),所述依據(jù)服務(wù)器查殺結(jié)果對(duì)所述待執(zhí)行程序執(zhí)行相應(yīng)的操作,包括當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)中至少一個(gè)為惡意等級(jí)時(shí),攔截所述待執(zhí)行程序的執(zhí)行;當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)均為安全等級(jí)時(shí),允許所述待執(zhí)行程序的執(zhí)行;當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)中沒有惡意等級(jí),并且至少一個(gè)被劫持的DLL文件的等級(jí)高于所述EXE文件的等級(jí)時(shí),獲取其中最高的等級(jí),將所述EXE文件的等級(jí)修改為所述最高的等級(jí),允許所述待執(zhí)行程序的執(zhí)行,并攔截待執(zhí)行程序執(zhí)行后發(fā)起的可疑操作。9.根據(jù)權(quán)利要求1所述的方法,所述待執(zhí)行程序?yàn)榘酌麊沃械某绦颉?0.根據(jù)權(quán)利要求1所述的方法,還包括服務(wù)器定期檢測(cè)所述云端鑒別條件是否滿足升級(jí)條件,若滿足,則服務(wù)器獲取新的鑒別條件,并通過重新加載所述新的鑒別條件完成所述云端鑒別條件的升級(jí)更新;其中,所述升級(jí)條件在服務(wù)器中進(jìn)行配置。11.一種程序處理系統(tǒng),包括客戶端和服務(wù)器,其中,客戶端包括特征信息獲取模塊,適于當(dāng)檢測(cè)到待執(zhí)行程序創(chuàng)建進(jìn)程時(shí),獲取所述待執(zhí)行程序的特征信息;特征信息上傳模塊,適于將所述待執(zhí)行程序的特征信息上傳至服務(wù)器;所述服務(wù)器包括匹配模塊,適于將所述待執(zhí)行程序的特征信息與預(yù)先設(shè)置的云端鑒別條件進(jìn)行匹配,得到匹配結(jié)果;所述客戶端還包括確定模塊,適于接收所述服務(wù)器返回的匹配結(jié)果,并依據(jù)所述匹配結(jié)果確定所述待執(zhí)行程序是否存在被劫持的DLL文件。12.根據(jù)權(quán)利要求11所述的系統(tǒng),所述服務(wù)器還包括查殺模塊,適于當(dāng)客戶端的確定模塊的檢查結(jié)果為存在時(shí),對(duì)所述被劫持的DLL文件進(jìn)行查殺;所述客戶端還包括處理模塊,適于依據(jù)服務(wù)器查殺結(jié)果對(duì)所述待執(zhí)行程序執(zhí)行相應(yīng)的操作。13.根據(jù)權(quán)利要求11所述的系統(tǒng),所述匹配結(jié)果為所述待執(zhí)行程序需要檢查的DLL文件信息,所述確定模塊包括判斷子模塊,適于判斷指定目錄下是否存在所述需要檢查的DLL文件信息,若存在,則確定所述待執(zhí)打程序存在被劫持的DLL文件;其中,所述被劫持的DLL文件為指定目錄下存在的DLL文件,所述指定目錄為當(dāng)前目錄或者指定的相對(duì)目錄。14.根據(jù)權(quán)利要求13所述的系統(tǒng),所述云端鑒別條件中包括多個(gè)特定程序匹配條件和滿足該特定程序匹配條件后需要檢查的特定DLL文件信息。15.根據(jù)權(quán)利要求14所述的系統(tǒng),所述匹配模塊包括匹配子模塊,適于將所述待執(zhí)行程序的特征信息與所述特定程序匹配條件進(jìn)行匹配;特定DLL文件信息獲取子模塊,適于獲取滿足相匹配的特定程序匹配條件后需要檢查的特定DLL文件信息;確定子模塊,適于將所述特定DLL文件信息作為所述待執(zhí)行程序需要檢查的DLL文件信息。16.根據(jù)權(quán)利要求15所述的系統(tǒng),所述特定程序匹配條件包括以下信息中的至少一種文件名稱信息、文件大小信息、文件特征值信息、文件圖標(biāo)信息、產(chǎn)品名稱信息、內(nèi)部名稱信息、原始文件名信息,以及進(jìn)程的命令行信息、進(jìn)程路徑信息和父進(jìn)程路徑信息;所述待執(zhí)行程序的特征信息包括以下信息中的至少一種待執(zhí)行程序的文件名稱信息、文件大小信息、文件特征值信息、文件圖標(biāo)信息、產(chǎn)品名稱信息、內(nèi)部名稱信息、原始文件名信息,以及待執(zhí)行程序創(chuàng)建的進(jìn)程的命令行信息、進(jìn)程路徑信息和父進(jìn)程路徑信息。17.根據(jù)權(quán)利要求12所述的系統(tǒng),所述客戶端還包括文件獲取模塊,適于在服務(wù)器的查殺模塊對(duì)所述被劫持的DLL文件進(jìn)行查殺之前,獲取所述待執(zhí)行程序?qū)?yīng)的EXE文件;文件信息上傳模塊,適于將所述待執(zhí)行程序?qū)?yīng)的EXE文件的信息和所述被劫持的DLL文件的信息上傳至服務(wù)器;所述查殺模塊包括等級(jí)查詢子模塊,適于查詢所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí),所述等級(jí)包括安全等級(jí)、未知等級(jí)、可疑/高度可疑等級(jí)、以及惡意等級(jí);查殺子模塊,適于依據(jù)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)對(duì)所述被劫持的DLL文件進(jìn)行查殺。18.根據(jù)權(quán)利要求17所述的系統(tǒng),所述被劫持的DLL文件為一個(gè)或多個(gè),所述處理模塊包括程序攔截子模塊,適于當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)中至少一個(gè)為惡意等級(jí)時(shí),攔截所述待執(zhí)行程序的執(zhí)行;執(zhí)行子模塊,適于當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)均為安全等級(jí)時(shí),允許所述待執(zhí)行程序的執(zhí)行;可疑操作攔截子模塊,適于當(dāng)所述EXE文件的等級(jí)和所述被劫持的DLL文件的等級(jí)中沒有惡意等級(jí),并且至少一個(gè)被劫持的DLL文件的等級(jí)高于所述EXE文件的等級(jí)時(shí),獲取其中最高的等級(jí),將所述EXE文件的等級(jí)修改為所述最高的等級(jí),允許所述待執(zhí)行程序的執(zhí)行,并攔截待執(zhí)行程序執(zhí)行后發(fā)起的可疑操作。19.根據(jù)權(quán)利要求11所述的系統(tǒng),所述待執(zhí)行程序?yàn)榘酌麊沃械某绦颉?0.根據(jù)權(quán)利要求11所述的系統(tǒng),所述服務(wù)器還包括升級(jí)模塊,適于定期檢測(cè)所述云端鑒別條件是否滿足升級(jí)條件,若滿足,則獲取新的鑒別條件,并通過重新加載所述新的鑒別條件完成所述云端鑒別條件的升級(jí)更新;其中,所述升級(jí)條件在服務(wù)器中進(jìn)行配置。全文摘要本發(fā)明實(shí)施例公開了一種程序處理方法和系統(tǒng),以解決惡意程序利用可信的白名單中的程序加載惡意DLL文件而導(dǎo)致主動(dòng)防御無法正常攔截惡意程序的問題。其中,方法包括當(dāng)檢測(cè)到待執(zhí)行程序創(chuàng)建進(jìn)程時(shí),獲取所述待執(zhí)行程序的特征信息;將所述待執(zhí)行程序的特征信息上傳至服務(wù)器,由服務(wù)器將所述待執(zhí)行程序的特征信息與預(yù)先設(shè)置的云端鑒別條件進(jìn)行匹配,得到匹配結(jié)果;接收所述服務(wù)器返回的匹配結(jié)果,并依據(jù)所述匹配結(jié)果確定所述待執(zhí)行程序是否存在被劫持的DLL文件。本發(fā)明實(shí)施例能夠更加有效地?cái)r截惡意程序。文檔編號(hào)G06F9/445GK103001947SQ20121044851公開日2013年3月27日申請(qǐng)日期2012年11月9日優(yōu)先權(quán)日2012年11月9日發(fā)明者張曉霖,鄭文彬申請(qǐng)人:北京奇虎科技有限公司,奇智軟件(北京)有限公司