亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

病毒文件掃描方法及裝置的制作方法

文檔序號:6402682閱讀:229來源:國知局
專利名稱:病毒文件掃描方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)安全技術(shù)領(lǐng)域,具體涉及一種病毒文件掃描方法及裝置。
背景技術(shù)
隨著計(jì)算機(jī)技術(shù)在社會生活中各個領(lǐng)域的廣泛運(yùn)用,惡意程序(Malwar,malicious software)也如同其附屬品一樣接踵而來。由于這些惡意程序所具有的感染性、復(fù)制性及破壞性,其已成為困擾計(jì)算機(jī)使用的一個重大問題。其中,惡意程序是一個概括性的術(shù)語,指任何故意創(chuàng)建用來執(zhí)行未經(jīng)授權(quán)并通常是有害行為的軟件程序。例如,計(jì)算機(jī)病毒、后門程序、鍵盤記錄器、密碼盜取者、Word和Excel宏病毒、引導(dǎo)區(qū)病毒、腳本病毒(batch, windows shell, java等)、木馬、犯罪軟件、間謀軟件和廣告軟件等,都可以稱之為惡意程序。以木馬為例,木馬能夠盜取網(wǎng)銀密碼、盜取網(wǎng)游裝備、泄露隱私照片等等。一般來說,木馬有兩種方式傳播:第一種是通過系統(tǒng)漏洞或者第三方漏洞入侵,第二種是通過文件入侵,即客戶端/服務(wù)器主動或者誤點(diǎn)木馬程序。例如,explorer, exe是最容易啟動木馬程序的進(jìn)程,winrar.exe僅次于explorer, exe。其中,explorer, exe代表客戶端/服務(wù)器在操作系統(tǒng)中雙擊打開了木馬程序;winrar.exe代表客戶端/服務(wù)器在winrar這個壓縮軟件中雙擊打開了木馬程序。由于winrar在國內(nèi)是一款裝機(jī)必備的軟件,其占據(jù)了 90%以上的壓縮市場份額,足見木馬通過壓縮包傳播的廣泛程度。為了有效地識別出類似于上述的惡意程序,避免對客戶端/服務(wù)器的計(jì)算機(jī)造成損害,通常采用文件掃描的方式來發(fā)現(xiàn)惡意程序,通過文件掃描可以有效地確定出不安全的文件。但是,在傳統(tǒng)的文件掃描方法中,對所有類型的文件都統(tǒng)一采用逐一掃描的方式進(jìn)行掃描,由于不同類型的文件的掃描時間差別較大,導(dǎo)致計(jì)算出來的掃描進(jìn)度不夠準(zhǔn)確,使客戶端/服務(wù)器無法準(zhǔn)確了解當(dāng)前的掃描進(jìn)度。而且,把所有文件都放在一起掃描時,客戶端/服務(wù)器也無法對掃描過程進(jìn)行控制。

