專利名稱:文件的掃描方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及數(shù)據(jù)處理技術,特別是涉及一種文件的掃描方法及系統(tǒng)。
背景技術:
隨著計算機技術的不斷發(fā)展,越來越多的人通過各種文件進行工作和娛樂,人們所使用的文件可以是通過互聯(lián)網(wǎng)下載到的,也可以是從移動存儲介質(zhì)中獲取到的,還可以是與其他用戶建立連接實現(xiàn)相互傳輸所得到的,因此,對于用戶而言,通過各種途徑所得到的文件以及用戶所使用的電腦、手機等終端設備中存在產(chǎn)生危害的可疑文件的可能性非常高,進而導致可疑文件中的病毒程序文件和木馬程序文件大量泛濫,對用戶的使用文件造成了嚴重的危害。 然而,在對各種文件進行可疑文件掃描時僅僅依賴于安裝于本地的客戶端引擎和本地病毒庫,客戶端引擎是殺毒引擎,而本地病毒庫中所能夠存儲的用于查找可疑文件的病毒特征碼有限,且存在于各種文件中的病毒程序文件以及木馬程序文件數(shù)量在迅猛增長,遠遠超過了本地病毒庫的更新速度,從而使得本地病毒庫只能被動地加快更新速度。由于本地病毒庫所能夠存儲的病毒特征碼并不能涵蓋所有的病毒程序文件以及木馬程序文件,這將使得客戶端引擎對文件所進行的可疑文件掃描存在著掃描效率不高的缺陷。
發(fā)明內(nèi)容基于此,有必要提供一種能提高查殺率的文件的掃描方法。此外,還有必要提供一種能提高查殺率的文件的掃描系統(tǒng)。一種文件的掃描方法,包括如下步驟枚舉待掃描文件;從所述枚舉的待掃描文件中逐一獲取所述待掃描文件的屬性值,并向服務端傳輸所述屬性值;將所述屬性值與服務端中存儲的特征碼進行比對,得到與所述屬性值一致的特征碼以及所述特征碼所屬的類別;根據(jù)與所述屬性值一致的特征碼以及所述特征碼所屬的類別形成所述待掃描文件、屬性值以及類別之間的對應關系,并將所述對應關系記錄于第一掃描結果中。一種文件的掃描系統(tǒng),包括客戶端以及服務端;所述客戶端包括枚舉模塊,用于枚舉待掃描文件;屬性值獲取模塊,用于從所述枚舉的待掃描文件中逐一獲取所述待掃描文件的屬性值,并向服務端傳輸所述屬性值;所述服務端包括數(shù)據(jù)庫,用于存儲特征碼以及所述特征碼所屬的類別;
比對模塊,用于將所述屬性值與存儲的特征碼進行比對,得到與所述屬性值相一致的特征碼以及所述特征碼所屬的類別;對應關系形成模塊,用于根據(jù)與所述屬性值一致的特征碼以及所述特征碼所屬的類別形成所述待掃描文件、屬性值以及類別之間的對應關系,并將所述對應關系記錄于第一掃描結果中。上述文件的掃描 方法及系統(tǒng),將待掃描文件的屬性值傳輸?shù)椒斩酥?,通過與存儲在服務端中的特征碼及其類別進行比對實現(xiàn)文件的安全性和危險性識別,由于突破了客戶端存儲限制的服務端可存儲大量的特征碼,并且服務端可最快最及時地更新特征碼,使得服務端中的特征碼較為全面,大大提高了文件的掃描效率。
圖I為一個實施例中文件的掃描方法的流程圖;圖2為另一個實施例中文件的掃描方法的流程圖;圖3為另一個實施例中文件的掃描方法的流程圖;圖4為另一個實施例中文件的掃描方法的流程圖;圖5為圖4中根據(jù)第一掃描結果確定進行本地掃描的待掃描文件的方法流程圖;圖6為一個實施例中文件的掃描系統(tǒng)的結構示意圖;圖7為一個實施例中客戶端的結構示意圖;圖8為圖7中掃描文件確定模塊的結構示意圖;圖9為另一個實施例中客戶端的結構示意圖;圖10為另一個實施例中客戶端的結構示意圖;圖11為另一個實施例中客戶端的結構示意圖。
具體實施方式圖I示出了一個實施例中文件掃描的方法流程,包括如下步驟步驟S110,枚舉待掃描文件。本實施例中,在開啟病毒查殺軟件或者木馬查殺軟件的掃描引擎時,用戶通過掃描引擎的查殺頁面生成掃描請求,并將生成的掃描請求由IPC模塊(進程間通信模塊)發(fā)送到系統(tǒng)的底層硬件,進而通過系統(tǒng)的底層硬件將這一掃描請求發(fā)送到服務端中,掃描引擎以及服務端通過接收到的掃描請求獲知需要進行掃描的文件,以根據(jù)掃描請求對待掃描文件進行針對性地掃描。IPC模塊界于掃描引擎的查殺頁面和底層硬件之間,用于實現(xiàn)殺查殺頁面與底層硬件之間的通信,進而實現(xiàn)了掃描引擎與服務端之間的網(wǎng)絡連通。具體地,掃描請求中包含了任務ID、掃描層次以及枚舉文件夾的方式,其中,掃描層次跟用戶在查殺頁面中對快速掃描、全盤掃描和自定義掃描的選擇有關,例如,在快速掃描方式下,掃描速度較快,但是掃描層次較淺。為進行文件的掃描,根據(jù)用戶在查殺頁面中的操作得到該用戶指定要進行掃描的文件,這些用戶指定要進行掃描的文件作為待掃描文件,將多個待掃描文件按照設定的隊列長度進行枚舉,并分發(fā)形成特定長度的枚舉隊列,以等待掃描。在優(yōu)選的實施例中,文件長度為20000。
步驟S130,從枚舉的待掃描文件中逐一獲取待掃描文件的屬性值,并向服務端傳輸屬性值。本實施例中,獲取待掃描文件的屬性值,該屬性值對待掃描文件進行唯一標識,并且可用于確保待掃描文件的完整性。在優(yōu)選的實施例中,待掃描文件的屬性值可以是MD5值。在從枚舉的多個待掃描文件中逐一獲取每一待掃描文件的屬性值,生成包含了屬性值、待掃描文件的文件名等信息的查詢請求,并向服務端傳輸生成的查詢請求。服務端可以是采用多個服務器構建的云平臺,云平臺中的服務器數(shù)量可以隨著需要的變化進行任意增減,也可以是大型的服務器集群。在觸發(fā)了服務端對文件的掃描后,若需要進行服務端掃描的枚舉的待掃描文件為空,沒有找到進行服務端掃描的待掃描文件,則等待設定的時間后再嘗試。該設定的時間可以是100毫秒?!げ襟ES150,將屬性值與服務端中存儲的特征碼進行比對,得到與屬性值一致的特征碼以及該特征碼所屬的類別。本實施例中,屬性值可以是對待掃描文件進行加密計算得到的MD5值或者哈希值,每一待掃描文件所對應的屬性值都是唯一的,若待掃描文件是不完整的,則對應的屬性值將發(fā)生變化,與完整的待掃描文件所對應的屬性值是不相一致的。服務端存儲了大量的特征碼以及與該特征碼所屬的類別。服務端所存儲的特征碼與類別是存在著對應關系的,每一特征碼均有與對應的類別。根據(jù)待掃描文件的屬性值在服務端中進行查找,以得到與該待掃描文件的屬性值相一致的特征碼,進而根據(jù)特征碼與類別之間的對應關系得到該特征碼所屬的類別,該類別即為待掃描文件的屬性值所歸屬的類別,指示了待掃描文件是正常文件還是病毒程序文件或者木馬程序文件。例如,對于病毒程序文件的特征碼,所屬的類別為黑名單,類別為黑名單的文件為病毒程序文件或者木馬程序文件;對于正常文件的特征碼,所屬的類別為白名單,類別為白名單的文件為確定不會包含病毒程序文件或木馬程序文件的文件,可放心運行該文件;對于可疑文件,所屬的類別為灰名單,類別為灰名單的文件為不能認定為病毒程序文件或木馬程序文件,但在系統(tǒng)的病毒敏感部位活動的文件。在屬性值與服務端存儲的特征碼進行比對的過程中得到與屬性值相一致的特征碼,進而由這一與屬性值相一致的特征碼得到對應的類別,這一類別指示了與屬性值對應的文件是病毒程序文件或者木馬程序文件,或是正常文件,或是可疑文件,若服務端中不存在與屬性值相一致的特征碼,則未命中服務端中存儲的大量特征碼,可將該屬性值對應的文件歸類至未命中名單中。步驟S170,根據(jù)與屬性值一致的特征碼以及該特征碼所屬的類別形成待掃描文件、屬性值以及類別之間的對應關系,并將對應關系記錄于第一掃描結果中。本實施例中,由屬性值與特征碼的比對過程可以得到待掃描文件所屬類別,進而得到這一文件的掃描結果,并將掃描結果返回給用戶。在另一個實施例中,如圖2所示,上述步驟S170之后還包括以下步驟步驟S210,根據(jù)第一掃描結果確定進行本地掃描的待掃描文件。本實施例中,在通過服務端進行文件掃描基礎上,還可利用掃描引擎對文件進行本地掃描。為進一步提高文件掃描的效率以及準確度,應當與服務端所進行的文件掃描充分結合來實現(xiàn)文件的本地掃描。具體地,由服務端所返回的第一掃描結果可以知道哪些待掃描文件是可疑文件以及在服務端中未查找到與屬性值相對應的特征碼的待掃描文件,此時為保證掃描結果的準確性,需要將第一掃描結果為可疑文件以及在服務端中未查找到與屬性值相對應的特征碼的待掃描文件作為進行本地掃描的待掃描文件。此外,還需要對未通過服務端進行文件掃描的多個待掃描文件進行本地掃描以保證所有的文件均進行了掃描并得到相應的掃描結果。在觸發(fā)了本地掃描后,若未尋找到進行本地掃描的待掃描文件,可等待設定的時間后再嘗試進行本地掃描的待掃描文件的尋找。在優(yōu)選的實施例中,設定的時間為100毫秒。
·
步驟S230,對確定的待掃描文件進行本地掃描得到第二掃描結果。本實施例中,從確定的待掃描文件中獲取屬性值,并根據(jù)獲取的屬性值從存儲于本地的病毒庫中查找與獲取的屬性值相同的特征碼及其所屬類別,進而根據(jù)查找到的類別獲知對應的文件是正常文件還是病毒程序文件或木馬程序文件。步驟S250,整合第二掃描結果和第一掃描結果,形成第三掃描結果。本實施例中,在完成待掃描文件的服務端掃描和本地掃描后,對得到的第一掃描結果和第二掃描結果進行整合,充分參考第一掃描結果和第二掃描結果得到第三掃描結果O
第一掃描結果第二掃描結果第三掃描結果^
里里里
里白里
" 未命中I
~eIi
i i
白未命中白
~ MM
yy\>、、、>、、、
灰白白
權利要求
1.一種文件的掃描方法,包括如下步驟 枚舉待掃描文件; 從所述枚舉的待掃描文件中逐一獲取所述待掃描文件的屬性值,并向服務端傳輸所述屬性值; 將所述屬性值與服務端中存儲的特征碼進行比對,得到與所述屬性值一致的特征碼以及所述特征碼所屬的類別; 根據(jù)與所述屬性值一致的特征碼以及所述特征碼所屬的類別形成所述待掃描文件、屬性值以及類別之間的對應關系,并將所述對應關系記錄于第一掃描結果中。
2.根據(jù)權利要求I所述的文件的掃描方法,其特征在于,所述將所述對應關系記錄于第一掃描結果中的步驟之后還包括 根據(jù)所述第一掃描結果確定進行本地掃描的待掃描文件; 對所述確定的待掃描文件進行本地掃描得到第二掃描結果; 整合所述第二掃描結果和第一掃描結果,形成第三掃描結果。
3.根據(jù)權利要求2所述的文件的掃描方法,其特征在于,所述將所述對應關系記錄于第一掃描結果的步驟之后還包括 根據(jù)所述第三掃描結果中對應的文件項將所述待掃描文件從枚舉隊列中移除。
4.根據(jù)權利要求3所述的文件的掃描方法,其特征在于,所述根據(jù)所述第三掃描結果中對應的文件項將所述待掃描文件從枚舉的待掃描文件中移除的步驟之后還包括 在所述枚舉隊列中判斷是否存在空位,若是,則將未處于枚舉隊列中的待掃描文件添加至所述枚舉隊列中。
5.根據(jù)權利要求2所述的文件的掃描方法,其特征在于,所述從所述枚舉的待掃描文件中逐一獲取所述待掃描文件的屬性值的步驟之前還包括 判斷所述枚舉的待掃描文件長度是否達到第一閾值,若是,則從所述枚舉的待掃描文件中查找符合預設條件的待掃描文件,并進入從所述枚舉的待掃描文件中逐一獲取所述待掃描文件的屬性值的步驟; 所述根據(jù)所述第一掃描結果確定進行本地掃描的待掃描文件的步驟之前還包括 判斷所述枚舉的待掃描文件長度是否達到第二閾值,若是,則進入所述根據(jù)所述第一掃描結果確定進行本地掃描的待掃描文件的步驟。
6.根據(jù)權利要求2所述的文件的掃描方法,其特征在于,所述向服務端傳輸所述屬性值的步驟之后還包括 標記所述傳輸屬性值的待掃描文件; 所述根據(jù)所述第一掃描結果確定進行本地掃描的待掃描文件的步驟為 根據(jù)所述第一掃描結果得到所述枚舉的待掃描文件中將進行二次掃描的文件項;從枚舉的待掃描文件中選取未標記的待掃描文件,將所述進行二次掃描的文件項和未標記的待掃描文件形成進行本地掃描的待掃描文件。
7.根據(jù)權利6所述的文件的掃描方法,其特征在于,所述對所述確定的待掃描文件進行本地掃描得到第二掃描結果的步驟為 按照設定的優(yōu)先級依次掃描所述進行二次掃描的文件項和未標記的待掃描文件。
8.根據(jù)權利要求2所述的文件的掃描方法,其特征在于,所述整合所述第二掃描結果和第一掃描結果,形成第三掃描結果的步驟之后還包括 獲取所述進行二次掃描的文件項在所述第二掃描結果中對應的類別; 根據(jù)所述獲取的類別判斷所述進行二次掃描的文件項是否危險,若是,則上傳所述進行二次掃描的文件項對應的屬性值,若否,則 掃描所述進行二次掃描的文件項得到對應的可疑度; 判斷所述對應的可疑度是否超過可疑閾值,若是,則上傳所述進行二次掃描的文件項所對應的屬性值。
9.一種文件的掃描系統(tǒng),其特征在于,包括客戶端以及服務端; 所述客戶端包括 枚舉模塊,用于枚舉待掃描文件; 屬性值獲取模塊,用于從所述枚舉的待掃描文件中逐一獲取所述待掃描文件的屬性值,并向服務端傳輸所述屬性值; 所述服務端包括 數(shù)據(jù)庫,用于存儲特征碼以及所述特征碼所屬的類別; 比對模塊,用于將所述屬性值與存儲的特征碼進行比對,得到與所述屬性值相一致的特征碼以及所述特征碼所屬的類別; 對應關系形成模塊,用于根據(jù)與所述屬性值一致的特征碼以及所述特征碼所屬的類別形成所述待掃描文件、屬性值以及類別之間的對應關系,并將所述對應關系記錄于第一掃描結果中。
10.根據(jù)權利要求9所述的文件的掃描系統(tǒng),其特征在于,所述客戶端還包括 掃描文件確定模塊,用于根據(jù)所述第一掃描結果確定進行本地掃描的待掃描文件; 掃描模塊,用于對所述確定的待掃描文件進行本地掃描得到第二掃描結果; 結果整合模塊,用于整合所述第二掃描結果和第一掃描結果,形成第三掃描結果。
11.根據(jù)權利要求10所述的文件的掃描系統(tǒng),其特征在于,所述客戶端還包括 移除模塊,用于根據(jù)所述第三掃描結果中對應的文件項將所述待掃描文件從枚舉隊列中移除。
12.根據(jù)權利要求11所述的文件的掃描系統(tǒng),其特征在于,所述客戶端還包括 添加模塊,用于在所述枚舉隊列中判斷是否存在空位,若是,則將未處于枚舉隊列中的待掃描文件添加至所述枚舉隊列中。
13.根據(jù)權利要求10所述的文件的掃描系統(tǒng),其特征在于,所述客戶端還包括 枚舉判斷模塊,用于判斷所述枚舉的待掃描文件長度是否達到第一閾值,若是,則通知查找模塊; 所述查找模塊用于從所述枚舉的待掃描文件中查找符合預設條件的待掃描文件;所述枚舉判斷模塊還用于判斷所述枚舉的待掃描文件長度是否達到第二閾值,若是,則通知所述掃描文件確定模塊。
14.根據(jù)權利要求10所述的文件的掃描方法,其特征在于,所述客戶端還包括 標記模塊,用于標記所述傳輸屬性值的待掃描文件; 所述掃描文件確定模塊包括 二次掃描單元,用于根據(jù)所述第一掃描結果得到所述枚舉的待掃描文件中將進行二次掃描的文件項; 選取單元,用于從枚舉的待掃描文件中選取未標記的待掃描文件,將所述進行二次掃描的文件項和未標記的待掃描文件形成進行本地掃描的待掃描文件。
15.根據(jù)權利要求14所述的文件的掃描系統(tǒng),其特征在于,所述掃描模塊還用于按照設定的優(yōu)先級依次掃描所述進行二次掃描的文件項和未標記的待掃描文件。
16.根據(jù)權利要求10所述的文件的掃描系統(tǒng),其特征在于,所述客戶端還包括 類別獲取模塊,用于獲取所述進行二次掃描的文件項在所述第二掃描結果中對應的類別; 危險性判斷模塊,用于根據(jù)所述獲取的類別判斷所述進行二次掃描的文件項是否危險,若是,則通知上傳模塊,若否,則通知所述掃描模塊; 所述上傳模塊用于上傳所述進行二次掃描的文件項對應的屬性值; 所述掃描模塊還用于掃描所述進行二次掃描的文件項得到對應的可疑度; 可疑度判斷模塊,用于判斷所述對應的可疑度是否超過可疑閾值,若是,則通知所述上傳模塊。
全文摘要
一種文件的掃描方法包括如下步驟枚舉待掃描文件;從枚舉的待掃描文件逐一獲取待掃描文件的屬性值,并向服務端傳輸屬性值;將屬性值與服務端中存儲的特征碼進行比對,得到與屬性值一致的特征碼以及特征碼所屬的類別;根據(jù)與屬性值一致的特征碼以及特征碼所屬的類別形成待掃描文件、屬性值以及類別之間的對應關系,并將對應關系記錄于第一掃描結果中。上述文件的掃描方法及系統(tǒng),將待掃描文件的屬性值傳輸?shù)椒斩酥校c存儲在服務端中的特征碼及其類別進行比對實現(xiàn)文件的安全性和危險性識別,由于突破了客戶端存儲限制的服務端可存儲大量的特征碼,并且服務端可最快最及時地更新特征碼,使得服務端中的特征碼較為全面,大大提高了文件掃描效率。
文檔編號H04L29/06GK102915421SQ201110222738
公開日2013年2月6日 申請日期2011年8月4日 優(yōu)先權日2011年8月4日
發(fā)明者梅書慧, 梁安武 申請人:騰訊科技(深圳)有限公司