專利名稱:一種基于云的樣本數(shù)據(jù)庫動態(tài)維護方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息安全技術(shù)領(lǐng)域,尤其涉及一種基于云安全的樣本數(shù)據(jù)庫動態(tài)維護 方法。
背景技術(shù):
隨著計算機技術(shù)在社會生活中各個領(lǐng)域的廣泛運用,惡意程序(Malwar, malicious software,指任何故意創(chuàng)建用來執(zhí)行未經(jīng)授權(quán)并通常是有害行為的軟件程序) 也如同其附屬品一樣接踵而來。由于這些惡意程序所具有的感染性、復(fù)制性及破壞性,其 已成為困擾計算機使用的一個重大問題,因此,在網(wǎng)絡(luò)威脅飆升的今天,更新病毒特征碼成 為企業(yè)及網(wǎng)民每天必備的工作,從每周一次到每天一次,直至?xí)r刻更新,而傳統(tǒng)殺毒軟件是 將病毒庫放在客戶端計算機,在客戶端進行文件的分析工作,在掃描過程中會反復(fù)在本地 病毒庫中進行比對,占用大量系統(tǒng)資源,并且隨著病毒庫的不斷升級,病毒庫的容量越來越 大,分析文件時所耗費的時間也越來越長,讓客戶端計算機越用越慢,因此,反病毒行業(yè)必 須尋找新的技術(shù)突破。“云安全(Cloud Security) ”計劃即是網(wǎng)絡(luò)時代信息安全的最新體現(xiàn),它融合了并 行處理、網(wǎng)格計算、未知病毒行為判斷等新興技術(shù)概念,將“云計算”的理念應(yīng)用到了安全領(lǐng) 域?!霸瓢踩庇媱澋膶崿F(xiàn)是與其樣本數(shù)據(jù)庫的構(gòu)建息息相關(guān)的,因此,如何有效的組 織并維護樣本數(shù)據(jù)庫,遂成為業(yè)界亟待解決的問題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于提供一種基于云的樣本數(shù)據(jù)庫動態(tài)維護方法,以 提高數(shù)據(jù)庫維護以及程序分析的效率,幫助對程序進行黑白判別以及文件的恢復(fù)。為解決上述技術(shù)問題,本發(fā)明提供一種基于云的樣本數(shù)據(jù)庫動態(tài)維護方法,包括 如下步驟由客戶端計算機收集程序特征及其對應(yīng)的程序行為,并傳送至服務(wù)器端;在服務(wù)器端數(shù)據(jù)庫中記錄不同的程序特征及其對應(yīng)的程序行為,以及黑/白名 單;結(jié)合現(xiàn)有已知黑/白名單中的程序特征及其對應(yīng)的程序行為,對未知程序特征及 程序行為進行分析,以更新黑/白名單。其中,所述對未知程序特征及其程序行為進行分析的步驟,可以包括如果未知程序特征與現(xiàn)有黑/白名單中的已知程序特征相同,則將該未知程序特 征及其程序行為列入黑/白名單。其中,所述對未知程序特征及其程序行為進行分析的步驟,可以包括如果未知程序行為與現(xiàn)有黑/白名單中的已知程序行為相同或近似,則將該未知 程序行為及其程序特征列入黑/白名單。
其中,所述方法可以進一步包括在具有相同或近似行為的程序之間建立行為與特征的關(guān)聯(lián)關(guān)系;根據(jù)所述具有相同或近似行為的程序之間的關(guān)聯(lián)關(guān)系,對未知程序特征及程序行 為進行分析,以更新黑/白名單。其中,所述對未知程序特征及其程序行為進行分析的步驟,可以包括當(dāng)某程序行為被列入黑/白名單時,在數(shù)據(jù)庫中將該程序行為對應(yīng)的程序特征列 入黑/白名單,并將與該程序行為有關(guān)聯(lián)關(guān)系的其他程序行為和程序特征也列入黑/白名其中,所述對未知程序特征及其程序行為進行分析的步驟,可以包括當(dāng)某程序特征被列入黑/白名單時,在數(shù)據(jù)庫中將該程序特征對應(yīng)的程序行為列 入黑/白名單,并將與該程序特征有關(guān)聯(lián)關(guān)系的其他程序行為和程序特征也列入黑/白名其中,所述方法可以進一步包括在數(shù)據(jù)庫中針對被列入黑名單的程序,進一步記錄該程序的逆向行為,以在確認(rèn) 客戶端計算機中存在或運行過該被列入黑名單的程序時,執(zhí)行所述逆向行為。其中,所述方法可以進一步包括在數(shù)據(jù)庫中針對被列入黑名單的程序,根據(jù)該程序的行為,確定客戶端計算機被 感染文件的信息;根據(jù)被感染文件的信息,將存儲于數(shù)據(jù)庫中的一份完好的對應(yīng)文件下載至客戶端 計算機中覆蓋被感染文件。其中,所述方法可以進一步包括在數(shù)據(jù)庫中進一步記錄在一預(yù)設(shè)時間內(nèi)由不同客戶端計算機收集到的相同的程 序特征的數(shù)量變化;根據(jù)所述程序特征的數(shù)量變化,對未知程序特征及程序行為進行分析,以更新黑/ 白名單。其中,所述根據(jù)程序特征的數(shù)量變化,對未知程序特征及程序行為進行分析的步 驟,可以包括如果在一預(yù)設(shè)時間內(nèi),由不同客戶端計算機收集到的某個未知程序特征的數(shù)量增 減超過閾值,則在數(shù)據(jù)庫中將該程序特征及其對應(yīng)的程序行為列入黑名單。本發(fā)明通過客戶端收集程序行為并關(guān)聯(lián)到程序特征,從而在數(shù)據(jù)庫中記錄程序特 征及其對應(yīng)的程序行為,根據(jù)收集到的程序行為和程序特征的關(guān)聯(lián)關(guān)系,可以在數(shù)據(jù)庫中 對樣本進行分析歸納,從而有助于對軟件或程序進行黑白的分類判別,還可以針對黑名單 中的惡意軟件制定相應(yīng)的清除或恢復(fù)措施。
圖1為本發(fā)明的實施模式示意圖;圖2為根據(jù)本發(fā)明實施例所述的基于云的樣本數(shù)據(jù)庫動態(tài)維護方法流程圖;圖3為根據(jù)本發(fā)明實施例所述的關(guān)聯(lián)關(guān)系示意圖;圖4為根據(jù)本發(fā)明實施例所述的文件恢復(fù)流程圖5為根據(jù)本發(fā)明實施例所述的分析流程示意圖。
具體實施例方式下面參照附圖對本發(fā)明做進一步的說明。云結(jié)構(gòu)就是一個大型的客戶端/服務(wù)器(CS)架構(gòu),如圖1所示,為本發(fā)明的實施 模式示意圖。本發(fā)明的核心思想在于通過大量客戶端計算機102收集各種程序的行為(可 以是單一行為,也可以是一組行為的組合),特別是可疑程序的行為,并將程序行為關(guān)聯(lián)到 該程序的特征,而在服務(wù)器端的數(shù)據(jù)庫104中則可以記錄一個程序的特征及其對應(yīng)的行為 記錄。這樣,在服務(wù)器端,即可依據(jù)程序行為或程序特征或一組程序行為和程序特征,在數(shù) 據(jù)庫中進行歸納和分析,從而有助于對軟件或程序進行黑白的分類判別。進一步的,還可以 針對黑名單中的惡意軟件制定相應(yīng)的清除或恢復(fù)措施。上述程序行為,可以是例如驅(qū)動加載行為,文件生成行為,程序或代碼的加載行 為,添加系統(tǒng)啟動項行為,或文件或程序的修改行為等,或者是一系列行為的組合。上述程序特征可以是經(jīng)由MD5 (Message-Digest Algorithm 5,信息-摘要算法) 運算得出的MD5驗證碼,或SHAl碼,或CRC(Cyclic Redundancy Check,循環(huán)冗余校驗)碼 等可唯一標(biāo)識原程序的特征碼。如圖2所示,為根據(jù)本發(fā)明實施例所述的基于云的樣本數(shù)據(jù)庫動態(tài)維護方法流程 圖,首先,由客戶端計算機收集程序特征及其對應(yīng)的程序行為,并傳送至服務(wù)器端(步驟 202);然后在服務(wù)器端數(shù)據(jù)庫中記錄不同的程序特征及其對應(yīng)的程序行為,以及黑/白名 單(步驟204);結(jié)合現(xiàn)有已知黑/白名單中的程序特征及其對應(yīng)的程序行為,對未知程序 特征及程序行為進行分析,以更新黑/白名單(步驟206)。由于在數(shù)據(jù)庫中記錄了程序特征及該特征對應(yīng)的行為記錄,因此可以結(jié)合已知黑 /白名單對未知程序進行分析。例如,如果未知程序特征與現(xiàn)有黑/白名單中的已知程序特征相同,則將該未知 程序特征及其程序行為都列入黑/白名單。如果未知程序行為與現(xiàn)有黑/白名單中的已知程序行為相同或近似,則將該未知 程序行為及其程序特征都列入黑/白名單。由于有些病毒通過變種或加殼等技術(shù)可以改變特征碼,但其行為卻不會有很大改 變,因此,通過程序行為記錄的對比分析,可以較為便捷的確定一些未知程序是否為惡意程 序。這種對比分析有時候甚至不需要對程序的行為本身做追蹤分析,只需要簡單的與現(xiàn)有 黑/白名單中的已知程序行為做比對即可判定未知程序的性質(zhì)。通過數(shù)據(jù)庫中的記錄分析,我們可以發(fā)現(xiàn),有一些程序的行為相同或近似,但程序 特征不同,這時,只要我們在具有相同或近似行為的程序之間建立行為與特征的關(guān)聯(lián)關(guān)系, 并根據(jù)這種關(guān)聯(lián)關(guān)系,就可以更便捷的對未知程序特征及程序行為進行分析,以更新黑/ 白名單。如圖3所示,為根據(jù)本發(fā)明實施例所述的關(guān)聯(lián)關(guān)系示意圖。假設(shè)未知程序A、B和 C的特征分別為A、B和C,其各自對應(yīng)的程序行為為Al A4,Bl B4,Cl C4。如果經(jīng)過 分析發(fā)現(xiàn)程序行為Al A4,Bl B4,Cl C4之間實質(zhì)上相同或非常近似,那么就可以在 特征A、B、C和行為Al A4,Bl B4,Cl C4之間建立特征與行為的關(guān)聯(lián)關(guān)系。
通過這種關(guān)聯(lián)關(guān)系,在一定條件下可以更加快捷的自擴展的對數(shù)據(jù)庫進行維護。 例如,當(dāng)程序B的程序行為Bl B4被確認(rèn)為惡意程序行為并被列入黑名單時,可以在數(shù)據(jù) 庫中自動將與該程序行為對應(yīng)的程序特征B列入黑名單,同時,根據(jù)關(guān)聯(lián)關(guān)系,可以自動將 與該程序行為有關(guān)聯(lián)關(guān)系的程序行為Al A4,Cl C4及對應(yīng)的程序特征A,特征C也列
入黑/白名單。再例如,如果最初時程序A、B和C都屬于黑白未知的程序,而經(jīng)由其他病毒查殺 途徑,程序特征B首先被確認(rèn)為屬于惡意程序的特征,則在數(shù)據(jù)庫中不僅可以自動將行為 Bl B4的組合列入黑名單,還可以根據(jù)關(guān)聯(lián)關(guān)系,自動將具有相同或近似行為的特征A和 C也列入黑名單,并將程序行為Al A4,Cl C4也列入黑名單。本發(fā)明由于在數(shù)據(jù)庫中記錄了程序特征對應(yīng)的行為,這就使得對未知程序的行為 分析提供了很大的便利。例如,如果對加載驅(qū)動的行為感興趣時,可以將全部帶有加載驅(qū)動 行為的程序行為調(diào)出來綜合分析,如果現(xiàn)有黑名單中帶有加載驅(qū)動行為的樣板中,在加載 驅(qū)動之后一般都跟隨一個特殊的文件生成行為,那么對于未知程序中同樣帶有類似行為組 合的程序行為就應(yīng)列入風(fēng)險提示或直接列入黑名單。本發(fā)明可采用的分析方法不限于上述,還可以利用類似于決策樹,貝葉斯算法,神 經(jīng)網(wǎng)域計算等方法,或者使用簡單的閾值分析,都可以在本發(fā)明的數(shù)據(jù)庫基礎(chǔ)上得到很好 的應(yīng)用。此外,還可以在數(shù)據(jù)庫中針對被列入黑名單的程序,進一步記錄該程序的逆向行 為,以在確認(rèn)客戶端計算機中存在或運行過該被列入黑名單的程序時,執(zhí)行所述逆向行為。例如,根據(jù)前臺收集到的信息,在依據(jù)云查殺或其他如特征碼方式查出某個程序 是惡意程序后,可以根據(jù)所述記錄的逆向行為執(zhí)行恢復(fù)動作。對于一些無法通過執(zhí)行逆向行為得到恢復(fù)的文件,還可以通過替換的方式得到恢 復(fù),如圖4所示,為根據(jù)本發(fā)明實施例所述的文件恢復(fù)流程圖,首先在數(shù)據(jù)庫中針對被列入 黑名單的程序,根據(jù)該程序的行為,確定客戶端計算機被感染文件的信息(步驟402);然后 根據(jù)被感染文件的信息,將存儲于數(shù)據(jù)庫中的一份完好的對應(yīng)文件下載至客戶端計算機中 覆蓋被感染文件(步驟404)。對于被感染文件的信息的獲取,可以通過文件路徑,系統(tǒng)版本,相關(guān)聯(lián)到的應(yīng)用程 序組件等信息在數(shù)據(jù)庫中查詢確定。另外,由于本發(fā)明利用大量客戶端計算機收集程序行為和程序特征的方式將相關(guān) 信息記錄于數(shù)據(jù)庫中,因此,還可以通過監(jiān)測分析某一程序在短時期內(nèi)的傳播速度來判定 程序的屬性。請參考圖5,為根據(jù)本發(fā)明實施例所述的分析流程示意圖,首先在數(shù)據(jù)庫中進 一步記錄在一預(yù)設(shè)時間內(nèi)由不同客戶端計算機收集到的相同的程序特征的數(shù)量變化(步 驟502);然后根據(jù)所述程序特征的數(shù)量變化,對未知程序特征及程序行為進行分析,以更 新黑/白名單(步驟504)。例如,如果在一預(yù)設(shè)時間內(nèi),由不同客戶端計算機收集到的某個未知程序特征的 數(shù)量增減超過閾值,則在數(shù)據(jù)庫中將該程序特征及其對應(yīng)的程序行為列入黑名單。利用這種方式,將前臺采集到的程序信息傳到后臺服務(wù)器集群,如果這個程序是 一個木馬程序,但它不再做任何傳播,則是一個安安靜靜的死馬,這時就可以認(rèn)為這個木馬 沒有威脅,但如果這個木馬又傳播到一個新的機器里面,則利用本發(fā)明就可以很快感知到,因為這臺客戶端計算機也會向服務(wù)器報告,當(dāng)100、500、1000臺機器報告了,服務(wù)器數(shù)據(jù)庫 就會統(tǒng)計收集到的數(shù)量增長的信息,并進行分析和反饋,在一個很短的時間內(nèi)該程序的增 長數(shù)量超過了閾值,或者出現(xiàn)了很多與這個程序的行為具有相似行為的變形程序,利用本 發(fā)明就可以自動的進行分析和判定,一旦判斷完成就可以加入黑名單中,并且利用本發(fā)明 還可以動態(tài)的自擴展的更新數(shù)據(jù)庫黑名單,極大的提高了數(shù)據(jù)庫維護以及程序分析的效 率。
權(quán)利要求
一種基于云的樣本數(shù)據(jù)庫動態(tài)維護方法,其特征在于,包括如下步驟由客戶端計算機收集程序特征及其對應(yīng)的程序行為,并傳送至服務(wù)器端;在服務(wù)器端數(shù)據(jù)庫中記錄不同的程序特征及其對應(yīng)的程序行為,以及黑/白名單;結(jié)合現(xiàn)有已知黑/白名單中的程序特征及其對應(yīng)的程序行為,對未知程序特征及程序行為進行分析,以更新黑/白名單。
2.如權(quán)利要求1所述的方法,其特征在于,所述對未知程序特征及其程序行為進行分 析的步驟,包括如果未知程序特征與現(xiàn)有黑/白名單中的已知程序特征相同,則將該未知程序特征及 其程序行為列入黑/白名單。
3.如權(quán)利要求1所述的方法,其特征在于,所述對未知程序特征及其程序行為進行分 析的步驟,包括如果未知程序行為與現(xiàn)有黑/白名單中的已知程序行為相同或近似,則將該未知程序 行為及其程序特征列入黑/白名單。
4.如權(quán)利要求1所述的方法,其特征在于,進一步包括在具有相同或近似行為的程序之間建立行為與特征的關(guān)聯(lián)關(guān)系;根據(jù)所述具有相同或近似行為的程序之間的關(guān)聯(lián)關(guān)系,對未知程序特征及程序行為進 行分析,以更新黑/白名單。
5.如權(quán)利要求4所述的方法,其特征在于,所述對未知程序特征及其程序行為進行分 析的步驟,包括當(dāng)某程序行為被列入黑/白名單時,在數(shù)據(jù)庫中將該程序行為對應(yīng)的程序特征列入黑 /白名單,并將與該程序行為有關(guān)聯(lián)關(guān)系的其他程序行為和程序特征也列入黑/白名單。
6.如權(quán)利要求4所述的方法,其特征在于,所述對未知程序特征及其程序行為進行分 析的步驟,包括當(dāng)某程序特征被列入黑/白名單時,在數(shù)據(jù)庫中將該程序特征對應(yīng)的程序行為列入黑 /白名單,并將與該程序特征有關(guān)聯(lián)關(guān)系的其他程序行為和程序特征也列入黑/白名單。
7.如權(quán)利要求1所述的方法,其特征在于,進一步包括在數(shù)據(jù)庫中針對被列入黑名單的程序,進一步記錄該程序的逆向行為,以在確認(rèn)客戶 端計算機中存在或運行過該被列入黑名單的程序時,執(zhí)行所述逆向行為。
8.如權(quán)利要求1所述的方法,其特征在于,進一步包括在數(shù)據(jù)庫中針對被列入黑名單的程序,根據(jù)該程序的行為,確定客戶端計算機被感染 文件的信息;根據(jù)被感染文件的信息,將存儲于數(shù)據(jù)庫中的一份完好的對應(yīng)文件下載至客戶端計算 機中覆蓋被感染文件。
9.如權(quán)利要求1所述的方法,其特征在于,進一步包括在數(shù)據(jù)庫中進一步記錄在一預(yù)設(shè)時間內(nèi)由不同客戶端計算機收集到的相同的程序特 征的數(shù)量變化;根據(jù)所述程序特征的數(shù)量變化,對未知程序特征及程序行為進行分析,以更新黑/白 名單。
10.如權(quán)利要求9所述的方法,其特征在于,所述根據(jù)程序特征的數(shù)量變化,對未知程序特征及程序行為進行分析的步驟,包括如果在一預(yù)設(shè)時間內(nèi),由不同客戶端計算機收集到的某個未知程序特征的數(shù)量增減超 過閾值,則在數(shù)據(jù)庫中將該程序特征及其對應(yīng)的程序行為列入黑名單。
全文摘要
本發(fā)明提供一種基于云的樣本數(shù)據(jù)庫動態(tài)維護方法,首先由客戶端計算機收集程序特征及其對應(yīng)的程序行為,并傳送至服務(wù)器端;然后在服務(wù)器端數(shù)據(jù)庫中記錄不同的程序特征及其對應(yīng)的程序行為,以及黑/白名單;結(jié)合現(xiàn)有已知黑/白名單中的程序特征及其對應(yīng)的程序行為,對未知程序特征及程序行為進行分析,以更新黑/白名單。本發(fā)明通過客戶端收集程序行為并關(guān)聯(lián)到程序特征,從而在數(shù)據(jù)庫中記錄程序特征及其對應(yīng)的程序行為,根據(jù)收集到的程序行為和程序特征的關(guān)聯(lián)關(guān)系,可以在數(shù)據(jù)庫中對樣本進行分析歸納,從而有助于對軟件或程序進行黑白的分類判別,還可以針對黑名單中的惡意軟件制定相應(yīng)的清除或恢復(fù)措施。
文檔編號G06F21/00GK101923617SQ201010256958
公開日2010年12月22日 申請日期2010年8月18日 優(yōu)先權(quán)日2010年8月18日
發(fā)明者徐貴斌, 范紀(jì)锽, 齊向東 申請人:奇智軟件(北京)有限公司