樣本文件的處理方法及裝置制造方法
【專利摘要】本發明提供一種樣本文件的處理方法及裝置,屬于病毒分析【技術領域】。其中,該樣本文件的處理方法包括:接收樣本文件,確定包含有所述樣本文件運行所需環境信息的配置文件;解析所述配置文件,獲取所述樣本文件運行所需的環境信息;根據所述環境信息發送控制指令至虛擬機,指示虛擬機配置樣本文件運行所需環境信息;將所述樣本文件發送至虛擬機,以便所述樣本文件在所述虛擬機配置的環境中運行。本發明的技術方案能夠通過虛擬機環境的模擬配置,完全觸發樣本文件的行為。
【專利說明】樣本文件的處理方法及裝置
【技術領域】
[0001]本發明涉及病毒分析【技術領域】,特別是指一種樣本文件的處理方法及裝置。
【背景技術】
[0002]現有技術在判斷樣本文件是否有害時,如果該樣本文件中的病毒程序運行需要特定的環境,而樣本文件當前并不處于該特定環境中,那么病毒行為分析系統可能捕獲不到病毒程序的行為。比如一些盜號木馬,當發現目標程序未運行時便退出不繼續向下執行,從而其危害行為便不會被病毒行為分析系統捕獲到;還有一些惡意程序安裝,在安裝過程中會觸發其一些危害行為,有些時候需要人的點擊才能進行這個安裝過程(比如“下一步”按鈕),如果安裝過程沒有進行下去,其危害行為也不會被捕捉到。
[0003]當遇到這樣的樣本文件時,現有的病毒行為分析系統無法捕獲病毒程序的后續行為,有可能判定樣本文件無害,而給計算機安全帶來隱患。
【發明內容】
[0004]本發明要解決的技術問題是提供一種樣本文件的處理方法及裝置,能夠通過虛擬機環境的模擬配置,完全觸發樣本文件的行為。
[0005]為解決上述技術問題,本發明的實施例提供技術方案如下:
[0006]一方面,提供一種樣本文件的處理方法,包括:
[0007]接收樣本文件,確定包含有所述樣本文件運行所需環境信息的配置文件;
[0008]解析所述配置文件,獲取所述樣本文件運行所需的環境信息;
[0009]根據所述環境信息發送控制指令至虛擬機,指示虛擬機配置樣本文件運行所需環境信息;
[0010]將所述樣本文件發送至虛擬機,以便所述樣本文件在所述虛擬機配置的環境中運行。
[0011]進一步地,上述方案中,所述接收樣本文件之前還包括:
[0012]創建與樣本文件對應的配置文件,將樣本文件運行所需環境信息保存在所述配置文件中。
[0013]進一步地,上述方案中,所述確定包含有所述樣本文件運行所需環境信息的配置文件包括:
[0014]計算出樣本文件的哈希值,根據所述哈希值查找出與所述樣本文件對應的配置文件。
[0015]進一步地,上述方案中,所述確定包含有所述樣本文件運行所需環境信息的配置文件還包括:
[0016]在查找不到與樣本文件對應的配置文件時,確定預設的默認環境配置文件為與所述樣本文件對應的配置文件。
[0017]進一步地,上述方案中,所述根據所述環境信息發送控制指令至虛擬機包括:[0018]在需要創建預設文件時,發送創建預設文件指令至虛擬機;和/或
[0019]在需要創建注冊表鍵時,發送注冊表創建鍵指令至虛擬機;和/或
[0020]在需要創建注冊表值時,發送注冊表創建值指令至虛擬機;和/或
[0021]在需要創建預設進程時,發送創建預設進程指令至虛擬機;和/或
[0022]在需要模擬窗口時,發送模擬窗口指令至虛擬機;和/或
[0023]在需要運行預設程序時,發送運行預設程序指令至虛擬機;和/或
[0024]在需要點擊指定按鈕時,發送點擊指定按鈕指令至虛擬機。
[0025]本發明實施例還提供了一種樣本文件的處理裝置,包括:
[0026]接收模塊,用于接收樣本文件,確定包含有所述樣本文件運行所需環境信息的配直文件;
[0027]解析模塊,用于解析所述配置文件,獲取所述樣本文件運行所需的環境信息;
[0028]通信模塊,用于根據所述環境信息發送控制指令至虛擬機,指示虛擬機配置樣本文件運行所需環境信息;并將所述樣本文件發送至虛擬機,以便所述樣本文件在所述虛擬機配置的環境中運行。
[0029]進一步地,上述方案中,所述處理裝置還包括:
[0030]創建模塊,用于創建與樣本文件對應的配置文件,將樣本文件運行所需環境信息保存在所述配置文件中。
[0031]進一步地,上述方案中,所述接收模塊具體用于計算出樣本文件的哈希值,根據所述哈希值查找出與所述樣本文件對應的配置文件。
[0032]進一步地,上述方案中,所述接收模塊還用于在查找不到與樣本文件對應的配置文件時,確定預設的默認環境配置文件為與所述樣本文件對應的配置文件。
[0033]進一步地,上述方案中,所述通信模塊具體用于在需要創建預設文件時,發送創建預設文件指令至虛擬機;和/或
[0034]在需要創建注冊表鍵時,發送注冊表創建鍵指令至虛擬機;和/或
[0035]在需要創建注冊表值時,發送注冊表創建值指令至虛擬機;和/或
[0036]在需要創建預設進程時,發送創建預設進程指令至虛擬機;和/或
[0037]在需要模擬窗口時,發送模擬窗口指令至虛擬機;和/或
[0038]在需要運行預設程序時,發送運行預設程序指令至虛擬機;和/或
[0039]在需要點擊指定按鈕時,發送點擊指定按鈕指令至虛擬機。
[0040]本發明的實施例具有以下有益效果:
[0041]上述方案中,在接收到樣本文件后,通過配置文件中包含的樣本文件運行所需環境信息,發送控制指令給虛擬機,可以使虛擬機配置出樣本文件運行所需環境,以便樣本文件在虛擬機配置的環境中運行,這樣可以完全觸發樣本文件的行為,從而使病毒行為分析系統更準確全面的捕獲樣本文件的行為,并作出其是否有害的斷定。
【專利附圖】
【附圖說明】
[0042]圖1為本發明實施例的樣本文件的處理方法的流程示意圖;
[0043]圖2為本發明實施例的樣本文件的處理裝置的結構示意圖;
[0044]圖3為本發明實施例的樣本文件的處理方法的另一流程示意圖?!揪唧w實施方式】
[0045]為使本發明的實施例要解決的技術問題、技術方案和優點更加清楚,下面將結合附圖及具體實施例進行詳細描述。
[0046]本發明的實施例提供一種樣本文件的處理方法及裝置,能夠通過虛擬機環境的模擬配置,完全觸發樣本文件的行為。
[0047]圖1為本發明實施例的樣本文件的處理方法的流程示意圖,如圖1所示,本實施例包括:
[0048]步驟101:接收樣本文件,確定包含有樣本文件運行所需環境信息的配置文件;
[0049]步驟102:解析配置文件,獲取樣本文件運行所需的環境信息;
[0050]步驟103:根據環境信息發送控制指令至虛擬機,指示虛擬機配置樣本文件運行所需環境息;
[0051]步驟104:將樣本文件發送至虛擬機,以便樣本文件在虛擬機配置的環境中運行。
[0052]進一步地,本發明的另一實施例中,包括上述步驟IOf 104的基礎上,步驟101之前還包括:創建與樣本文件對應的配置文件,將樣本文件運行所需環境信息保存在所述配置文件中。
[0053]進一步地,步驟101中,確定包含有樣本文件運行所需環境信息的配置文件包括:計算出樣本文件的哈希值,根據哈希值查找出與樣本文件對應的配置文件。在查找不到與樣本文件對應的配置文件時,確定預設的默認環境配置文件為與樣本文件對應的配置文件。
[0054]進一步地,樣本文件運行所需的環境信息包括是否需要創建預設文件、是否需要創建注冊表鍵、是否需要創建注冊表值、是否需要創建預設進程、是否需要模擬窗口、是否需要運行預設程序、是否需要點擊指定按鈕,步驟103具體包括:
[0055]在需要創建預設文件時,發送創建預設文件指令至虛擬機;和/或
[0056]在需要創建注冊表鍵時,發送注冊表創建鍵指令至虛擬機;和/或
[0057]在需要創建注冊表值時,發送注冊表創建值指令至虛擬機;和/或
[0058]在需要創建預設進程時,發送創建預設進程指令至虛擬機;和/或
[0059]在需要模擬窗口時,發送模擬窗口指令至虛擬機;和/或
[0060]在需要運行預設程序時,發送運行預設程序指令至虛擬機;和/或
[0061]在需要點擊指定按鈕時,發送點擊指定按鈕指令至虛擬機。
[0062]本發明的樣本文件的處理方法,在接收到樣本文件后,通過配置文件中包含的樣本文件運行所需環境信息,發送控制指令給虛擬機,可以使虛擬機配置出樣本文件運行所需環境,以便樣本文件在虛擬機配置的環境中運行,這樣可以完全觸發樣本文件的行為,從而使病毒行為分析系統更準確全面的捕獲樣本文件的行為,并作出其是否有害的斷定。
[0063]圖2為本發明實施例的樣本文件的處理裝置的結構示意圖,如圖2所示,本實施例包括:
[0064]接收模塊20,用于接收樣本文件,確定包含有樣本文件運行所需環境信息的配置文件;
[0065]解析模塊21,用于解析配置文件,獲取樣本文件運行所需的環境信息;[0066]通信模塊22,用于根據環境信息發送控制指令至虛擬機,指示虛擬機配置樣本文件運行所需環境信息;并將樣本文件發送至虛擬機,以便樣本文件在虛擬機配置的環境中運行。
[0067]進一步地,處理裝置還包括:
[0068]創建模塊23,用于創建與樣本文件對應的配置文件,將樣本文件運行所需環境信息保存在配置文件中。
[0069]進一步地,接收模塊21具體用于計算出樣本文件的哈希值,根據哈希值查找出與樣本文件對應的配置文件。
[0070]進一步地,接收模塊21還用于在查找不到與樣本文件對應的配置文件時,確定預設的默認環境配置文件為與樣本文件對應的配置文件。
[0071]進一步地,通信模塊22具體用于在需要創建預設文件時,發送創建預設文件指令至虛擬機;和/或
[0072]在需要創建注冊表鍵時,發送注冊表創建鍵指令至虛擬機;和/或
[0073]在需要創建注冊表值時,發送注冊表創建值指令至虛擬機;和/或
[0074]在需要創建預設進程時,發送創建預設進程指令至虛擬機;和/或
[0075]在需要模擬窗口時,發送模擬窗口指令至虛擬機;和/或
[0076]在需要運行預設程序時,發送運行預設程序指令至虛擬機;和/或
[0077]在需要點擊指定按鈕時,發送點擊指定按鈕指令至虛擬機。
[0078]本發明的樣本文件的處理裝置,在接收到樣本文件后,通過配置文件中包含的樣本文件運行所需環境信息,發送控制指令給虛擬機,可以使虛擬機配置出樣本文件運行所需環境,以便樣本文件在虛擬機配置的環境中運行,這樣可以完全觸發樣本文件的行為,從而使病毒行為分析系統更準確全面的捕獲樣本文件的行為,并作出其是否有害的斷定。
[0079]下面結合圖3以及具體的實施例對本發明的樣本文件的處理方法進行詳細介紹:
[0080]現有技術中,當一個樣本文件運行需要特定環境時,可能在病毒行為分析系統中捕獲不到其行為。這樣的例子很多,比如一些盜號木馬,當發現目標程序未運行時便退出不繼續向下執行,從而其危害行為便不會被病毒行為分析系統捕獲到。還有一些惡意程序安裝,在安裝過程中可能會觸發其一些危害行為,但是有時候需要點擊指定按鈕才能進行這個安裝過程(比如“下一步”按鈕),如果沒有點擊指定按鈕安裝過程便不會繼續下去,從而其危害行為也不會被病毒行為分析系統捕獲到。當遇到這樣的樣本文件時,現有的病毒分析系統是捕獲不到其危害行為的,這樣未發現樣本文件的危害特征,就有可能會鑒定該樣本文件是安全的,從而給計算機安全帶來隱患。
[0081]本發明提供了一種樣本文件的處理方法及裝置,能夠完全觸發樣本文件的行為。首先,對于不同類型的樣本文件,創建與樣本文件對應的配置文件,在配置文件中保存對應類型樣本文件運行所需的環境信息;還可以創建默認環境配置文件,該默認環境配置文件中保存有樣本文件運行所需的一些通用的環境信息。
[0082]如圖3所示,在樣本文件的處理裝置接收到新的樣本文件時,首先查找是否有與所述樣本文件對應的配置文件,具體地,可以計算出樣本文件的哈希值,通過樣本文件的哈希值查找出與樣本文件對應的配置文件,如果存在與樣本文件對應的配置文件,則讀取該配置文件;如果不存在與樣本文件對應的配置文件,則讀取默認環境配置文件。[0083]之后對配置文件進行解析,獲取配置文件中含有的樣本文件運行所需的環境信息,樣本文件運行所需的環境信息可以包括是否需要創建預設文件、是否需要創建注冊表鍵、是否需要創建注冊表值、是否需要創建預設進程、是否需要模擬窗口、是否需要運行預設程序、是否需要點擊指定按鈕等等。在解析獲得環境信息之后,樣本文件的處理裝置根據環境信息生成控制指令,通過與虛擬機之間的通信模塊將控制指令發送給虛擬機。通信模塊具體用于在需要創建預設文件時,發送創建預設文件指令至虛擬機;和/或在需要創建注冊表鍵時,發送注冊表創建鍵指令至虛擬機;和/或在需要創建注冊表值時,發送注冊表創建值指令至虛擬機;和/或在需要創建預設進程時,發送創建預設進程指令至虛擬機;和/或在需要模擬窗口時,發送模擬窗口指令至虛擬機;和/或在需要運行預設程序時,發送運行預設程序指令至虛擬機;和/或在需要點擊指定按鈕時,發送點擊指定按鈕指令至虛擬機。
[0084]虛擬機內部配直有指令執彳了|吳塊,指令執彳了 1吳塊在接收到控制指令后,根據控制指令配置虛擬機內相應的環境,比如特定文件、窗口、注冊表鍵值等。在配置完虛擬機內部環境之后,樣本文件的處理裝置將樣本文件發送至虛擬機,使得樣本文件在虛擬機內部配置好的環境中運行。樣本文件運行過程中,解析模塊還會根據配置文件的不同去獲得樣本文件運行所需環境信息,由通信模塊生成控制指令控制樣本文件的行為,比如模擬點擊按鈕、在樣本文件運行到某個階段的時候創建某個信息等,以便樣本文件的行為更大化的被觸發。
[0085]比如,一些木馬程序需要特定的“邏輯”才能觸發,具體地一個盜QQ號的木馬程序,其首先會檢測當前QQ是否在運行,通過本發明的技術方案就可以在該木馬程序運行前給其創建一個QQ進程,另外在木馬程序運行過程中可能會結束QQ進程然后等待其重新登錄,此時通過本發明的技術方案還可以完成模擬QQ重新登錄的操作,以繼續觸發木馬程序的行為。
[0086]再比如,MD5值為7dl81fe4bl8b247da8d6212673f41cc7的外掛程序,它在運行前會先檢測計算機系統中是否存在DNF.exe (地下城與勇士游戲)進程,若不存在,則會提示用戶開啟游戲。現有的病毒分析系統,由于不能夠觸發病毒后續的行為,只能分析到這里,外掛程序就退出了。而本發明實施例會根據配置文件的設置,通過虛擬機模擬出一個虛假的DNF.exe進程來欺騙被分析的該外掛程序。在該外掛程序成功檢測到存在DNF.exe進程后,會繼續加載驅動程序,顯示界面。這樣,本發明實施例通過虛擬機環境的模擬配置,能夠完全觸發樣本文件的行為。
[0087]進一步地,本發明的樣本文件處理裝置還可以在樣本文件運行時,記錄樣本文件的行為信息,并在樣本文件運行結束后對其行為日志進行過濾,去除環境模擬所產生而非樣本文件本身的行為信息。
[0088]本發明的技術方案在樣本文件運行之前,會首先在虛擬機中配置樣本文件運行所需的環境,之后將樣本文件拷貝到虛擬機中運行,此時樣本文件運行所需要的環境已經準備好,樣本文件便可以充分運行,如果其產生危害行為的話,危害行為就能夠被病毒分析系統捕獲到,從而確定其有害性。本發明的技術方案可以應用于病毒行為的分析系統中,可以模擬病毒/木馬運行時需要的特定環境,為病毒/木馬運行配置其需要的文件、進程、注冊表等信息,最大化觸發病毒/木馬的危險行為,從而使病毒分析系統更準確全面的捕獲其危險行為,并作出其是否有害的斷定。
[0089]此說明書中所描述的許多功能部件都被稱為模塊,以便更加特別地強調其實現方式的獨立性。
[0090]本發明實施例中,模塊可以用軟件實現,以便由各種類型的處理器執行。舉例來說,一個標識的可執行代碼模塊可以包括計算機指令的一個或多個物理或者邏輯塊,舉例來說,其可以被構建為對象、過程或函數。盡管如此,所標識模塊的可執行代碼無需物理地位于一起,而是可以包括存儲在不同物理上的不同的指令,當這些指令邏輯上結合在一起時,其構成模塊并且實現該模塊的規定目的。
[0091]實際上,可執行代碼模塊可以是單條指令或者是許多條指令,并且甚至可以分布在多個不同的代碼段上,分布在不同程序當中,以及跨越多個存儲器設備分布。同樣地,操作數據可以在模塊內被識別,并且可以依照任何適當的形式實現并且被組織在任何適當類型的數據結構內。所述操作數據可以作為單個數據集被收集,或者可以分布在不同位置上(包括在不同存儲設備上),并且至少部分地可以僅作為電子信號存在于系統或網絡上。
[0092]在模塊可以利用軟件實現時,考慮到現有硬件工藝的水平,所以可以以軟件實現的模塊,在不考慮成本的情況下,本領域技術人員都可以搭建對應的硬件電路來實現對應的功能,所述硬件電路包括常規的超大規模集成(VLSI)電路或者門陣列以及諸如邏輯芯片、晶體管之類的現有半導體或者是其它分立的元件。模塊還可以用可編程硬件設備,諸如現場可編程門陣列、可編程陣列邏輯、可編程邏輯設備等實現。
[0093]在本發明各方法實施例中,所述各步驟的序號并不能用于限定各步驟的先后順序,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,對各步驟的先后變化也在本發明的保護范圍之內。
[0094]以上所述是本發明的優選實施方式,應當指出,對于本【技術領域】的普通技術人員來說,在不脫離本發明所述原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護范圍。
【權利要求】
1.一種樣本文件的處理方法,其特征在于,包括: 接收樣本文件,確定包含有所述樣本文件運行所需環境信息的配置文件; 解析所述配置文件,獲取所述樣本文件運行所需的環境信息; 根據所述環境信息發送控制指令至虛擬機,指示虛擬機配置樣本文件運行所需環境信息; 將所述樣本文件發送至虛擬機,以便所述樣本文件在所述虛擬機配置的環境中運行。
2.根據權利要求1所述的樣本文件的處理方法,其特征在于,所述接收樣本文件之前還包括: 創建與樣本文件對應的配置文件,將樣本文件運行所需環境信息保存在所述配置文件中。
3.根據權利要求2所述的樣本文件的處理方法,其特征在于,所述確定包含有所述樣本文件運行所需環境信息的配置文件包括: 計算出樣本文件的哈希值,根據所述哈希值查找出與所述樣本文件對應的配置文件。
4.根據權利要求3所述的樣本文件的處理方法,其特征在于,所述確定包含有所述樣本文件運行所需環境信息的 配置文件還包括: 在查找不到與樣本文件對應的配置文件時,確定預設的默認環境配置文件為與所述樣本文件對應的配置文件。
5.根據權利要求1所述的樣本文件的處理方法,其特征在于,所述根據所述環境信息發送控制指令至虛擬機包括: 在需要創建預設文件時,發送創建預設文件指令至虛擬機;和/或 在需要創建注冊表鍵時,發送注冊表創建鍵指令至虛擬機;和/或 在需要創建注冊表值時,發送注冊表創建值指令至虛擬機;和/或 在需要創建預設進程時,發送創建預設進程指令至虛擬機;和/或 在需要模擬窗口時,發送模擬窗口指令至虛擬機;和/或 在需要運行預設程序時,發送運行預設程序指令至虛擬機;和/或 在需要點擊指定按鈕時,發送點擊指定按鈕指令至虛擬機。
6.一種樣本文件的處理裝置,其特征在于,包括: 接收模塊,用于接收樣本文件,確定包含有所述樣本文件運行所需環境信息的配置文件; 解析模塊,用于解析所述配置文件,獲取所述樣本文件運行所需的環境信息; 通信模塊,用于根據所述環境信息發送控制指令至虛擬機,指示虛擬機配置樣本文件運行所需環境信息;并將所述樣本文件發送至虛擬機,以便所述樣本文件在所述虛擬機配置的環境中運行。
7.根據權利要求6所述的樣本文件的處理裝置,其特征在于,所述處理裝置還包括: 創建模塊,用于創建與樣本文件對應的配置文件,將樣本文件運行所需環境信息保存在所述配置文件中。
8.根據權利要求7所述的樣本文件的處理裝置,其特征在于,所述接收模塊具體用于計算出樣本文件的哈希值,根據所述哈希值查找出與所述樣本文件對應的配置文件。
9.根據權利要求8所述的樣本文件的處理裝置,其特征在于,所述接收模塊還用于在查找不到與樣本文件對應的配置文件時,確定預設的默認環境配置文件為與所述樣本文件對應的配置文件。
10.根據權利要求6所述的樣本文件的處理裝置,其特征在于, 所述通信模塊具體用于在需要創建預設文件時,發送創建預設文件指令至虛擬機;和/或 在需要創建注冊表鍵時,發送注冊表創建鍵指令至虛擬機;和/或 在需要創建注冊表值時,發送注冊表創建值指令至虛擬機;和/或 在需要創建預設進程時,發送創建預設進程指令至虛擬機;和/或 在需要模擬窗口時,發送模擬窗口指令至虛擬機;和/或 在需要運行預設程序時,發送運行預設程序指令至虛擬機;和/或 在需要點擊指定按鈕時,發送點擊指定按鈕指令至虛擬機。
【文檔編號】G06F17/30GK103810222SQ201210460672
【公開日】2014年5月21日 申請日期:2012年11月15日 優先權日:2012年11月15日
【發明者】蘇海峰, 陳勇, 張楠 申請人:北京金山安全軟件有限公司, 北京金山網絡科技有限公司, 貝殼網際(北京)安全技術有限公司, 可牛網絡技術(北京)有限公司