專利名稱:針對大文件的病毒檢測系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機安全防護技術(shù)領(lǐng)域,具體涉及針對較大文件的病毒檢測系統(tǒng)及方法。
背景技術(shù):
我們知道,計算機病毒是人為的特制程序代碼,其具有自我復(fù)制能力,很強的感染性,一定的潛伏性,特定的觸發(fā)性和很大的破壞性?,F(xiàn)有最主要的病毒檢測方法為特征碼匹配的方法,通過對文件提取部分特征碼,與病毒相應(yīng)的特征進行比對,如果匹配則判定該文件為病毒文件,否則判定該文件至少不是該類病毒?,F(xiàn)有技術(shù)由于考慮到病毒本身的有效代碼比較少,所以對于較大文件或超大文件(例如300M作為分界),通常不進行病毒檢測,直接認為是安全文件。然而,病毒與反病毒是作為一種技術(shù)對抗長期存在的,隨著以上判毒規(guī)律被越來越多病毒制造者所熟知,隨之而來的就是新型的、經(jīng)過包裝的病毒。病毒制造者會故意地將含有病毒代碼的文件做大,其通常的做法是在病毒代碼后加上大量的冗余數(shù)據(jù),以逃過檢測。
發(fā)明內(nèi)容
本發(fā)明的目的是針對可能包含有病毒的大文件,提供一種相應(yīng)的病毒檢測系統(tǒng)及方法。實現(xiàn)上述目的的技術(shù)方案如下一種針對大文件的病毒檢測系統(tǒng),其特征在于,包括信息量檢測模塊,讀取被檢測文件,判斷其信息量與數(shù)據(jù)量是否匹配,并分別相應(yīng)生成文件正常初判信號給病毒判定模塊或文件異常初判信號給文件結(jié)構(gòu)檢測模塊;文件結(jié)構(gòu)檢測模塊,在接收到文件異常初判信號后啟動,讀取被檢測文件,判斷文件結(jié)構(gòu)中是否存在超過一定比例的數(shù)據(jù)塊,并分別相應(yīng)生成文件正常提示信號或文件異常提示信號給病毒判定模塊;病毒判定模塊,根據(jù)信息量檢測模塊提供的文件正常初判信號、文件結(jié)構(gòu)檢測模塊提供的文件正常提示信號生成文件正常判定信號,或根據(jù)文件結(jié)構(gòu)檢測模塊提供的文件正常提示信號生成文件正常判定信號。一種針對大文件的病毒檢測方法,其特征在于,包括以下步驟(I)讀取被檢測文件;(2)計算被檢測文件信息熵;(3)判斷所得信息熵是否超過一設(shè)定的閾值K,是則判定文件非病毒并結(jié)束,否則進入步驟(4) ; (4)再次讀取該被檢測文件;(5)分析被檢測文件的文件結(jié)構(gòu),找到最大數(shù)據(jù)塊;(6)判斷所述最大數(shù)據(jù)塊相對整個文件的比例是否超過閾值M,否則判定文件非病毒并結(jié)束,是則判定該被檢測文件為病毒文件。本發(fā)明的有益效果在于先判斷大文件的信息量是否正常,如果正常則判定該文件非病毒文件,如果信息量不正常則進一步分析文件的結(jié)構(gòu),如果文件結(jié)構(gòu)中確實存在超過整個文件一定比例的數(shù)據(jù)塊,則判定該文件包含有病毒,否則判定該文件非病毒文件。本發(fā)明簡單實用,對現(xiàn)有大文件隱藏病毒的方式,有著很高的判毒效率及可靠性,且不需要運、行可執(zhí)行文件的情況下,就可以判斷出文件是否為病毒文件。
圖I為本發(fā)明實施例提供的系統(tǒng)的主體構(gòu)成框圖。圖2為本發(fā)明實施例提供的系統(tǒng)中信息量檢測模塊的的構(gòu)成框圖。圖3為本發(fā)明實施例提供的系統(tǒng)中文件結(jié)構(gòu)檢測模塊的的構(gòu)成框圖。圖4為本發(fā)明實施例提供的方法的主流程圖。
具體實施例方式如圖I所示,本實施例提供的針對大文件的病毒檢測系統(tǒng),包括信息量檢測模塊、文件結(jié)構(gòu)檢測模塊及病毒判定模塊,三者彼此間通信配合,下面詳細說明各模塊功能及配合關(guān)系。 如圖2所示,信息量檢測模塊包括文件讀取單元、信息熵計算單元、信息量比較單元及初判信號生成單元。文件讀取單元用于讀取被檢測文件;信息熵計算單元用于對讀取到的被檢測文件進行信息量的計算;信息量比較單元用于將所得信息量與設(shè)定的閾值K比較;初判信號生成單元根據(jù)比較結(jié)果分別生成文件正常初判信號或文件異常初判信號,即當(dāng)信息量低于所述閾值K時生成文件正常初判信號,并發(fā)給病毒判定模塊,當(dāng)信息量高于所述閾值K時生成文件異常初判信號,并發(fā)給文件結(jié)構(gòu)檢測模塊(作為文件檢測模塊的功能啟動信號)。上述信息量檢測模塊的基本工作原理是我們知道,一個正常的文件,其信息量和數(shù)據(jù)量應(yīng)該有一定的匹配關(guān)系,如果數(shù)據(jù)量很大而信息量很小時,該文件就是值得懷疑的,至少其中包含有大量的垃圾數(shù)據(jù);如果信息量和數(shù)據(jù)量可以達到一定的匹配關(guān)系,則可以認為該文件是安全的(就目前病毒技術(shù)而言)。如圖3所示,文件結(jié)構(gòu)檢測模塊包括功能啟動單元、文件入口單元、文件結(jié)構(gòu)分析單元、最大數(shù)據(jù)塊抽取單元、比例計算模塊及檢測信號生成模塊。其中,功能啟動單元用于控制整個文件檢測模塊的功能的啟閉,通過接收上文所述的文件異常初判信號進行功能啟動控制;文件入口單元用于讀取被檢測文件。文件結(jié)構(gòu)分析單元用于分析被檢測文件的構(gòu)成,將組成文件的各部分劃分開來;例如一個PE文件可以分成四個部分文件頭、代碼段、引入表及數(shù)據(jù)段,病毒代碼可能只隱藏在代碼段內(nèi),而數(shù)據(jù)段內(nèi)可能會有大量的垃圾數(shù)據(jù)。最大數(shù)據(jù)塊抽取單元用于將文件結(jié)構(gòu)中的最大數(shù)據(jù)塊找出來,同時也得知其數(shù)據(jù)量。比例計算模塊用于計算所述最大數(shù)據(jù)塊相比整個被檢測文件的比例,并將比例結(jié)果提供給檢測信號生成模塊。檢測信號生成模塊根據(jù)比例結(jié)果生成文件正常提示信號或文件異常提示信號給病毒判定模塊。病毒判定模塊用于生成最終的判定結(jié)果,具體地,其接收信息量檢測模塊提供的文件正常初判信號或文件結(jié)構(gòu)檢測模塊提供的文件正常提示信號,并生成文件正常判定信號;或者其接收文件結(jié)構(gòu)檢測模塊提供的文件異常提示信號生成文件異常判定信號。如圖4所示,本實施例提供的針對大文件的病毒檢測方法,包括以下步驟(I)通過信息量檢測模塊的文件讀取單元讀取被檢測文件;(2)利用信息量檢測模塊的信息熵計算單元計算被檢測文件信息熵;(3)利用信息量檢測模塊的信息量比較單元判斷所得信息熵是否超過一設(shè)定的閾值K,是則由病毒判定模塊判定文件非病毒并結(jié)束,否則進入步驟(4);(4)文件結(jié)構(gòu)檢測模塊通過其文件入口模塊再次讀取該被檢測文件;(5)利用文件結(jié)構(gòu)檢測模塊的文件結(jié)構(gòu)分析單元分析被檢測文件的文件結(jié)構(gòu),利用文件結(jié)構(gòu)檢測模塊的最大數(shù)據(jù)塊抽取單元找到最大數(shù)據(jù)塊;(6)利用文件結(jié)構(gòu)檢測模塊的比例計算單元判斷所述最大數(shù)據(jù)塊相對整個文件的比例是否超過閾值M,否則由病毒判定模塊判定文件非病毒并結(jié)束,是則判定該被檢測文件為病毒文件。本發(fā)明提供的針對大文件的病毒檢測系統(tǒng),首先通過計算文件的有效信息量,判斷文件中是否存在大量的垃圾數(shù)據(jù),如果確實存在,則進一步確定最大的數(shù)據(jù)塊及其所在的位置,及其占整個文件的比例,如果小于設(shè)定閾值,則判定。本發(fā)明的判毒方法,簡單有效,不需要運行可執(zhí)行文件的情況下,就可以判斷出文件是否為病毒文件。權(quán)利要求
1.一種針對大文件的病毒檢測系統(tǒng),其特征在于,包括 信息量檢測模塊,讀取被檢測文件,判斷其信息量與數(shù)據(jù)量是否匹配,并分別相應(yīng)生成文件正常初判信號給病毒判定模塊或文件異常初判信號給文件結(jié)構(gòu)檢測模塊; 文件結(jié)構(gòu)檢測模塊,在接收到文件異常初判信號后啟動,讀取被檢測文件,判斷文件結(jié)構(gòu)中是否存在超過一定比例的數(shù)據(jù)塊,并分別相應(yīng)生成文件正常提示信號或文件異常提示信號給病毒判定模塊; 病毒判定模塊,根據(jù)信息量檢測模塊提供的文件正常初判信號、文件結(jié)構(gòu)檢測模塊提供的文件正常提示信號生成文件正常判定信號,或根據(jù)文件結(jié)構(gòu)檢測模塊提供的文件正常提示信號生成文件正常判定信號。
2.根據(jù)權(quán)利要求I所述的針對大文件的病毒檢測系統(tǒng),其特征在于所述信息量檢測模塊包括讀取被檢測文件的文件讀取單元、對讀取到的被檢測文件進行信息量的計算的信息熵計算單元、將所得信息量與一設(shè)定閾值K比較的信息量比較單元、及根據(jù)比較結(jié)果分別生成文件正常初判信號或文件異常初判信號初判信號生成單元。
3.根據(jù)權(quán)利要求2所述的針對大文件的病毒檢測系統(tǒng),其特征在于所述文件結(jié)構(gòu)檢測模塊包括通過接收上文所述的文件異常初判信號并控制整個文件檢測模塊的功能啟閉的功能啟動單元、讀取被檢測文件的文件入口單元、分析被檢測文件的構(gòu)成并將文件各部分劃分開來的文件結(jié)構(gòu)分析單元、將文件結(jié)構(gòu)中的最大數(shù)據(jù)塊找出來的最大數(shù)據(jù)塊抽取單元、計算所述最大數(shù)據(jù)塊相比整個被檢測文件的比例的比例計算模塊、及根據(jù)比例結(jié)果生成文件正常提示信號或文件異常提示信號的檢測信號生成模塊。
4.一種針對大文件的病毒檢測方法,其特征在于,包括以下步驟(1)讀取被檢測文件;(2)計算被檢測文件信息熵;(3)判斷所得信息熵是否超過一設(shè)定的閾值K,是則判定文件非病毒并結(jié)束,否則進入步驟(4) ; (4)再次讀取該被檢測文件;(5)分析被檢測文件的文件結(jié)構(gòu),找到最大數(shù)據(jù)塊;(6)判斷所述最大數(shù)據(jù)塊相對整個文件的比例是否超過閾值M,否則判定文件非病毒并結(jié)束,是則判定該被檢測文件為病毒文件。
全文摘要
本發(fā)明公開了一種針對大文件的病毒檢測系統(tǒng)方法,包括以下步驟(1)讀取被檢測文件;(2)計算被檢測文件信息熵;(3)判斷所得信息熵是否超過一設(shè)定的閾值K,是則判定文件非病毒并結(jié)束,否則進入步驟(4);(4)再次讀取該被檢測文件;(5)分析被檢測文件的文件結(jié)構(gòu),找到最大數(shù)據(jù)塊;(6)判斷所述最大數(shù)據(jù)塊相對整個文件的比例是否超過閾值M,否則判定文件非病毒并結(jié)束,是則判定該被檢測文件為病毒文件。本發(fā)明簡單實用,對現(xiàn)有大文件隱藏病毒的方式,有著很高的判毒效率及可靠性,且不需要運行可執(zhí)行文件的情況下,就可以判斷出文件是否為病毒文件。
文檔編號G06F21/00GK102708313SQ20121005997
公開日2012年10月3日 申請日期2012年3月8日 優(yōu)先權(quán)日2012年3月8日
發(fā)明者趙昱, 陳章群 申請人:珠海市君天電子科技有限公司