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