發(fā)明內(nèi)容
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的病毒文件掃描方法及裝置。依據(jù)本發(fā)明的一個方面,提供了一種病毒文件掃描方法,包括:預(yù)先將從計(jì)算機(jī)上獲取的待掃描文件劃分為N個類別,根據(jù)N個類別將病毒掃描過程對應(yīng)劃分為N個階段,其中,N為大于I的自然數(shù);按照預(yù)設(shè)順序調(diào)用病毒掃描引擎,執(zhí)行病毒掃描過程的各個階段,其中,每個階段用于掃描指定的一個類別的文件??蛇x地,將待掃描文件劃分為N個類別進(jìn)一步包括:將以非壓縮格式存儲的文件中文件大小小于預(yù)設(shè)的第一閾值的文件劃分為第一類別,將以非壓縮格式存儲的文件中文件大小不小于所述第一閾值的文件劃分為第二類別,將以壓縮格式存儲的文件劃分為第三類別AUN個階段具體包括:用于掃描第一類別的文件的第一階段,用于掃描第二類別的文件的第二階段,以及用于掃描第三類別的文件的第三階段??蛇x地,預(yù)設(shè)順序?yàn)?依次執(zhí)行第一階段,第二階段和第三階段??蛇x地,依次執(zhí)行所述第一階段,第二階段和第三階段進(jìn)一步包括:在第一階段中,獲取所有的待掃描文件,對于獲取到的第一類別的文件,直接對其進(jìn)行掃描;對于獲取到的第二類別和第三類別的文件,對其進(jìn)行緩存;在第二階段中,對緩存的第二類別的文件進(jìn)行掃描;在第三階段中,對緩存的第三類別的文件進(jìn)行掃描。可選地,在執(zhí)行掃描過程的每個階段時,進(jìn)一步包括步驟:根據(jù)該階段要掃描的類別中的文件特征,計(jì)算并顯示該階段的掃描進(jìn)度,其中,掃描進(jìn)度包括剩余掃描時間和/或掃描文件的百分比??蛇x地,按照預(yù)設(shè)順序執(zhí)行掃描過程的每個階段時進(jìn)一步包括:在接收到進(jìn)入下一階段的跳轉(zhuǎn)請求后,跳過掃描過程的當(dāng)前階段,直接執(zhí)行掃描過程的下一階段。依據(jù)本發(fā)明的另一方面,提供了一種病毒文件掃描裝置,包括:類別劃分單元,適于預(yù)先將從計(jì)算機(jī)上獲取的待掃描文件劃分為N個類別,其中,N為大于I的自然數(shù);階段劃分單元,適于根據(jù)所述N個類別將病毒掃描過程對應(yīng)劃分為N個階段;掃描單元,適于按照預(yù)設(shè)順序調(diào)用病毒掃描引擎,執(zhí)行病毒掃描過程的各個階段,其中,每個階段用于掃描指定的一個類別的文件??蛇x地,類別劃分單元進(jìn)一步適于:將以非壓縮格式存儲的文件中文件大小小于預(yù)設(shè)的第一閾值的文件劃分為第一類別,將以非壓縮格式存儲的文件中文件大小不小于所述第一閾值的文件劃分為第二類別,將以壓縮格式存儲的文件劃分為第三類別;則階段劃分單元劃分的N個階段具體包括:用于掃描第一類別的文件的第一階段,用于掃描第二類別的文件的第二階段,以及用于掃描第三類別的文件的第三階段??蛇x地,預(yù)設(shè)順序?yàn)?依次執(zhí)行第一階段,第二階段和第三階段??蛇x地,該裝置進(jìn)一步包括:緩存單元,適于對掃描單元在第一階段中獲取到的第二類別和第三類別的文件進(jìn)行緩存。可選地,該裝置進(jìn)一步包括:計(jì)算單元,適于在掃描單元執(zhí)行掃描過程的每個階段時,根據(jù)該階段要掃描的類別中的文件特征,計(jì)算并顯示該階段的掃描進(jìn)度,其中,掃描進(jìn)度包括剩余掃描時間和/或掃描文件的百分比。可選地,掃描單元進(jìn)一步適于:在接收到進(jìn)入下一階段的跳轉(zhuǎn)請求后,跳過掃描過程的當(dāng)前階段,直接執(zhí)行掃描過程的下一階段。根據(jù)本發(fā)明的病毒文件掃描方法及裝置,通過將待掃描文件劃分為N個類別,并將掃描過程對應(yīng)劃分為N個階段,在每個階段僅掃描同一類別的文件。由于每個階段掃描的文件類別相同,因此計(jì)算出的掃描進(jìn)度更為精確,而且客戶端/服務(wù)器還可以根據(jù)需要對掃描階段進(jìn)行控制。由此解決了現(xiàn)有技術(shù)中掃描進(jìn)度不準(zhǔn)確,且客戶端/服務(wù)器無法對掃描過程進(jìn)行控制的問題。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式



