文件檢測方法及沙箱控制器的制造方法
【專利摘要】本發(fā)明實施例提供了一種文件檢測方法及沙箱控制器。所述方法包括:沙箱控制器接收待檢測文件,并檢測所述待檢測文件的文件運(yùn)行環(huán)境類型;根據(jù)檢測得到的文件運(yùn)行環(huán)境類型,從所述資源池中確定運(yùn)行所述待檢測文件的第一物理機(jī);將所述待檢測文件發(fā)送至所述第一物理機(jī),以使所述第一物理機(jī)運(yùn)行所述待檢測文件;接收所述第一物理機(jī)發(fā)送的所述待檢測文件的第一運(yùn)行軌跡;檢測所述第一運(yùn)行軌跡中是否存在惡意行為,當(dāng)檢測到所述第一運(yùn)行軌跡中存在惡意行為時,進(jìn)行告警。本實施例能夠提高對文件檢測時的準(zhǔn)確性。
【專利說明】
文件檢測方法及沙箱控制器
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及文件檢測技術(shù)領(lǐng)域,特別涉及一種文件檢測方法及沙箱控制器。
【背景技術(shù)】
[0002]沙箱(Sandboxie),又名沙盤,是一種按照安全策略限制程序行為的執(zhí)行環(huán)境,它允許用戶在沙箱環(huán)境中運(yùn)行文件,例如瀏覽器或其他程序,運(yùn)行所產(chǎn)生的變化可以隨后刪除。通過在沙箱環(huán)境中運(yùn)行文件,可以檢測文件中是否存在惡意行為,當(dāng)發(fā)現(xiàn)文件中存在惡意行為時可以給出告警。
[0003]現(xiàn)有技術(shù)中,通常根據(jù)待檢測文件的類型在沙箱中創(chuàng)建相應(yīng)的虛擬環(huán)境,并使該待檢測文件在該虛擬環(huán)境中運(yùn)行,以便檢測其運(yùn)行過程中是否存在惡意行為。當(dāng)待檢測文件運(yùn)行完畢后,沙箱中的虛擬環(huán)境可以恢復(fù)到原始狀態(tài),也就是說,在運(yùn)行待檢測文件時所產(chǎn)生的影響可以被消除。
[0004]但是,在實際使用過程中,沙箱的虛擬環(huán)境畢竟跟實際的物理環(huán)境不同,虛擬環(huán)境通常會攜帶一些較為明顯特征,例如,該虛擬環(huán)境下的進(jìn)程信息、內(nèi)存大小信息以及特定字段信息都與實際物理運(yùn)行環(huán)境有所區(qū)別。攜帶有惡意行為的文件通過檢測沙箱的特征,來隱藏惡意行為或刪除自身,從沙箱檢測中逃逸,致使對文件的檢測準(zhǔn)確性不高。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例的目的在于提供了一種文件檢測方法及沙箱控制器,以提高對文件檢測時的準(zhǔn)確性。
[0006]為了達(dá)到上述目的,本發(fā)明公開了一種文件檢測方法,應(yīng)用于沙箱控制器,所述沙箱控制器與資源池相連接,所述資源池中包括至少一個物理機(jī),所述方法包括:
[0007]接收待檢測文件,并檢測所述待檢測文件的文件運(yùn)行環(huán)境類型;
[0008]根據(jù)檢測得到的文件運(yùn)行環(huán)境類型,從所述資源池中確定運(yùn)行所述待檢測文件的第一物理機(jī);
[0009]將所述待檢測文件發(fā)送至所述第一物理機(jī),以使所述第一物理機(jī)運(yùn)行所述待檢測文件;
[0010]接收所述第一物理機(jī)發(fā)送的所述待檢測文件的第一運(yùn)行軌跡;
[0011 ]檢測所述第一運(yùn)行軌跡中是否存在惡意行為;
[0012]當(dāng)檢測到所述第一運(yùn)行軌跡中存在惡意行為時,進(jìn)行告警。
[0013]為了達(dá)到上述目的,本發(fā)明公開了一種沙箱控制器,其與資源池相連接,所述資源池中包括至少一個物理機(jī),所述沙箱控制器具體包括:
[0014]第一接收模塊,用于接收待檢測文件,檢測所述待檢測文件的文件運(yùn)行環(huán)境類型;
[0015]確定模塊,用于根據(jù)檢測得到的文件運(yùn)行環(huán)境類型,從所述資源池中確定運(yùn)行所述待檢測文件的第一物理機(jī);
[0016]發(fā)送模塊,用于將所述待檢測文件發(fā)送至所述第一物理機(jī),以使所述第一物理機(jī)運(yùn)行所述待檢測文件;
[0017]第二接收模塊,用于接收所述第一物理機(jī)發(fā)送的所述待檢測文件的第一運(yùn)行軌跡;
[0018]檢測模塊,用于檢測所述第一運(yùn)行軌跡中是否存在惡意行為,當(dāng)檢測到所述第一運(yùn)行軌跡中存在惡意行為時,進(jìn)行告警。
[0019]由上述技術(shù)方案可見,本實施例中,沙箱控制器在接收到待檢測文件后檢測其文件運(yùn)行環(huán)境類型,根據(jù)檢測得到的文件運(yùn)行環(huán)境類型,從資源池中確定運(yùn)行該待檢測文件的第一物理機(jī),并將待檢測文件發(fā)送至所述第一物理機(jī),以使第一物理機(jī)運(yùn)行待檢測文件。然后,接收第一物理機(jī)發(fā)送的待檢測文件的第一運(yùn)行軌跡,檢測第一運(yùn)行軌跡中是否存在惡意行為,當(dāng)檢測到其中存在惡意行為時進(jìn)行告警。
[0020]也就是說,本實施例中,沙箱控制器將待檢測文件發(fā)送至資源池的第一物理機(jī)中,使待檢測文件在第一物理機(jī)的物理運(yùn)行環(huán)境中運(yùn)行,當(dāng)檢測到其第一運(yùn)行軌跡中存在惡意行為時進(jìn)行告警。由于攜帶有惡意行為的文件在物理運(yùn)行環(huán)境中運(yùn)行時,很難反向檢測出自身運(yùn)行在沙箱中,因此應(yīng)用本實施例的檢測方法,能夠提高對文件檢測時的準(zhǔn)確性。
【附圖說明】
[0021]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單的介紹。顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0022]圖1為現(xiàn)有技術(shù)中沙箱工作的系統(tǒng)的一種示意圖;
[0023]圖2為本發(fā)明實施例提供的沙箱控制器工作的系統(tǒng)的一種示意圖;
[0024]圖3為本發(fā)明實施例提供的文件檢測方法的一種流程示意圖;
[0025]圖4為本發(fā)明實施例提供的文件檢測方法的另一種流程示意圖;
[0026]圖5為本發(fā)明實施例提供的文件檢測方法的又一種流程示意圖;
[0027]圖6為本發(fā)明實施例提供的沙箱控制器的一種結(jié)構(gòu)示意圖。
【具體實施方式】
[0028]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整的描述。顯然,所描述的實施例僅僅是本發(fā)明的一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0029]為了理解沙箱的應(yīng)用環(huán)境,下面簡單介紹一下現(xiàn)有技術(shù)中沙箱的運(yùn)行環(huán)境。圖1所示為一種沙箱工作的系統(tǒng)的示意圖,其中包括外網(wǎng)101、防火墻102、交換機(jī)103、沙箱104和內(nèi)網(wǎng)105以及內(nèi)網(wǎng)105中的多個終端1051。現(xiàn)有技術(shù)中,內(nèi)網(wǎng)用戶發(fā)出從外網(wǎng)下載文件的請求后,外網(wǎng)101響應(yīng)該請求,并將相應(yīng)的文件11通過防火墻102發(fā)送至交換機(jī)103,交換機(jī)103將接收到的文件11分別發(fā)送到內(nèi)網(wǎng)105和沙箱104,沙箱104接收到文件11后對其進(jìn)行檢測,并給出是否告警的信息。在圖1中,沙箱104還可以位于交換機(jī)103與內(nèi)網(wǎng)105之間,交換機(jī)103接收到文件11后將其發(fā)送至沙箱104,沙箱104檢測接收到的文件,在無告警時將該文件轉(zhuǎn)發(fā)至內(nèi)網(wǎng)105。
[0030]本發(fā)明實施例提供了一種文件檢測方法及沙箱控制器,能夠提高沙箱控制器對文件檢測時的準(zhǔn)確性。
[0031]本實施例中,將現(xiàn)有技術(shù)中的沙箱替代為本實施例中的沙箱控制器,沙箱控制器工作的系統(tǒng)可以如圖2所示,其中,外網(wǎng)201、防火墻202、交換機(jī)203和內(nèi)網(wǎng)205以及內(nèi)網(wǎng)205中的多個終端2051分別與現(xiàn)有技術(shù)中的外網(wǎng)101、防火墻102、交換機(jī)103和內(nèi)網(wǎng)105以及內(nèi)網(wǎng)105中的多個終端1051相同,文件21的發(fā)送過程也與現(xiàn)有技術(shù)中文件11的發(fā)送過程相同,此處均不再贅述。其中,沙箱控制器204還與資源池206相連,資源池206中包括至少一個物理機(jī)2061。
[0032]下面通過具體實施例,對本發(fā)明進(jìn)行詳細(xì)說明。
[0033]圖3為本發(fā)明實施例提供的文件檢測方法的一種流程示意圖,應(yīng)用于沙箱控制器,所述沙箱控制器與資源池相連接,所述資源池中包括至少一個物理機(jī),所述方法包括如下步驟:
[0034]步驟S301:接收待檢測文件,并檢測所述待檢測文件的文件運(yùn)行環(huán)境類型。
[0035]具體的,待檢測文件包括可執(zhí)行文件和不可執(zhí)行文件??蓤?zhí)行文件包括后綴為616、(10(3 41^?(^等可以在操作系統(tǒng)中運(yùn)行的文件,文件中除可執(zhí)行文件之外的文件可以稱為不可執(zhí)行文件。
[0036]在本實施例中,在檢測所述待檢測文件的文件運(yùn)行環(huán)境類型之前,所述方法還可以包括:
[0037]檢測所述待檢測文件是否為可執(zhí)行文件,如果是,則繼續(xù)執(zhí)行檢測所述待檢測文件的文件運(yùn)行環(huán)境類型的步驟。這樣,可以從待檢測文件中識別出不可執(zhí)行文件,避免將不可執(zhí)行文件發(fā)送至沙箱控制器中運(yùn)行,進(jìn)而提高沙箱控制器的檢測效率。
[0038]在本發(fā)明實施例中,可以根據(jù)文件的后綴檢測待檢測文件是否為可執(zhí)行文件,當(dāng)然也可以根據(jù)其他特征檢測,本發(fā)明對此不做限定。需要說明的是,檢測文件是否為可執(zhí)行文件屬于現(xiàn)有技術(shù),其具體過程此處不再贅述。
[0039]在實際應(yīng)用中,待檢測文件可以是其他設(shè)備發(fā)送給沙箱控制器的,也可以是用戶選擇輸入的,當(dāng)然還可以是采用其他方式接收到的,本發(fā)明對此不做具體限定。
[0040]通常,每個文件在運(yùn)行時需要至少一種相應(yīng)類型的操作系統(tǒng)支持。需要說明的是,檢測待檢測文件的文件運(yùn)行環(huán)境類型屬于現(xiàn)有技術(shù),其具體過程此處不再贅述。
[0041]步驟S302:根據(jù)檢測得到的文件運(yùn)行環(huán)境類型,從所述資源池中確定運(yùn)行所述待檢測文件的第一物理機(jī)。
[0042]其中,物理機(jī)可以由服務(wù)器或主機(jī)來實現(xiàn),當(dāng)然也可以以其他設(shè)備形式實現(xiàn),本發(fā)明對此不做限定。具體的,資源池可以包括一個物理機(jī),也可以包括至少兩個物理機(jī)。當(dāng)資源池中包括兩個或兩個以上的物理機(jī)時,可以將資源池中空閑的物理機(jī)確定為第一物理機(jī)。
[0043]在實際應(yīng)用中,本發(fā)明實施例中的資源池可以采用云端第三方的設(shè)備來實現(xiàn),也可以通過在本地配置相應(yīng)的設(shè)備來實現(xiàn),當(dāng)然還可以包括其他的實現(xiàn)方式,本發(fā)明對此不做限定。
[0044]步驟S303:將所述待檢測文件發(fā)送至所述第一物理機(jī),以使所述第一物理機(jī)運(yùn)行所述待檢測文件。
[0045]可以理解的是,第一物理機(jī)要想運(yùn)行待檢測文件,其中應(yīng)該有與檢測出的文件運(yùn)行環(huán)境類型相對應(yīng)的一種操作系統(tǒng)類型的物理運(yùn)行環(huán)境。該物理運(yùn)行環(huán)境可以是在接收到待檢測文件之后,根據(jù)待檢測文件的文件運(yùn)行環(huán)境類型創(chuàng)建的。例如,待檢測文件的文件運(yùn)行環(huán)境類型為Linux操作系統(tǒng)環(huán)境,那么第一物理機(jī)在自身創(chuàng)建Linux操作系統(tǒng)。
[0046]由于物理運(yùn)行環(huán)境的創(chuàng)建需要一定的時間,而且,如果采用第三方設(shè)備實現(xiàn)資源池的功能,臨時創(chuàng)建物理運(yùn)行環(huán)境不易實現(xiàn)。因此,為了提高物理機(jī)對待檢測文件的運(yùn)行效率,在本實施例中,資源池中的每個物理機(jī)中還可以存在已經(jīng)創(chuàng)建完成的一種操作系統(tǒng)類型的物理運(yùn)行環(huán)境。也就是說,預(yù)先在物理機(jī)中配置好一定的操作系統(tǒng),當(dāng)接收到待檢測文件時,可以直接運(yùn)行待檢測文件。
[0047]需要說明的是,當(dāng)資源池中只包括一個物理機(jī)時,一般一臺物理機(jī)上對應(yīng)有一種或兩種操作系統(tǒng)類型的物理運(yùn)行環(huán)境,即該物理機(jī)只用于檢測一種或兩種運(yùn)行環(huán)境類型的目標(biāo)文件。也就是說,這種情況下的沙箱控制器只用于檢測一種或兩種目標(biāo)文件,其中的沙箱控制器可以根據(jù)該物理機(jī)的運(yùn)行環(huán)境類型,從待檢測文件中確定目標(biāo)文件。例如,物理機(jī)上同時存在Windows操作系統(tǒng)和Linux操作系統(tǒng),該物理機(jī)可以檢測運(yùn)行環(huán)境類型為Windows和Linux的兩種文件。
[0048]當(dāng)資源池中包括至少兩個物理機(jī)時,可以在每個物理機(jī)中創(chuàng)建一種類型的操作系統(tǒng),包括Windows操作系統(tǒng)、Linux操作系統(tǒng)、蘋果MAC操作系統(tǒng)和尤尼斯Unix操作系統(tǒng)中的一種。在這種情況下,沙箱控制器可以用于檢測多種運(yùn)行環(huán)境類型的文件。當(dāng)然,本實施例中,物理機(jī)的操作系統(tǒng)還可以包括其他類型,本發(fā)明對此不做限定。
[0049]例如,沙箱控制器檢測出待檢測文件A的文件運(yùn)行環(huán)境類型為Linux,則從資源池中確定出創(chuàng)建有Linux操作系統(tǒng)的第一物理機(jī)B,然后將A發(fā)送至B中,使A在B中運(yùn)行。
[0050]步驟S304:接收所述第一物理機(jī)發(fā)送的所述待檢測文件的第一運(yùn)行軌跡。
[0051]在實際應(yīng)用中,物理機(jī)中可以設(shè)置行為監(jiān)控層,行為監(jiān)控層用于監(jiān)控文件運(yùn)行過程中的運(yùn)行軌跡并記錄。其中,第一運(yùn)行軌跡包括待檢測文件在運(yùn)行過程中創(chuàng)建、修改、刪除文件,以及創(chuàng)建、修改、刪除注冊表等操作信息。當(dāng)然,運(yùn)行軌跡還可以包括其他種類的操作,本發(fā)明對此不做限定。
[0052]步驟S305:檢測所述第一運(yùn)行軌跡中是否存在惡意行為,當(dāng)檢測到所述第一運(yùn)行軌跡中存在惡意行為時,進(jìn)行告警。
[0053]當(dāng)檢測到第一運(yùn)行軌跡中不存在惡意行為時,不告警,即不做處理。
[0054]惡意行為包括上傳文件行為、對外發(fā)起建立鏈接行為、修改注冊表行為等敏感行為。對應(yīng)的,非敏感行為可以包括查找文件行為、讀取信息行為等。當(dāng)然,本發(fā)明實施例中涉及的惡意行為的具體內(nèi)容不限于此。
[0055]具體的,沙箱控制器根據(jù)接收的運(yùn)行軌跡以及保存的行為特征庫,檢測該運(yùn)行軌跡中是否存在惡意行為,如果是,則進(jìn)行告警,否則,不告警,即不做處理。具體的,在檢測運(yùn)行軌跡中是否存在惡意行為時,可以將運(yùn)行軌跡與已保存的行為特征庫進(jìn)行對比,如果發(fā)現(xiàn)該運(yùn)行軌跡與行為特征庫中的運(yùn)行軌跡之間存在包括上傳文件、對外發(fā)起鏈接、修改注冊表等行為差異,那么可以認(rèn)為該運(yùn)行軌跡中存在惡意行為。舉例來說,運(yùn)行軌跡中包括1、
2、3、4、5這五個步驟,行為特征庫中對應(yīng)的運(yùn)行軌跡包括1、2、4、5這四個步驟,從而可以確定運(yùn)行軌跡比行為特征庫多出一個步驟3,而步驟3包括上傳文件的行為,這時,可以確定該運(yùn)行軌跡中存在惡意行為。
[0056]更具體的,檢測運(yùn)行軌跡中是否存在惡意行為屬于現(xiàn)有技術(shù),其具體過程此處不再贅述。
[0057]在本實施例中,當(dāng)檢測到所述運(yùn)行軌跡中存在惡意行為時,進(jìn)行告警,具體可以包括:檢測所述運(yùn)行軌跡中惡意行為的出現(xiàn)次數(shù),判斷所述出現(xiàn)次數(shù)是否大于預(yù)設(shè)數(shù)量閾值,如果是,則告警;否則不告警。
[0058]在本實施例中,當(dāng)檢測到所述運(yùn)行軌跡中存在惡意行為時,進(jìn)行告警,具體還可以包括:檢測所述運(yùn)行軌跡中惡意行為的行為種類,判斷所述行為種類是否屬于預(yù)設(shè)的行為種類,如果是,則告警,否則不告警。
[0059]在本實施例中,當(dāng)檢測到所述運(yùn)行軌跡中存在惡意行為時,進(jìn)行告警,還可以包括:檢測所述運(yùn)行軌跡中惡意行為的出現(xiàn)次數(shù)以及惡意行為的行為種類,判斷所述出現(xiàn)次數(shù)是否大于預(yù)設(shè)數(shù)量閾值,判斷所述行為種類是否屬于預(yù)設(shè)的行為種類,如果判斷結(jié)果都為是,則進(jìn)行告警,如果判斷結(jié)果都為否,則不告警。
[0060]由上述內(nèi)容可知,本實施例中,沙箱控制器將待檢測文件發(fā)送至資源池的第一物理機(jī)中,使待檢測文件在第一物理機(jī)的物理運(yùn)行環(huán)境中運(yùn)行,當(dāng)檢測到其第一運(yùn)行軌跡中存在惡意行為時進(jìn)行告警。由于攜帶有惡意行為的文件在物理運(yùn)行環(huán)境中運(yùn)行時,很難反向檢測出自身運(yùn)行在沙箱中,因此應(yīng)用本實施例的檢測方法能夠提高對文件檢測時的準(zhǔn)確性。
[0061]可以看出,在圖3所示實施例中,沙箱控制器將待檢測文件發(fā)送至資源池的物理機(jī)中運(yùn)行,根據(jù)物理機(jī)的第一運(yùn)行軌跡判斷是否針對待檢測文件進(jìn)行告警,能夠解決現(xiàn)有技術(shù)中沙箱對文件的檢測的準(zhǔn)確性不高的問題。為了解決現(xiàn)有技術(shù)中檢測準(zhǔn)確性不高的問題,同時又能提高檢測的效率,可以在資源池中同時設(shè)置虛擬機(jī)和物理機(jī),根據(jù)虛擬機(jī)和物理機(jī)對待檢測文件的運(yùn)行軌跡判斷是否針對待檢測文件進(jìn)行告警。基于這種思路,在具體實現(xiàn)時,本發(fā)明可以包括圖4所示實施例和圖5所示實施例。
[0062]圖4為本發(fā)明實施例提供的文件檢測方法的另一種流程示意圖,應(yīng)用于沙箱控制器,所述沙箱控制器與資源池相連接,所述資源池中包括至少一個物理機(jī),所述資源池中還包括至少一個虛擬機(jī),所述方法包括如下步驟:
[0063]步驟S401:接收待檢測文件,并檢測所述待檢測文件的文件運(yùn)行環(huán)境類型。
[0064]步驟S402:根據(jù)檢測得到的文件運(yùn)行環(huán)境類型,從所述資源池中確定運(yùn)行所述待檢測文件的第二虛擬機(jī),將所述待檢測文件發(fā)送至所述第二虛擬機(jī),以使所述第二虛擬機(jī)運(yùn)行所述待檢測文件,接收所述第二虛擬機(jī)發(fā)送的所述待檢測文件的第二運(yùn)行軌跡。
[0065]其中,虛擬機(jī)可以由服務(wù)器或主機(jī)來實現(xiàn),當(dāng)然也可以以其他設(shè)備形式實現(xiàn),本發(fā)明對此不做限定。具體的,資源池可以包括一個虛擬機(jī),也可以包括至少兩個虛擬機(jī)。當(dāng)資源池中包括兩個或兩個以上的虛擬機(jī)時,可以將資源池中空閑的虛擬機(jī)確定為第二虛擬機(jī)。
[0066]可以理解的是,第二虛擬機(jī)要想運(yùn)行待檢測文件,其中應(yīng)該有與檢測出的文件運(yùn)行環(huán)境類型相對應(yīng)的一種操作系統(tǒng)類型的虛擬運(yùn)行環(huán)境。該虛擬運(yùn)行環(huán)境可以是在接收到待檢測文件之后,根據(jù)待檢測文件的文件運(yùn)行環(huán)境類型創(chuàng)建的。例如,待檢測文件的文件運(yùn)行環(huán)境類型為Linux操作系統(tǒng)環(huán)境,那么第二虛擬機(jī)在自身創(chuàng)建Linux操作系統(tǒng)。
[0067]為了提尚虛擬機(jī)對待檢測文件的運(yùn)彳丁效率,在本實施例中,資源池中的每個虛擬機(jī)中還可以存在已經(jīng)創(chuàng)建完成的一種操作系統(tǒng)類型的虛擬運(yùn)行環(huán)境。這樣,當(dāng)接收到待檢測文件時,可以直接運(yùn)行待檢測文件,無需創(chuàng)建相應(yīng)運(yùn)行環(huán)境。
[0068]當(dāng)待檢測文件在第二虛擬機(jī)中運(yùn)行完成時,第二虛擬機(jī)將自身還原,以便為運(yùn)行下一個待檢測文件做準(zhǔn)備。具體的,第二虛擬機(jī)可以通過快照技術(shù)將自身的虛擬運(yùn)行環(huán)境恢復(fù)至原始狀態(tài),當(dāng)然第二虛擬機(jī)還可以采用其他方式將自身恢復(fù)至原始狀態(tài),本實施例對此不做具體限定。更具體的,虛擬機(jī)將自身的虛擬運(yùn)行環(huán)境還原屬于現(xiàn)有技術(shù),具體過程不再贅述。
[0069]步驟S403:當(dāng)檢測到所述第二運(yùn)行軌跡中不存在惡意行為時,根據(jù)檢測得到的文件運(yùn)行環(huán)境類型,從所述資源池中確定運(yùn)行所述待檢測文件的第一物理機(jī),將所述待檢測文件發(fā)送至所述第一物理機(jī),以使所述第一物理機(jī)運(yùn)行所述待檢測文件。
[0070]當(dāng)檢測到第二運(yùn)行軌跡中存在惡意行為時,進(jìn)行告警。此時,無需執(zhí)行根據(jù)檢測得到的文件運(yùn)行環(huán)境類型,從所述資源池中確定運(yùn)行所述待檢測文件的第一物理機(jī)的步驟。
[0071]當(dāng)檢測到第二運(yùn)行軌跡中不存在惡意行為時,可能包括以下情況,一是,待檢測文件中不存在惡意代碼。二是,待檢測文件中存在惡意代碼,在待檢測文件在虛擬機(jī)中運(yùn)行時,惡意代碼檢測到自身運(yùn)行在沙箱環(huán)境中,因此隱藏了自身的惡意行為或刪除了自身的惡意代碼。因此,為了進(jìn)一步確定待檢測文件中是否存在惡意代碼或惡意行為,繼續(xù)執(zhí)行根據(jù)檢測得到的文件運(yùn)行環(huán)境類型,從所述資源池中確定運(yùn)行所述待檢測文件的第一物理機(jī)的步驟。
[0072]可以理解的是,物理機(jī)中的物理運(yùn)行環(huán)境更接近真實的運(yùn)行環(huán)境,當(dāng)包含惡意代碼的待檢測文件在這種環(huán)境中運(yùn)行時,惡意代碼很難檢測到自身運(yùn)行在沙箱中,因此待檢測文件通常會正常運(yùn)行自身代碼。
[0073]當(dāng)待檢測文件在第一物理機(jī)中運(yùn)行完成時,第一物理機(jī)將自身還原,以便為運(yùn)行下一個待檢測文件做準(zhǔn)備。具體的,第一物理機(jī)可以通過系統(tǒng)還原技術(shù)將自身的物理運(yùn)行環(huán)境恢復(fù)至原始狀態(tài),系統(tǒng)還原技術(shù)包括Ghost技術(shù)。當(dāng)然第一物理機(jī)還可以采用其他方式將自身恢復(fù)至原始狀態(tài),本實施例對此不做具體限定。更具體的,物理機(jī)將自身的物理運(yùn)行環(huán)境還原屬于現(xiàn)有技術(shù),具體過程不再贅述。
[0074]步驟S404:接收所述第一物理機(jī)發(fā)送的所述待檢測文件的第一運(yùn)行軌跡。
[0075]步驟S405:檢測所述第一運(yùn)行軌跡中是否存在惡意行為,當(dāng)檢測到所述第一運(yùn)行軌跡中存在惡意行為時,進(jìn)行告警。
[0076]由上述內(nèi)容可知,本實施例中,沙箱控制器首先使待檢測文件在資源池的第二虛擬機(jī)中運(yùn)行,當(dāng)檢測出第二運(yùn)行軌跡中不存在惡意行為時,再使待檢測文件在資源池的第一物理機(jī)中運(yùn)行,當(dāng)檢測到第一運(yùn)行軌跡中存在惡意行為時進(jìn)行告警。由于在虛擬機(jī)的虛擬運(yùn)行環(huán)境中運(yùn)行待檢測文件時的效率較高,在物理機(jī)的物理運(yùn)行環(huán)境中運(yùn)行待檢測文件時的準(zhǔn)確性較高,因此應(yīng)用本實施例的檢測方法,能夠在提高對文件檢測時的準(zhǔn)確性的同時提尚檢測效率。
[0077]在另一實施例中,在圖4所示實施例的基礎(chǔ)上,所述方法還可以包括:
[0078]當(dāng)所述第二運(yùn)行軌跡中不存在惡意行為,第一運(yùn)行軌跡中存在惡意行為時,比較所述第一運(yùn)行軌跡和第二運(yùn)行軌跡之間的行為差異,當(dāng)所述行為差異屬于預(yù)設(shè)行為類型時,記錄所述行為差異。記錄的行為差異可以進(jìn)一步用于更新沙箱控制器中的行為特征庫,當(dāng)沙箱控制器檢測虛擬機(jī)的運(yùn)行軌跡時,可以進(jìn)一步提高檢測準(zhǔn)確性。當(dāng)然,所述行為差異的應(yīng)用不限于此。
[0079]其中,預(yù)設(shè)行為類型可以包括上傳文件、對外建立鏈接行為、修改注冊表、創(chuàng)建系統(tǒng)文件等中的一種或多種。
[0080]舉例來說,在對文件A的檢測中,文件A的第一運(yùn)行軌跡包括1、2、3、4、5、6這六個步驟,文件A的第二運(yùn)行軌跡中包括1、2、4、5這四個步驟,并且沙箱控制器根據(jù)行為特征庫中保存的步驟6檢測出第二運(yùn)行軌跡中不存在惡意行為,第一運(yùn)行軌跡中存在惡意行為。那么,可以進(jìn)一步比較出第一運(yùn)行軌跡與第二運(yùn)行軌跡之間存在步驟3這個修改注冊表的行為差異,以及步驟6這個行為差異,那么可以記錄步驟3和步驟6,并將步驟3更新至行為特征庫。當(dāng)行為軌跡中出現(xiàn)步驟3時可以快速地檢測出該惡意行為,從而提高檢測效率。
[0081]圖5為本發(fā)明實施例提供的文件檢測方法的另一種流程示意圖,應(yīng)用于沙箱控制器,所述沙箱控制器與資源池相連接,所述資源池中包括至少一個物理機(jī),所述資源池中還包括至少一個虛擬機(jī),所述方法包括如下步驟:
[0082]步驟S501:接收待檢測文件,并檢測所述待檢測文件的文件運(yùn)行環(huán)境類型。
[0083]步驟S502:根據(jù)檢測得到的文件運(yùn)行環(huán)境類型,從所述資源池中確定運(yùn)行所述待檢測文件的第三虛擬機(jī),將所述待檢測文件發(fā)送至所述第三虛擬機(jī),以使所述第三虛擬機(jī)運(yùn)行所述待檢測文件,接收所述第三虛擬機(jī)發(fā)送的所述待檢測文件的第三運(yùn)行軌跡。
[0084]步驟S503:根據(jù)檢測得到的文件運(yùn)行環(huán)境類型,從所述資源池中確定運(yùn)行所述待檢測文件的第一物理機(jī);將所述待檢測文件發(fā)送至所述第一物理機(jī),以使所述第一物理機(jī)運(yùn)行所述待檢測文件;接收所述第一物理機(jī)發(fā)送的所述待檢測文件的第一運(yùn)行軌跡。
[0085]其中,步驟S502與步驟S503可以同時執(zhí)行,或前后執(zhí)行的時間差別較小。這樣,得到第三運(yùn)行軌跡和第一運(yùn)行軌跡的時間差別較小。當(dāng)檢測到第三運(yùn)行軌跡中不存在惡意行為時,可以快速地檢測第一運(yùn)行軌跡,無需等待接收第一運(yùn)行軌跡,從而提高檢測效率。
[0086]步驟S504:當(dāng)檢測到所述第三運(yùn)行軌跡中不存在惡意行為時,檢測所述第一運(yùn)行軌跡中是否存在惡意行為。
[0087]步驟S505:當(dāng)檢測到所述第一運(yùn)行軌跡中存在惡意行為時,進(jìn)行告警。
[0088]由上述內(nèi)容可知,本實施例中,沙箱控制器使待檢測文件在資源池的第二虛擬機(jī)和第一物理機(jī)中運(yùn)行,當(dāng)檢測出第三運(yùn)行軌跡中不存在惡意行為時,再檢測第一運(yùn)行軌跡,當(dāng)?shù)谝贿\(yùn)行軌跡中存在惡意行為時進(jìn)行告警。由于在虛擬機(jī)的虛擬運(yùn)行環(huán)境中運(yùn)行待檢測文件時的效率較高,在物理機(jī)的物理運(yùn)行環(huán)境中運(yùn)行待檢測文件時的準(zhǔn)確性較高,因此應(yīng)用本實施例的檢測方法,能夠在提尚對文件檢測時的準(zhǔn)確性的同時提尚檢測效率。
[0089]圖5所示實施例與4圖所示實施例的區(qū)別在于,圖5所示實施例中在檢測第三運(yùn)行軌跡的同時,已經(jīng)得到了第一運(yùn)行軌跡,也就是說,不管第三運(yùn)行軌跡中是否存在惡意行為,每個待檢測文件都要在物理機(jī)中運(yùn)行。而圖4所示實施例中,當(dāng)?shù)诙\(yùn)行軌跡中不存在惡意行為時,待檢測文件才在物理機(jī)中運(yùn)行,也就是說,不是每個待檢測文件都需要在物理機(jī)中運(yùn)行。圖5所示實施例在實施中效率更高,圖4所示實施例在實施中更節(jié)省設(shè)備資源。
[0090]在另一實施例中,在圖5所示實施例的基礎(chǔ)上,所述方法還可以包括:
[0091]當(dāng)所述第三運(yùn)行軌跡中不存在惡意行為,第一運(yùn)行軌跡中存在惡意行為時,比較所述第一運(yùn)行軌跡和第三運(yùn)行軌跡之間的行為差異,當(dāng)所述行為差異屬于預(yù)設(shè)行為類型時,記錄所述行為差異。
[0092]由于圖3、圖4和圖5屬于同一個發(fā)明構(gòu)思,因此三者可以相互參照。
[0093]圖6為本發(fā)明實施例提供的沙箱控制器的一種結(jié)構(gòu)示意圖,與圖3所示方法實施例相對應(yīng),其與資源池相連接,所述資源池中包括至少一個物理機(jī),所述沙箱控制器具體包括:第一接收模塊601、確定模塊602、發(fā)送模塊603、第二接收模塊604和檢測模塊605;
[0094]其中,第一接收模塊601,用于接收待檢測文件,檢測所述待檢測文件的文件運(yùn)行環(huán)境類型;
[0095]確定模塊602,用于根據(jù)檢測得到的文件運(yùn)行環(huán)境類型,從所述資源池中確定運(yùn)行所述待檢測文件的第一物理機(jī);
[0096]發(fā)送模塊603,用于將所述待檢測文件發(fā)送至所述第一物理機(jī),以使所述第一物理機(jī)運(yùn)行所述待檢測文件;
[0097]第二接收模塊604,用于接收所述第一物理機(jī)發(fā)送的所述待檢測文件的第一運(yùn)行軌跡;
[0098]檢測模塊605,用于檢測所述第一運(yùn)行軌跡中是否存在惡意行為,當(dāng)檢測到所述第一運(yùn)行軌跡中存在惡意行為時,進(jìn)行告警。
[0099]在本實施例中,所述資源池中還包括至少一個虛擬機(jī),所述確定模塊602,還用于在從所述資源池中確定運(yùn)行所述待檢測文件的第一物理機(jī)之前,從所述資源池中確定運(yùn)行所述待檢測文件的第二虛擬機(jī);
[0100]所述發(fā)送模塊603,還用于將所述待檢測文件發(fā)送至所述第二虛擬機(jī),以使所述第二虛擬機(jī)運(yùn)行所述待檢測文件;
[0101]所述第二接收模塊604,還用于接收所述第二虛擬機(jī)發(fā)送的所述待檢測文件的第二運(yùn)行軌跡;
[0102]所述檢測模塊605,還用于當(dāng)檢測到所述第二運(yùn)行軌跡中不存在惡意行為時,從所述資源池中確定運(yùn)行所述待檢測文件的第一物理機(jī)。
[0103]在本實施例中,所述沙箱控制器還包括第一記錄模塊(圖中未示出);
[0104]所述第一記錄模塊,用于在檢測出所述第二運(yùn)行軌跡中不存在惡意行為,第一運(yùn)行軌跡中存在惡意行為時,比較所述第一運(yùn)行軌跡和第二運(yùn)行軌跡之間的行為差異,當(dāng)所述行為差異屬于預(yù)設(shè)行為類型時,記錄所述行為差異。
[0105]在本實施例中,所述資源池中還包括至少一個虛擬機(jī);所述確定模塊602,還用于在接收待檢測文件,并檢測所述待檢測文件的文件運(yùn)行環(huán)境類型之后,從所述資源池中確定運(yùn)行所述待檢測文件的第三虛擬機(jī);
[0106]所述發(fā)送模塊603,還用于將所述待檢測文件發(fā)送至所述第三虛擬機(jī),以使所述第三虛擬機(jī)運(yùn)行所述待檢測文件;
[0107]所述第二接收模塊604,還用于接收所述第三虛擬機(jī)發(fā)送的所述待檢測文件的第三運(yùn)行軌跡;
[0108]所述檢測模塊605,還用于當(dāng)檢測到所述第三運(yùn)行軌跡中不存在惡意行為時,檢測所述第一運(yùn)行軌跡中是否存在惡意行為。
[0109]在本實施例中,所述沙箱控制器還包括第二記錄模塊(圖中未示出);
[0110]所述第二記錄模塊,用于在檢測出所述第三運(yùn)行軌跡中不存在惡意行為,第一運(yùn)行軌跡中存在惡意行為時,比較所述第一運(yùn)行軌跡和第三運(yùn)行軌跡之間的行為差異,當(dāng)所述行為差異屬于預(yù)設(shè)行為類型時,記錄所述行為差異。
[0111]上述裝置實施例與方法實施例是相互對應(yīng)的,具有與方法實施例相同的技術(shù)效果,因此裝置實施例的技術(shù)效果在此不再贅述,可以參見方法實施例部分的描述。
[0112]對于裝置實施例而言,由于其與方法實施例是相互對應(yīng)的,所以描述得比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
[0113]需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0114]本領(lǐng)域普通技術(shù)人員可以理解,上述實施方式中的全部或部分步驟是能夠通過程序指令相關(guān)的硬件來完成的,所述的程序可以存儲于計算機(jī)可讀取存儲介質(zhì)中。這里所稱存儲介質(zhì),是指R0M/RAM、磁碟、光盤等。
[0115]以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。
【主權(quán)項】
1.一種文件檢測方法,其特征在于,應(yīng)用于沙箱控制器,所述沙箱控制器與資源池相連接,所述資源池中包括至少一個物理機(jī),所述方法包括: 接收待檢測文件,并檢測所述待檢測文件的文件運(yùn)行環(huán)境類型; 根據(jù)檢測得到的文件運(yùn)行環(huán)境類型,從所述資源池中確定運(yùn)行所述待檢測文件的第一物理機(jī); 將所述待檢測文件發(fā)送至所述第一物理機(jī),以使所述第一物理機(jī)運(yùn)行所述待檢測文件; 接收所述第一物理機(jī)發(fā)送的所述待檢測文件的第一運(yùn)行軌跡; 檢測所述第一運(yùn)行軌跡中是否存在惡意行為,當(dāng)檢測到所述第一運(yùn)行軌跡中存在惡意行為時,進(jìn)行告警。2.根據(jù)權(quán)利要求1所述的檢測方法,其特征在于,所述資源池中還包括至少一個虛擬機(jī); 在從所述資源池中確定運(yùn)行所述待檢測文件的第一物理機(jī)之前,所述方法還包括: 從所述資源池中確定運(yùn)行所述待檢測文件的第二虛擬機(jī); 將所述待檢測文件發(fā)送至所述第二虛擬機(jī),以使所述第二虛擬機(jī)運(yùn)行所述待檢測文件; 接收所述第二虛擬機(jī)發(fā)送的所述待檢測文件的第二運(yùn)行軌跡; 當(dāng)檢測到所述第二運(yùn)行軌跡中不存在惡意行為時,執(zhí)行從所述資源池中確定運(yùn)行所述待檢測文件的第一物理機(jī)的步驟。3.根據(jù)權(quán)利要求2所述的檢測方法,其特征在于,所述方法還包括: 當(dāng)所述第二運(yùn)行軌跡中不存在惡意行為,第一運(yùn)行軌跡中存在惡意行為時,比較所述第一運(yùn)行軌跡和第二運(yùn)行軌跡之間的行為差異,當(dāng)所述行為差異屬于預(yù)設(shè)行為類型時,記錄所述行為差異。4.根據(jù)權(quán)利要求1所述的檢測方法,其特征在于,所述資源池中還包括至少一個虛擬機(jī); 在接收待檢測文件,并檢測所述待檢測文件的文件運(yùn)行環(huán)境類型之后,所述方法還包括: 從所述資源池中確定運(yùn)行所述待檢測文件的第三虛擬機(jī); 將所述待檢測文件發(fā)送至所述第三虛擬機(jī),以使所述第三虛擬機(jī)運(yùn)行所述待檢測文件; 接收所述第三虛擬機(jī)發(fā)送的所述待檢測文件的第三運(yùn)行軌跡; 當(dāng)檢測到所述第三運(yùn)行軌跡中不存在惡意行為時,執(zhí)行檢測所述第一運(yùn)行軌跡中是否存在惡意行為的步驟。5.根據(jù)權(quán)利要求4所述的檢測方法,其特征在于,所述方法還包括: 當(dāng)所述第三運(yùn)行軌跡中不存在惡意行為,第一運(yùn)行軌跡中存在惡意行為時,比較所述第一運(yùn)行軌跡和第三運(yùn)行軌跡之間的行為差異,當(dāng)所述行為差異屬于預(yù)設(shè)行為類型時,記錄所述行為差異。6.根據(jù)權(quán)利要求1-5任一項所述的檢測方法,其特征在于,所述資源池中的每個物理機(jī)中存在已經(jīng)創(chuàng)建完成的一種操作系統(tǒng)類型的物理運(yùn)行環(huán)境。7.根據(jù)權(quán)利要求2-5任一項所述的檢測方法,其特征在于,所述資源池中的每個虛擬機(jī)中存在已經(jīng)創(chuàng)建完成的一種操作系統(tǒng)類型的虛擬運(yùn)行環(huán)境。8.一種沙箱控制器,其特征在于,其與資源池相連接,所述資源池中包括至少一個物理機(jī),所述沙箱控制器具體包括: 第一接收模塊,用于接收待檢測文件,檢測所述待檢測文件的文件運(yùn)行環(huán)境類型; 確定模塊,用于根據(jù)檢測得到的文件運(yùn)行環(huán)境類型,從所述資源池中確定運(yùn)行所述待檢測文件的第一物理機(jī); 發(fā)送模塊,用于將所述待檢測文件發(fā)送至所述第一物理機(jī),以使所述第一物理機(jī)運(yùn)行所述待檢測文件; 第二接收模塊,用于接收所述第一物理機(jī)發(fā)送的所述待檢測文件的第一運(yùn)行軌跡; 檢測模塊,用于檢測所述第一運(yùn)行軌跡中是否存在惡意行為,當(dāng)檢測到所述第一運(yùn)行軌跡中存在惡意行為時,進(jìn)行告警。9.根據(jù)權(quán)利要求8所述的沙箱控制器,其特征在于,所述資源池中還包括至少一個虛擬機(jī); 所述確定模塊,還用于在從所述資源池中確定運(yùn)行所述待檢測文件的第一物理機(jī)之前,從所述資源池中確定運(yùn)行所述待檢測文件的第二虛擬機(jī); 所述發(fā)送模塊,還用于將所述待檢測文件發(fā)送至所述第二虛擬機(jī),以使所述第二虛擬機(jī)運(yùn)行所述待檢測文件; 所述第二接收模塊,還用于接收所述第二虛擬機(jī)發(fā)送的所述待檢測文件的第二運(yùn)行軌跡; 所述檢測模塊,還用于當(dāng)檢測到所述第二運(yùn)行軌跡中不存在惡意行為時,從所述資源池中確定運(yùn)行所述待檢測文件的第一物理機(jī)。10.根據(jù)權(quán)利要求9所述的沙箱控制器,其特征在于,所述沙箱控制器還包括第一記錄模塊; 所述第一記錄模塊,用于在檢測出所述第二運(yùn)行軌跡中不存在惡意行為,第一運(yùn)行軌跡中存在惡意行為時,比較所述第一運(yùn)行軌跡和第二運(yùn)行軌跡之間的行為差異,當(dāng)所述行為差異屬于預(yù)設(shè)行為類型時,記錄所述行為差異。11.根據(jù)權(quán)利要求8所述的沙箱控制器,其特征在于,所述資源池中還包括至少一個虛擬機(jī); 所述確定模塊,還用于在接收待檢測文件,并檢測所述待檢測文件的文件運(yùn)行環(huán)境類型之后,從所述資源池中確定運(yùn)行所述待檢測文件的第三虛擬機(jī); 所述發(fā)送模塊,還用于將所述待檢測文件發(fā)送至所述第三虛擬機(jī),以使所述第三虛擬機(jī)運(yùn)行所述待檢測文件; 所述第二接收模塊,還用于接收所述第三虛擬機(jī)發(fā)送的所述待檢測文件的第三運(yùn)行軌跡; 所述檢測模塊,還用于當(dāng)檢測到所述第三運(yùn)行軌跡中不存在惡意行為時,檢測所述第一運(yùn)行軌跡中是否存在惡意行為。12.根據(jù)權(quán)利要求11所述的沙箱控制器,其特征在于,所述沙箱控制器還包括第二記錄模塊; 所述第二記錄模塊,用于在檢測出所述第三運(yùn)行軌跡中不存在惡意行為,第一運(yùn)行軌跡中存在惡意行為時,比較所述第一運(yùn)行軌跡和第三運(yùn)行軌跡之間的行為差異,當(dāng)所述行為差異屬于預(yù)設(shè)行為類型時,記錄所述行為差異。
【文檔編號】G06F21/56GK106055976SQ201610329540
【公開日】2016年10月26日
【申請日】2016年5月16日
【發(fā)明人】房輝
【申請人】杭州華三通信技術(shù)有限公司