專利名稱::病毒程序掃描方法及裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種病毒程序掃描方法及裝置,屬于計(jì)算機(jī)病毒程序查殺技術(shù)。
背景技術(shù):
:基于行為分析的啟發(fā)掃描技術(shù)是現(xiàn)有病毒程序掃描技術(shù)中的一種常用技術(shù),其通過(guò)對(duì)已知的大多數(shù)計(jì)算機(jī)木馬病毒程序或后門病毒程序等的特征進(jìn)行分析總結(jié)而形成一個(gè)行為啟發(fā)特征庫(kù),該行為啟發(fā)庫(kù)中具有基于程序行為類型的特征及其特征組,通過(guò)根據(jù)這些特征及其特征組對(duì)病毒程序進(jìn)行匹配來(lái)實(shí)現(xiàn)查殺病毒的目的。然而,隨著現(xiàn)階段木馬病毒程序和后門病毒程序等已成為泛濫趨勢(shì),對(duì)網(wǎng)絡(luò)用戶的財(cái)產(chǎn)已造成極大的侵害,另外,現(xiàn)有木馬病毒程序和后門病毒程序還會(huì)采用加殼和免殺等處理方式以逃避殺毒軟件的查殺,并且,現(xiàn)有的病毒程序產(chǎn)業(yè)鏈中還可以采用源代碼交流方式進(jìn)行免殺徹底的對(duì)抗殺毒軟件。因此,上述這些不利因素便造成殺毒軟件需要不斷地分析總結(jié)病毒程序的新特征,迫使行為啟發(fā)特征庫(kù)中的特征及其特征組不斷地增加,從而造成需要進(jìn)行匹配的特征及其特征組的數(shù)據(jù)量也不斷增加,再加上現(xiàn)有病毒程序查殺技術(shù)通常釆用模糊式特征匹配方式,使得數(shù)據(jù)量更進(jìn)一步增加,不僅延長(zhǎng)了查殺病毒程序的時(shí)間,也對(duì)殺毒軟件的殺毒引擎的效率提出了更高的要求
發(fā)明內(nèi)容本發(fā)明要解決的問(wèn)題的是提供一種病毒程序掃描方法及裝置,以減小查殺病毒程序的時(shí)間,提高病毒程序掃描的效率。為了實(shí)現(xiàn)上述目的,本發(fā)明的一個(gè)實(shí)施例提供了一種病毒程序掃描方法,其中包括獲取待掃描文件的文件信息;根據(jù)所述文件信息,判斷所述待掃描文件是否為僅使用視窗操作系統(tǒng)標(biāo)準(zhǔn)動(dòng)態(tài)庫(kù)的可執(zhí)行文件,若是,則對(duì)所述可執(zhí)行文件進(jìn)行啟發(fā)掃描。為了實(shí)現(xiàn)上述目的,本發(fā)明的另一個(gè)實(shí)施例提供了一種病毒程序掃描裝置,其中包括獲取模塊,用于獲取待掃描文件的文件信息;第一判斷模塊,用于根據(jù)獲取模塊獲取的所述文件信息,判斷所述待掃描文件是否為僅使用視窗操作系統(tǒng)標(biāo)準(zhǔn)動(dòng)態(tài)庫(kù)的可執(zhí)行文件掃描模塊,用于當(dāng)?shù)谝慌袛嗄K的判斷結(jié)果為是時(shí),對(duì)所述可執(zhí)行文件進(jìn)行啟發(fā)掃描。本發(fā)明上述各實(shí)施例通過(guò)設(shè)置啟發(fā)條件排除掉大多數(shù)不太可能是病毒程序的正常文件,而只對(duì)少部分不確定的文件進(jìn)行處理,因此大大減少了需要進(jìn)行匹配掃描的文件量,從而大幅度提升了匹配查找的效率,提高了掃描的速度,減少了誤報(bào)比率。在本發(fā)明中,對(duì)滿足啟發(fā)條件后的可執(zhí)行文件進(jìn)行的啟發(fā)掃描也可以稱為嗅探式啟發(fā)掃描。下面通過(guò)附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。圖1為本發(fā)明一實(shí)施例所述病毒程序掃描方法的流程圖;圖2為本發(fā)明另一實(shí)施例所述病毒程序掃描方法的流程圖;圖3為本發(fā)明又一實(shí)施例所述病毒程序掃描方法的流程圖;圖4為本發(fā)明各施例所述病毒程序掃描方法中對(duì)可執(zhí)行文件進(jìn)行啟發(fā)掃描的步驟的具體流程圖5為本發(fā)明一實(shí)施例所述病毒程序掃描裝置的結(jié)構(gòu)示意圖;圖6為本發(fā)明另一實(shí)施例所述病毒程序掃描裝置的結(jié)構(gòu)示意圖;圖7為圖6中的l艮警單元的結(jié)構(gòu)示意圖。具體實(shí)施例方式圖l為本發(fā)明一實(shí)施例所述病毒程序掃描方法的流程圖,如圖所示,該方法可以包括如下步驟步驟IOI,獲取待掃描文件的文件信息。步驟102,根據(jù)所述文件信息,判斷所述待掃描文件是否為僅使用視窗操作系統(tǒng)標(biāo)準(zhǔn)動(dòng)態(tài)庫(kù)的可執(zhí)行文件,是則繼續(xù)執(zhí)行本實(shí)施例所述病毒程序掃描方法,否則獲取下一個(gè)待掃描文件,重新執(zhí)行本實(shí)施例所述病毒程序掃描方法。由于微軟公司的視窗(WindowsTM)操作系統(tǒng)的普及率非常高,因此,現(xiàn)有的絕大多數(shù)病毒程序?yàn)榱颂岣咂渥陨淼谋桓腥韭?,也通常使用微軟公司的視窗操作系統(tǒng)標(biāo)準(zhǔn)動(dòng)態(tài)庫(kù),如果判斷出某個(gè)可執(zhí)行文件使用了第三方非標(biāo)準(zhǔn)動(dòng)態(tài)庫(kù)而不是—見(jiàn)窗操作系統(tǒng)標(biāo)準(zhǔn)動(dòng)態(tài)庫(kù),那么該可執(zhí)行文件是病毒程序的可能性非常低,也就無(wú)需對(duì)其進(jìn)行啟發(fā)掃描。該步驟的判斷過(guò)程也可以稱為第一層啟發(fā)條件。步驟103,當(dāng)滿足上述啟發(fā)條件時(shí),對(duì)該可執(zhí)行文件進(jìn)行啟發(fā)掃描。本實(shí)施例所述方法通過(guò)設(shè)置第一層啟發(fā)條件排除掉大多數(shù)不太可能是病毒程序的正常文件,而只對(duì)少部分不確定的文件進(jìn)行處理,因此大大減少了需要進(jìn)行匹配掃描的文件量,從而大幅度提升了匹配查找的效率,提高了掃描的速度,減少了誤報(bào)比率。圖2為本發(fā)明另一實(shí)施例所述病毒程序掃描方法的流程圖,如圖所示,該方法可以包括如下步驟步驟201、202與上述步驟101、102類似,此處不再贅述。步驟203,根據(jù)所述文件信息,判斷所述待掃描文件是否為進(jìn)行了加殼處理的可執(zhí)行文件,是則繼續(xù)執(zhí)行本實(shí)施例所述病毒程序掃描方法,否則獲取下一個(gè)待掃描文件,重新執(zhí)行本實(shí)施例所述病毒程序掃描方法。步驟204,當(dāng)滿足上述啟發(fā)條件時(shí),對(duì)該可執(zhí)行文件進(jìn)行啟發(fā)掃描。其中,加殼處理是指是利用某些特殊算法,對(duì)可執(zhí)行(Executable,簡(jiǎn)稱EXE)文件和動(dòng)態(tài)鏈接庫(kù)(DynamicLinkLibrary,簡(jiǎn)稱DLL)文件中的資源進(jìn)行壓縮或加密,解壓執(zhí)行過(guò)程均在內(nèi)存中完成。如果對(duì)病毒程序進(jìn)行加殼處理,當(dāng)該病毒程序未執(zhí)行時(shí),殺毒軟件很難發(fā)現(xiàn)。免殺處理是指定位殺毒軟件所使用的特征碼后對(duì)病毒程序原有的該特征碼進(jìn)行修改,使殺毒軟件無(wú)法再通過(guò)該特征碼找到該病毒程序,從而達(dá)到逃避查殺的目的。由于現(xiàn)有的大多數(shù)病毒程序?yàn)榱颂颖軞⒍拒浖撵o態(tài)查殺,都會(huì)進(jìn)行加殼處理,在本實(shí)施例所述方法中通過(guò)設(shè)置第二層啟發(fā)條件,使得只對(duì)加殼處理之后的病毒程序才進(jìn)行啟發(fā)掃描,避免了在對(duì)未殼處理的病毒程序掃描時(shí)過(guò)早地曝露出殺毒軟件所使用的特征碼,使得木馬免殺者在進(jìn)行免殺處理時(shí)難以定位到殺毒軟件所使用的特征碼,從而增加了免殺處理的難度,有效地對(duì)抗了木馬、后門等病毒程序的頻繁變種,減少了行為啟發(fā)特征庫(kù)的更新次數(shù),提高了殺毒軟件的使用效率。另外,在本實(shí)施例所述方法中,對(duì)待掃描文件是否進(jìn)行了加殼處理進(jìn)行判斷時(shí),如杲僅僅根據(jù)所加的程序外殼的靜態(tài)特征進(jìn)行判斷,則只能識(shí)別出已知的程序外殼而無(wú)法有效地判斷出未知程序外殼的存在,因此,為了克服該技術(shù)問(wèn)題,可以采用虛擬機(jī)動(dòng)態(tài)模擬執(zhí)行方法來(lái)進(jìn)行判斷。即使用虛擬機(jī)令待掃描文件進(jìn)行模擬執(zhí)行,通過(guò)監(jiān)控其執(zhí)行過(guò)程來(lái)判斷該待掃描文件是否進(jìn)行了加殼處理,使得無(wú)論該程序外殼是否已知,均可以準(zhǔn)確地實(shí)現(xiàn)判斷。圖3為本發(fā)明又一實(shí)施例所述病毒程序掃描方法的流程圖,如圖所示,該方法可以包括如下步驟步驟301、302、303與上述步驟201、202、203類似,此處不再贅述。步驟304、根據(jù)所述文件信息,判斷所述待掃描文件是否為體積小于預(yù)定值的可執(zhí)行文件,是則繼續(xù)執(zhí)行本實(shí)施例所述病毒程序掃描方法,否則獲取下一個(gè)待掃描文件,重新執(zhí)行本實(shí)施例所述病毒程序掃描方法。由于現(xiàn)有的大多數(shù)病毒程序?yàn)榱死陔[藏和便于網(wǎng)絡(luò)下載傳播,其體積通常都非常小,經(jīng)過(guò)對(duì)現(xiàn)有病毒程序樣本的分析,絕大多數(shù)病毒程序,如木馬病毒程序、后門病毒程序等,其體積大都在2M字節(jié)以下,為了減少對(duì)病毒程序的漏報(bào),可以將上述預(yù)定值設(shè)定為10M字節(jié),因此,如果判斷出某個(gè)可執(zhí)行文件的體積超過(guò)10M字節(jié),那么該可執(zhí)行文件是病毒程序的可能性非常低,也就無(wú)需對(duì)其進(jìn)行啟發(fā)掃描。該步驟的判斷過(guò)程也可以稱為第三層啟發(fā)條件。步驟305,根據(jù)所述文件信息,判斷所述待掃描文件是否為使用非只讀型應(yīng)用程序接口(ApplicationProgrammingInterface,簡(jiǎn)稱,API)函數(shù)的可執(zhí)行文件,是則繼續(xù)執(zhí)行本實(shí)施例所述病毒程序掃描方法,否則獲取下一個(gè)待掃描文件,重新執(zhí)行本實(shí)施例所述病毒程序掃描方法。其中,只讀型API函數(shù)是指只能從計(jì)算機(jī)的操作系統(tǒng)中讀取數(shù)據(jù),其運(yùn)行之后不會(huì)對(duì)操作系統(tǒng)造成任何改變的函數(shù),如"ReadFileA"函數(shù)、"RegGetValue"函數(shù)等。相應(yīng)地,非只讀型API函數(shù)是指除了上述只讀型API函數(shù)以外的API函數(shù)。如果判斷出某個(gè)可執(zhí)行文件僅使用只讀型API函數(shù),其根本無(wú)法達(dá)到盜取用戶信息,破壞計(jì)算機(jī)系統(tǒng)等目的,因此,該可執(zhí)行文件是病毒程序的可能性非常低,也就無(wú)需對(duì)其進(jìn)行啟發(fā)掃描。該步驟的判斷過(guò)程也可以稱為第四層啟發(fā)條件。實(shí)際上,據(jù)統(tǒng)計(jì),現(xiàn)有病毒程序,尤其是木馬病毒程序和后門病毒程序主要使用如下類型的API函數(shù),也可以稱為風(fēng)險(xiǎn)API函數(shù)注冊(cè)表寫入函數(shù)(例如,"RegSetValue,,函數(shù)、"RegRestoreKey"函數(shù)等);內(nèi)存操作函凄史(例如,"UnmapViewOfFile,,函數(shù)、"WriteProcessMemory,,函數(shù)等);進(jìn)程、線程操作函數(shù)(例如,"0penProcess,,函數(shù)、"0penThread"函數(shù)、"CreateRemoteThread,,函數(shù)、"ResumeThread,,函數(shù)、"WinExec,,函數(shù)等);權(quán)限管理函數(shù)(例如,"AdjustTokenPrivileges"函數(shù)等);異步過(guò)程調(diào)用隊(duì)列(AsynchronousProcedureCall,筒稱APC)操作函數(shù)(例如,"QueueUserAPC"函數(shù)等);內(nèi)核通訊函數(shù)(例如,"DeviceloControl',函數(shù)等);磁盤信息獲取函數(shù)(例如,"GetDriveType"函數(shù)等);網(wǎng)絡(luò)通訊函數(shù)(例如,"recv"函數(shù)、"recvfrom"函數(shù)等);文件下載函lt(例如,"InternelReadFile"函數(shù)、"URLDownload"函數(shù)、"URLDownloadToFile"函數(shù)、"URLDownloadToCacheFile"函數(shù)等);鉤子函數(shù)(例如,"SetWindowsHookEx"函數(shù)等);同步函數(shù)(例如,"CreateMutex"函數(shù)等);文件操作函數(shù)(例如,"SetFileAUributex"函數(shù)等);時(shí)間操作函數(shù)(例如,"SetLocalTime"函數(shù)、"SetSystemTime"函數(shù)等);獲取特定目錄函數(shù)(例如,"GetTempPath"函數(shù)、"GetSystemDirectory"函數(shù)、"GetWindowsDirectory"函數(shù)等);窗口信息獲取函數(shù)(例如,"FindWindow"函數(shù)、"GetWindowProcessId"函數(shù)、"GetWindowThreadld"函數(shù)、"GetWindowThreadPeocessId"函數(shù)等)。步驟306,當(dāng)滿足上述啟發(fā)條件時(shí),對(duì)該可執(zhí)行文件進(jìn)行啟發(fā)掃描。其中,在判斷是否滿足第四層啟發(fā)條件時(shí),以上每種類型的風(fēng)險(xiǎn)API函數(shù)之間為并列關(guān)系,每種類型的風(fēng)險(xiǎn)API函數(shù)均可對(duì)應(yīng)于一種類型的啟發(fā)掃描的特征,當(dāng)判斷出某個(gè)可執(zhí)行文件使用上述一種或多種類型的風(fēng)險(xiǎn)API函數(shù)時(shí),則表明其滿足第四層啟發(fā)條件。本實(shí)施所述方法通過(guò)設(shè)置第三層啟發(fā)條件和第四層啟發(fā)條件進(jìn)一步排除掉了一些不太可能是病毒程序的正常文件,因此進(jìn)一步提高了掃描的速度,減少了誤報(bào)比率。此處需要特別說(shuō)明的是,上述第一層啟發(fā)條件、第二層啟發(fā)條件、第三層啟發(fā)條件、及第四層啟發(fā)條件之間并沒(méi)有必然的順序關(guān)系,其執(zhí)行順序可以根據(jù)需要進(jìn)行調(diào)整;并且其中的第二層啟發(fā)條件、第三層啟發(fā)條件、及第四層啟發(fā)條件之間也沒(méi)有必然的邏輯關(guān)系,因此無(wú)需同時(shí)具備,可以根據(jù)實(shí)際需要選擇性地應(yīng)用。圖4為本發(fā)明各實(shí)施例所述病毒程序掃描方法中對(duì)可執(zhí)行文件進(jìn)行啟發(fā)掃描的步驟的具體流程圖,如圖所示,該步驟可以具體包括進(jìn)行粗略匹配,如果該匹配出所述可執(zhí)行文件至少具有一個(gè)大類特征,則執(zhí)行步驟402,否則,說(shuō)明該可執(zhí)行文件并不是病毒程序,則繼續(xù)對(duì)下一個(gè)滿足上述啟發(fā)條件的可執(zhí)行文件進(jìn)行啟發(fā)掃描。其中,上述啟發(fā)特征庫(kù)中的特征及其特征組可以分為如下五大類型危險(xiǎn)注冊(cè)表項(xiàng)及其鍵值特征及其特征組;危險(xiǎn)應(yīng)用程序編程接口API函數(shù)調(diào)用參數(shù)特征及其特征組;危險(xiǎn)API函數(shù)名稱特征組;危險(xiǎn)視窗操作系統(tǒng)控制(Command,簡(jiǎn)稱CMD)命令行特征及其特征組;常規(guī)廣譜特征及其特征組。配。步驟403,根據(jù)匹配到的所述可執(zhí)行文件的特征發(fā)出病毒報(bào)警。具體地,可以根據(jù)所述可執(zhí)行程序的使用頻度和危險(xiǎn)程度為匹配到的所述可執(zhí)行文件的特征分別設(shè)置相應(yīng)的危險(xiǎn)系數(shù);對(duì)所有匹配到的所述特征的危險(xiǎn)系數(shù)進(jìn)行加權(quán)計(jì)算得到一個(gè)綜合危險(xiǎn)系數(shù);當(dāng)所述綜合危險(xiǎn)系數(shù)高于預(yù)設(shè)的危險(xiǎn)闕值時(shí),發(fā)出病毒報(bào)警。其中,所述危險(xiǎn)闕值可通過(guò)對(duì)海量病毒程序的樣本進(jìn)行統(tǒng)計(jì)分析得出。以下舉例i兌明假設(shè)待掃描文件是一個(gè)名為反病毒(Anti-Virus,簡(jiǎn)稱AV)終結(jié)者的變種木馬病毒程序,那么該木馬病毒程序的行為是對(duì)抗殺毒軟件,使用的技術(shù)通常為映像劫持殺毒軟件、殺死殺毒軟件進(jìn)程、關(guān)閉殺毒軟件窗口等。其主要目的通常為盜取游戲賬號(hào)和密碼。其主要運(yùn)行過(guò)程如下、'下載其他木馬病毒程序到用戶計(jì)算機(jī)執(zhí)行;釋放副本及其自動(dòng)運(yùn)行文件(autorun.inf)到移動(dòng)存儲(chǔ)器進(jìn)行傳播。諸多行為使用如下API函數(shù)注冊(cè)表寫入函凄t(RegSetValue)進(jìn)程、線程操作函數(shù)(OpenProcess)窗口信息獲取函數(shù)(FindWindow)鉤子函數(shù)(SetWindowsHookEx)文件下載函數(shù):(UrlDownloadToFile)磁盤信息獲取函數(shù)(GetDriveType)執(zhí)行本實(shí)施例所述的病毒程序掃描方法,由于該木馬病毒程序是使用視窗操作系統(tǒng)標(biāo)準(zhǔn)動(dòng)態(tài)庫(kù)的可執(zhí)行文件,因此滿足了第一層啟發(fā)條件;由于該木馬病毒程序進(jìn)行了加殼處理,以試圖逃避殺毒軟件的查殺,因此滿足了第二層啟發(fā)條件;由于該木馬病毒程序的體積小于預(yù)定值(例如1OM字節(jié)),以使得用戶不易察覺(jué),占用內(nèi)存空間小,因此滿足第三層啟發(fā)條件;由于該木馬病毒程序的使用了非只讀型API函數(shù),因此滿足第四層啟發(fā)條件。當(dāng)滿足上述各層啟發(fā)件后,對(duì)該木馬病毒程序進(jìn)4亍啟發(fā)掃描,具體地,先根據(jù)行為啟發(fā)特征庫(kù)中的特征及其特征組對(duì)該木馬病毒程序進(jìn)行粗略匹配,發(fā)現(xiàn)該木馬病毒程序至少具有一個(gè)大類特征,即危險(xiǎn)注冊(cè)表項(xiàng)及其4建值特征及其特征組、及危險(xiǎn)API函數(shù)名稱特征組,則繼續(xù)根據(jù)該大類特征中的子特征對(duì)所述木馬病毒程序進(jìn)行精確匹配,以下舉兩個(gè)精確匹配的實(shí)例進(jìn)行說(shuō)明由于該木馬病毒程序的木馬導(dǎo)入表存在注冊(cè)表寫入函數(shù)(RegSetValue),因此掃描其中是否具有映4象文件劫持項(xiàng)(ImageFileExecutionOptions);如果掃描到其具有映l象文件劫持項(xiàng),則將該特征的危險(xiǎn)系數(shù)設(shè)置為60;繼續(xù)掃描廣語(yǔ)特征,對(duì)發(fā)現(xiàn)的每一個(gè)殺毒軟件進(jìn)程名,均將其危險(xiǎn)系數(shù)設(shè)置為IO,當(dāng)發(fā)現(xiàn)的殺毒軟件進(jìn)程名為四個(gè)時(shí),得到的綜合危險(xiǎn)系數(shù)為IOO。如果預(yù)設(shè)的危險(xiǎn)闕值為IOO,則此時(shí)可以發(fā)出病毒報(bào)警。由于該木馬病毒程序的木馬導(dǎo)入表存在進(jìn)程、線程操作函數(shù)(OpenProcess)和鉤子函凄t(SetWindowsHookEx),因此繼續(xù)掃描廣i普特征中殺毒軟件進(jìn)程名與游戲進(jìn)程名,當(dāng)存在這些進(jìn)程名的特征時(shí),將掃描到的每個(gè)特征標(biāo)記的危險(xiǎn)系數(shù)設(shè)置為20;繼續(xù)掃描,當(dāng)匹配到鍵盤鉤子特征系列時(shí),將該特征的危險(xiǎn)系數(shù)設(shè)置為50;繼續(xù)掃描,當(dāng)匹配到鼠標(biāo)鉤子特征系列時(shí),將該特征的危險(xiǎn)系數(shù)設(shè)置為30,得到的綜合危險(xiǎn)系數(shù)為IOO。如果預(yù)設(shè)的危險(xiǎn)闕值為IOO,則此時(shí)可以發(fā)出病毒報(bào)警。圖5為本發(fā)明一實(shí)施例所述病毒程序掃描裝置的結(jié)構(gòu)示意圖,如圖所示,該病毒程序掃描裝置500包括獲取模塊10、第一判斷模塊20及掃描模塊30。其主要工作原理如下病毒程序掃描裝置500通過(guò)獲取模塊10獲取待掃描文件的文件信息;第一判斷模塊20根據(jù)獲取模塊10獲取的所述文件信息,判斷所述待掃描文件是否為僅使用視窗操作系統(tǒng)標(biāo)準(zhǔn)動(dòng)態(tài)庫(kù)的可執(zhí)行文件,該判斷過(guò)程也可以稱為第一層啟發(fā)條件;當(dāng)?shù)谝慌袛嗄K20的判斷結(jié)果為是時(shí),即判斷出所述待掃描文件所使用的動(dòng)態(tài)庫(kù)全部為視窗操作系統(tǒng)標(biāo)準(zhǔn)動(dòng)態(tài)庫(kù)時(shí),由掃描模塊30對(duì)所述可執(zhí)行文件進(jìn)行啟發(fā)掃描。本實(shí)施例所述裝置通過(guò)設(shè)置第一層啟發(fā)條件排除掉大多數(shù)不太可能是病毒程序的正常文件,而只對(duì)少部分不確定的文件進(jìn)行處理,因此大大減少了需要進(jìn)行匹配掃描的文件量,從而大幅度提升了匹配查找的效率,提高了掃描的速度,減少了誤報(bào)比率。圖6為本發(fā)明另一實(shí)施例所述病毒程序掃描裝置的結(jié)構(gòu)示意圖,如圖所示,除了以上模塊外,該病毒程序掃描裝置500還可以包括以下模塊中的一個(gè)或多個(gè)第二判斷模塊40、第三判斷模塊50、及第四判斷模塊60。其工作原理如下在上圖5所示實(shí)施中的掃描模塊30對(duì)所述可執(zhí)行文件進(jìn)行啟發(fā)掃描之前,由第二判斷模塊40根據(jù)獲取模塊IO獲取的所述文件信息,判斷所述待掃描文件是否為進(jìn)行了加殼處理的可執(zhí)行文件,該判斷過(guò)程也可以稱為第二層啟發(fā)條件;由第三判斷模塊50根據(jù)獲取模塊10獲取的所述文件信息,判斷所述待掃描文件是否為體積小于預(yù)定值的可執(zhí)行文件,該判斷過(guò)程也可以稱為第三層啟發(fā)條件;由第四判斷模塊60根據(jù)獲取模塊獲取的所述文件信息,判斷所述待掃描文件是否為使用非只讀型API函數(shù)的可執(zhí)行文件,該判斷過(guò)程也可以稱為第四層啟發(fā)條件。其中,病毒程序常用的非只讀型API函數(shù)(即風(fēng)險(xiǎn)API函數(shù))類型的舉例可參見(jiàn)上述步驟305的描述,因此,該第四層啟發(fā)條件的判斷過(guò)程也可以為判斷所述待掃描文件是否為使用風(fēng)險(xiǎn)API函數(shù)的可執(zhí)行文件。所述掃描模塊30當(dāng)所述第一判斷模塊20的判斷結(jié)果,及所述第二判斷模塊40、第三判斷模塊50和/或第四判斷模塊60的判斷結(jié)果均為是時(shí),即上述各層啟發(fā)條件均滿足時(shí),對(duì)所述可執(zhí)行文件進(jìn)行啟發(fā)掃描。具體地,如圖6所示,該掃描模塊30可以包括第一匹配單元31,第二匹配單元32及報(bào)警單元33,具體的掃描過(guò)程如下由第一匹配單元31根據(jù)行為啟發(fā)特征庫(kù)中的特征及其特征組對(duì)所述可執(zhí)行文件進(jìn)行粗略匹配;當(dāng)?shù)谝黄ヅ鋯卧?1匹配出所述可執(zhí)行文件至少具有一個(gè)大類特征時(shí),由第二匹配單元32根據(jù)所述大類特征中的特征對(duì)所述可執(zhí)行文件進(jìn)行精確匹配;再由報(bào)警單元33根據(jù)第二匹配單元32匹配到的所述可執(zhí)行文件的特征發(fā)出病毒報(bào)警。例如可以采用設(shè)置危險(xiǎn)系數(shù)的值決定是否發(fā)出病毒報(bào)警,具體地,如圖7所示,該報(bào)警單元33可以包括設(shè)置子單元3301、計(jì)算子單元33G2和纟艮警子單元3303。其工作原理如下由設(shè)置子單元3301根據(jù)所述可執(zhí)行程序的使用頻度和危險(xiǎn)程度為第二匹配單元32匹配到的所述可執(zhí)行文件的特征分別設(shè)置相應(yīng)的危險(xiǎn)系數(shù);由計(jì)算子單元3302對(duì)所有匹配到的所述特征的危險(xiǎn)系數(shù)進(jìn)行加權(quán)計(jì)算得到一個(gè)綜合危險(xiǎn)系數(shù);當(dāng)所述綜合危險(xiǎn)系數(shù)高于預(yù)設(shè)的危險(xiǎn)闕值時(shí),再由報(bào)警子單元3303發(fā)出病毒報(bào)警。其中,所述危險(xiǎn)闕值可通過(guò)對(duì)海量病毒程序的樣本進(jìn)行統(tǒng)計(jì)分析得出。此處需要說(shuō)明的是,上述第二判斷模塊40、第三判斷模塊50、及第四判斷模塊60之間也沒(méi)有必然的邏輯關(guān)系,因此無(wú)需同時(shí)具備,可以根據(jù)實(shí)際需要選擇性地應(yīng)用其中的一個(gè)或多個(gè)判斷模塊。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括ROM、RAM、石茲碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。最后應(yīng)說(shuō)明的是以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。權(quán)利要求1、一種病毒程序掃描方法,其特征在于包括獲取待掃描文件的文件信息;根據(jù)所述文件信息,判斷所述待掃描文件是否為僅使用視窗操作系統(tǒng)標(biāo)準(zhǔn)動(dòng)態(tài)庫(kù)的可執(zhí)行文件,若是,則對(duì)所述可執(zhí)行文件進(jìn)行啟發(fā)掃描。2、根據(jù)權(quán)利要求1所述的病毒程序掃描方法,其特征在于對(duì)所述可執(zhí)行文件進(jìn)行啟發(fā)掃描之前還包括判斷出所述待掃描文件為進(jìn)行了加殼處理的可執(zhí)行文件。3、根據(jù)權(quán)利要求2所述的病毒程序掃描方法,其特征在于判斷出所述待掃描文件為進(jìn)行了加殼處理的可執(zhí)行文件包括采用虛擬機(jī)動(dòng)態(tài)模擬執(zhí)行方法判斷出所述待掃描文件為進(jìn)行了加殼處理的可執(zhí)行文件。4、根據(jù)權(quán)利要求1所述的病毒程序掃描方法,其特征在于對(duì)所述可執(zhí)行文件進(jìn)行啟發(fā)掃描之前還包括判斷出所述待掃描文件為體積小于預(yù)定值的可執(zhí)行文件。5、根據(jù)權(quán)利要求1所述的病毒程序掃描方法,其特征在于對(duì)所述可執(zhí)行文件進(jìn)行啟發(fā)掃描之前還包括判斷出所述待掃描文件為使用非只讀型應(yīng)用程序接口函數(shù)的可執(zhí)行文件。6、根據(jù)權(quán)利要求1~5中任一所述的病毒程序掃描方法,其特征在于對(duì)所述可執(zhí)行文件進(jìn)行啟發(fā)掃描包括匹配;當(dāng)匹配出所述可執(zhí)行文件至少具有一個(gè)大類特征時(shí),根據(jù)所述大類特征中的特征對(duì)所述可執(zhí)行文件進(jìn)行精確匹配;根據(jù)匹配到的所述可執(zhí)行文件的特征發(fā)出病毒報(bào)警。7、根據(jù)權(quán)利要求6所述的病毒程序掃描方法,其特征在于根據(jù)匹配到的所述可執(zhí)行文件的特征發(fā)出病毒報(bào)警包括根據(jù)所述可執(zhí)行程序的使用頻度和危險(xiǎn)程度為匹配到的所述可執(zhí)行文件的特征分別設(shè)置相應(yīng)的危險(xiǎn)系數(shù);對(duì)所有匹配到的所述特征的危險(xiǎn)系數(shù)進(jìn)行加權(quán)計(jì)算得到一個(gè)綜合危險(xiǎn)系數(shù);當(dāng)所述綜合危險(xiǎn)系數(shù)高于預(yù)設(shè)的危險(xiǎn)闕值時(shí),發(fā)出病毒報(bào)警。8、一種病毒程序掃描裝置,其特征在于包括獲取模塊,用于獲取待掃描文件的文件信息;第一判斷模塊,用于根據(jù)獲取模塊獲取的所述文件信息,判斷所述待掃描文件是否為僅使用視窗操作系統(tǒng)標(biāo)準(zhǔn)動(dòng)態(tài)庫(kù)的可執(zhí)行文件;掃描模塊,用于當(dāng)?shù)谝慌袛嗄K的判斷結(jié)果為是時(shí),對(duì)所述可執(zhí)行文件進(jìn)行啟發(fā)掃描。9、根據(jù)權(quán)利要求8所述的病毒程序掃描裝置,其特征在于還包括以下之一或任意結(jié)合第二判斷模塊,用于根據(jù)獲取模塊獲取的所述文件信息,判斷所述待掃描文件是否為進(jìn)行了加殼處理的可執(zhí)行文件;第三判斷模塊,用于根據(jù)獲取模塊獲取的所述文件信息,判斷所述待掃描文件是否為體積小于預(yù)定值的可執(zhí)行文件;第四判斷模塊,用于根據(jù)獲取模塊獲取的所述文件信息,判斷所述待掃描文件是否為使用非只讀型應(yīng)用程序接口函數(shù)的可執(zhí)行文件;所述掃描模塊用于當(dāng)所述第一判斷模塊的判斷結(jié)果,及所述第二判斷模塊、第三判斷模塊和/或第四判斷模塊的判斷結(jié)果均為是時(shí),對(duì)所述可執(zhí)行文件進(jìn)行啟發(fā)掃描。10、根據(jù)權(quán)利要求9所述的病毒程序掃描裝置,其特征在于所述掃描模塊包括第一匹配單元,用于根據(jù)行為啟發(fā)特征庫(kù)中的特征及其特征組對(duì)所述可執(zhí)行文件進(jìn)行粗略匹配;第二匹配單元,當(dāng)?shù)谝黄ヅ鋯卧ヅ涑鏊隹膳亍文件至少具有一個(gè)報(bào)警單元,用于根據(jù)第二匹配單元匹配到的所述可執(zhí)行文件的特征發(fā)出病毒報(bào)警。11、根據(jù)權(quán)利要求10所述的病毒程序掃描裝置,其特征在于所述報(bào)警單元包括設(shè)置子單元,用于根據(jù)所述可執(zhí)行程序的使用頻度和危險(xiǎn)程度為第二匹配單元匹配到的所述可執(zhí)行文件的特征分別設(shè)置相應(yīng)的危險(xiǎn)系數(shù);計(jì)算子單元,用于對(duì)所有匹配到的所述特征的危險(xiǎn)系數(shù)進(jìn)行加權(quán)計(jì)算得到一個(gè)綜合危險(xiǎn)系數(shù);報(bào)警子單元,用于當(dāng)所述綜合危險(xiǎn)系數(shù)高于預(yù)設(shè)的危險(xiǎn)闕值時(shí),發(fā)出病毒報(bào)警。全文摘要本發(fā)明涉及一種病毒程序掃描方法及裝置,其中方法包括獲取待掃描文件的文件信息;根據(jù)所述文件信息,判斷所述待掃描文件是否為僅使用視窗操作系統(tǒng)標(biāo)準(zhǔn)動(dòng)態(tài)庫(kù)的可執(zhí)行文件,若是,則對(duì)所述可執(zhí)行文件進(jìn)行啟發(fā)掃描。裝置包括獲取模塊、第一判斷模塊、及掃描模塊。本發(fā)明大大減少了需要進(jìn)行匹配掃描的文件量,從而大幅度提升了匹配查找的效率,提高了掃描的速度,減少了誤報(bào)比率。文檔編號(hào)G06F21/22GK101587527SQ20091008871公開(kāi)日2009年11月25日申請(qǐng)日期2009年7月8日優(yōu)先權(quán)日2009年7月8日發(fā)明者司彥勝,郭明強(qiáng)申請(qǐng)人:北京東方微點(diǎn)信息技術(shù)有限責(zé)任公司