通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:圖1示出了本發(fā)明實(shí)施例提供的病毒文件掃描方法的流程圖;圖2示出了本發(fā)明實(shí)施例提供的病毒文件掃描裝置的結(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ī)的各類掃描引擎中。使用該掃描方法進(jìn)行掃描可以是依用戶的指示進(jìn)行掃描,例如,用戶在開啟病毒查殺軟件或者木馬查殺軟件的掃描引擎時,通過掃描引擎的查殺頁面生成掃描請求并發(fā)送到服務(wù)器/客戶端,服務(wù)器/客戶端通過接收到的掃描請求獲知需要進(jìn)行掃描的文件并進(jìn)行掃描;或者,也可以是服務(wù)器/客戶端主動發(fā)起掃描,例如,由服務(wù)器/客戶端在滿足預(yù)定條件時主動地發(fā)起掃描,該預(yù)定條件例如可以是定時掃描或定期掃描等。圖1示出了上述病毒文件掃描方法的流程圖,如圖1所示,該病毒文件掃描方法始于步驟S110。在步驟SllO中,預(yù)先將從計(jì)算機(jī)上獲取的待掃描文件劃分為N個類別,該計(jì)算機(jī)主要是指客戶端/服務(wù)器對應(yīng)的計(jì)算機(jī),即客戶端軟件所連接的電腦或者是工作站等任何的具有數(shù)據(jù)處理能力的設(shè)備。其中,N為大于I的自然數(shù),關(guān)于N的具體數(shù)值可根據(jù)實(shí)際情況靈活設(shè)置。其中,關(guān)于從計(jì)算機(jī)上獲取待掃描文件的過程將在后續(xù)的步驟S130中描述。也就是說,在步驟SllO中,也可以先不獲取到待掃描文件,而根據(jù)以往的掃描經(jīng)驗(yàn)來對常規(guī)的待掃描文件進(jìn)行類別劃分。在步驟SllO中對待掃描文件進(jìn)行分類時,主要是根據(jù)待掃描文件的特征信息進(jìn)行劃分的,把具有相似特征的掃描文件劃分為一類文件,以便于在后續(xù)過程中對不同類型的文件分階段進(jìn)行掃描。在本實(shí)施例中,以N=3為例,將所有的待掃描文件劃分為三個類別:將以非壓縮格式存儲的文件中文件大小小于預(yù)設(shè)的第一閾值的文件劃分為第一類別,將以非壓縮格式存儲的文件中文件大小不小于該第一閾值的文件劃分為第二類別,將以壓縮格式存儲的文件劃分為第三類別。假設(shè)第一閾值的取值為300M。相應(yīng)地,將以非壓縮格式存儲的文件中文件大小小于300M的文件劃分為第一類別,該類別的文件也可以稱作普通文件,普通文件的特征在于掃描速度較快。將以非壓縮格式存儲的文件中文件大小大于或等于300M的文件劃分為第二類別,該類別的文件也可以稱作大文件,大文件的特征在于掃描速度較慢,具體原因在于,由于文件較大,因此計(jì)算文件特征哈希值(md5值)以及驗(yàn)證簽名信息等過程非常耗時。上述的第一類別和第二類別的文件都屬于非壓縮文件,通過文件大小來區(qū)分類別(在實(shí)際情況中,還可以根據(jù)需要設(shè)置第二閾值甚至第三閾值,由此將非壓縮文件進(jìn)一步劃分為更多的類別,以便于更精確地分階段處理)。另外,除了非壓縮文件之外的其他文件,即以壓縮格式存儲的文件被劃分為第三類別,該類別的文件也可以直接稱作壓縮文件,壓縮文件的特征在于必須先進(jìn)行解壓縮之后才能對文件進(jìn)行掃描,而解壓縮的過程需要耗費(fèi)系統(tǒng)大量的等待時間,由此降低掃描速度。另外,在掃描壓縮文件時,還可以進(jìn)一步根據(jù)壓縮文件的壓縮格式來確定相應(yīng)的解壓縮方式以及掃描方式。通過步驟SllO的處理,待掃描文件被劃分為三個類別,每個類別的文件都具有相似的掃描方式,以及大致相同的掃描時間。接下來,在步驟S120中,根據(jù)上述N個類別將病毒掃描過程對應(yīng)劃分為N個階段。依然以上述N=3的例子來說,在步驟S120中,相應(yīng)地將整個掃描過程劃分為三個階段,其中的一個階段對應(yīng)著步驟SllO中的一類文件。例如,整個掃描過程中的第一階段用于掃描上述的第一類別的文件,即普通文件;第二階段用于掃描上述的第二類別的文件,即大文件;第三階段用于掃描上述的第三類別的文件,即壓縮文件。上述的步驟SllO和步驟S120也可以合并為一個步驟。執(zhí)行完步驟SllO和步驟S120之后,接下來執(zhí)行步驟S130。另外,由于上面的步驟SllO和步驟S120通常在客戶端/服務(wù)器第一次發(fā)起掃描過程之前已經(jīng)預(yù)先設(shè)置好,這樣,當(dāng)客戶端/服務(wù)器再次發(fā)起掃描過程時,也可以直接從步驟S130開始執(zhí)行。在步驟S130中,按照預(yù)設(shè)順序調(diào)用病毒掃描引擎,執(zhí)行病毒掃描過程的各個階段,其中,每個階段用于掃描指定的一個類別的文件。上述的預(yù)設(shè)順序例如可以是:依次執(zhí)行上述的第一階段,第二階段和第三階段??蛇x地,在步驟S130中,調(diào)用病毒掃描引擎按照上述的預(yù)設(shè)順序執(zhí)行掃描過程時,在掃描過程的第一階段中,首先通過枚舉文件的方式獲取客戶端/服務(wù)器對應(yīng)的計(jì)算機(jī)中所有的待掃描文件。具體地,獲取所有待掃描文件的過程可通過如下步驟實(shí)現(xiàn):首先,遍歷待掃描文件目錄,從該待掃描文件目錄中提取待掃描文件的路徑;然后,通過待掃描文件的路徑找到待掃描文件;最后,讀取該待掃描文件的特征信息,其中,待掃描文件的特征信息包括:文件名、后綴名、文件的大小、文件的格式、文件的最后修改時間和文件的創(chuàng)建時間等。另外,在獲取的過程中,進(jìn)一步通過文件的特征信息一一判斷獲取到的文件屬于哪一類別,如果判斷出獲取到的文件屬于普通文件,則在獲取到該文件后直接對其進(jìn)行掃描,以便節(jié)約處理時間;如果判斷出獲取到的文件屬于大文件或壓縮文件,則將其緩存起來,留待后續(xù)階段的處理。然后,在后續(xù)的第二階段中,對緩存的第二類別的文件進(jìn)行掃描;在第三階段中,對緩存的第三類別的文件進(jìn)行掃描。而且,在每個階段的掃描過程中,還可以在掃描時將掃描到的文件的特征信息(例如文件路徑、文件大小、文件最后修改時間、文件創(chuàng)建時間、全文的md5值和/或SHAl值等)存儲在本地數(shù)據(jù)庫里。這樣,在客戶端/服務(wù)器下次發(fā)起掃描時,可以根據(jù)特征信息來確定是否有必要對文件進(jìn)行掃描,例如,如果發(fā)現(xiàn)某一文件在上次掃描之后并未修改過,則在本次掃描過程中可以不對該文件進(jìn)行掃描,由此能夠提高掃描效率。另外,在執(zhí)行步驟S130的每個階段時,還可以根據(jù)該階段要掃描的類別中的文件特征,計(jì)算并顯示該階段的掃描進(jìn)度,其中,掃描進(jìn)度包括剩余掃描時間和/或掃描文件的百分比等。例如,在用于掃描普通文件的第一階段中,由于普通文件的字節(jié)數(shù)較少,掃描時間較短,因此,根據(jù)普通文件的剩余掃描數(shù)量計(jì)算出來的剩余掃描時間相對較短;在用于掃描大文件的第二階段中,由于大文件的字節(jié)數(shù)較多,掃描時間較長,因此,根據(jù)大文件的剩余掃描數(shù)量計(jì)算出來的剩余掃描時間相對較長;在用于掃描壓縮文件的第三階段中,由于壓縮文件需要先解壓,掃描時間往往與解壓后的文件大小存在很大關(guān)聯(lián),另外,很多壓縮文件在解壓之前都可以預(yù)先根據(jù)文件頭中的相關(guān)信息獲知解壓后的文件大小,由此能夠預(yù)見大概的掃描時間,因此,根據(jù)壓縮文件的剩余掃描數(shù)量計(jì)算剩余掃描時間時可以進(jìn)一步結(jié)合每個未掃描的壓縮文件解壓后的大小來準(zhǔn)確估算剩余掃描時間。具體地,在上述計(jì)算掃描進(jìn)度的過程中所用到的每一類別的待掃描文件的個數(shù)以及文件信息(例如壓縮文件的文件頭中的相關(guān)信息)可以在上述獲取所有的待掃描文件的過程中一并記錄下來,以方便后續(xù)掃描階段的使用。另外,在執(zhí)行步驟S130的每個階段時,還可以進(jìn)一步接收客戶端/服務(wù)器發(fā)出的進(jìn)入下一階段的跳轉(zhuǎn)請求。在接收到進(jìn)入下一階段的跳轉(zhuǎn)請求后,跳過病毒掃描過程的當(dāng)前階段,直接執(zhí)行病毒掃描過程的下一階段。例如,由于壓縮文件只有在客戶端/服務(wù)器解壓時才有可能啟動惡意程序,不解壓時則一般不會產(chǎn)生風(fēng)險,而且,對于很多壓縮格式的安裝文件,客戶端/服務(wù)器往往長期都不使用,因此,沒有必要在每次掃描時都對壓縮文件進(jìn)行掃描。所以,客戶端/服務(wù)器可以在進(jìn)入壓縮文件的掃描階段時,直接跳過該階段,以便節(jié)約掃描時間。同理,客戶端/服務(wù)器也可以跳過普通文件或大文件的處理階段,直接進(jìn)入下一階段。在每個階段的掃描過程中,對掃描到的每個文件進(jìn)一步判斷其是否為攜帶病毒的惡意文件。具體地,在判斷惡意文件時,可以由客戶端將掃描到的文件的相關(guān)信息及文件屬性發(fā)送給服務(wù)器端。其中,文件的相關(guān)信息包括特征數(shù)據(jù)、文件大小、安全級別、簽名信息以及版本信息等;文件屬性包括文件名、文件大小、程序文件摘要MD5或SHA1、簽名信息和版本信息等。發(fā)送給服務(wù)器端的文件的相關(guān)信息及文件屬性可以是上述信息的任意組合。服務(wù)器端在接收到文件的相關(guān)信息及文件屬性之后,根據(jù)已有的病毒數(shù)據(jù)庫,判斷待測文件的性質(zhì);或者,根據(jù)白名單來檢測待測文件是否為病毒文件。如果判斷出待測文件為病毒文件,則發(fā)出報警提示;如果待測文件為安全文件,則直接放行;如果待測文件為未知文件,則需要進(jìn)一步分析其行為特征,據(jù)此做出進(jìn)一步的判定。例如,以判斷PE文件是否為惡意文件為例來說,由于PE文件可以分成四個部分:文件頭、代碼段、引入表及數(shù)據(jù)段,其中,病毒代碼可能只隱藏在代碼段內(nèi),因此,對于PE文件而言,服務(wù)器端主要分析其代碼段的內(nèi)容即可得出其是否為惡意文件的結(jié)論。在上述判斷過程中所用到的病毒數(shù)據(jù)庫和白名單通常存儲在服務(wù)器端,并且,該病毒數(shù)據(jù)庫和白名單能夠根據(jù)病毒的更新情況進(jìn)行相應(yīng)地更新。因此,由服務(wù)器端判斷惡意文件的方式能夠確保判斷的準(zhǔn)確性和及時性。另外,為了能夠在網(wǎng)絡(luò)故障時執(zhí)行上述的判斷過程,也可以將該病毒數(shù)據(jù)庫和白名單存儲在客戶端本地,由客戶端進(jìn)行判斷,并定期從服務(wù)器獲取數(shù)據(jù)進(jìn)行更新。這樣,即使在網(wǎng)絡(luò)故障的情況下,也可以由客戶端對掃描文件是否為病毒文件做出判斷。另外,雖然本實(shí)施例中是按照依次執(zhí)行步驟S110、S120和S130的順序進(jìn)行描述的,但是,本領(lǐng)域技術(shù)人員能夠理解的是,上述的步驟S110、S120和S130并不限于上文描述的順序,例如,步驟SllO和S120也可以在執(zhí)行步驟S130的過程中同時進(jìn)行,即:也可以在獲取待掃描文件并進(jìn)行掃描的同時來劃分文件類型和掃描階段,而且,還可以在本次掃描的過程中或本次掃描完成后對之前已經(jīng)劃分好的文件類型和掃描階段重新進(jìn)行調(diào)整。綜上所述,在本實(shí)施例中,由于將待掃描文件根據(jù)文件特點(diǎn)劃分為了多個類別,并為每個類別相應(yīng)分配一個掃描階段,這樣,每個掃描階段中掃描的都是特性相似的文件,每個文件的掃描時間也大致相同,由此估算出的該階段的剩余掃描時間也更為精確,能夠使客戶端/服務(wù)器準(zhǔn)確了解當(dāng)前的掃描進(jìn)度。而在現(xiàn)有技術(shù)的掃描過程中,由于不分類別也不分階段,將所有的文件都在一個流程中進(jìn)行掃描,而大文件以及壓縮文件所耗費(fèi)的掃描時間比普通文件要長很多,導(dǎo)致計(jì)算出來的剩余掃描時間誤差很大,且在一段時間內(nèi)(例如3分鐘內(nèi))實(shí)時計(jì)算出來的剩余掃描時間往往忽長忽短,變化較大,無法起到有效地提示作用。并且,在本實(shí)施例中可以對掃描階段進(jìn)行控制,客戶端/服務(wù)器可以根據(jù)需要選擇跳過一些不必要的掃描階段,以節(jié)約時間。另外,客戶端/服務(wù)器也可以根據(jù)需要直接選擇一個掃描階段進(jìn)行掃描,例如,客戶端/服務(wù)器可以直接選擇普通文件的掃描階段、大文件的掃描階段或壓縮文件的掃描階段。由此使得整個掃描過程可以根據(jù)客戶端/服務(wù)器的需要進(jìn)行靈活地控制,滿足了客戶端/服務(wù)器的多樣化需求。在上面的實(shí)施例中,主要是根據(jù)待掃描文件的掃描時間來確定文件類別的。在實(shí)際情況中,還可以根據(jù)待掃描文件的其他特征來確定文件類別。例如,也可以根據(jù)待掃描文件感染惡意程序的概率劃分文件類別,將感染惡意程序的概率大于預(yù)設(shè)的第一閾值的文件劃分為第一類別的文件(例如,后綴名為exe或dll的文件);將感染惡意程序的概率低于預(yù)設(shè)的第二閾值的文件劃分為第三類別的文件(例如,后綴名為txt的文件);將感染惡意程序的概率介于第一閾值和第二閾值之間的文件劃分為第二類別的文件(例如,后綴名為doc的文件)。這一劃分方式的好處在于,客戶端/服務(wù)器可以先掃描感染惡意程序的概率最大的第一類別的文件,從而能夠在有限的時間內(nèi)快速發(fā)現(xiàn)惡意程序,使得掃描過程更加高效。本發(fā)明實(shí)施例還提供了一種病毒文件掃描裝置,如圖2所示,該病毒文件掃描裝置包括:類別劃分單元21、階段劃分單元22以及掃描單元23。下面詳細(xì)介紹一下各個單元的具體工作過程:類別劃分單元21預(yù)先將從計(jì)算機(jī)上獲取的將待掃描文件劃分為N個類別,其中,N為大于I的自然數(shù),關(guān)于N的具體數(shù)值可根據(jù)實(shí)際情況靈活設(shè)置。具體地,類別劃分單元21主要是根據(jù)待掃描文件的特征信息對文件類別進(jìn)行劃分的,把具有相似特征的掃描文件劃分為一類文件,以便于在后續(xù)過程中對不同類型的文件分階段進(jìn)行病毒掃描。在本實(shí)施例中,以N=3為例,將所有的待掃描文件劃分為三個類別:將以非壓縮格式存儲的文件中文件大小小于預(yù)設(shè)的第一閾值的文件劃分為第一類別,將以非壓縮格式存儲的文件中文件大小不小于該第一閾值的文件劃分為第二類別,將以壓縮格式存儲的文件劃分為第三類別。假設(shè)第一閾值的取值為300M。相應(yīng)地,將以非壓縮格式存儲的文件中文件大小小于300M的文件劃分為第一類別,該類別的文件也可以稱作普通文件,普通文件的特征在于掃描速度較快。將以非壓縮格式存儲的文件中文件大小大于或等于300M的文件劃分為第二類別,該類別的文件也可以稱作大文件,大文件的特征在于掃描速度較慢,具體原因在于,由于文件較大,因此計(jì)算文件特征哈希值(md5值)以及驗(yàn)證簽名信息等過程非常耗時。上述的第一類別和第二類別的文件都屬于非壓縮文件,通過文件大小來區(qū)分類別(在實(shí)際情況中,還可以根據(jù)需要設(shè)置第二閾值甚至第三閾值,由此將非壓縮文件進(jìn)一步劃分為更多的類別,以便于更精確地分階段處理)。另外,除了非壓縮文件之外的其他文件,即以壓縮格式存儲的文件被劃分為第三類別,該類別的文件也可以直接稱作壓縮文件,壓縮文件的特征在于必須先進(jìn)行解壓縮之后才能對文件進(jìn)行掃描,而解壓縮的過程需要耗費(fèi)系統(tǒng)大量的等待時間,由此降低掃描速度。通過類別劃分單元21將待掃描文件劃分為三個類別,每個類別的文件都具有相似的掃描方式,以及大致相同的掃描時間。階段劃分單元22根據(jù)上述N個類別將病毒掃描過程對應(yīng)劃分為N個階段。依然以上述N=3的例子來說,階段劃分單元22相應(yīng)地將整個掃描過程劃分為三個階段,其中的一個階段對應(yīng)著類別劃分單元21所劃分的一類文件。例如,整個掃描過程中的第一階段用于掃描上述的第一類別的文件,即普通文件;第二階段用于掃描上述的第二類別的文件,即大文件;第三階段用于掃描上述的第三類別的文件,即壓縮文件。掃描單元23按照預(yù)設(shè)順序,調(diào)用病毒掃描引擎執(zhí)行掃描過程的各個階段,每個階段用于掃描指定的一個類別的文件。上述的預(yù)設(shè)順序例如可以是:依次執(zhí)行上述的第一階段,第二階段和第三階段。具體地,在掃描單元23按照上述的預(yù)設(shè)順序執(zhí)行掃描過程的第一階段時,首先通過枚舉文件的方式獲取客戶端/服務(wù)器中所有的待掃描文件。在獲取的過程中,進(jìn)一步通過文件的文件頭、后綴名等信息一一判斷獲取到的文件屬于哪一類別,如果判斷出獲取到的文件屬于普通文件,則可以在獲取的過程中直接對其進(jìn)行掃描,以便節(jié)約處理時間;如果判斷出獲取到的文件屬于大文件或壓縮文件,則將其緩存在緩存單元24中,留待后續(xù)階段的處理。而且,在每個階段的掃描過程中,還可以在掃描時將掃描到的文件的特征信息(例如文件路徑、文件大小、文件最后修改時間、文件創(chuàng)建時間、全文的md5值和/或SHAl值)存儲在本地數(shù)據(jù)庫里。這樣,在客戶端/服務(wù)器下次發(fā)起掃描時,可以根據(jù)特征信息來確定是否有必要對文件進(jìn)行掃描,例如,如果發(fā)現(xiàn)某一文件在上次掃描之后并未修改過,則在本次掃描過程中可以不對該文件進(jìn)行掃描,由此能夠提高掃描效率??蛇x地,該文件掃描裝置還可以進(jìn)一步包括計(jì)算單元25,用于在掃描單元23執(zhí)行每個階段的掃描時,根據(jù)該階段要掃描的類別中的文件特征,計(jì)算并顯示該階段的掃描進(jìn)度,其中,掃描進(jìn)度包括剩余掃描時間和/或掃描文件的百分比等。例如,在用于掃描普通文件的第一階段中,由于普通文件的字節(jié)數(shù)較少,掃描時間較短,因此,根據(jù)普通文件的剩余掃描數(shù)量計(jì)算出來的剩余掃描時間相對較短;在用于掃描大文件的第二階段中,由于大文件的字節(jié)數(shù)較多,掃描時間較長,因此,根據(jù)大文件的剩余掃描數(shù)量計(jì)算出來的剩余掃描時間相對較長;在用于掃描壓縮文件的第三階段中,由于壓縮文件需要先解壓,掃描時間往往與解壓后的文件大小存在很大關(guān)聯(lián),另外,很多壓縮文件在解壓之前都可以預(yù)先根據(jù)文件頭中的相關(guān)信息獲知解壓后的文件大小,由此能夠預(yù)見大概的掃描時間,因此,根據(jù)壓縮文件的剩余掃描數(shù)量計(jì)算剩余掃描時間時可以進(jìn)一步結(jié)合每個未掃描的壓縮文件解壓后的大小來準(zhǔn)確估算剩余掃描時間。具體地,在上述計(jì)算掃描進(jìn)度的過程中所用到的每一類別的待掃描文件的個數(shù)以及文件信息(例如壓縮文件的文件頭中的相關(guān)信息)可以在上述獲取所有的待掃描文件的過程中一并記錄下來,以方便后續(xù)掃描階段的使用。另外,在掃描單元23執(zhí)行每個階段的掃描時,還可以進(jìn)一步接收客戶端/服務(wù)器發(fā)出的進(jìn)入下一階段的跳轉(zhuǎn)請求。在接收到進(jìn)入下一階段的跳轉(zhuǎn)請求后,跳過病毒掃描過程的當(dāng)前階段,直接執(zhí)行病毒掃描過程的下一階段。例如,由于壓縮文件只有在客戶端/服務(wù)器解壓時才有可能啟動惡意程序,不解壓時則一般不會產(chǎn)生風(fēng)險,而且,對于很多壓縮格式的安裝文件,客戶端/服務(wù)器往往長期都不使用,因此,沒有必要在每次掃描時都對壓縮文件進(jìn)行掃描。所以,客戶端/服務(wù)器可以在進(jìn)入壓縮文件的掃描階段時,直接跳過該階段,以便節(jié)約掃描時間。同理,客戶端/服務(wù)器也可以跳過普通文件或大文件的處理階段,直接進(jìn)入下一階段。該文件掃描裝置還可以進(jìn)一步包括判斷單元26,用于在每個階段的掃描過程中,對掃描到的每個文件進(jìn)一步判斷其是否為惡意文件,如果判斷結(jié)果為是,則彈出惡意文件提示,以便由客戶端/服務(wù)器選擇是否對該文件進(jìn)行查殺;或者,也可以直接對該文件進(jìn)行查殺,以防止其對計(jì)算機(jī)造成危害。綜上所述,在本實(shí)施例中,由于將待掃描文件根據(jù)文件特點(diǎn)劃分為了多個類別,并為每個類別相應(yīng)分配一個掃描階段,這樣,每個掃描階段中掃描的都是特性相似的文件,每個文件的掃描時間也大致相同,由此估算出的該階段的剩余掃描時間也更為精確,能夠使客戶端/服務(wù)器準(zhǔn)確了解當(dāng)前的掃描進(jìn)度。而在現(xiàn)有技術(shù)的掃描過程中,由于不分類別也不分階段,將所有的文件都在一個流程中進(jìn)行掃描,而大文件以及壓縮文件所耗費(fèi)的掃描時間比普通文件要長很多,導(dǎo)致計(jì)算出來的剩余掃描時間誤差很大,且在一段時間內(nèi)(例如3分鐘內(nèi))實(shí)時計(jì)算出來的剩余掃描時間往往忽長忽短,變化較大,無法起到有效地提示作用。并且,在本實(shí)施例中可以對掃描階段進(jìn)行控制,客戶端/服務(wù)器可以根據(jù)需要選擇跳過一些不必要的掃描階段,以節(jié)約時間。另外,客戶端/服務(wù)器也可以根據(jù)需要直接選擇自己感興趣的一個掃描階段進(jìn)行掃描,例如,客戶端/服務(wù)器可以直接選擇普通文件的掃描階段、大文件的掃描階段或壓縮文件的掃描階段。由此使得整個掃描過程可以根據(jù)客戶端/服務(wù)器的需要進(jìn)行靈活地控制,滿足了客戶端/服務(wù)器的多樣化需求。在上面的實(shí)施例中,主要是根據(jù)待掃描文件的掃描時間來確定文件類別的。在實(shí)際情況中,還可以根據(jù)待掃描文件的其他特征來確定文件類別。例如,也可以根據(jù)待掃描文件感染惡意程序的概率劃分文件類別,將感染惡意程序的概率大于預(yù)設(shè)的第一閾值的文件劃分為第一類別的文件(例如,后綴名為exe或dll的文件);將感染惡意程序的概率低于預(yù)設(shè)的第二閾值的文件劃分為第三類別的文件(例如,后綴名為txt的文件);將感染惡意程序的概率介于第一閾值和第二閾值之間的文件劃分為第二類別的文件(例如,后綴名為doc的文件)。這一劃分方式的好處在于,客戶端/服務(wù)器可以先掃描感染惡意程序的概率最大的第一類別的文件,從而能夠在有限的時間內(nèi)快速發(fā)現(xiàn)惡意程序,使得掃描過程更加高效。另外,本發(fā)明實(shí)施例還提供了一種病毒文件掃描方法,包括:枚舉所有的待掃描文件,并且,在枚舉過程中調(diào)用病毒掃描引擎對枚舉到的預(yù)設(shè)的第一類別的待掃描文件直接進(jìn)行病毒掃描,對枚舉到的預(yù)設(shè)的第二類別和第三類別的文件進(jìn)行緩存;枚舉完所有文件之后,對緩存的第二類別的文件進(jìn)行病毒掃描;掃描完第二類別的文件之后,對緩存的第三類別的文件進(jìn)行病毒掃描。其中,第一類別的文件可以是普通文件,第二類別的文件可以是大文件,第三類別的文件可以是壓縮文件,具體劃分類別的方式可參照第一實(shí)施例中的描述,此處不再贅述,而且,枚舉待掃描文件的具體過程也可以參照第一實(shí)施例中的步驟S130中的描述。該病毒掃描方法在枚舉文件的同時即可完成對普通文件的掃描,提高了掃描效率,且在枚舉文件之后還可以進(jìn)一步對大文件和壓縮文件分別進(jìn)行掃描,由此使整個掃描過程劃分為幾個不同的階段,每一階段處理的待掃描文件類型相同,因此能夠得出更準(zhǔn)確的掃描進(jìn)度供用戶參考。根據(jù)本發(fā)明的文件掃描方法及裝置,通過將待掃描文件劃分為N個類別,并將掃描過程對應(yīng)劃分為N個階段,在每個階段僅掃描同一類別的文件。由于每個階段掃描的文件類別相同,因此計(jì)算出的掃描進(jìn)度更為精確,而且客戶端/服務(wù)器還可以根據(jù)需要對掃描階段進(jìn)行控制。由此解決了現(xiàn)有技術(shù)中掃描進(jìn)度不準(zhǔn)確,且客戶端/服務(wù)器無法對掃描過程進(jìn)行控制的問題。在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實(shí)施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實(shí)施例的所有特征。因此,遵循具體實(shí)施方式
的權(quán)利要求書由此明確地并入該具體實(shí)施方式
,其中每個權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。本領(lǐng)域那些技術(shù)人員可以理解,可以對實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實(shí)施例不同的一個或多個設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。本發(fā)明的各個部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個或者多個處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號處理器(DSP )來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的瀏覽器客戶端中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。應(yīng)該注意的是上述實(shí)施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
權(quán)利要求
1.一種病毒文件掃描方法,包括: 預(yù)先將從計(jì)算機(jī)上獲取的待掃描文件劃分為N個類別,根據(jù)所述N個類別將病毒掃描過程對應(yīng)劃分為N個階段,其中,N為大于I的自然數(shù); 按照預(yù)設(shè)順序調(diào)用病毒掃描引擎,執(zhí)行病毒掃描過程的各個階段,其中,每個階段用于掃描指定的一個類別的文件。
2.如權(quán)利要求1所述的方法,其中,將待掃描文件劃分為N個類別進(jìn)一步包括:將以非壓縮格式存儲的文件中文件大小小于預(yù)設(shè)的第一閾值的文件劃分為第一類別,將以非壓縮格式存儲的文件中文件大小不小于所述第一閾值的文件劃分為第二類別,將以壓縮格式存儲的文件劃分為第三類別; 則所述N個階段具體包括:用于掃描所述第一類別的文件的第一階段,用于掃描所述第二類別的文件的第二階段,以及用于掃描所述第三類別的文件的第三階段。
3.如權(quán)利要求2所述的方法,其中,所述預(yù)設(shè)順序?yàn)?依次執(zhí)行所述第一階段,第二階段和第三階段。
4.如權(quán)利要求3所述的方法,其中,所述依次執(zhí)行所述第一階段,第二階段和第三階段進(jìn)一步包括: 在所述第一階段中,獲取所有的待掃描文件,對于獲取到的第一類別的文件,直接對其進(jìn)行掃描;對于獲取到的第二類別和第三類別的文件,對其進(jìn)行緩存; 在所述第二階段中,對緩存的第二類別的文件進(jìn)行掃描; 在所述第三階段中,對緩存的第三類別的文件進(jìn)行掃描。
5.如權(quán)利要求1所述的方法,在執(zhí)行掃描過程的每個階段時,進(jìn)一步包括步驟:根據(jù)該階段要掃描的類別中的文件特征,計(jì)算并顯示該階段的掃描進(jìn)度,其中,所述掃描進(jìn)度包括剩余掃描時間和/或掃描文件的百分比。
6.如權(quán)利要求1所述的方法,所述按照預(yù)設(shè)順序執(zhí)行病毒掃描過程的每個階段時進(jìn)一步包括: 在接收到進(jìn)入下一階段的跳轉(zhuǎn)請求后,跳過病毒掃描過程的當(dāng)前階段,直接執(zhí)行病毒掃描過程的下一階段。
7.—種病毒文件掃描裝置,包括: 類別劃分單元,適于預(yù)先將從計(jì)算機(jī)上獲取的待掃描文件劃分為N個類別,其中,N為大于I的自然數(shù); 階段劃分單元,適于根據(jù)所述N個類別將病毒掃描過程對應(yīng)劃分為N個階段; 掃描單元,適于按照預(yù)設(shè)順序調(diào)用病毒掃描引擎,執(zhí)行病毒掃描過程的各個階段,其中,每個階段用于掃描指定的一個類別的文件。
8.如權(quán)利要求7所述的裝置,進(jìn)一步包括: 計(jì)算單元,適于在掃描單元執(zhí)行掃描過程的每個階段時,根據(jù)該階段要掃描的類別中的文件特征,計(jì)算并顯示該階段的掃描進(jìn)度,其中,所述掃描進(jìn)度包括剩余掃描時間和/或掃描文件的百分比。
9.如權(quán)利要求7所述的裝置,所述掃描單元進(jìn)一步適于:在接收到進(jìn)入下一階段的跳轉(zhuǎn)請求后,跳過病毒掃描過程的當(dāng)前階段,直接執(zhí)行病毒掃描過程的下一階段。
10.一種病毒文件掃描方法,包括:枚舉所有的待掃描文件,并且,在枚舉過程中調(diào)用病毒掃描引擎對枚舉到的預(yù)設(shè)的第一類別的待掃描文件直接進(jìn)行病毒掃描,對枚舉到的預(yù)設(shè)的第二類別和第三類別的文件進(jìn)行緩存; 枚舉完所有文件之后,對緩存的第二類別的文件進(jìn)行病毒掃描; 掃描完第二類 別的文件之后,對緩存的第三類別的文件進(jìn)行病毒掃描。
全文摘要
本發(fā)明涉及計(jì)算機(jī)安全技術(shù)領(lǐng)域,其公開了一種病毒文件掃描方法及裝置。該病毒文件掃描方法包括預(yù)先將從計(jì)算機(jī)上獲取的待掃描文件劃分為N個類別,根據(jù)所述N個類別將病毒掃描過程對應(yīng)劃分為N個階段,其中,N為大于1的自然數(shù);按照預(yù)設(shè)順序執(zhí)行病毒掃描過程的各個階段,其中,每個階段用于掃描指定的一個類別的文件。根據(jù)本發(fā)明的文件掃描方法及裝置,通過將待掃描文件劃分為N個類別,并將掃描過程對應(yīng)劃分為N個階段,在每個階段僅掃描同一類別的文件。由于每個階段掃描的文件類別相同,因此計(jì)算出的掃描進(jìn)度更為精確,而且客戶端/服務(wù)器還可以根據(jù)需要對掃描階段進(jìn)行控制。由此解決了現(xiàn)有技術(shù)中掃描進(jìn)度不準(zhǔn)確,且客戶端/服務(wù)器無法對掃描過程進(jìn)行控制的問題。
文檔編號G06F21/56GK103207970SQ201310156238
公開日2013年7月17日 申請日期2013年4月28日 優(yōu)先權(quán)日2013年4月28日
發(fā)明者姚彤, 劉智鋒 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1