專利名稱:用于查殺惡意程序的文件篩選系統(tǒng)和文件篩選方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機反惡意程序類軟件領(lǐng)域,尤其涉及一種用于查殺惡意程序的文 件篩選系統(tǒng)和文件篩選方法。
背景技術(shù):
目前,計算機反惡意程序軟件查殺惡意程序的基本原理是鑒別收集到的文件是 否為惡意程序,并將鑒別出來的惡意程序提取特征、生成特征庫;掃描客戶端計算機中的全 部文件,并判斷每個文件是否與特征庫中的惡意特征相匹配,如果匹配則為惡意文件。隨著 計算機軟件和硬件技術(shù)的發(fā)展,一方面,計算機的硬盤空間越來越大,所能安裝和存放的軟 件越來越多;另一方面軟件的種類也越來越多,尤其是一些專業(yè)軟件,比如PRO-Ε、UG等工 程軟件,還有電子設(shè)計軟件、財會軟件、平面設(shè)計軟件等等,不少專業(yè)軟件都是特定人群使 用,在整個因特網(wǎng)內(nèi)的使用比例并不是很大,但這些軟件在單個客戶端上所占的空間卻比 較大,所有這些軟件的文件總數(shù)數(shù)量龐大,分布不廣的文件數(shù)量占文件總數(shù)的比率很高。因 此,對整個客戶端所在計算機的全部文件鑒別哪些文件是惡意的需要花費大量的時間,使 得反惡意程序軟件響應(yīng)惡意程序的時間變長,對所有的惡意程序檢測覆蓋率變低,不能滿 足用戶的使用要求。針對上述問題,先進行一次粗選,將一部分無危害(或可以確定為非惡意)的文件 排出在鑒別、收集范圍之外,將提高反惡意程序軟件對惡意程序的響應(yīng)速度和提高反惡意 程序軟件對惡意程序的檢測比率。
發(fā)明內(nèi)容
本發(fā)明克服了現(xiàn)有技術(shù)中的不足,本發(fā)明的第一目的是提供一種文件篩選系統(tǒng), 使用該系統(tǒng)可以對整個系統(tǒng)所分布的網(wǎng)絡(luò)內(nèi)的計算機上的軟件進行篩選,篩選出來的文件 可用于后續(xù)惡意程序鑒別。本發(fā)明的第二目的是提供一種使用上述文件篩選系統(tǒng)的文件篩選方法。為了實現(xiàn)上述第一目的,本發(fā)明采用如下技術(shù)方案用于查殺惡意程序 的文件篩選系統(tǒng),其特征在于,包括服務(wù)器端和多個客戶端;服務(wù)器端包括通信模塊,其用于與各個客戶端的通信模塊共同實現(xiàn)服務(wù)器端與客戶端的信息交 互;文件收集庫,其用于存放符合收集條件的文件;文件記錄表,其記錄各個文件的分布數(shù)量信息,以及各個文件的首發(fā)時間信息和 最后觸發(fā)時間信息;所說的各個文件的分布數(shù)量是指存放該文件的裝有客戶端的計算機數(shù) 量,所說的首發(fā)時間是指存放該文件的計算機第一次通過客戶端向服務(wù)器端匯報存在此文 件的時間,所說的最后觸發(fā)時間是指存放該文件的計算機最后一次通過客戶端向服務(wù)器端 匯報存在此文件的時間;
篩選模塊,其用于計算各個文件的分布廣度和擴散速度,并將符合設(shè)定條件的文 件放入文件收集庫,所述的設(shè)定條件由編程人員設(shè)定,根據(jù)文件分布廣度和文件的擴散速 度判斷是否篩選出該文件到文件收集庫;所述文件分布廣度是指擁有該文件的計算機數(shù)量 與總的安裝有客戶端的計算機數(shù)量的比值,所述文件的擴散速度是指該文件的數(shù)量除以該 文件的最后觸發(fā)時間與首發(fā)時間的差值;客戶端包括 通信模塊,其用于與服務(wù)器端的通信模塊共同實現(xiàn)服務(wù)器端與客戶端的信息交 互;文件特征采集模塊,其連續(xù)循環(huán)采集客戶端所在計算機中所有文件的文件特征信 息,該文件與其文件特征一一對應(yīng),文件特征信息通過客戶端通信模塊發(fā)送給服務(wù)器端。為了實現(xiàn)上述第二目的,本發(fā)明采用如下技術(shù)方案使用上述文件篩選系統(tǒng)進行文件篩選的方法,其包括如下過程a.將多個客戶端分別安裝在各個計算機上,服務(wù)器端和多個客戶端通過網(wǎng)絡(luò)連 接;b.客戶端的文件特征采集模塊連續(xù)循環(huán)采集其所在計算機上所有文件的文件特 征信息,并通過客戶端的通信模塊發(fā)送給服務(wù)器端;c.如果服務(wù)器端存在這個特征信息,則將這個特征所對應(yīng)文件的分布數(shù)量信息加 1,同時將當前時間記錄為該文件的最后觸發(fā)時間;如果服務(wù)器端不存在這個特征信息,則 將這個特征所對應(yīng)文件的分布數(shù)量信息設(shè)為1,同時將當前時間記錄為該文件的首發(fā)時間 和最后觸發(fā)時間;d.文件記錄表中某文件的分布數(shù)量信息和文件的最后觸發(fā)時間發(fā)生變化時,篩選 模塊計算該文件的分布廣度和擴散速度,如果該文件符合設(shè)定條件則放入文件收集庫,否 則暫不收集此文件。通過采用上述文件篩選裝置和篩選方法,可以對計算機中的所有文件進行篩選, 根據(jù)各個文件在網(wǎng)絡(luò)中的分布廣度和擴散速度,對一些基本無危害(或基本可以確定為非 惡意)的文件排出在收集范圍之外,收集的文件可以后續(xù)再進行惡意程序鑒別,大大縮短 了鑒別惡意程序的用時。
圖1為所有文件在裝有客戶端的全部計算機中的分布情況示意圖。以下結(jié)合實施例對本發(fā)明內(nèi)容進行詳細說明。
具體實施例方式本發(fā)明文件篩選系統(tǒng)的作用是篩選出一部分文件,這部分篩選出來的文件作為后 續(xù)進行惡意程序鑒別等操作的對象,而未被篩選出來的文件可以認為是無危害文件,不進 行后續(xù)的惡意程序鑒別。這就要求該文件篩選系統(tǒng)的篩選規(guī)則要合理,否則將遺漏本該進 行鑒別的文件。因此,首先要介紹一下該文件篩選系統(tǒng)進行文件篩選的理論依據(jù)。一般黑白樣本 在整個網(wǎng)絡(luò)中的分布廣度存在著差異,我們可以利用這種差異來收集黑白樣本。這里所說的黑白樣本分別指惡意文件和無惡意文件。經(jīng)研究,含有惡意代碼的文件一般具有如下特 征1、惡意程序以炫耀技術(shù)為目的的時期,惡意程序的總量較少、增長速度較慢;惡意程序以經(jīng)濟利益為目的的時期,其增長速度飛快,總量迅速增大,符合經(jīng)濟學(xué)規(guī)律。2、惡意程序的經(jīng)濟目的決定了惡意程序作者需要讓惡意程序分布到更廣的受害 者機器上。而制作惡意程序是非法行為,這又限制了惡意程序的散播規(guī)模。3、無論用什么方法的反惡意程序的解決方案中,都至少存在著一個或多個最初受 害者。參見圖1,該圖為所有文件在裝有客戶端的全部計算機中的分布情況示意圖。其中 X軸為文件的分布廣度,Y為文件量。從圖中可以看出,絕大多數(shù)的文件的分布廣度都比較 小,分布廣度小于的文件總量為圖中陰影部分面積。這其中就包括一些專業(yè)軟件,如工 程軟件、電子設(shè)計軟件、財會軟件等等,從后續(xù)的描述可知,這些分布廣度極小的文件并不 進行收集,也就是不會進行后續(xù)的惡意程序鑒別操作。用于反惡意程序的文件篩選系統(tǒng),包括服務(wù)器端和多個客戶端;服務(wù)器端包括通信模塊,其用于與各個客戶端的通信模塊共同實現(xiàn)服務(wù)器端與客戶端的信息交 互;文件收集庫,其用于存放符合收集條件的文件,作為后續(xù)進行查殺惡意程序的源 文件庫;文件記錄表,其記錄各個文件的分布數(shù)量信息,以及各個文件的首發(fā)時間信息和 最后觸發(fā)時間信息;所說的各個文件的數(shù)量是指存放該文件的裝有客戶端的計算機數(shù)量, 所說的首發(fā)時間是指存放該文件的計算機第一次通過客戶端向服務(wù)器端匯報存在此文件 的時間,所說的最后觸發(fā)時間是指存放該文件的計算機最后一次通過客戶端向服務(wù)器端匯 報存在此文件的時間;篩選模塊,其用于計算各個文件的分布廣度和擴散速度,并將符合設(shè)定條件的文 件放入文件收集庫,所述的設(shè)定條件由編程人員設(shè)定,根據(jù)文件分布廣度和文件的擴散速 度判斷是否篩選出該文件到文件收集庫;所述文件分布廣度是指擁有該文件的計算機數(shù)量 與總的安裝有客戶端的計算機數(shù)量的比值,所述文件的擴散速度是指該文件的數(shù)量除以該 文件的最后出發(fā)時間與首發(fā)時間的差值;客戶端包括通信模塊,其用于與服務(wù)器端的通信模塊共同實現(xiàn)服務(wù)器端與客戶端的信息交 互;文件特征采集模塊,其連續(xù)循環(huán)采集客戶端所在計算機中所有文件的文件特征信 息,該文件與其文件特征一一對應(yīng),文件特征信息通過客戶端通信模塊發(fā)送給服務(wù)器端???戶端發(fā)送文件特征信息前判斷該特征信息是否已經(jīng)發(fā)送過,對于已經(jīng)發(fā)送過的特征信息, 客戶端不再進行重復(fù)發(fā)送;客戶端并不把整個文件都發(fā)送給客戶端,僅僅采用文件的特征信息,減少網(wǎng)絡(luò)傳 輸流量,減少服務(wù)器所需的文件存儲空間。但是,必須通過這些特征信息能夠確定一個文 件,即文件與文件的特征信息要一一對應(yīng)。在本發(fā)明中,文件特征信息用兩種方式描述,第一為文件MD5值,如果MD5值相同,則為相同文件,如果MD5值不同,進一步采用第二種方 式,將文件分為10個區(qū)域,分別計算這10個區(qū)域的HASH值,選取這10個HASH值的任意兩 個值為一個特征值,每組為一個特征,如果不同MD5的文件有任意一個特征相同,則視為同 一文件,否則為不同文件。結(jié)合圖1,所述的設(shè)定條件為文件分布廣度大于且小于《%時,如果文件的擴散速度小于U1,則將該文件篩 選出來放入文件收集庫;文件分布廣度高于13%且小于時,如果文件的擴散速度大于U2,則將該文件篩 選出來放入文件收集庫;文件分布廣度高于時,則將該文件篩選出來放入文件收集庫; 其中,m<b<w<n ;所述m、b、w、n、Ul、U2的數(shù)值由編程人員根據(jù)客戶端的數(shù)量 設(shè)定??蛻舳说臄?shù)量越多,文件篩選系統(tǒng)的篩選準確率也就相對越高。上述各個數(shù)值的確 定也可以根據(jù)需要設(shè)定,比如,m值設(shè)定的越大,篩選的準確率可能會降低(一些有危害的 文件可能漏選),但是后續(xù)待惡意程序鑒別的文件數(shù)量減少,惡意程序鑒別的時間縮短。相 反,如果m值設(shè)定的越小,篩選的準確率就會提高,但后續(xù)查殺病的時間就會增加。申請人:(金山軟件)根據(jù)本公司軟件客戶端的分布情況,取值如下,m = 0.001,b =0.01,w = 0. 02,η = 0. 1,U1為1個/2分鐘,U2為1個/2秒鐘。以這些數(shù)值為例,下面 介紹一下文件篩選的方法。文件篩選方法包括如下過程a.將多個客戶端分別安裝在各個計算機上,服務(wù)器端和多個客戶端通過網(wǎng)絡(luò)連 接;b.客戶端的文件特征采集模塊連續(xù)循環(huán)采集其所在計算機上所有文件的文件特 征信息,并通過客戶端的通信模塊發(fā)送給服務(wù)器端;客戶端發(fā)送文件特征信息前判斷該特 征信息是否已經(jīng)發(fā)送過,對于已經(jīng)發(fā)送過的特征信息,客戶端不再進行重復(fù)發(fā)送;c.如果服務(wù)器端存在這個特征信息,則將這個特征所對應(yīng)文件的分布數(shù)量信息加 1,同時將當前時間記錄為該文件的最后觸發(fā)時間;如果服務(wù)器端不存在這個特征信息,則 將這個特征所對應(yīng)文件的分布數(shù)量信息設(shè)為1,同時將當前時間記錄為該文件的首發(fā)時間 和最后觸發(fā)時間;d.文件記錄表中某文件的分布數(shù)量信息和文件的最后觸發(fā)時間發(fā)生變化時,篩選 模塊計算該文件的分布廣度和擴散速度,如果該文件符合設(shè)定條件則放入文件收集庫,否 則暫不收集此文件。具體地說,文件分布廣度大于0. 001%且小于0. 02%時,如果文件的擴 散速度大于2分鐘/個,則將該文件篩選出來放入文件收集庫;文件分布廣度高于0. 01 % 且小于0. 時,如果文件的擴散速度小于2秒鐘/個,則將該文件篩選出來放入文件收集 庫;文件分布廣度高于0. 時,則將該文件篩選出來放入文件收集庫。正如前面對含有惡意代碼的惡意程序特征的分析,一個惡意文件在初期,分布廣 度沒有達到m%,不會被篩選出來。但是,隨著它的擴散,其分布廣度增大,一旦其分布廣度 達到至,且擴散速度小于U1,則文件會被篩選出來。即使它是一個高速傳播的惡意 程序(比如利用漏洞主動傳播的蠕蟲),此時該文件沒有達到上述要求而被收集,那么隨著 該文件的擴散,文件分布廣度高于13%且小于時,如果文件的擴散速度大于U2,則該文件會被篩選出來;如果此時仍不符合收集條件,隨著該惡意文件的進一步擴散只要其分布 廣度達到,那么不管其擴散速度是多少,都將被篩選出來。由此可見,本發(fā)明的方法針對 惡意程序文件的擴散特征,可以有效篩選出惡意文件,減少后續(xù)鑒別惡意程序的時間。另外,需要說明的是,對于客戶端的信息收集采取的是機器收集,不是手動收集, 并進行緩存,這樣就確保了對用戶來說,信息來源是匿名的,信息和用戶沒有關(guān)聯(lián)。并且由 于暫時存放在緩存區(qū)中,對用戶來說,服務(wù)器端并沒有永久存儲客戶的相關(guān)信息。另外,月艮 務(wù)器端提取的是可執(zhí)行文件,而不是存放在用戶機器上的文檔。
以上實施例描述僅用以說明而非限制本發(fā)明的技術(shù)方案。不脫離本發(fā)明精神和范 圍的任何修改或局部替換,應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當中。
權(quán)利要求
用于查殺惡意程序的文件篩選系統(tǒng),其特征在于,包括服務(wù)器端和多個客戶端;服務(wù)器端包括通信模塊,其用于與各個客戶端的通信模塊共同實現(xiàn)服務(wù)器端與客戶端的信息交互;文件收集庫,其用于存放符合收集條件的文件;文件記錄表,其記錄各個文件的分布數(shù)量信息,以及各個文件的首發(fā)時間信息和最后觸發(fā)時間信息;所說的各個文件的數(shù)量是指存放該文件的裝有客戶端的計算機數(shù)量,所說的首發(fā)時間是指存放該文件的計算機第一次通過客戶端向服務(wù)器端匯報存在此文件的時間,所說的最后觸發(fā)時間是指存放該文件的計算機最后一次通過客戶端向服務(wù)器端匯報存在此文件的時間;篩選模塊,其用于計算各個文件的分布廣度和擴散速度,并將符合設(shè)定條件的文件放入文件收集庫,所述的設(shè)定條件由編程人員設(shè)定,根據(jù)文件分布廣度和文件的擴散速度判斷是否篩選出該文件到文件收集庫;所述文件分布廣度是指擁有該文件的計算機數(shù)量與總的安裝有客戶端的計算機數(shù)量的比值,所述文件的擴散速度是指該文件的數(shù)量除以該文件的最后出發(fā)時間與首發(fā)時間的差值;客戶端包括通信模塊,其用于與服務(wù)器端的通信模塊共同實現(xiàn)服務(wù)器端與客戶端的信息交互;文件特征采集模塊,其連續(xù)循環(huán)采集客戶端所在計算機中所有文件的文件特征信息,該文件與其文件特征一一對應(yīng),文件特征信息通過客戶端通信模塊發(fā)送給服務(wù)器端。
2.根據(jù)權(quán)利要求1所述的用于查殺惡意程序的文件篩選系統(tǒng),其特征在于,文件特征信息用兩種方式描述,第一為文件MD5值,如果MD5值相同,則為相同文件, 如果MD5值不同,進一步采用第二種方式,將文件分為10個區(qū)域,分別計算這10個區(qū)域的 HASH值,選取這10個HASH值的任意兩個值為一個特征值,每組為一個特征,如果不同MD5 的文件有任意一個特征相同,則視為同一文件,否則為不同文件。
3.根據(jù)權(quán)利要求2所述的用于查殺惡意程序的文件篩選系統(tǒng),其特征在于, 所述的設(shè)定條件為文件分布廣度大于且小于時,如果文件的擴散速度小于U1,則將該文件篩選出 來放入文件收集庫;文件分布廣度高于且小于時,如果文件的擴散速度大于U2,則將該文件篩選出 來放入文件收集庫;文件分布廣度高于時,則將該文件篩選出來放入文件收集庫;其中,m < b < w < n ;所述m、b、w、n、Ul、U2的數(shù)值由編程人員根據(jù)客戶端的數(shù)量設(shè)定。
4.根據(jù)權(quán)利要求3所述的用于查殺惡意程序的文件篩選系統(tǒng),其特征在于,m = 0. 001,b = 0. 01,w = 0. 02,n = 0. 1,U1 為 1 個 /2 分鐘,U2 為 1 個 /2 秒鐘。
5.根據(jù)權(quán)利要求1-4中任意一項所述的用于查殺惡意程序的文件篩選系統(tǒng),其特征在于,客戶端發(fā)送文件特征信息前判斷該特征信息是否已經(jīng)發(fā)送過,對于已經(jīng)發(fā)送過的特征 信息,客戶端不再進行重復(fù)發(fā)送。
6.使用權(quán)利要求1所述的文件篩選系統(tǒng)的文件篩選方法,其特征在于,包括如下過程a.將多個客戶端分別安裝在各個計算機上,服務(wù)器端和多個客戶端通過網(wǎng)絡(luò)連接;b.客戶端的文件特征采集模塊連續(xù)循環(huán)采集其所在計算機上所有文件的文件特征信 息,并通過客戶端的通信模塊發(fā)送給服務(wù)器端;c.如果服務(wù)器端存在這個特征信息,則將這個特征所對應(yīng)文件的分布數(shù)量信息加1, 同時將當前時間記錄為該文件的最后觸發(fā)時間;如果服務(wù)器端不存在這個特征信息,則將 這個特征所對應(yīng)文件的分布數(shù)量信息設(shè)為1,同時將當前時間記錄為該文件的首發(fā)時間和 最后觸發(fā)時間;d.文件記錄表中某文件的分布數(shù)量信息和文件的最后觸發(fā)時間發(fā)生變化時,篩選模塊 計算該文件的分布廣度和擴散速度,如果該文件符合設(shè)定條件則放入文件收集庫,否則暫 不收集此文件。
7.根據(jù)權(quán)利要求6所述的文件篩選方法,其特征在于,文件特征信息用兩種方式描述, 第一為文件MD5值,如果MD5值相同,則為相同文件,如果MD5值不同,進一步采用第二種方 式,將文件分為10個區(qū)域,分別計算這10個區(qū)域的HASH值,選取這10個HASH值的任意兩 個值為一個特征值,每組為一個特征,如果不同MD5的文件有任意一個特征相同,則視為同 一文件,否則為不同文件。
8.根據(jù)權(quán)利要求7所述的文件篩選方法,其特征在于,所述的設(shè)定條件為文件分布廣度大于且小于時,如果文件的擴散速度小于U1,則將該文件篩選出 來放入文件收集庫;文件分布廣度高于且小于時,如果文件的擴散速度大于U2,則將該文件篩選出 來放入文件收集庫;文件分布廣度高于時,則將該文件篩選出來放入文件收集庫;其中,m < b < w < n ;所述m、b、w、n、Ul、U2的數(shù)值由編程人員根據(jù)客戶端的數(shù)量設(shè)定。
9.根據(jù)權(quán)利要求8所述的文件篩選方法,其特征在于,m = 0. 001,b = 0. 01, w = 0. 02,n = 0. 1,Ul 為 2 分鐘 / 個,U2 為 2 秒鐘 / 個。
10.根據(jù)權(quán)利要求6-9中任意一項所述的文件篩選方法,其特征在于,客戶端發(fā)送文件特征信息前判斷該特征信息是否已經(jīng)發(fā)送過,對于已經(jīng)發(fā)送過的特征 信息,客戶端不再進行重復(fù)發(fā)送。
全文摘要
本發(fā)明涉及計算機反惡意程序類軟件領(lǐng)域,尤其涉及一種用于查殺惡意程序的文件篩選系統(tǒng)和文件篩選方法。用于查殺惡意程序的文件篩選系統(tǒng),包括服務(wù)器端和多個客戶端;服務(wù)器端包括通信模塊,其用于與各個客戶端的通信模塊共同實現(xiàn)服務(wù)器端與客戶端的信息交互;文件收集庫,其用于存放符合收集條件的文件;文件記錄表,其記錄各個文件的分布數(shù)量信息,以及各個文件的首發(fā)時間信息和最后觸發(fā)時間信息;篩選模塊,其將符合設(shè)定條件的文件放入文件收集庫;客戶端包括通信模塊和文件特征采集模塊。通過采用上述文件篩選裝置縮短了鑒別惡意程序的用時。
文檔編號G06F21/00GK101859349SQ200910038609
公開日2010年10月13日 申請日期2009年4月13日 優(yōu)先權(quán)日2009年4月13日
發(fā)明者彭仁誠, 梅銀明, 陳勇 申請人:珠海金山軟件有限公司