本發(fā)明涉及互聯(lián)網(wǎng)技術領域,具體涉及一種目標樣本文件的檢測方法和裝置。
背景技術:
隨著互聯(lián)網(wǎng)技術的不斷發(fā)展,人們對于網(wǎng)絡的使用愈加頻繁,通過網(wǎng)絡可以進行工作、學習、生活、娛樂等多方面的事宜,給人們帶來了極大的便利。然而,當前互聯(lián)網(wǎng)技術中存在系統(tǒng)級的內(nèi)核漏洞,這些漏洞給惡意開發(fā)者以可乘之機,惡意開發(fā)者們通過威脅樣本文件利用這些漏洞對各種客戶端、服務端所在的終端進行攻擊,獲取用戶的個人信息,威脅用戶的信息安全,給用戶的人身、財產(chǎn)等方面損失。其中特別地,惡意開發(fā)者們在通過威脅樣本文件進行漏洞利用的過程中,常常采用替換系統(tǒng)進程令牌的手段來獲取系統(tǒng)級權限進行執(zhí)行非法操作。
因此,如何有效、全面地對互聯(lián)網(wǎng)中進行漏洞利用攻擊的可疑樣本進行挖掘、檢測和處理,是當前亟待解決的重要問題。
技術實現(xiàn)要素:
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的目標樣本文件的檢測方法和裝置。
依據(jù)本發(fā)明的一個方面,提供了一種目標樣本文件的檢測方法,包括:
從數(shù)據(jù)源接收目標樣本文件,將所述目標樣本文件投放到沙箱中運行;
監(jiān)聽所述目標樣本文件在沙箱中運行的過程中是否發(fā)生系統(tǒng)進程令牌替換事件;
是則,確定所述目標樣本文件是威脅樣本文件;
否則,確定所述目標樣本文件不是威脅樣本文件。
可選地,在所述將所述目標樣本文件投放到沙箱中運行之前,該方法進一步包括:
獲取沙箱中具有系統(tǒng)級權限的各個系統(tǒng)進程的令牌信息。
可選地,所述監(jiān)聽所述目標樣本文件在沙箱中運行的過程中是否發(fā)生系統(tǒng)進程令牌替換事件包括:
監(jiān)聽所述目標樣本文件在沙箱中執(zhí)行的指定操作事件;
當監(jiān)聽到指定操作事件發(fā)生時,攔截所述指定操作事件,獲取當前所述目標樣本文件對應的進程的令牌信息;
將當前所述目標樣本文件對應的進程的令牌信息與沙箱中各個系統(tǒng)進程的令牌信息進行匹配,如果當前所述目標樣本文件對應的進程的令牌信息命中沙箱中系統(tǒng)進程的令牌信息,確定所述目標樣本文件在沙箱中運行的過程中發(fā)生系統(tǒng)進程令牌替換事件;否則,確定所述目標樣本文件在沙箱中運行的過程中未發(fā)生系統(tǒng)進程令牌替換事件。
可選地,該方法進一步包括:
當確定所述目標樣本文件在沙箱中運行的過程中發(fā)生系統(tǒng)進程令牌替換事件時,強制結束所述指定操作事件;
當確定所述目標樣本文件在沙箱中運行的過程中未發(fā)生系統(tǒng)進程令牌替換事件時,允許所述指定操作事件繼續(xù)執(zhí)行。
可選地,所述獲取沙箱中具有系統(tǒng)級權限的各個系統(tǒng)進程的令牌信息包括:
獲取沙箱中具有系統(tǒng)級權限的各個系統(tǒng)進程的進程標識;
對于每個系統(tǒng)進程,根據(jù)該系統(tǒng)進程的進程標識,獲取該系統(tǒng)進程的EPROCESS結構地址,進一步獲取該系統(tǒng)進程的EPROCESS結構地址中的Token域的指針值。
可選地,所述獲取當前所述目標樣本文件對應的進程的令牌信息包括:獲取當前所述目標樣本文件對應的進程的EPROCESS結構地址,進一步獲取所述目標樣本文件對應的進程的EPROCESS結構地址中的Token域的指針值;
則所述將當前所述目標樣本文件對應的進程的令牌信息與沙箱中各個系統(tǒng)進程的令牌信息進行匹配包括:將所述目標樣本文件對應的進程的EPROCESS結構地址中的Token域的指針值與沙箱中各個系統(tǒng)進程的EPROCESS結構地址中的Token域的指針值進行匹配。
可選地,沙箱中具有系統(tǒng)級權限的系統(tǒng)進程包括如下一種或多種:
Idle進程、System進程、smss.exe進程、csrss.exe進程、wininit.exe進程、service.exe進程、Isass.exe進程、winlogon.exe進程。
可選地,所述指定操作事件包括:對執(zhí)行指定操作的函數(shù)進行調(diào)用的事件;
所述指定操作包括:對沙箱中的內(nèi)存、特權、注冊表、進程、線程、和/或文件進行創(chuàng)建和/或讀寫的操作。
可選地,所述監(jiān)聽所述目標樣本文件在沙箱中執(zhí)行的指定操作事件包括:
在執(zhí)行指定操作的函數(shù)上掛載鉤子函數(shù),攔截指示對執(zhí)行所述指定操作的函數(shù)進行調(diào)用的消息;
判斷所述指示對執(zhí)行所述指定操作的函數(shù)進行調(diào)用的消息的發(fā)送者是否為所述目標樣本文件;
是則,確定監(jiān)聽到所述目標樣本文件在沙箱中執(zhí)行的指定操作事件,否則放行所述指示對執(zhí)行所述指令操作的函數(shù)進行調(diào)用的消息。
可選地,該方法進一步包括:
記錄所述目標樣本文件在沙箱中運行的運行日志;
當確定所述目標樣本文件是威脅樣本文件時,根據(jù)所述目標樣本文件在沙箱中運行的運行日志獲得所述目標樣本文件相關的特征信息;
將所述目標樣本文件相關的特征信息放入威脅數(shù)據(jù)庫中。
可選地,所述目標樣本文件相關的特征信息包括:
目標樣本文件的靜態(tài)特征信息,
和/或,
目標樣本文件的行為特征信息。
可選地,該方法進一步包括:
將所述目標樣本文件相關的特征信息反饋給數(shù)據(jù)源。
依據(jù)本發(fā)明的另一個方面,提供了一種目標樣本文件的檢測裝置,包括:
樣本接收單元,適于從數(shù)據(jù)源接收目標樣本文件;
檢測處理單元,適于將所述目標樣本文件投放到沙箱中運行,監(jiān)聽所述目標樣本文件在沙箱中運行的過程中是否發(fā)生系統(tǒng)進程令牌替換事件;是則,確定所述目標樣本文件是威脅樣本文件;否則,確定所述目標樣本文件不是威脅樣本文件。
可選地,所述檢測處理單元,進一步適于在所述將所述目標樣本文件投放到沙箱中運行之前,獲取沙箱中具有系統(tǒng)級權限的各個系統(tǒng)進程的令牌信息。
可選地,所述檢測處理單元,適于監(jiān)聽所述目標樣本文件在沙箱中執(zhí)行的指定操作事件;當監(jiān)聽到指定操作事件發(fā)生時,攔截所述指定操作事件,獲取當前所述目標樣本文件對應的進程的令牌信息;將當前所述目標樣本文件對應的進程的令牌信息與沙箱中各個系統(tǒng)進程的令牌信息進行匹配,如果當前所述目標樣本文件對應的進程的令牌信息命中沙箱中系統(tǒng)進程的令牌信息,確定所述目標樣本文件在沙箱中運行的過程中發(fā)生系統(tǒng)進程令牌替換事件;否則,確定所述目標樣本文件在沙箱中運行的過程中未發(fā)生系統(tǒng)進程令牌替換事件。
可選地,所述檢測處理單元,進一步適于當確定所述目標樣本文件在沙箱中運行的過程中發(fā)生系統(tǒng)進程令牌替換事件時,強制結束所述指定操作事件;當確定所述目標樣本文件在沙箱中運行的過程中未發(fā)生系統(tǒng)進程令牌替換事件時,允許所述指定操作事件繼續(xù)執(zhí)行。
可選地,所述檢測處理單元,適于獲取沙箱中具有系統(tǒng)級權限的各個系統(tǒng)進程的進程標識;對于每個系統(tǒng)進程,根據(jù)該系統(tǒng)進程的進程標識,獲取該系統(tǒng)進程的EPROCESS結構地址,進一步獲取該系統(tǒng)進程的EPROCESS結構地址中的Token域的指針值。
可選地,所述檢測處理單元,適于獲取當前所述目標樣本文件對應的進程的EPROCESS結構地址,進一步獲取所述目標樣本文件對應的進程的EPROCESS結構地址中的Token域的指針值;
所述檢測處理單元,適于將所述目標樣本文件對應的進程的EPROCESS結構地址中的Token域的指針值與沙箱中各個系統(tǒng)進程的EPROCESS結構地址中的Token域的指針值進行匹配。
可選地,沙箱中具有系統(tǒng)級權限的系統(tǒng)進程包括如下一種或多種:
Idle進程、System進程、smss.exe進程、csrss.exe進程、wininit.exe進程、service.exe進程、Isass.exe進程、winlogon.exe進程。
可選地,所述指定操作事件包括:對執(zhí)行指定操作的函數(shù)進行調(diào)用的事件;
所述指定操作包括:對沙箱中的內(nèi)存、特權、注冊表、進程、線程、和/或文件進行創(chuàng)建和/或讀寫的操作。
可選地,所述檢測處理單元,適于在執(zhí)行指定操作的函數(shù)上掛載鉤子函數(shù),攔截指示對執(zhí)行所述指定操作的函數(shù)進行調(diào)用的消息;判斷所述指示對執(zhí)行所述指定操作的函數(shù)進行調(diào)用的消息的發(fā)送者是否為所述目標樣本文件;是則,確定監(jiān)聽到所述目標樣本文件在沙箱中執(zhí)行的指定操作事件,否則放行所述指示對執(zhí)行所述指令操作的函數(shù)進行調(diào)用的消息。
可選地,所述檢測處理單元,進一步適于記錄所述目標樣本文件在沙箱中運行的運行日志;當確定所述目標樣本文件是威脅樣本文件時,根據(jù)所述目標樣本文件在沙箱中運行的運行日志獲得所述目標樣本文件相關的特征信息;將所述目標樣本文件相關的特征信息放入威脅數(shù)據(jù)庫中。
可選地,所述目標樣本文件相關的特征信息包括:
目標樣本文件的靜態(tài)特征信息,
和/或,
目標樣本文件的行為特征信息。
可選地,所述檢測處理單元,進一步適于將所述目標樣本文件相關的特征信息反饋給數(shù)據(jù)源。
由上述可知,本發(fā)明的技術方案將從數(shù)據(jù)源接收的目標樣本文件投放到沙箱中進行檢測,當檢測出目標樣本文件在沙箱中運行的過程中發(fā)生系統(tǒng)進程令牌替換事件時,確定目標樣本文件為威脅樣本文件。本方案以沙箱作為虛擬載體運行目標樣本文件,能夠清晰地檢測到目標樣本文件的所有運行軌跡,全面分析得到目標樣本文件相關的特征信息,根據(jù)目標樣本文件相關的特征信息可以更為準確地判斷所述目標樣本文件在虛擬機中運行的過程中是否發(fā)生系統(tǒng)進程令牌替換事件,進而確定出威脅樣本文件,為后續(xù)信息安全防護提供參考和依據(jù)。
上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。
附圖說明
通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1示出了根據(jù)本發(fā)明一個實施例的一種目標樣本文件的檢測方法的流程圖;
圖2示出了根據(jù)本發(fā)明一個實施例的一種目標樣本文件的檢測裝置的示意圖。
具體實施方式
下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現(xiàn)本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領域的技術人員。
圖1示出了根據(jù)本發(fā)明一個實施例的一種目標樣本文件的檢測方法的流程圖。如圖1所示,該方法包括:
步驟S110,從數(shù)據(jù)源接收目標樣本文件。
步驟S120,將所述目標樣本文件投放到沙箱中運行,監(jiān)聽所述目標樣本文件在沙箱中運行的過程中是否發(fā)生系統(tǒng)進程令牌替換事件。
步驟S130,是則,確定所述目標樣本文件是威脅樣本文件。
步驟S140,否則,確定所述目標樣本文件不是威脅樣本文件。
可見,圖1所示的方法將從數(shù)據(jù)源接收的目標樣本文件投放到沙箱中進行檢測,當檢測出目標樣本文件在沙箱中運行的過程中發(fā)生系統(tǒng)進程令牌替換事件時,確定目標樣本文件為威脅樣本文件。本方案以沙箱作為虛擬載體運行目標樣本文件,能夠清晰地檢測到目標樣本文件的所有運行軌跡,全面分析得到目標樣本文件相關的特征信息,根據(jù)目標樣本文件相關的特征信息可以更為準確地判斷所述目標樣本文件在虛擬機中運行的過程中是否發(fā)生系統(tǒng)進程令牌替換事件,進而確定出威脅樣本文件,為后續(xù)信息安全防護提供參考和依據(jù)。
在本發(fā)明的一個實施例中,圖1所示的方法進一步包括:記錄所述目標樣本文件在沙箱中運行的運行日志;當確定所述目標樣本文件是威脅樣本文件時,根據(jù)所述目標樣本文件在沙箱中運行的運行日志獲得所述目標樣本文件相關的特征信息;將所述目標樣本文件相關的特征信息放入威脅數(shù)據(jù)庫中。
其中,通過分析目標樣本文件對應的運行日志得到的目標樣本文件相關的特征信息包括:目標樣本文件的靜態(tài)特征信息,和/或,目標樣本文件的行為特征信息。也就是說,對于放入沙箱中運行的目標樣本文件,無論是該目標樣本文件的靜態(tài)特征,還是該目標樣本文件在運行過程中的動態(tài)行為特征,均可以被解構出來,均可以從本方案的視角觀察到,即掌握了一個目標樣本文件的完整的檔案,進而對于該目標樣本文件是不是具有威脅的威脅樣本、如果是威脅樣本如何對該可疑樣本進行預防、查殺等問題均可以找到準確的答案。
隨著本方案的不斷實施,所掌握的目標樣本文件的檔案不斷被完善,即威脅數(shù)據(jù)庫中的數(shù)據(jù)不斷被完善。在本發(fā)明的一個實施例中,上述將判定為威脅樣本的目標樣本文件相關的特征信息放入威脅數(shù)據(jù)庫中包括:根據(jù)所述判定為威脅樣本的可疑樣本相關的特征信息對威脅數(shù)據(jù)庫中原有的數(shù)據(jù)進行更新。
進一步地,圖1所述的方法還可以將所述目標樣本文件相關的特征信息反饋給數(shù)據(jù)源??梢钥吹剑诒痉桨钢?,從數(shù)據(jù)源接收目標樣本文件,對目標樣本文件進行檢測實現(xiàn)對威脅數(shù)據(jù)庫的補充更新,威脅數(shù)據(jù)庫向數(shù)據(jù)源推送補目標樣本文件相關的特征信息,數(shù)據(jù)源根據(jù)該推送的目標樣本文件相關的特征信息進行打點記錄,更精確地攔截、記錄目標樣本文件,以及向威脅數(shù)據(jù)庫反饋推送結果,形成了正反饋閉環(huán),能夠不斷地擴充完善各種類型的目標樣本文件的完整的特征信息的管理,目標樣本文件的特征信息越完善清晰,越能夠找到預防查殺威脅樣本的策略,并可以及時將預防查殺威脅樣本的策略統(tǒng)一推送到數(shù)據(jù)源中對于各個數(shù)據(jù)源的預防查殺策略進行統(tǒng)一的調(diào)整,建立起非常嚴密的安全防護機制,從更高的格局保障互聯(lián)網(wǎng)信息安全。
在本發(fā)明的一個實施例中,在上述步驟S120將所述目標樣本文件投放到沙箱中運行之前,圖1所示的方法進一步包括:獲取沙箱中具有系統(tǒng)級權限的各個系統(tǒng)進程的令牌信息。則步驟S120中監(jiān)聽所述目標樣本文件在沙箱中運行的過程中是否發(fā)生系統(tǒng)進程令牌替換事件包括:
步驟S121,監(jiān)聽所述目標樣本文件在沙箱中執(zhí)行的指定操作事件。
步驟S122,當監(jiān)聽到指定操作事件發(fā)生時,攔截所述指定操作事件,獲取當前所述目標樣本文件對應的進程的令牌信息。
步驟S123,將當前所述目標樣本文件對應的進程的令牌信息與沙箱中各個系統(tǒng)進程的令牌信息進行匹配,如果當前所述目標樣本文件對應的進程的令牌信息命中沙箱中系統(tǒng)進程的令牌信息,確定所述目標樣本文件在沙箱中運行的過程中發(fā)生系統(tǒng)進程令牌替換事件;否則,確定所述目標樣本文件在沙箱中運行的過程中未發(fā)生系統(tǒng)進程令牌替換事件。
進一步地,上述過程還包括:
步驟S124,當確定所述目標樣本文件在沙箱中運行的過程中發(fā)生系統(tǒng)進程令牌替換事件時,強制結束所述指定操作事件。
步驟S125,當確定所述目標樣本文件在沙箱中運行的過程中未發(fā)生系統(tǒng)進程令牌替換事件時,允許所述指定操作事件繼續(xù)執(zhí)行。
其中具體地,所述指定操作事件包括:對執(zhí)行指定操作的函數(shù)進行調(diào)用的事件;所述指定操作包括:對沙箱中的內(nèi)存、特權、注冊表、進程、線程、和/或文件進行創(chuàng)建和/或讀寫的操作。具體地,上述步驟S121監(jiān)聽所述目標樣本文件在沙箱中執(zhí)行的指定操作事件包括:在執(zhí)行指定操作的函數(shù)上掛載鉤子函數(shù),攔截指示對執(zhí)行所述指定操作的函數(shù)進行調(diào)用的消息;判斷所述指示對執(zhí)行所述指定操作的函數(shù)進行調(diào)用的消息的發(fā)送者是否為所述目標樣本文件;是則,確定監(jiān)聽到所述目標樣本文件在沙箱中執(zhí)行的指定操作事件,否則放行所述指示對執(zhí)行所述指令操作的函數(shù)進行調(diào)用的消息。
通過一個具體的例子來說明本方案的實施過程:基于現(xiàn)有技術中惡意的威脅樣本文件通常采取對系統(tǒng)進程令牌進行替換的方式獲得系統(tǒng)權限,進而執(zhí)行惡意操作危害用戶信息安全的手段,本方案旨在于服務器側創(chuàng)建沙箱作為目標樣本文件的虛擬運行載體,通過監(jiān)控目標樣本文件在沙箱中運行的過程中是否發(fā)生系統(tǒng)進程令牌替換事件來獲知是否發(fā)生內(nèi)核漏洞利用的事件,即通過威脅樣本文件在沙箱中的行為特征來動態(tài)地確定目標樣本文件是否為威脅樣本文件。本例中,沙箱中包括4個模塊:Agent.exe,虛擬機通信代理模塊,負責檢測模塊和樣本文件的接收,Analyzer進程的創(chuàng)建,與虛擬機外部服務器端進程實時數(shù)據(jù)交互、日志和文件傳遞。Analyzer.exe,內(nèi)部調(diào)度管控模塊,負責樣本文件類型識別、LoadHP進程的創(chuàng)建,內(nèi)部檢測超時設定和限制,操作系統(tǒng)屏幕模擬點擊實現(xiàn),屏幕截取實現(xiàn),與Agent的數(shù)據(jù)通信。LoadHP.exe,檢測輔助操作模塊,負責加載檢測主模塊驅(qū)動程序,通過配置文件選項控制各檢測功能開關,與核心模塊驅(qū)動程序之間通信和交互,樣本文件進程的啟動。Honeypot.sys,檢測實現(xiàn)核心模塊,驅(qū)動程序?qū)崿F(xiàn)。在操作系統(tǒng)內(nèi)核中設置進程創(chuàng)建回調(diào)通知、對指定的內(nèi)核API掛鉤,在HOOK處理函數(shù)中判定進程是否提權,打點并生成檢測結果日志等。
在從數(shù)據(jù)源接收到目標樣本本件,將目標樣本文件投放到沙箱中運行,則本例在Agent.exe、Analyzer.exe和Honeypot.sys三個模塊的交互下,利用Honeypot.sys驅(qū)動程序來對目標樣本文件在沙箱中運行的過程中是否發(fā)生系統(tǒng)進程令牌替換的事件進行檢測,具體流程如下:
1、Honeypot.sys驅(qū)動程序在加載時初始化驅(qū)動程序必須的相關數(shù)據(jù)結構對象和變量,獲取沙箱中具有系統(tǒng)級權限的各個系統(tǒng)進程的進程標識,如記錄Idle進程、System進程、smss.exe進程、csrss.exe進程、wininit.exe進程、service.exe進程、Isass.exe進程、winlogon.exe進程等系統(tǒng)進程的PID。
2、Honeypot.sys驅(qū)動程序進行初始化,根據(jù)用戶層進程LoadHP.exe發(fā)送的IO控制碼執(zhí)行相關的初始化操作,創(chuàng)建日志記錄線程。Honeypot在接收到標記為“內(nèi)核利用監(jiān)控”的IO控制碼時,根據(jù)傳入Buffer的數(shù)據(jù),選擇進入對應的分發(fā)處理例程中。監(jiān)聽所述目標樣本文件在沙箱中執(zhí)行的指定操作事件,具體方式是:HOOK SSDT中對沙箱中的內(nèi)存、特權、注冊表、進程、線程、和/或文件進行創(chuàng)建和/或讀寫等操作的敏感API,并設置新的進程創(chuàng)建通知回調(diào)例程。
3、Honeypot.sys驅(qū)動程序開啟監(jiān)控,根據(jù)LoadHP.exe發(fā)送的相關IOCTL開啟內(nèi)核層行為監(jiān)控總控開關。
4.通知和記錄,在系統(tǒng)創(chuàng)建新進程時,進入前面設置的進程創(chuàng)建通知例程。在該例程中將新進程添加進進程創(chuàng)建記錄LIST。
5.監(jiān)控和檢測,檢測目標樣本文件在虛擬機中運行的過程中是否發(fā)生系統(tǒng)進程令牌替換事件:通過對前述指定操作行為的各敏感API的HOOK,當上述敏感API在新創(chuàng)建的進程中被調(diào)用時,攔截該調(diào)用事件,先跳轉到本方案自己實現(xiàn)的Fake函數(shù)中,在Fake函數(shù)中判斷當前進程是否在前面維護的進程LIST中,因為進程LIST中記錄的均是系統(tǒng)創(chuàng)建的進程,則當前判斷的目的是判斷當前調(diào)用事件的發(fā)起方是否為目標樣本文件對應的進程或者是否為目標樣本文件所創(chuàng)建的進程,如果是的話,說明是目標樣本文件所執(zhí)行的操作,進行系統(tǒng)進程Token替換的檢測。
具體地,在調(diào)用原API之前,根據(jù)Honeypot.sys加載階段記錄的各個系統(tǒng)進程的進程標識,對于每個系統(tǒng)進程,根據(jù)該系統(tǒng)進程的進程標識,獲取該系統(tǒng)進程的EPROCESS結構地址,進一步獲取該系統(tǒng)進程的EPROCESS結構地址中的Token域的指針值。以及,獲取當前所述目標樣本文件對應的進程的EPROCESS結構地址,進一步獲取所述目標樣本文件對應的進程的EPROCESS結構地址中的Token域的指針值;將所述目標樣本文件對應的進程的EPROCESS結構地址中的Token域的指針值與沙箱中各個系統(tǒng)進程的EPROCESS結構地址中的Token域的指針值進行匹配,如果存在至少一項匹配相同,則判斷檢出該樣本進程提權,即目標樣本文件在沙箱中運行的過程中發(fā)生系統(tǒng)進程令牌替換事件,目標樣本文件為威脅樣本文件,打點并按照格式生成檢測結果日志,將日志Buffer插入日志緩沖LIST。否則,確定目標樣本文件在沙箱中運行的過程中未發(fā)生系統(tǒng)進程令牌替換事件,目標樣本文件不是威脅樣本文件;則如果檢測結束后,如果目標樣本數(shù)據(jù)不是威脅樣本,在Fake函數(shù)中調(diào)用原敏感API繼續(xù)執(zhí)行,并向Caller返回其返回的值。
檢測過程的最后一步,在確定目標樣本文件為威脅文件時:
6.日志生成,在Honeypot日志記錄線程中,持續(xù)不斷地檢查日志緩沖LIST中是否又新的日志Buffer插入。將新的日志Buffer追加寫入到配置選項中指定路徑的配置文件中,并釋放日志緩沖LIST中該日志Buffer的節(jié)點。
對本例中生成檢測結果日志的細節(jié)進行說明:該方案打點檢出日志生成形式為緩存方式打點。檢出日志被暫存于日志緩沖LIST中。日志記錄線程輪詢該日志緩沖LIST并依照FIFO的方式依次處理各日志節(jié)點,將檢測結果日志內(nèi)容追加寫入日志記錄文件actions.log中,在檢測完成后由外部相關調(diào)度模塊進程獲取并處理該日志文件。其中,檢測結果日志中的打點數(shù)據(jù)包括:環(huán)境和文件基本信息,檢出功能點觸發(fā)數(shù)據(jù)等。其中環(huán)境和文件基本信息以流水日志等形式輸出,檢出功能點觸發(fā)數(shù)據(jù)以行為日志actions.log的形式輸出。如檢測結果日志中包括:1.環(huán)境和文件基本信息:樣本進程文件MD5,進樣本程文件路徑,主要系統(tǒng)模塊名稱和文件版本等。2.檢出功能點觸發(fā)數(shù)據(jù):對于系統(tǒng)進程Token替換檢測來說,進程ID,線程ID,Token地址,命中系統(tǒng)進程名,檢出時所在Hooked API等。
在本發(fā)明的一個實施例中,除了檢測所述目標樣本文件在虛擬機中運行的過程中是否發(fā)生內(nèi)核漏洞利用之外,還有相關的輔助檢測流程,包括檢測進程保護機制和檢測文件保護機制:
檢測進程保護機制用于保護檢測模塊相關進程地址空間,防止被虛擬機沙箱逃逸的惡意樣本進程訪問、釋放或泄漏,導致檢測模塊機密信息失竊。初步的準備工作包括:1.LoadHP.exe,在LoadHP進程加載驅(qū)動階段完成后,讀取Honeypot.ini配置文件中的“ourproc”等字段的值,并解析獲得1個或多個檢測模塊的進程名,通過進程名獲取檢測模塊各進程的PID,依次通過IO控制碼方式發(fā)送給Honeypot驅(qū)動程序。2.Honeypot.sys,Honeypot在接收到標記為“進程ID過濾”的IO控制碼時,從輸入Buffer中獲取當次傳遞的PID的值,并根據(jù)PID獲取對應進程EPROCESS地址,將該EPROCESS指針插入進程過濾LIST。在此基礎上,輔助檢測過程包括:HOOK對進程、線程、內(nèi)存地址空間操作的關鍵NTAPI,在Fake函數(shù)中針對上下背景文所在進程的EPROCESS地址和操作目標進程的EPROCESS地址,在上述進程過濾LIST中進行匹配。如果上下背景文進程EPROCESS地址不在進程過濾LIST中,而操作目標進程EPROCESS地址在進程過濾LIST中成功匹配,則可判定其他進程試圖訪問檢測模塊各進程集中的某個進程。進行阻止,返回拒絕訪問的狀態(tài)碼,不繼續(xù)向下調(diào)用,以終止當前上下背景文進程對該API的調(diào)用。如果未能成功匹配,則屬于對應API正常調(diào)用的其他情況。不進行阻止,繼續(xù)調(diào)用原API向下執(zhí)行,并向Caller返回其返回的值。
檢測文件保護機制用于保護檢測模塊和檢測結果日志相關各文件目錄,防止被某些樣本進程訪問、篡改、加密、損毀,造成檢測失敗或結果異常,影響沙箱系統(tǒng)穩(wěn)定和性能。初步的準備工作包括:1.LoadHP.exe,在LoadHP進程加載驅(qū)動階段完成后,讀取Honeypot.ini配置文件中的“ourpath”等字段的值,并解析獲得1個或多個檢測結果日志的目錄路徑名,將各路徑Buffer依次通過IO控制碼方式發(fā)送給Honeypot驅(qū)動程序。2.Honeypot.sys,Honeypot在接收到標記為“私有目錄”的IO控制碼時,從輸入Buffer中獲取當次傳遞的目錄路徑的Buffer,并根據(jù)Buffer構造UNICODE_STRING字符串對象,將該字符串對象插入私有目錄LIST。在此基礎上,輔助檢測過程包括:注冊文件系統(tǒng)過濾,實現(xiàn)各主要IRP分發(fā)函數(shù)。在READ,WRITE,CREATE,SET_INFORMATION,DIRECTORY_CONTROL等分發(fā)函數(shù)的自實現(xiàn)函數(shù)體中,判斷當前IRP中FILE_OBJECT的文件路徑UNICODE_STRING對象是否能夠在私有目錄LIST中成功匹配。如果未能成功匹配,則當前操作不是對檢測日志目錄或檢測模塊目錄進行的,跳過當前棧單元,并將IRP繼續(xù)向下分發(fā)。如果成功匹配,意味著當前文件操作確實是針對檢測日志目錄或檢測模塊目錄進行的。這時獲取上下背景文進程的EPROCESS地址,并判斷該EPROCESS地址是否能夠在“檢測進程保護”機制中的進程過濾LIST中成功匹配。如果成功匹配,則判定屬于檢測模塊進程自身對檢測日志目錄和檢測模塊目錄的訪問,跳過當前棧單元,并將IRP繼續(xù)向下分發(fā)。如果未能成功匹配,意味著屬于第三方的進程訪問檢測日志目錄或檢測模塊目錄。賦值IRP的IO狀態(tài)域拒絕訪問等錯誤碼,完成IRP的IO請求,返回當前IRP分發(fā)函數(shù),使當前的文件訪問操作失敗。
圖2示出了根據(jù)本發(fā)明一個實施例的一種目標樣本文件的檢測裝置的示意圖。如圖2所示,目標樣本文件的檢測裝置200包括:
樣本接收單元210,適于從數(shù)據(jù)源接收目標樣本文件。
檢測處理單元220,適于將所述目標樣本文件投放到沙箱中運行,監(jiān)聽所述目標樣本文件在沙箱中運行的過程中是否發(fā)生系統(tǒng)進程令牌替換事件;是則,確定所述目標樣本文件是威脅樣本文件;否則,確定所述目標樣本文件不是威脅樣本文件。
可見,圖2所示的裝置將從數(shù)據(jù)源接收的目標樣本文件投放到沙箱中進行檢測,當檢測出目標樣本文件在沙箱中運行的過程中發(fā)生系統(tǒng)進程令牌替換事件時,確定目標樣本文件為威脅樣本文件。本方案以沙箱作為虛擬載體運行目標樣本文件,能夠清晰地檢測到目標樣本文件的所有運行軌跡,全面分析得到目標樣本文件相關的特征信息,根據(jù)目標樣本文件相關的特征信息可以更為準確地判斷所述目標樣本文件在虛擬機中運行的過程中是否發(fā)生系統(tǒng)進程令牌替換事件,進而確定出威脅樣本文件,為后續(xù)信息安全防護提供參考和依據(jù)。
在本發(fā)明的一個實施例中,檢測處理單元220,進一步適于在所述將所述目標樣本文件投放到沙箱中運行之前,獲取沙箱中具有系統(tǒng)級權限的各個系統(tǒng)進程的令牌信息。
則,檢測處理單元220,適于監(jiān)聽所述目標樣本文件在沙箱中執(zhí)行的指定操作事件;當監(jiān)聽到指定操作事件發(fā)生時,攔截所述指定操作事件,獲取當前所述目標樣本文件對應的進程的令牌信息;將當前所述目標樣本文件對應的進程的令牌信息與沙箱中各個系統(tǒng)進程的令牌信息進行匹配,如果當前所述目標樣本文件對應的進程的令牌信息命中沙箱中系統(tǒng)進程的令牌信息,確定所述目標樣本文件在沙箱中運行的過程中發(fā)生系統(tǒng)進程令牌替換事件;否則,確定所述目標樣本文件在沙箱中運行的過程中未發(fā)生系統(tǒng)進程令牌替換事件。
進一步地,檢測處理單元220,進一步適于當確定所述目標樣本文件在沙箱中運行的過程中發(fā)生系統(tǒng)進程令牌替換事件時,強制結束所述指定操作事件;當確定所述目標樣本文件在沙箱中運行的過程中未發(fā)生系統(tǒng)進程令牌替換事件時,允許所述指定操作事件繼續(xù)執(zhí)行。
具體地,檢測處理單元220,適于獲取沙箱中具有系統(tǒng)級權限的各個系統(tǒng)進程的進程標識;對于每個系統(tǒng)進程,根據(jù)該系統(tǒng)進程的進程標識,獲取該系統(tǒng)進程的EPROCESS結構地址,進一步獲取該系統(tǒng)進程的EPROCESS結構地址中的Token域的指針值。
檢測處理單元220,適于獲取當前所述目標樣本文件對應的進程的EPROCESS結構地址,進一步獲取所述目標樣本文件對應的進程的EPROCESS結構地址中的Token域的指針值;則檢測處理單元220,適于將所述目標樣本文件對應的進程的EPROCESS結構地址中的Token域的指針值與沙箱中各個系統(tǒng)進程的EPROCESS結構地址中的Token域的指針值進行匹配。
其中,沙箱中具有系統(tǒng)級權限的系統(tǒng)進程包括如下一種或多種:Idle進程、System進程、smss.exe進程、csrss.exe進程、wininit.exe進程、service.exe進程、Isass.exe進程、winlogon.exe進程。
指定操作事件包括:對執(zhí)行指定操作的函數(shù)進行調(diào)用的事件;所述指定操作包括:對沙箱中的內(nèi)存、特權、注冊表、進程、線程、和/或文件進行創(chuàng)建和/或讀寫的操作。
在一個具體的例子中,檢測處理單元220,適于在執(zhí)行指定操作的函數(shù)上掛載鉤子函數(shù),攔截指示對執(zhí)行所述指定操作的函數(shù)進行調(diào)用的消息;判斷所述指示對執(zhí)行所述指定操作的函數(shù)進行調(diào)用的消息的發(fā)送者是否為所述目標樣本文件;是則,確定監(jiān)聽到所述目標樣本文件在沙箱中執(zhí)行的指定操作事件,否則放行所述指示對執(zhí)行所述指令操作的函數(shù)進行調(diào)用的消息。
在本發(fā)明的一個實施例中,檢測處理單元220,進一步適于記錄所述目標樣本文件在沙箱中運行的運行日志;當確定所述目標樣本文件是威脅樣本文件時,根據(jù)所述目標樣本文件在沙箱中運行的運行日志獲得所述目標樣本文件相關的特征信息;將所述目標樣本文件相關的特征信息放入威脅數(shù)據(jù)庫中。
其中,所述目標樣本文件相關的特征信息包括:目標樣本文件的靜態(tài)特征信息,和/或,目標樣本文件的行為特征信息。
進一步地,檢測處理單元220,還適于將所述目標樣本文件相關的特征信息反饋給數(shù)據(jù)源。
需要說明的是,圖2所示裝置的具體實施例與圖1所示方法的各實施例對應相同,上文中已進行了詳細說明,在此不再贅述。
綜上所述,本發(fā)明的技術方案將從數(shù)據(jù)源接收的目標樣本文件投放到沙箱中進行檢測,當檢測出目標樣本文件在沙箱中運行的過程中發(fā)生系統(tǒng)進程令牌替換事件時,確定目標樣本文件為威脅樣本文件。本方案以沙箱作為虛擬載體運行目標樣本文件,能夠清晰地檢測到目標樣本文件的所有運行軌跡,全面分析得到目標樣本文件相關的特征信息,根據(jù)目標樣本文件相關的特征信息可以更為準確地判斷所述目標樣本文件在虛擬機中運行的過程中是否發(fā)生系統(tǒng)進程令牌替換事件,進而確定出威脅樣本文件,為后續(xù)信息安全防護提供參考和依據(jù)。
需要說明的是:
在此提供的算法和顯示不與任何特定計算機、虛擬裝置或者其它設備固有相關。各種通用裝置也可以與基于在此的示教一起使用。根據(jù)上面的描述,構造這類裝置所要求的結構是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應當明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。
在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
類似地,應當理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權利要求中所明確記載的特征更多的特征。更確切地說,如下面的權利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權利要求書由此明確地并入該具體實施方式,其中每個權利要求本身都作為本發(fā)明的單獨實施例。
本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的目標樣本文件的檢測裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中,不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞“包含”不排除存在未列在權利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
本發(fā)明公開了A1、一種目標樣本文件的檢測方法,其中,包括:
從數(shù)據(jù)源接收目標樣本文件,將所述目標樣本文件投放到沙箱中運行;
監(jiān)聽所述目標樣本文件在沙箱中運行的過程中是否發(fā)生系統(tǒng)進程令牌替換事件;
是則,確定所述目標樣本文件是威脅樣本文件;
否則,確定所述目標樣本文件不是威脅樣本文件。
A2、如A1所述的方法,其中,在所述將所述目標樣本文件投放到沙箱中運行之前,該方法進一步包括:
獲取沙箱中具有系統(tǒng)級權限的各個系統(tǒng)進程的令牌信息。
A3、如A2所述的方法,其中,所述監(jiān)聽所述目標樣本文件在沙箱中運行的過程中是否發(fā)生系統(tǒng)進程令牌替換事件包括:
監(jiān)聽所述目標樣本文件在沙箱中執(zhí)行的指定操作事件;
當監(jiān)聽到指定操作事件發(fā)生時,攔截所述指定操作事件,獲取當前所述目標樣本文件對應的進程的令牌信息;
將當前所述目標樣本文件對應的進程的令牌信息與沙箱中各個系統(tǒng)進程的令牌信息進行匹配,如果當前所述目標樣本文件對應的進程的令牌信息命中沙箱中系統(tǒng)進程的令牌信息,確定所述目標樣本文件在沙箱中運行的過程中發(fā)生系統(tǒng)進程令牌替換事件;否則,確定所述目標樣本文件在沙箱中運行的過程中未發(fā)生系統(tǒng)進程令牌替換事件。
A4、如A3所述的方法,其中,該方法進一步包括:
當確定所述目標樣本文件在沙箱中運行的過程中發(fā)生系統(tǒng)進程令牌替換事件時,強制結束所述指定操作事件;
當確定所述目標樣本文件在沙箱中運行的過程中未發(fā)生系統(tǒng)進程令牌替換事件時,允許所述指定操作事件繼續(xù)執(zhí)行。
A5、如A3所述的方法,其中,所述獲取沙箱中具有系統(tǒng)級權限的各個系統(tǒng)進程的令牌信息包括:
獲取沙箱中具有系統(tǒng)級權限的各個系統(tǒng)進程的進程標識;
對于每個系統(tǒng)進程,根據(jù)該系統(tǒng)進程的進程標識,獲取該系統(tǒng)進程的EPROCESS結構地址,進一步獲取該系統(tǒng)進程的EPROCESS結構地址中的Token域的指針值。
A6、如A5所述的方法,其中,所述獲取當前所述目標樣本文件對應的進程的令牌信息包括:獲取當前所述目標樣本文件對應的進程的EPROCESS結構地址,進一步獲取所述目標樣本文件對應的進程的EPROCESS結構地址中的Token域的指針值;
則所述將當前所述目標樣本文件對應的進程的令牌信息與沙箱中各個系統(tǒng)進程的令牌信息進行匹配包括:將所述目標樣本文件對應的進程的EPROCESS結構地址中的Token域的指針值與沙箱中各個系統(tǒng)進程的EPROCESS結構地址中的Token域的指針值進行匹配。
A7、如A2所述的方法,其中,沙箱中具有系統(tǒng)級權限的系統(tǒng)進程包括如下一種或多種:
Idle進程、System進程、smss.exe進程、csrss.exe進程、wininit.exe進程、service.exe進程、Isass.exe進程、winlogon.exe進程。
A8、如A3所述的方法,其中,所述指定操作事件包括:對執(zhí)行指定操作的函數(shù)進行調(diào)用的事件;
所述指定操作包括:對沙箱中的內(nèi)存、特權、注冊表、進程、線程、和/或文件進行創(chuàng)建和/或讀寫的操作。
A9、如A8所述的方法,其中,所述監(jiān)聽所述目標樣本文件在沙箱中執(zhí)行的指定操作事件包括:
在執(zhí)行指定操作的函數(shù)上掛載鉤子函數(shù),攔截指示對執(zhí)行所述指定操作的函數(shù)進行調(diào)用的消息;
判斷所述指示對執(zhí)行所述指定操作的函數(shù)進行調(diào)用的消息的發(fā)送者是否為所述目標樣本文件;
是則,確定監(jiān)聽到所述目標樣本文件在沙箱中執(zhí)行的指定操作事件,否則放行所述指示對執(zhí)行所述指令操作的函數(shù)進行調(diào)用的消息。
A10、如A1所述的方法,其中,該方法進一步包括:
記錄所述目標樣本文件在沙箱中運行的運行日志;
當確定所述目標樣本文件是威脅樣本文件時,根據(jù)所述目標樣本文件在沙箱中運行的運行日志獲得所述目標樣本文件相關的特征信息;
將所述目標樣本文件相關的特征信息放入威脅數(shù)據(jù)庫中。
A11、如A10所述的方法,其中,所述目標樣本文件相關的特征信息包括:
目標樣本文件的靜態(tài)特征信息,
和/或,
目標樣本文件的行為特征信息。
A12、如A10所述的方法,其中,該方法進一步包括:
將所述目標樣本文件相關的特征信息反饋給數(shù)據(jù)源。
本發(fā)明還公開了B13、一種目標樣本文件的檢測裝置,其中,包括:
樣本接收單元,適于從數(shù)據(jù)源接收目標樣本文件;
檢測處理單元,適于將所述目標樣本文件投放到沙箱中運行,監(jiān)聽所述目標樣本文件在沙箱中運行的過程中是否發(fā)生系統(tǒng)進程令牌替換事件;是則,確定所述目標樣本文件是威脅樣本文件;否則,確定所述目標樣本文件不是威脅樣本文件。
B14、如B13所述的裝置,其中,
所述檢測處理單元,進一步適于在所述將所述目標樣本文件投放到沙箱中運行之前,獲取沙箱中具有系統(tǒng)級權限的各個系統(tǒng)進程的令牌信息。
B15、如B14所述的裝置,其中,
所述檢測處理單元,適于監(jiān)聽所述目標樣本文件在沙箱中執(zhí)行的指定操作事件;當監(jiān)聽到指定操作事件發(fā)生時,攔截所述指定操作事件,獲取當前所述目標樣本文件對應的進程的令牌信息;將當前所述目標樣本文件對應的進程的令牌信息與沙箱中各個系統(tǒng)進程的令牌信息進行匹配,如果當前所述目標樣本文件對應的進程的令牌信息命中沙箱中系統(tǒng)進程的令牌信息,確定所述目標樣本文件在沙箱中運行的過程中發(fā)生系統(tǒng)進程令牌替換事件;否則,確定所述目標樣本文件在沙箱中運行的過程中未發(fā)生系統(tǒng)進程令牌替換事件。
B16、如B15所述的裝置,其中,
所述檢測處理單元,進一步適于當確定所述目標樣本文件在沙箱中運行的過程中發(fā)生系統(tǒng)進程令牌替換事件時,強制結束所述指定操作事件;當確定所述目標樣本文件在沙箱中運行的過程中未發(fā)生系統(tǒng)進程令牌替換事件時,允許所述指定操作事件繼續(xù)執(zhí)行。
B17、如B15所述的裝置,其中,
所述檢測處理單元,適于獲取沙箱中具有系統(tǒng)級權限的各個系統(tǒng)進程的進程標識;對于每個系統(tǒng)進程,根據(jù)該系統(tǒng)進程的進程標識,獲取該系統(tǒng)進程的EPROCESS結構地址,進一步獲取該系統(tǒng)進程的EPROCESS結構地址中的Token域的指針值。
B18、如B17所述的裝置,其中,所述檢測處理單元,適于獲取當前所述目標樣本文件對應的進程的EPROCESS結構地址,進一步獲取所述目標樣本文件對應的進程的EPROCESS結構地址中的Token域的指針值;
所述檢測處理單元,適于將所述目標樣本文件對應的進程的EPROCESS結構地址中的Token域的指針值與沙箱中各個系統(tǒng)進程的EPROCESS結構地址中的Token域的指針值進行匹配。
B19、如B14所述的裝置,其中,沙箱中具有系統(tǒng)級權限的系統(tǒng)進程包括如下一種或多種:
Idle進程、System進程、smss.exe進程、csrss.exe進程、wininit.exe進程、service.exe進程、Isass.exe進程、winlogon.exe進程。
B20、如B15所述的裝置,其中,所述指定操作事件包括:對執(zhí)行指定操作的函數(shù)進行調(diào)用的事件;
所述指定操作包括:對沙箱中的內(nèi)存、特權、注冊表、進程、線程、和/或文件進行創(chuàng)建和/或讀寫的操作。
B21、如B20所述的裝置,其中,
所述檢測處理單元,適于在執(zhí)行指定操作的函數(shù)上掛載鉤子函數(shù),攔截指示對執(zhí)行所述指定操作的函數(shù)進行調(diào)用的消息;判斷所述指示對執(zhí)行所述指定操作的函數(shù)進行調(diào)用的消息的發(fā)送者是否為所述目標樣本文件;是則,確定監(jiān)聽到所述目標樣本文件在沙箱中執(zhí)行的指定操作事件,否則放行所述指示對執(zhí)行所述指令操作的函數(shù)進行調(diào)用的消息。
B22、如B13所述的裝置,其中,
所述檢測處理單元,進一步適于記錄所述目標樣本文件在沙箱中運行的運行日志;當確定所述目標樣本文件是威脅樣本文件時,根據(jù)所述目標樣本文件在沙箱中運行的運行日志獲得所述目標樣本文件相關的特征信息;將所述目標樣本文件相關的特征信息放入威脅數(shù)據(jù)庫中。
B23、如B22所述的裝置,其中,所述目標樣本文件相關的特征信息包括:
目標樣本文件的靜態(tài)特征信息,
和/或,
目標樣本文件的行為特征信息。
B24、如B22所述的裝置,其中,
所述檢測處理單元,進一步適于將所述目標樣本文件相關的特征信息反饋給數(shù)據(jù)源。