TW201642135A - 文件檢測方法、裝置及系統 - Google Patents

文件檢測方法、裝置及系統 Download PDF

Info

Publication number
TW201642135A
TW201642135A TW104142284A TW104142284A TW201642135A TW 201642135 A TW201642135 A TW 201642135A TW 104142284 A TW104142284 A TW 104142284A TW 104142284 A TW104142284 A TW 104142284A TW 201642135 A TW201642135 A TW 201642135A
Authority
TW
Taiwan
Prior art keywords
file
detected
behavior
malicious
sample
Prior art date
Application number
TW104142284A
Other languages
English (en)
Other versions
TWI678616B (zh
Inventor
Zhen Wang
Original Assignee
Alibaba Group Services Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Services Ltd filed Critical Alibaba Group Services Ltd
Publication of TW201642135A publication Critical patent/TW201642135A/zh
Application granted granted Critical
Publication of TWI678616B publication Critical patent/TWI678616B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/12Classification; Matching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)
  • Bioethics (AREA)

Abstract

本發明公開了一種檔案檢測方法、裝置及系統。其中,該方法包括:獲取檔案檢測任務,其中,檔案檢測任務至少包括待檢測檔案的存儲位址以及用於運行待檢測檔案的基本資訊;將檔案檢測任務發送至檢測引擎,其中,由檢測引擎根據存儲位址從檔案伺服器中獲取待檢測檔案,基於用於運行待檢測檔案的基本資訊運行並監控待檢測檔案,產生對應待檢測檔案的監控行為記錄;接收檢測引擎返回的監控行為記錄;確定監控行為記錄中與預設的惡意行為集合相同的惡意行為;根據惡意行為,確定待檢測檔案是否為惡意檔案。本發明解決了由於現有技術採用基於特徵碼的技術進行檔案檢測造成的在病毒檔案稍有變化時,檔案檢測準確性較低的技術問題。

Description

文件檢測方法、裝置及系統
本發明關於雲端計算領域,具體而言,涉及一種檔案檢測方法、裝置及系統。
隨著網際網路的發展,人們對在網際網路中的檔案的安全性的要求也越來越高。目前,大部分的檔案檢測系統(例如,病毒查殺系統)均是採用基於特徵碼的技術進行檔案檢測(病毒查殺)。
然而,採用基於特徵碼的技術進行檔案檢測,這樣一旦病毒檔案稍微變化或者面對最新出現的病毒,檔案檢測系統將束手無策。針對上述的問題,目前尚未提出有效的解決方案。
本發明實施例提供了一種檔案檢測方法、裝置及系統,以至少解決由於現有技術採用基於特徵碼的技術進行檔案檢測造成的在病毒檔案稍有變化時,檔案檢測準確性較低的技術問題。
根據本發明實施例的一個方面,提供了一種檔案檢測方法,包括:獲取檔案檢測任務,其中,上述檔案檢測任務至少包括待檢測檔案的儲存位址以及用於運行上述待檢測檔案的基本資訊;將上述檔案檢測任務發送至檢測引擎,其中,由上述檢測引擎根據上述儲存位址從檔案伺服器中獲取上述待檢測檔案,基於上述用於運行上述待檢測檔案的基本資訊運行並監控上述待檢測檔案,產生對應上述待檢測檔案的監控行為記錄;接收上述檢測引擎返回的上述監控行為記錄;確定上述監控行為記錄中與預設的惡意行為集合相同的惡意行為;根據上述惡意行為,確定上述待檢測檔案是否為惡意檔案。
根據本發明實施例的另一方面,還提供了一種檔案檢測方法,包括:接收檔案檢測裝置發送的檔案檢測任務,上述檔案檢測任務中至少包括待檢測檔案的儲存位址以及用於運行上述待檢測檔案的基本資訊;根據上述待檢測檔案的儲存位址,從檔案伺服器中獲取上述待檢測檔案;基於上述用於運行上述待檢測檔案的基本資訊,運行並監控上述待檢測檔案,產生對應上述待檢測檔案的監控行為記錄;將上述監控行為記錄發送至上述檔案檢測裝置,其中,由上述檔案檢測裝置確定上述監控行為記錄中與預設的惡意行為集合相同的惡意行為,根據上述惡意行為,判斷上述待檢測檔案是否為惡意檔案。
根據本發明實施例的另一方面,還提供了一種檔案檢測裝置,包括:第一獲取單元,用於獲取檔案檢測任務, 其中,上述檔案檢測任務至少包括待檢測檔案的儲存位址以及用於運行上述待檢測檔案的基本資訊;第一發送單元,用於將上述檔案檢測任務發送至檢測引擎,其中,由上述檢測引擎根據上述儲存位址從檔案伺服器中獲取上述待檢測檔案,基於上述用於運行上述待檢測檔案的基本資訊運行並監控上述待檢測檔案,產生對應上述待檢測檔案的監控行為記錄;第一接收單元,用於接收上述檢測引擎返回的上述監控行為記錄;第一確定單元,用於確定上述監控行為記錄中與預設的惡意行為集合相同的惡意行為;第二確定單元,用於根據上述惡意行為,確定上述待檢測檔案是否為惡意檔案。
根據本發明實施例的另一方面,還提供了一種檢測引擎,包括:第三接收單元,用於接收檔案檢測裝置發送的檔案檢測任務,上述檔案檢測任務中至少包括待檢測檔案的儲存位址以及用於運行上述待檢測檔案的基本資訊;第二獲取單元,用於根據上述待檢測檔案的儲存位址,從檔案伺服器中獲取上述待檢測檔案;監控單元,用於基於上述用於運行上述待檢測檔案的基本資訊,運行並監控上述待檢測檔案,產生對應上述待檢測檔案的監控行為記錄;第二發送單元,用於將上述監控行為記錄發送至上述檔案檢測裝置,其中,由上述檔案檢測裝置確定上述監控行為記錄中與預設的惡意行為集合相同的惡意行為,根據上述惡意行為,判斷上述待檢測檔案是否為惡意檔案。
根據本發明實施例的另一方面,還提供了一種檔案檢 測系統,包括:具有上述任意特徵的檔案檢測裝置,以及與上述檔案檢測裝置連接的具有上述任意特徵的檢測引擎。
在本發明實施例中,採用獲取檔案檢測任務,其中,檔案檢測任務至少包括待檢測檔案的儲存位址以及用於運行待檢測檔案的基本資訊;將檔案檢測任務發送至檢測引擎,其中,由檢測引擎根據儲存位址從檔案伺服器中獲取待檢測檔案,基於用於運行待檢測檔案的基本資訊運行並監控待檢測檔案,產生對應待檢測檔案的監控行為記錄;接收檢測引擎返回的監控行為記錄;確定監控行為記錄中與預設的惡意行為集合相同的惡意行為;根據惡意行為,確定待檢測檔案是否為惡意檔案的方式,通過在接收到待檢測檔案的監控行為記錄後,根據預設的惡意行為集合判斷待檢測檔案是否為惡意檔案,達到了採用惡意行為比對的方式進行檔案檢測,細化檔案檢測細微性的目的,從而實現了檔案檢測準確性較高的技術效果,進而解決了由於現有技術採用基於特徵碼的技術進行檔案檢測造成的在病毒檔案稍有變化時,檔案檢測準確性較低的技術問題。
10‧‧‧電腦終端
102‧‧‧處理器
104‧‧‧記憶體
106‧‧‧傳輸裝置
802‧‧‧第一獲取單元
804‧‧‧第一發送單元
806‧‧‧第一接收單元
808‧‧‧第一確定單元
810‧‧‧第二確定單元
90‧‧‧產生單元
902‧‧‧創建模組
904‧‧‧獲取模組
906‧‧‧第一計算模組
908‧‧‧產生模組
910‧‧‧處理模組
1002‧‧‧刪除子模組
1002‧‧‧刪除子模組
1102‧‧‧第二計算模組
1104‧‧‧判斷模組
1106‧‧‧確定模組
此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在附圖中: 圖1是根據本發明實施例的一種運行檔案檢測方法的電腦終端的硬體結構框圖;圖2是根據本發明實施例的一種可選的檔案檢測方法的流程示意圖;圖3是根據本發明實施例的另一種可選的檔案檢測方法的流程示意圖;圖4是根據本發明實施例的又一種可選的檔案檢測方法的流程示意圖;圖5是根據本發明實施例的又一種可選的檔案檢測方法的流程示意圖;圖6是根據本發明實施例的又一種可選的檔案檢測方法的流程示意圖;圖7是根據本發明實施例的又一種可選的檔案檢測方法的流程示意圖;圖8是根據本發明實施例的一種可選的檔案檢測裝置的結構示意圖;圖9是根據本發明實施例的一種可選的產生單元的結構示意圖;圖10是根據本發明實施例的一種可選的處理模組的結構示意圖;圖11是根據本發明實施例的一種可選的第二確定單元的結構示意圖;圖12是根據本發明實施例的另一種可選的檔案檢測裝置的結構示意圖; 圖13是根據本發明實施例的一種可選的檢測引擎的結構示意圖;圖14是根據本發明實施例的一種可選的監控單元的結構示意圖;圖15是根據本發明實施例的一種可選的建立模組的結構示意圖;圖16是根據本發明實施例的一種運行檔案檢測系統的結構示意圖。
為了使本技術領域的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分的實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本發明保護的範圍。
需要說明的是,本發明的說明書和請求項書及上述附圖中的術語“第一”、“第二”等是用於區別類似的物件,而不必用於描述特定的順序或先後次序。應該理解這樣使用的資料在適當情況下可以互換,以便這裡描述的本發明的實施例能夠以除了在這裡圖示或描述的那些以外的順序實施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在於覆蓋不排他的包含,例如,包含了一系 列步驟或單元的過程、方法、系統、產品或設備不必限於清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對於這些過程、方法、產品或設備固有的其它步驟或單元。
實施例1
根據本發明實施例,還提供了一種檔案檢測方法的方法實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組電腦可執行指令的電腦系統中執行,並且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同於此處的循序執行所示出或描述的步驟。
本申請實施例一所提供的方法實施例可以在移動終端、電腦終端或者類似的運算裝置中執行。以運行在電腦終端上為例,圖1是本發明實施例的一種檔案檢測方法的電腦終端的硬體結構框圖。如圖1所示,電腦終端10可以包括一個或多個(圖中僅示出一個)處理器102(處理器102可以包括但不限於微處理器MCU或可程式設計邏輯器件FPGA等的處理裝置)、用於儲存資料的記憶體104、以及用於通信功能的傳輸裝置106。本領域普通技術人員可以理解,圖1所示的結構僅為示意,其並不對上述電子裝置的結構造成限定。例如,電腦終端10還可包括比圖1中所示更多或者更少的元件,或者具有與圖1所示不同的配置。
記憶體104可用於儲存應用軟體的軟體程式以及模 組,如本發明實施例中的檔案檢測方法對應的程式指令/模組,處理器102通過運行儲存在記憶體104內的軟體程式以及模組,從而執行各種功能應用以及資料處理,即實現上述的應用程式的漏洞檢測方法。記憶體104可包括高速隨機記憶體,還可包括非易失性記憶體,如一個或者多個磁性儲存裝置、快閃記憶體、或者其他非易失性固態記憶體。在一些實例中,記憶體104可進一步包括相對於處理器102遠端設置的記憶體,這些遠端存放器可以通過網路連接至電腦終端10。上述網路的實例包括但不限於網際網路、企業內部網、局域網、移動通信網及其組合。
傳輸裝置106用於經由一個網路接收或者發送資料。上述的網路具體實例可包括電腦終端10的通信供應商提供的無線網路。在一個實例中,傳輸裝置106包括一個網路介面控制器(Network Interface Controller,NIC),其可通過基站與其他網路設備相連從而可與網際網路進行通訊。在一個實例中,傳輸裝置106可以為射頻(Radio Frequency,RF)模組,其用於通過無線方式與網際網路進行通訊。
在上述運行環境下,本申請提供了如圖2所示的檔案檢測方法。圖2是根據本發明實施例一的檔案檢測方法的流程圖。
如圖2所示,該檔案檢測方法可以包括如下實現步驟:
步驟S202,獲取檔案檢測任務,其中,檔案檢測任 務至少包括待檢測檔案的儲存位址以及用於運行待檢測檔案的基本資訊。
本申請上述步驟S202中,待檢測檔案的儲存位址是指待檢測檔案儲存在檔案伺服器中的位址(例如tfsname),用於運行待檢測檔案的基本資訊可以包括以下一種或幾種的組合:待檢測檔案的檔案名稱、檔案類型、應用作業系統(例如windows或linux)、是否32位,MD5(Message Digest Algorithm,消息摘要演算法)、檔案大小、SHA1(Secure Hash Algorithm,安全雜湊演算法)、SHA256、提交時間、提交來源、檔案類型(例如表示是tfs還是url還是oss或者其他)以及byte陣列。
步驟S204,將檔案檢測任務發送至檢測引擎,其中,由檢測引擎根據儲存位址從檔案伺服器中獲取待檢測檔案,基於用於運行待檢測檔案的基本資訊運行並監控待檢測檔案,產生對應待檢測檔案的監控行為記錄。
本申請上述步驟S204中,檔案檢測裝置在獲取了包括待檢測檔案的儲存位址以及用於運行待檢測檔案的基本資訊的檔案檢測任務之後,可以將該檔案檢測任務發送至對應的檢測引擎。
本發明實施例中,檢測引擎在接收到該檔案檢測任務之後,可以根據儲存位址從伺服器中獲取待檢測檔案,並基於上述用於運行待檢測檔案的基本資訊運行並監控待檢測檔案,產生對應待檢測檔案的監控行為記錄。
可選地,本發明實施例對檔案檢測任務的數量不做限制,即發送至檢測引擎的檔案檢測任務的數量可以是一個也可以是多個。那麼,檢測引擎在接收到多個檔案檢測任務時,可以同時運行該多個待檢測檔案,並產生對應各個待檢測檔案的監控行為記錄。其中,檢測引擎如何運行多個待檢測檔案,後續實施例中會進行詳細描述,此處不贅述。
步驟S206,接收檢測引擎返回的監控行為記錄。
本申請上述步驟S206中,檢測引擎在產生監控行為記錄之後,可以將監控行為記錄發送至檔案檢測裝置,由檔案檢測裝置根據該監控行為記錄判斷待檢測檔案是否為惡意檔案。
可選地,監控行為記錄可以記錄一些敏感函數(惡意行為經常觸發調用的函數)的調用以及調用中的特定參數。例如NtCreateFile函數,從該函數中可以判斷出是否新建一個檔案、是否有寫許可權、新建檔案的全路徑等資訊。另如NtSetinformationFile函數,該函數被調用的頻率很高,其中部分場景(檔案改名、修改檔案屬性、或者刪除檔案)中的被操作檔案全路徑。
步驟S208,確定監控行為記錄中與預設的惡意行為集合相同的惡意行為。
本申請上述步驟S208中,預設的惡意行為集合是檔案檢測裝置預先通過模型訓練得到的,本發明實施例提供的檔案檢測方法,不再依賴於特徵碼,而是基於上述預設 的惡意行為集合,達到了採用惡意行為比對的方式進行檔案檢測,細化檔案檢測細微性的目的,從而實現了檔案檢測準確性較高的技術效果。
可選地,檔案檢測裝置在接收到待檢測檔案的監控行為記錄之後,可以調取預設的惡意行為集合,確定監控行為記錄中與預設的惡意行為集合相同的惡意行為。
步驟S210,根據惡意行為,確定待檢測檔案是否為惡意檔案。
本申請上述步驟S210中,惡意檔案也叫惡意軟體,指在電腦系統上可執行惡意任務的程式,通過破壞軟體進程來實施控制。典型的惡意檔案包括病毒、木馬、蠕蟲、遠端控制軟體、鍵盤記錄軟體等。檔案檢測裝置在確定了監控行為記錄中與預設的惡意行為集合相同的惡意行為之後,可以根據惡意行為確定待檢測檔案是否為惡意檔案。
其中,根據惡意行為,確定待檢測檔案是否為惡意檔案可以包括:計算惡意行為的數量;判斷惡意行為的數量是否大於第三預設閾值;若惡意行為的數量大於第三預設閾值,則確定待檢測檔案為惡意檔案。
由上可知,本申請上述實施例一所提供的方案,通過在接收到待檢測檔案的監控行為記錄後,根據預設的惡意行為集合判斷待檢測檔案是否為惡意檔案,達到了採用惡意行為比對的方式進行檔案檢測,細化檔案檢測細微性的目的,從而實現了檔案檢測準確性較高的技術效果,進而解決了由於現有技術採用基於特徵碼的技術進行檔案檢測 造成的在病毒檔案稍有變化時,檔案檢測準確性較低的技術問題。
本申請上述實施例提供的一種可選方案中,在步驟S208,確定監控行為記錄中與預設的惡意行為集合相同的惡意行為之前,檔案檢測方法還可以包括:
S10,產生預設的惡意行為集合。
可選地,如圖3所示,上述步驟S10,產生預設的惡意行為集合可以包括:
步驟S302,創建第一訓練樣本集合和第二訓練樣本集合,其中,第一訓練樣本集合包括至少一個惡意樣本檔案,第二訓練樣本集合包括至少一個正常樣本檔案。
本申請上述步驟S302中,在確定監控行為記錄中與預設的惡意行為集合相同的惡意行為之前,檔案檢測裝置可以產生該預設的惡意行為集合,在此本發明實施例對檔案檢測裝置如何產生該預設的惡意行為集合進行詳細描述。
其中,檔案檢測裝置首先創建第一訓練樣本集合和第二訓練樣本集合,第一訓練樣本集合包括至少一個惡意樣本檔案,該惡意樣本檔案可以為已知的惡意檔案,第二訓練樣本集合包括至少一個正常樣本檔案,該正常樣本檔案可以為已知的正常檔案。
步驟S304,獲取運行每個惡意樣本檔案時的第一樣本行為記錄,以及運行每個正常樣本檔案時的第二樣本行為記錄。
本申請上述步驟S304中,在創建了第一訓練樣本集合和第二訓練樣本集合之後,檔案檢測裝置獲取運行每個惡意樣本檔案時的第一樣本行為記錄,以及運行每個正常樣本檔案時的第二樣本行為記錄。其中,第一樣本行為記錄和第二樣本行為記錄可以為檢測引擎產生的,同樣地,當第一訓練樣本集合中包括多個惡意樣本檔案、第二訓練樣本集合中包括多個正常樣本檔案時,檢測引擎可以同時運行該多個惡意樣本檔案以及多個正常樣本檔案,並產生對應的第一樣本行為記錄和第二樣本行為記錄。
步驟S306,計算每個第一樣本行為記錄中各個樣本行為的第一行為頻率,以及每個第二樣本行為中各個樣本行為的第二行為頻率。
本申請上述步驟S306中,每個第一樣本行為記錄中各個樣本行為的第一行為頻率是指在運行惡意樣本檔案時,惡意樣本檔案產生的各個樣本行為的頻率,每個第二樣本行為中各個樣本行為的第二行為頻率是指在運行正常樣本檔案時,正常樣本檔案產生的各個樣本行為的頻率。
步驟S308,基於第一行為頻率和第二行為頻率,產生第一樣本行為集合和第二樣本行為集合,其中,第一樣本行為集合包括第一行為頻率大於第一預設閾值的行為,第二樣本行為集合包括第二行為頻率大於第二預設閾值的行為。
本申請上述步驟S308中,檔案檢測裝置需要基於第一行為頻率和第二行為頻率對各個樣本行為進行篩選,進 而產生第一樣本行為集合和第二樣本行為集合。其中,篩選的方式為將上述第一行為頻率大於第一預設閾值的行為組成第一樣本行為集合,將上述第二行為頻率大於第二預設閾值的行為組成第二樣本行為集合。即,將操作頻率較高的行為篩選出來,分別得到第一樣本行為集合和第二樣本行為集合。
步驟S310,根據第一樣本行為集合與第二樣本行為集合,得到預設的惡意行為集合。
本申請上述步驟S310中,由於惡意樣本檔案也可能產生正常的行為,因此檔案檢測裝置需要進一步對第一樣本行為集合中的行為進行篩選,具體地篩選方式,即上述步驟S310,根據第一樣本行為集合與第二樣本行為集合,得到預設的惡意行為集合可以包括:
S20,對第一樣本行為集合與第二樣本行為集合進行交集運算,得到第三樣本行為集合,其中,第三樣本行為集合中包括第一樣本行為集合與第二樣本行為集合中相同的行為。
本申請上述步驟S20中,檔案檢測裝置可以對第一樣本行為集合與第二樣本行為集合進行交集運算,得到第三樣本行為集合,其中,第三樣本行為集合中包括第一樣本行為集合與第二樣本行為集合中相同的行為。
例如,第一樣本行為集合中包含“行為1、行為2、行為3、行為4以及行為5”,第二樣本行為集合中包括“行為2、行為5、行為6和行為7”,對第一樣本行為 集合與第二樣本行為集合進行交集運算,得到第三樣本行為集合,即{行為1,行為2,行為3,行為4,行為5}∩{行為2,行為5,行為6,行為7}={行為2,行為5},其中,第三樣本行為集合中包括第一樣本行為集合與第二樣本行為集合中相同的行為,即{行為2,行為5}。
S22,從第一樣本行為集合中刪除第三樣本行為集合中的行為,得到預設的惡意行為集合。
本申請上述步驟S22中,檔案檢測裝置從第一樣本行為集合中刪去第一樣本行為集合與第二樣本行為集合相同的行為,將第一樣本行為集合中的正常的行為刪去保留惡意的行為,即從第一樣本行為集合中刪除第三樣本行為集合中的行為,得到預設的惡意行為集合。
例如,{行為1,行為2,行為3,行為4,行為5}-{行為2,行為5}={行為1,行為3,行為4},{行為1,行為3,行為4}則為最終的預設的惡意行為集合。
本申請上述實施例提供的一種可選方案中,步驟S210,根據惡意行為,確定待檢測檔案是否為惡意檔案可以包括:
步驟S30,計算惡意行為的數量。
本申請上述步驟S30中,檔案檢測裝置可以在確定監控行為記錄中與預設的惡意行為集合相同的惡意行為之後,可以根據該惡意行為確定待檢測檔案是否為惡意檔案。作為一種可選的實現方式,檔案檢測裝置可以基於惡意行為的數量來判斷待檢測檔案是否為惡意檔案。
需要說明的是,本發明實施例提供的檔案檢測方法,檔案檢測裝置可以基於惡意行為的數量來確定待檢測檔案是否為惡意檔案,檔案檢測裝置也可以基於惡意行為的具體內容或惡意行為的發生頻率來確定待檢測檔案是否為惡意檔案,均應在本發明實施例的保護範圍之內。
步驟S32,判斷惡意行為的數量是否大於第三預設閾值。
本申請上述步驟S32中,檔案檢測裝置在計算出惡意行為的數量之後,可以獲取第三預設閾值,其中,該第三預設閾值可以是由維護人員預先設定的,進而,檔案檢測裝置可以判斷惡意行為的數量是否大於第三預設閾值,即判斷待檢測檔案觸發的惡意行為是否超過第三預設閾值。
步驟S34,若惡意行為的數量大於第三預設閾值,則確定待檢測檔案為惡意檔案。
本申請上述步驟S34中,在惡意行為的數量大於第三預設閾值的情況下,檔案檢測裝置則可以確定待檢測檔案為惡意檔案。
本申請上述實施例提供的一種可選方案中,如圖4所示,在步驟S202,獲取檔案檢測任務之前,檔案檢測方法還包括:
步驟S402,接收用戶端發送的待檢測檔案。
本申請上述步驟S402中,用戶端為安裝在使用者機器上的軟體,用戶端可以將使用者機器上無法識別的檔案(即待檢測檔案,也可稱為可疑檔案),通過網路發送至 檔案檢測裝置,檔案檢測裝置可以部署在雲端,在接收到用戶端發送的待檢測檔案後,依據本發明實施例提供的檔案檢測方法對待檢測檔案進行檢測。
步驟S404,對待檢測檔案進行預處理,得到用於運行待檢測檔案的基本資訊。
本申請上述步驟S404中,檔案檢測裝置在接收到用戶端發送的待檢測檔案之後,可以對待檢測檔案進行預處理,本發明實施例的預處理是對待檢測檔案進行靜態分析,以得到待檢測檔案的基本資訊,該基本資訊用於運行待檢測檔案。
可選地,用於運行待檢測檔案的基本資訊可以包括以下一種或幾種的組合:待檢測檔案的檔案名稱、檔案類型、應用作業系統、是否32位元,消息摘要演算法MD5、檔案大小、安全雜湊演算法SHA1、SHA256、提交時間、提交來源、檔案類型以及byte陣列。
步驟S406,採用非對稱演算法對待檢測檔案進行加密。
本申請上述步驟S406中,由於業務方大多會要求待檢測檔案不能落地(即在處理過程中不能保存或暫存),為了防止被協力廠商或者惡意程式竊取,造成損失,因此本發明實施例採用非對稱演算法對待檢測檔案進行加密,從而保證業務方對待檢測檔案私密性的要求。
其中,非對稱演算法的加密演算法的加密金鑰和解密金鑰是不一樣的,或者說不能由其中一個金鑰推導出另一 個金鑰。
步驟S408,將用於運行待檢測檔案的基本資訊保存至資料庫,以及將加密後的待檢測檔案保存至檔案伺服器。
本申請上述步驟S408中,檔案檢測裝置將用於運行待檢測檔案的基本資訊保存至資料庫,以及將加密後的待檢測檔案保存至檔案伺服器,以便檢測引擎在接收到檔案檢測任務後根據檔案檢測任務中的檔案伺服器中獲取待檢測檔案。
可選地,檔案檢測裝置產生檔案檢測任務可以是主動產生也可以是被動產生的,例如,檔案檢測裝置可以週期性地產生檔案檢測任務,也可以在接收到維護人員的觸發指令時產生檔案檢測任務。
其中,在檢測引擎根據儲存位址從檔案伺服器中獲取待檢測檔案之後,基於用於運行待檢測檔案的基本資訊運行待檢測檔案之前,方法還包括:檢測引擎對待檢測檔案進行解密。
可選地,用於運行待檢測檔案的基本資訊包括以下一種或幾種的組合:待檢測檔案的檔案名稱、檔案類型、應用作業系統、是否32位元,消息摘要演算法MD5、檔案大小、安全雜湊演算法SHA1、SHA256、提交時間、提交來源、檔案類型以及byte陣列。
可選地,監控行為記錄包括以下一種或幾種的組合:創建NtCreateFile函數、刪除NtDeleteFile函數和 NtSetinformationFile函數、註冊表創建NtCreateKey函數、註冊表賦值NtSetValueKey函數。
由此可知,現有技術存在的採用基於特徵碼的技術進行檔案檢測造成的在病毒檔案稍有變化時,檔案檢測準確性較低的問題,本發明提出一種基於惡意行為集合進行檔案檢測的方法,從而達到了採用惡意行為比對的方式進行檔案檢測,細化檔案檢測細微性的目的,從而實現了檔案檢測準確性較高的技術效果。
需要說明的是,對於前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發明並不受所描述的動作順序的限制,因為依據本發明,某些步驟可以採用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬於優選實施例,所涉及的動作和模組並不一定是本發明所必須的。
通過以上的實施方式的描述,本領域的技術人員可以清楚地瞭解到根據上述實施例的方法可借助軟體加必需的通用硬體平臺的方式來實現,當然也可以通過硬體,但很多情況下前者是更佳的實施方式。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該電腦軟體產品儲存在一個儲存媒介(如ROM/RAM、磁碟、光碟)中,包括若干指令用以使得一台終端設備(可以是手機,電腦,伺服器,或者網路設備等)執行本發明各個實施例的方法。
實施例2
根據本發明實施例,還提供了一種檔案檢測方法的方法實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組電腦可執行指令的電腦系統中執行,並且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同於此處的循序執行所示出或描述的步驟。
本申請實施例二所提供的方法實施例仍舊可以在移動終端、電腦終端或者類似的運算裝置中執行。此處需要說明的是,實施例二所提供的方法實施例仍舊可以運行在圖1所示的電腦終端上。
在上述運行環境下,本申請提供了如圖5所示的檔案檢測方法。圖5是根據本發明實施例二的檔案檢測方法的流程圖。
如圖5所示,該檔案檢測方法可以包括如下實現步驟:
步驟S502,接收檔案檢測裝置發送的檔案檢測任務,檔案檢測任務中至少包括待檢測檔案的儲存位址以及用於運行待檢測檔案的基本資訊。
本申請上述步驟S502中,檔案檢測任務可以是檔案檢測裝置接收用戶端發送的待檢測檔案;對待檢測檔案進行預處理,得到用於運行待檢測檔案的基本資訊;採用非對稱演算法對待檢測檔案進行加密;將用於運行待檢測檔案的基本資訊保存至資料庫,以及將加密後的待檢測檔案 保存至檔案伺服器之後產生的。
其中,待檢測檔案的儲存位址是指待檢測檔案儲存在檔案伺服器中的位址(例如tfsname),用於運行待檢測檔案的基本資訊可以包括以下一種或幾種的組合:待檢測檔案的檔案名稱、檔案類型、應用作業系統(例如windows或linux)、是否32位,MD5、檔案大小、SHA1、SHA256、提交時間、提交來源、檔案類型(例如表示是tfs還是url還是oss或者其他)以及byte陣列。
步驟S504,根據待檢測檔案的儲存位址,從檔案伺服器中獲取待檢測檔案。
本申請上述步驟S504中,檢測引擎在接收到檔案檢測任務之後,可以根據檔案檢測任務中待檢測檔案的儲存位址,從檔案伺服器中獲取待檢測檔案。
步驟S506,基於用於運行待檢測檔案的基本資訊,運行並監控待檢測檔案,產生對應待檢測檔案的監控行為記錄。
本申請上述步驟S506中,監控行為記錄可以包括以下一種或幾種的組合:創建NtCreateFile函數、刪除NtDeleteFile函數和NtSetinformationFile函數、註冊表創建NtCreateKey函數、註冊表賦值NtSetValueKey函數。
可選地,監控行為記錄可以記錄一些敏感函數(惡意行為經常觸發調用的函數)的調用以及調用中的特定參數。例如NtCreateFile函數,從該函數中可以判斷出是否新建一個檔案、是否有寫許可權、新建檔案的全路徑等資 訊。另如NtSetinformationFile函數,該函數被調用的頻率很高,其中部分場景(檔案改名、修改檔案屬性、或者刪除檔案)中的被操作檔案全路徑。
步驟S508,將監控行為記錄發送至檔案檢測裝置,其中,由檔案檢測裝置確定監控行為記錄中與預設的惡意行為集合相同的惡意行為,根據惡意行為,判斷待檢測檔案是否為惡意檔案。
本申請上述步驟S508中,檢測引擎在產生監控行為記錄之後,可以將監控行為記錄發送至檔案檢測裝置。
其中,預設的惡意行為集合是檔案檢測裝置預先通過模型訓練得到的,本發明實施例提供的檔案檢測方法,不再依賴於特徵碼,而是基於上述預設的惡意行為集合,達到了採用惡意行為比對的方式進行檔案檢測,細化檔案檢測細微性的目的,從而實現了檔案檢測準確性較高的技術效果。
可選地,檔案檢測裝置在接收到待檢測檔案的監控行為記錄之後,可以調取預設的惡意行為集合,確定監控行為記錄中與預設的惡意行為集合相同的惡意行為。檔案檢測裝置在確定了監控行為記錄中與預設的惡意行為集合相同的惡意行為之後,可以根據惡意行為確定待檢測檔案是否為惡意檔案。其中,惡意檔案也叫惡意軟體,指在電腦系統上可執行惡意任務的程式,通過破壞軟體進程來實施控制。典型的惡意檔案包括病毒、木馬、蠕蟲、遠端控制軟體、鍵盤記錄軟體等。
由上可知,本申請上述實施例二所提供的方案,通過產生待檢測檔案的監控行為記錄,檔案檢測裝置在接收到待檢測檔案的監控行為記錄後,根據預設的惡意行為集合判斷待檢測檔案是否為惡意檔案,達到了採用惡意行為比對的方式進行檔案檢測,細化檔案檢測細微性的目的,從而實現了檔案檢測準確性較高的技術效果,進而解決了由於現有技術採用基於特徵碼的技術進行檔案檢測造成的在病毒檔案稍有變化時,檔案檢測準確性較低的技術問題。
本申請上述實施例提供的一種可選方案中,如圖6所示,在檔案檢測裝置發送的檔案檢測任務的數量為至少兩個的情況下,上述步驟S506,基於用於運行待檢測檔案的基本資訊,運行並監控待檢測檔案,產生對應待檢測檔案的監控行為記錄可以包括:
步驟S602,基於每個用於運行待檢測檔案的基本資訊,在建立的至少兩個虛擬機器中運行各個待檢測檔案,其中,每個虛擬機器對應一個待檢測檔案。
本申請上述步驟S602中,虛擬機器可以為羽量級虛擬機器。非羽量級虛擬機器是指通過軟體類比的具有完整硬體系統功能的、運行在一個完全隔離環境中的完整電腦系統;羽量級虛擬機器是指並不具有完整的硬體系統功能,一般它是應用程式,體積小,易控制,運行在應用層,通過控制系統服務的行為而隔離環境中的應用程式運行時的輸出。
需要說明的是,非羽量級虛擬機器同一時間一台檢測 引擎只能檢測一個樣本,效率極低同時浪費了機器性能;羽量級虛擬機器,可在同一檢測同一時間運行多個虛擬機器,提高檢測性能,同時作為羽量級虛擬機器,不會對系統造成嚴重性破壞,例如藍屏。
步驟S604,在運行各個待檢測檔案的過程中,調用預設動態連結程式庫DLL中的函數分別對各個待檢測檔案進行監控,產生對應各個待檢測檔案的監控行為記錄。
本申請上述步驟S604中,在運行各個待檢測檔案的過程中,調用預設DLL(Dynamic Link Library,動態連結程式庫)中的函數分別對各個待檢測檔案進行監控,產生對應各個待檢測檔案的監控行為記錄,包括:將DLL注入各個待檢測檔案;在運行各個待檢測檔案的過程中,採用掛鉤HOOK技術對ntdll.dll函數進行監控,產生對應各個待檢測檔案的監控行為記錄。
本發明實施例對檔案檢測任務的數量不做限制,即發送至檢測引擎的檔案檢測任務的數量可以是一個也可以是多個。那麼,檢測引擎在接收到多個檔案檢測任務時,可以同時運行該多個待檢測檔案,並產生對應各個待檢測檔案的監控行為記錄。
本申請上述實施例提供的一種可選方案中,如圖7所示,各個待檢測檔案為檔案檢測裝置採用非對稱演算法對各個待檢測檔案進行加密的檔案;其中,上述步驟S602,基於每個用於運行待檢測檔案的基本資訊,在建立的至少兩個虛擬機器中運行各個待檢測檔案,其中,每個 虛擬機器對應一個待檢測檔案可以包括:
步驟S702,獲取加密後的各個待檢測檔案的解密演算法。
本申請上述步驟S702中,由於業務方大多會要求待檢測檔案不能落地(即在處理過程中不能保存或緩存),為了防止被協力廠商或者惡意程式竊取,造成損失,因此本發明實施例採用非對稱演算法對待檢測檔案進行加密,從而保證業務方對待檢測檔案私密性的要求。其中,非對稱演算法的加密演算法的加密金鑰和解密金鑰是不一樣的,或者說不能由其中一個金鑰推導出另一個金鑰。
也就是說,檢測引擎從檔案伺服器中的獲取到的待檢測檔案是通過非對稱演算法加密後的檔案,因此檢測引擎首先需要對該加密後的待檢測檔案進行解密。檢測引擎可以獲取預先配置的解密演算法,也可以從用於儲存解密演算法的資料庫中獲取,本發明實施例對此不做限定。
步驟S704,依據解密演算法對各個待檢測檔案進行解密。
本申請上述步驟S704中,檢測引擎在獲取加密後的各個待檢測檔案的解密演算法之後,可以依據解密演算法對各個待檢測檔案進行解密。
步驟S706,根據每個用於運行待檢測檔案的基本資訊,在至少兩個虛擬機器中構造虛擬運行環境。
本申請上述步驟S706中,檢測引擎可以根據每個用於運行待檢測檔案的基本資訊,在至少兩個虛擬機器中構 造虛擬運行環境,例如構造如32位或者64位元的windows和linux系統平臺。
步驟S708,基於虛擬運行環境,在至少兩個虛擬機器中分別運行各個待檢測檔案,其中,將在運行各個待檢測檔案的過程中產生的讀寫操作重定向至各個虛擬機器配置的位址中。
可選地,檔案檢測裝置產生預設的惡意行為集合的方法,包括:檔案檢測裝置創建第一訓練樣本集合和第二訓練樣本集合,其中,第一訓練樣本集合包括至少一個惡意樣本檔案,第二訓練樣本集合包括至少一個正常樣本檔案;檔案檢測裝置獲取運行每個惡意樣本檔案時的第一樣本行為記錄,以及運行每個正常樣本檔案時的第二樣本行為記錄;檔案檢測裝置計算每個第一樣本行為記錄中各個樣本行為的第一行為頻率,以及每個第二樣本行為中各個樣本行為的第二行為頻率;檔案檢測裝置基於第一行為頻率和第二行為頻率,產生第一樣本行為集合和第二樣本行為集合,其中,第一樣本行為集合包括第一行為頻率大於第一預設閾值的行為,第二樣本行為集合包括第二行為頻率大於第二預設閾值的行為;檔案檢測裝置根據第一樣本行為集合與第二樣本行為集合,得到預設的惡意行為集合。
例如,第一樣本行為集合中包含“行為1、行為2、行為3、行為4以及行為5”,第二樣本行為集合中包括“行為2、行為5、行為6和行為7”,對第一樣本行為 集合與第二樣本行為集合進行交集運算,得到第三樣本行為集合,即{行為1,行為2,行為3,行為4,行為5}∩{行為2,行為5,行為6,行為7}={行為2,行為5},其中,第三樣本行為集合中包括第一樣本行為集合與第二樣本行為集合中相同的行為,即{行為2,行為5}。
可選地,檔案檢測裝置根據第一樣本行為集合與第二樣本行為集合,得到預設的惡意行為集合,包括:檔案檢測裝置對第一樣本行為集合與第二樣本行為集合進行交集運算,得到第三樣本行為集合,其中,第三樣本行為集合中包括第一樣本行為集合與第二樣本行為集合中相同的行為;檔案檢測裝置從第一樣本行為集合中刪除第三樣本行為集合中的行為,得到預設的惡意行為集合。
例如,{行為1,行為2,行為3,行為4,行為5}-{行為2,行為5}={行為1,行為3,行為4},{行為1,行為3,行為4}則為最終的預設的惡意行為集合。
可選地,檔案檢測裝置根據惡意行為,確定待檢測檔案是否為惡意檔案包括:檔案檢測裝置計算惡意行為的數量;檔案檢測裝置判斷惡意行為的數量是否大於第三預設閾值;若惡意行為的數量大於第三預設閾值,則確定待檢測檔案為惡意檔案。
本發明實施例提供的檔案檢測方法,檔案檢測裝置可以基於惡意行為的數量來確定待檢測檔案是否為惡意檔案,檔案檢測裝置也可以基於惡意行為的具體內容或惡意行為的發生頻率來確定待檢測檔案是否為惡意檔案,均應 在本發明實施例的保護範圍之內。檔案檢測裝置在計算出惡意行為的數量之後,可以獲取第三預設閾值,其中,該第三預設閾值可以是由維護人員預先設定的,進而,檔案檢測裝置可以判斷惡意行為的數量是否大於第三預設閾值,即判斷待檢測檔案觸發的惡意行為是否超過第三預設閾值。檔案檢測裝置在計算出惡意行為的數量之後,可以獲取第三預設閾值,其中,該第三預設閾值可以是由維護人員預先設定的,進而,檔案檢測裝置可以判斷惡意行為的數量是否大於第三預設閾值,即判斷待檢測檔案觸發的惡意行為是否超過第三預設閾值。
可選地,用於運行待檢測檔案的基本資訊包括以下一種或幾種的組合:待檢測檔案的檔案名稱、檔案類型、應用作業系統、是否32位元,消息摘要演算法MD5、檔案大小、安全雜湊演算法SHA1、SHA256、提交時間、提交來源、檔案類型以及byte陣列。
可選地,監控行為記錄包括以下一種或幾種的組合:創建NtCreateFile函數、刪除NtDeleteFile函數和NtSetinformationFile函數、註冊表創建NtCreateKey函數、註冊表賦值NtSetValueKey函數。
由此可知,現有技術存在的採用基於特徵碼的技術進行檔案檢測造成的在病毒檔案稍有變化時,檔案檢測準確性較低的問題,本發明提出一種基於惡意行為集合進行檔案檢測的方法,從而達到了採用惡意行為比對的方式進行檔案檢測,細化檔案檢測細微性的目的,從而實現了檔案 檢測準確性較高的技術效果。
需要說明的是,對於前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發明並不受所描述的動作順序的限制,因為依據本發明,某些步驟可以採用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬於優選實施例,所涉及的動作和模組並不一定是本發明所必須的。
通過以上的實施方式的描述,本領域的技術人員可以清楚地瞭解到根據上述實施例的方法可借助軟體加必需的通用硬體平臺的方式來實現,當然也可以通過硬體,但很多情況下前者是更佳的實施方式。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該電腦軟體產品儲存在一個儲存媒介(如ROM/RAM、磁碟、光碟)中,包括若干指令用以使得一台終端設備(可以是手機,電腦,伺服器,或者網路設備等)執行本發明各個實施例的方法。
實施例3
根據本發明實施例,還提供了一種用於實施上述方法實施例的裝置實施例,本申請上述實施例所提供的裝置可以在電腦終端上運行。
圖8是根據本申請實施例的檔案檢測裝置的結構示意圖。
如圖8所示,該檔案檢測裝置可以包括第一獲取單元802、第一發送單元804、第一接收單元806、第一確定單元808以及第二確定單元810。
其中,第一獲取單元802,用於獲取檔案檢測任務,其中,所述檔案檢測任務至少包括待檢測檔案的儲存位址以及用於運行所述待檢測檔案的基本資訊;第一發送單元804,用於將所述檔案檢測任務發送至檢測引擎,其中,由所述檢測引擎根據所述儲存位址從檔案伺服器中獲取所述待檢測檔案,基於所述用於運行所述待檢測檔案的基本資訊運行並監控所述待檢測檔案,產生對應所述待檢測檔案的監控行為記錄;第一接收單元806,用於接收所述檢測引擎返回的所述監控行為記錄;第一確定單元808,用於確定所述監控行為記錄中與預設的惡意行為集合相同的惡意行為;第二確定單元810,用於根據所述惡意行為,確定所述待檢測檔案是否為惡意檔案。
由上可知,本申請上述實施例三所提供的方案,通過產生待檢測檔案的監控行為記錄,檔案檢測裝置在接收到待檢測檔案的監控行為記錄後,根據預設的惡意行為集合判斷待檢測檔案是否為惡意檔案,達到了採用惡意行為比對的方式進行檔案檢測,細化檔案檢測細微性的目的,從而實現了檔案檢測準確性較高的技術效果,進而解決了由於現有技術採用基於特徵碼的技術進行檔案檢測造成的在病毒檔案稍有變化時,檔案檢測準確性較低的技術問題。
此處需要說明的是,上述第一獲取單元802、第一發 送單元804、第一接收單元806、第一確定單元808以及第二確定單元810對應於實施例一中的步驟S202至步驟S210,五個模組與對應的步驟所實現的示例和應用場景相同,但不限於上述實施例一所公開的內容。需要說明的是,上述模組作為裝置的一部分可以運行在實施例一提供的電腦終端10中,可以通過軟體實現,也可以通過硬體實現。
可選地,如圖9所示,產生單元90,用於產生所述預設的惡意行為集合,其中,所述產生單元90可以包括:創建模組902、獲取模組904、第一計算模組906、產生模組908以及處理模組910。
其中,創建模組902,用於創建第一訓練樣本集合和第二訓練樣本集合,其中,所述第一訓練樣本集合包括至少一個惡意樣本檔案,第二訓練樣本集合包括至少一個正常樣本檔案;獲取模組904,用於獲取運行每個所述惡意樣本檔案時的第一樣本行為記錄,以及運行每個所述正常樣本檔案時的第二樣本行為記錄;第一計算模組906,用於計算每個所述第一樣本行為記錄中各個樣本行為的第一行為頻率,以及每個所述第二樣本行為中各個樣本行為的第二行為頻率;產生模組908,用於基於所述第一行為頻率和所述第二行為頻率,產生第一樣本行為集合和第二樣本行為集合,其中,所述第一樣本行為集合包括第一行為頻率大於第一預設閾值的行為,所述第二樣本行為集合包括第二行為頻率大於第二預設閾值的行為;處理模組 910,用於根據所述第一樣本行為集合與所述第二樣本行為集合,得到所述預設的惡意行為集合。
此處需要說明的是,上述創建模組902、獲取模組904、第一計算模組906、產生模組908以及處理模組910對應於實施例一中的步驟S302至步驟S310,該模組與對應的步驟所實現的示例和應用場景相同,但不限於上述實施例一所公開的內容。需要說明的是,上述模組作為裝置的一部分可以運行在實施例一提供的電腦終端10中,可以通過軟體實現,也可以通過硬體實現。
可選地,如圖10所示,所述處理模組910可以包括:運算子模組1002和刪除子模組1004。
其中,運算子模組1002,用於對所述第一樣本行為集合與所述第二樣本行為集合進行交集運算,得到第三樣本行為集合,其中,所述第三樣本行為集合中包括所述第一樣本行為集合與所述第二樣本行為集合中相同的行為;刪除子模組1004,用於從所述第一樣本行為集合中刪除所述第三樣本行為集合中的行為,得到所述預設的惡意行為集合。
此處需要說明的是,上述運算子模組1002和刪除子模組1004對應於實施例一中的步驟S20至步驟S22,該模組與對應的步驟所實現的示例和應用場景相同,但不限於上述實施例一所公開的內容。需要說明的是,上述模組作為裝置的一部分可以運行在實施例一提供的電腦終端10中,可以通過軟體實現,也可以通過硬體實現。
可選地,如圖11所示,所述第二確定單元810可以包括:第二計算模組1102、判斷模組1104以及確定模組1106。
其中,第二計算模組1102,用於計算所述惡意行為的數量;判斷模組1104,用於判斷所述惡意行為的數量是否大於第三預設閾值;確定模組1106,用於若所述惡意行為的數量大於所述第三預設閾值,則確定所述待檢測檔案為所述惡意檔案。
此處需要說明的是,上述第二計算模組1102、判斷模組1104以及確定模組1106對應於實施例一中的步驟S30至步驟S34,該模組與對應的步驟所實現的示例和應用場景相同,但不限於上述實施例一所公開的內容。需要說明的是,上述模組作為裝置的一部分可以運行在實施例一提供的電腦終端10中,可以通過軟體實現,也可以通過硬體實現。
可選地,如圖12所示,檔案檢測裝置還可以包括:第二接收單元1202、預處理單元1204、加密單元1206以及控制單元1208。
其中,第二接收單元1202,用於接收用戶端發送的所述待檢測檔案;預處理單元1204,用於對所述待檢測檔案進行預處理,得到所述用於運行所述待檢測檔案的基本資訊;加密單元1206,用於採用非對稱演算法對所述待檢測檔案進行加密;控制單元1208,用於將所述用於運行所述待檢測檔案的基本資訊保存至資料庫,以及將加 密後的所述待檢測檔案保存至所述檔案伺服器。
此處需要說明的是,上述第二接收單元1202、預處理單元1204、加密單元1206以及控制單元1208對應於實施例一中的步驟S402至步驟S408,該模組與對應的步驟所實現的示例和應用場景相同,但不限於上述實施例一所公開的內容。需要說明的是,上述模組作為裝置的一部分可以運行在實施例一提供的電腦終端10中,可以通過軟體實現,也可以通過硬體實現。
由此可知,現有技術存在的採用基於特徵碼的技術進行檔案檢測造成的在病毒檔案稍有變化時,檔案檢測準確性較低的問題,本發明提出一種基於惡意行為集合進行檔案檢測的方法,從而達到了採用惡意行為比對的方式進行檔案檢測,細化檔案檢測細微性的目的,從而實現了檔案檢測準確性較高的技術效果。
實施例4
根據本發明實施例,還提供了一種用於實施上述方法實施例的裝置實施例,本申請上述實施例所提供的裝置可以在電腦終端上運行。
圖13是根據本申請實施例的檢測引擎的結構示意圖。
如圖13所示,該檢測引擎可以包括第三接收單元1302、第二獲取單元1304、監控單元1306以及第二發送單元1308。
其中,第三接收單元1302,用於接收檔案檢測裝置發送的檔案檢測任務,所述檔案檢測任務中至少包括待檢測檔案的儲存位址以及用於運行所述待檢測檔案的基本資訊;第二獲取單元1304,用於根據所述待檢測檔案的儲存位址,從檔案伺服器中獲取所述待檢測檔案;監控單元1306,用於基於所述用於運行所述待檢測檔案的基本資訊,運行並監控所述待檢測檔案,產生對應所述待檢測檔案的監控行為記錄;第二發送單元1308,用於將所述監控行為記錄發送至所述檔案檢測裝置,其中,由所述檔案檢測裝置確定所述監控行為記錄中與預設的惡意行為集合相同的惡意行為,根據所述惡意行為,判斷所述待檢測檔案是否為惡意檔案。
由上可知,本申請上述實施例三所提供的方案,通過產生待檢測檔案的監控行為記錄,檔案檢測裝置在接收到待檢測檔案的監控行為記錄後,根據預設的惡意行為集合判斷待檢測檔案是否為惡意檔案,達到了採用惡意行為比對的方式進行檔案檢測,細化檔案檢測細微性的目的,從而實現了檔案檢測準確性較高的技術效果,進而解決了由於現有技術採用基於特徵碼的技術進行檔案檢測造成的在病毒檔案稍有變化時,檔案檢測準確性較低的技術問題。
此處需要說明的是,上述第三接收單元1302、第二獲取單元1304、監控單元1306以及第二發送單元1308對應於實施例二中的步驟S502至步驟S508,四個模組與對應的步驟所實現的示例和應用場景相同,但不限於上述 實施例二所公開的內容。需要說明的是,上述模組作為裝置的一部分可以運行在實施例二提供的電腦終端10中,可以通過軟體實現,也可以通過硬體實現。
可選地,如圖14所示,在所述檔案檢測裝置發送的檔案檢測任務的數量為至少兩個的情況下,所述監控單元1306可以包括:建立模組1402和調用模組1404。
其中,建立模組1402,用於基於每個所述用於運行所述待檢測檔案的基本資訊,在建立的至少兩個虛擬機器中運行各個待檢測檔案,其中,每個虛擬機器對應一個待檢測檔案;調用模組1404,用於在運行所述各個待檢測檔案的過程中,調用預設動態連結程式庫DLL中的函數分別對所述各個待檢測檔案進行監控,產生對應所述各個待檢測檔案的監控行為記錄。
此處需要說明的是,上述建立模組1402和調用模組1404對應於實施例二中的步驟S602至步驟S604,該模組與對應的步驟所實現的示例和應用場景相同,但不限於上述實施例二所公開的內容。需要說明的是,上述模組作為裝置的一部分可以運行在實施例二提供的電腦終端10中,可以通過軟體實現,也可以通過硬體實現。
可選地,如圖15所示,所述各個待檢測檔案為所述檔案檢測裝置採用非對稱演算法對所述各個待檢測檔案進行加密的檔案;其中,所述建立模組1402可以包括:獲取子模組1502、解密子模組1504、處理子模組1506以及控制子模組1508。
其中,獲取子模組1502,用於獲取加密後的所述各個待檢測檔案的解密演算法;解密子模組1504,用於依據所述解密演算法對所述各個待檢測檔案進行解密;處理子模組1506,用於根據每個所述用於運行所述待檢測檔案的基本資訊,在所述至少兩個虛擬機器中構造虛擬運行環境;控制子模組1508,用於基於所述虛擬運行環境,在所述至少兩個虛擬機器中分別運行所述各個待檢測檔案,其中,將在運行所述各個待檢測檔案的過程中產生的讀寫操作重定向至各個虛擬機器配置的位址中。
此處需要說明的是,上述獲取子模組1502、解密子模組1504、處理子模組1506以及控制子模組1508對應於實施例二中的步驟S702至步驟S708,該模組與對應的步驟所實現的示例和應用場景相同,但不限於上述實施例二所公開的內容。需要說明的是,上述模組作為裝置的一部分可以運行在實施例二提供的電腦終端10中,可以通過軟體實現,也可以通過硬體實現。
可選地,所述調用模組用於執行以下步驟在運行所述各個待檢測檔案的過程中,調用預設動態連結程式庫DLL中的函數分別對所述各個待檢測檔案進行監控,產生對應所述各個待檢測檔案的監控行為記錄:將所述DLL注入所述各個待檢測檔案;在運行所述各個待檢測檔案的過程中,採用掛鉤HOOK技術對ntdll.dll函數進行監控,產生所述對應所述各個待檢測檔案的監控行為記錄。
由此可知,現有技術存在的採用基於特徵碼的技術進 行檔案檢測造成的在病毒檔案稍有變化時,檔案檢測準確性較低的問題,本發明提出一種基於惡意行為集合進行檔案檢測的方法,從而達到了採用惡意行為比對的方式進行檔案檢測,細化檔案檢測細微性的目的,從而實現了檔案檢測準確性較高的技術效果。
實施例5
根據本發明實施例,還提供了一種掃描節點的控制系統,圖16是根據本發明實施例的一種檔案檢測系統的結構示意圖。
該系統包括:具有上述任意特徵的檔案檢測裝置160,以及與所述檔案檢測裝置連接的具有上述任意特徵的檢測引擎162。
可選地,用戶端收集可疑檔案(即待檢測檔案),通過網路傳送至檔案檢測裝置160中的預處理模組,預處理模組對可疑檔案進行靜態分析,得到可疑檔案的基本資訊(即用於運行待檢測檔案的基本資訊),並將基本資訊保存至資料庫,然後採用加密演算法(即非對稱演算法),對可疑檔案進行加密,將加密後可疑檔案保存到檔案伺服器,檔案檢測裝置160中的調度模組產生檔案檢測任務(例如,可以週期性主動產生檔案檢測任務,也可以在收到維護人員的觸發指令時產生檔案檢測任務,還可以在收到預處理模組依據任務優先順序產生觸發命令時產生檔案檢測任務),並調度安排至不同的檢測引擎,檢測引擎從 檔案伺服器獲得加密後的可疑檔案,解密並運行可疑檔案,同時監控該可疑檔案的行為,產生監控行為記錄,將監控行為記錄傳送至檔案檢測裝置160中的分析模組,分析模組依據惡意行為集合對監控行為記錄中的行為逐條分析,最後得出該可疑檔案是否為惡意檔案。
可選地,預處理模組至調度模組傳遞:可疑檔案通過用戶端提交後,先經過預處理模組,然後產生基本資訊給到調度模組。預處理目前比較簡單,對可疑檔案算md5、sha1、sha256、副檔名、大小、解壓縮以及檔案的一些具體資訊等,例如檔案真實格式的判斷,所應用的作業系統類型,32位元或者64位元系統,這樣在調度模組可以根據樣本的資訊來做不同的調度。產生的基本資訊包含上述預處理的結果:檔案名稱,檔案類型,應用作業系統(windows、linux),是否32位,md5,大小,shal,sha256,提交時間,提交來源,檔案內部儲存位址(目前是tfsname),檔案內部儲存類型(表示是tfs還是url還是oss或者其他),以及檔案本體的byte陣列。
可選地,調度模組至檢測引擎傳遞:調度模組的檔案檢測任務是基於佇列的,惡意程式佇列儲存上面提到的基本資訊,對應的檢測引擎註冊到調度模組,調度模組根據檢測引擎的註冊資訊,得知該去哪個佇列去取可疑檔案,返回json格式的資訊給檢測引擎,json格式是可配置的,內容來源還是上述基本資訊。一般情況json內容包含檔案名稱、尾碼、大小、MD5、檔案內部儲存位址 (tfsname)等。
本發明實施例的檔案檢測系統整體架構可以採用JAVA語言開發,其中因為在系統中增加了對待檢測檔案的加解密,需要考慮性能問題,相關模組程式設計語言採用C/C++較為理想,檢測模組涉及到進程行為監控,將採用C語言開發。另外加解密演算法考慮採用非對稱演算法,可使得即使樣本檔案被協力廠商截獲也不能被破解。
本發明實施例提供的檔案檢測系統具有如下優點:
(1)全面檔案檢測
本發明實施例的檔案檢測系統將靜態分析與動態分析相結合,將待檢測檔案通過靜態分析得到的基本資訊與動態運行產生的監控行為記錄相結合,更全面的對檔案進行診斷。
(2)高檢測效率
本發明實施例的檔案檢測系統採用自設計羽量級虛擬機器,可在同一系統平臺同時運行多個虛擬機器,即同時檢測多個樣本,充分利用了機器的性能,提高了檢測效率。
(3)檔案保密性高
本發明實施例的檔案檢測系統對待檢測檔案在中不同位置(資料庫、檢測引擎)進行加解密,從而保護業務方對樣本檔案私密性的要求。
由此可知,現有技術存在的採用基於特徵碼的技術進行檔案檢測造成的在病毒檔案稍有變化時,檔案檢測準確 性較低的問題,本發明提出一種基於惡意行為集合進行檔案檢測的方法,從而達到了採用惡意行為比對的方式進行檔案檢測,細化檔案檢測細微性的目的,從而實現了檔案檢測準確性較高的技術效果。
實施例6
本發明的實施例還提供了一種儲存媒介。可選地,在本實施例中,上述儲存媒介可以用於保存上述實施例一所提供的檔案檢測方法所執行的程式碼。
可選地,在本實施例中,上述儲存媒介可以位於電腦網路中電腦終端群中的任意一個電腦終端中,或者位於移動終端群中的任意一個移動終端中。
可選地,在本實施例中,儲存媒介被設置為儲存用於執行以下步驟的程式碼:獲取檔案檢測任務,其中,所述檔案檢測任務至少包括待檢測檔案的儲存位址以及用於運行所述待檢測檔案的基本資訊;將所述檔案檢測任務發送至檢測引擎,其中,由所述檢測引擎根據所述儲存位址從檔案伺服器中獲取所述待檢測檔案,基於所述用於運行所述待檢測檔案的基本資訊運行並監控所述待檢測檔案,產生對應所述待檢測檔案的監控行為記錄;接收所述檢測引擎返回的所述監控行為記錄;確定所述監控行為記錄中與預設的惡意行為集合相同的惡意行為;根據所述惡意行為,確定所述待檢測檔案是否為惡意檔案。
可選地,儲存媒介還被設置為儲存用於執行以下步驟 的程式碼:產生所述預設的惡意行為集合。
可選地,儲存媒介還被設置為儲存用於執行以下步驟的程式碼:創建第一訓練樣本集合和第二訓練樣本集合,其中,所述第一訓練樣本集合包括至少一個惡意樣本檔案,第二訓練樣本集合包括至少一個正常樣本檔案;獲取運行每個所述惡意樣本檔案時的第一樣本行為記錄,以及運行每個所述正常樣本檔案時的第二樣本行為記錄;計算每個所述第一樣本行為記錄中各個樣本行為的第一行為頻率,以及每個所述第二樣本行為中各個樣本行為的第二行為頻率;基於所述第一行為頻率和所述第二行為頻率,產生第一樣本行為集合和第二樣本行為集合,其中,所述第一樣本行為集合包括第一行為頻率大於第一預設閾值的行為,所述第二樣本行為集合包括第二行為頻率大於第二預設閾值的行為;根據所述第一樣本行為集合與所述第二樣本行為集合,得到所述預設的惡意行為集合。
可選地,儲存媒介還被設置為儲存用於執行以下步驟的程式碼:對所述第一樣本行為集合與所述第二樣本行為集合進行交集運算,得到第三樣本行為集合,其中,所述第三樣本行為集合中包括所述第一樣本行為集合與所述第二樣本行為集合中相同的行為;從所述第一樣本行為集合中刪除所述第三樣本行為集合中的行為,得到所述預設的惡意行為集合。
可選地,儲存媒介還被設置為儲存用於執行以下步驟的程式碼:計算所述惡意行為的數量;判斷所述惡意行為 的數量是否大於第三預設閾值;若所述惡意行為的數量大於所述第三預設閾值,則確定所述待檢測檔案為所述惡意檔案。
可選地,儲存媒介還被設置為儲存用於執行以下步驟的程式碼:接收用戶端發送的所述待檢測檔案;對所述待檢測檔案進行預處理,得到所述用於運行所述待檢測檔案的基本資訊;採用非對稱演算法對所述待檢測檔案進行加密;將所述用於運行所述待檢測檔案的基本資訊保存至資料庫,以及將加密後的所述待檢測檔案保存至所述檔案伺服器;其中,在所述檢測引擎根據所述儲存位址從所述檔案伺服器中獲取所述待檢測檔案之後,所述基於所述用於運行所述待檢測檔案的基本資訊運行所述待檢測檔案之前,所述方法還包括:所述檢測引擎對所述待檢測檔案進行解密。
可選地,在本實施例中,上述儲存媒介可以包括但不限於:隨身碟、唯讀記憶體(ROM,Read-Only Memory)、隨機存取記憶體(RAM,Random Access Memory)、行動硬碟、磁碟或者光碟等各種可以儲存程式碼的媒介。
可選地,本實施例中的具體示例可以參考上述實施例1中所描述的示例,本實施例在此不再贅述。
實施例7
本發明的實施例還提供了一種儲存媒介。可選地,在 本實施例中,上述儲存媒介可以用於保存上述實施例二所提供的檔案檢測方法所執行的程式碼。
可選地,在本實施例中,上述儲存媒介可以位於電腦網路中電腦終端群中的任意一個電腦終端中,或者位於移動終端群中的任意一個移動終端中。
可選地,在本實施例中,儲存媒介被設置為儲存用於執行以下步驟的程式碼:接收檔案檢測裝置發送的檔案檢測任務,所述檔案檢測任務中至少包括待檢測檔案的儲存位址以及用於運行所述待檢測檔案的基本資訊;根據所述待檢測檔案的儲存位址,從檔案伺服器中獲取所述待檢測檔案;基於所述用於運行所述待檢測檔案的基本資訊,運行並監控所述待檢測檔案,產生對應所述待檢測檔案的監控行為記錄;將所述監控行為記錄發送至所述檔案檢測裝置,其中,由所述檔案檢測裝置確定所述監控行為記錄中與預設的惡意行為集合相同的惡意行為,根據所述惡意行為,判斷所述待檢測檔案是否為惡意檔案。
可選地,儲存媒介還被設置為儲存用於執行以下步驟的程式碼:基於每個所述用於運行所述待檢測檔案的基本資訊,在建立的至少兩個虛擬機器中運行各個待檢測檔案,其中,每個虛擬機器對應一個待檢測檔案;在運行所述各個待檢測檔案的過程中,調用預設動態連結程式庫DLL中的函數分別對所述各個待檢測檔案進行監控,產生對應所述各個待檢測檔案的監控行為記錄。
可選地,儲存媒介還被設置為儲存用於執行以下步驟 的程式碼:獲取加密後的所述各個待檢測檔案的解密演算法;依據所述解密演算法對所述各個待檢測檔案進行解密;根據每個所述用於運行所述待檢測檔案的基本資訊,在所述至少兩個虛擬機器中構造虛擬運行環境;基於所述虛擬運行環境,在所述至少兩個虛擬機器中分別運行所述各個待檢測檔案,其中,將在運行所述各個待檢測檔案的過程中產生的讀寫操作重定向至各個虛擬機器配置的位址中。
可選地,儲存媒介還被設置為儲存用於執行以下步驟的程式碼:將所述DLL注入所述各個待檢測檔案;在運行所述各個待檢測檔案的過程中,採用掛鉤HOOK技術對ntdll.dll函數進行監控,產生所述對應所述各個待檢測檔案的監控行為記錄。
可選地,在本實施例中,上述儲存媒介可以包括但不限於:隨身碟、唯讀記憶體(ROM,Read-Only Memory)、隨機存取記憶體(RAM,Random Access Memory)、行動硬碟、磁碟或者光碟等各種可以儲存程式碼的媒介。
可選地,本實施例中的具體示例可以參考上述實施例2中所描述的示例,本實施例在此不再贅述。
上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
在本發明的上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實 施例的相關描述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的訂單資訊的處理裝置,可通過其它的方式實現。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或元件可以結合或者可以整合到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些介面,單元或模組的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是實體上分開的,作為單元顯示的部件可以是或者也可以不是實體單元,即可以位於一個地方,或者也可以分佈到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以整合在一個處理單元中,也可以是各個單元單獨實體存在,也可以兩個或兩個以上單元整合在一個單元中。上述整合的單元既可以採用硬體的形式實現,也可以採用軟體功能單元的形式實現。
所述整合的單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以儲存在一個電腦可讀取儲存媒介中。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部 或部分可以以軟體產品的形式體現出來,該電腦軟體產品儲存在一個儲存媒介中,包括若干指令用以使得一台電腦設備(可為個人電腦、伺服器或者網路設備等)執行本發明各個實施例所述方法的全部或部分步驟。而前述的儲存媒介包括:隨身碟、唯讀記憶體(ROM,Read-Only Memory)、隨機存取記憶體(RAM,Random Access Memory)、行動硬碟、磁碟或者光碟等各種可以儲存程式碼的媒介。
以上所述僅是本發明的優選實施方式,應當指出,對於所屬技術領域中具有通常知識者來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。

Claims (15)

  1. 一種檔案檢測方法,其特徵在於,包括:獲取檔案檢測任務,其中,所述檔案檢測任務至少包括待檢測檔案的儲存位址以及用於運行所述待檢測檔案的基本資訊;將所述檔案檢測任務發送至檢測引擎,其中,由所述檢測引擎根據所述儲存位址從檔案伺服器中獲取所述待檢測檔案,基於所述用於運行所述待檢測檔案的基本資訊運行並監控所述待檢測檔案,產生對應所述待檢測檔案的監控行為記錄;接收所述檢測引擎返回的所述監控行為記錄;確定所述監控行為記錄中與預設的惡意行為集合相同的惡意行為;根據所述惡意行為,確定所述待檢測檔案是否為惡意檔案。
  2. 根據請求項1所述的方法,其中,在所述確定所述監控行為記錄中與預設的惡意行為集合相同的惡意行為之前,所述方法還包括:產生所述預設的惡意行為集合,其中,產生所述預設的惡意行為集合包括:創建第一訓練樣本集合和第二訓練樣本集合,其中,所述第一訓練樣本集合包括至少一個惡意樣本檔案,第二訓練樣本集合包括至少一個正常樣本檔案;獲取運行每個所述惡意樣本檔案時的第一樣本行為記錄,以及運行每個所述正常樣本檔案時的第二樣本行為記 錄;計算每個所述第一樣本行為記錄中各個樣本行為的第一行為頻率,以及每個所述第二樣本行為中各個樣本行為的第二行為頻率;基於所述第一行為頻率和所述第二行為頻率,產生第一樣本行為集合和第二樣本行為集合,其中,所述第一樣本行為集合包括第一行為頻率大於第一預設閾值的行為,所述第二樣本行為集合包括第二行為頻率大於第二預設閾值的行為;根據所述第一樣本行為集合與所述第二樣本行為集合,得到所述預設的惡意行為集合。
  3. 根據請求項1所述的方法,其中,所述根據所述惡意行為,確定所述待檢測檔案是否為惡意檔案包括:計算所述惡意行為的數量;判斷所述惡意行為的數量是否大於第三預設閾值;若所述惡意行為的數量大於所述第三預設閾值,則確定所述待檢測檔案為所述惡意檔案。
  4. 根據請求項1所述的方法,其中,在所述獲取檔案檢測任務之前,所述方法還包括:接收用戶端發送的所述待檢測檔案;對所述待檢測檔案進行預處理,得到所述用於運行所述待檢測檔案的基本資訊;採用非對稱演算法對所述待檢測檔案進行加密;將所述用於運行所述待檢測檔案的基本資訊保存至資 料庫,以及將加密後的所述待檢測檔案保存至所述檔案伺服器;其中,在所述檢測引擎根據所述儲存位址從所述檔案伺服器中獲取所述待檢測檔案之後,所述基於所述用於運行所述待檢測檔案的基本資訊運行所述待檢測檔案之前,所述方法還包括:所述檢測引擎對所述待檢測檔案進行解密。
  5. 一種檔案檢測方法,其特徵在於,包括:接收檔案檢測裝置發送的檔案檢測任務,所述檔案檢測任務中至少包括待檢測檔案的儲存位址以及用於運行所述待檢測檔案的基本資訊;根據所述待檢測檔案的儲存位址,從檔案伺服器中獲取所述待檢測檔案;基於所述用於運行所述待檢測檔案的基本資訊,運行並監控所述待檢測檔案,產生對應所述待檢測檔案的監控行為記錄;將所述監控行為記錄發送至所述檔案檢測裝置,其中,由所述檔案檢測裝置確定所述監控行為記錄中與預設的惡意行為集合相同的惡意行為,根據所述惡意行為,判斷所述待檢測檔案是否為惡意檔案。
  6. 根據請求項5所述的方法,其中,在所述檔案檢測裝置發送的檔案檢測任務的數量為至少兩個的情況下,所述基於所述用於運行所述待檢測檔案的基本資訊,運行並監控所述待檢測檔案,產生對應所述待檢測檔案的監控 行為記錄,包括:基於每個所述用於運行所述待檢測檔案的基本資訊,在建立的至少兩個虛擬機器中運行各個待檢測檔案,其中,每個虛擬機器對應一個待檢測檔案;在運行所述各個待檢測檔案的過程中,調用預設動態連結程式庫DLL中的函數分別對所述各個待檢測檔案進行監控,產生對應所述各個待檢測檔案的監控行為記錄。
  7. 根據請求項6所述的方法,其中,所述各個待檢測檔案為所述檔案檢測裝置採用非對稱演算法對所述各個待檢測檔案進行加密的檔案;其中,所述基於每個所述用於運行所述待檢測檔案的基本資訊,在建立的至少兩個虛擬機器中運行各個待檢測檔案,包括:獲取加密後的所述各個待檢測檔案的解密演算法;依據所述解密演算法對所述各個待檢測檔案進行解密;根據每個所述用於運行所述待檢測檔案的基本資訊,在所述至少兩個虛擬機器中構造虛擬運行環境;基於所述虛擬運行環境,在所述至少兩個虛擬機器中分別運行所述各個待檢測檔案,其中,將在運行所述各個待檢測檔案的過程中產生的讀寫操作重定向至各個虛擬機器配置的位址中。
  8. 一種檔案檢測裝置,其特徵在於,包括:第一獲取單元,用於獲取檔案檢測任務,其中,所述 檔案檢測任務至少包括待檢測檔案的儲存位址以及用於運行所述待檢測檔案的基本資訊;第一發送單元,用於將所述檔案檢測任務發送至檢測引擎,其中,由所述檢測引擎根據所述儲存位址從檔案伺服器中獲取所述待檢測檔案,基於所述用於運行所述待檢測檔案的基本資訊運行並監控所述待檢測檔案,產生對應所述待檢測檔案的監控行為記錄;第一接收單元,用於接收所述檢測引擎返回的所述監控行為記錄;第一確定單元,用於確定所述監控行為記錄中與預設的惡意行為集合相同的惡意行為;第二確定單元,用於根據所述惡意行為,確定所述待檢測檔案是否為惡意檔案。
  9. 根據請求項8所述的裝置,,還包括:產生單元,用於產生所述預設的惡意行為集合,其中,所述產生單元包括:創建模組,用於創建第一訓練樣本集合和第二訓練樣本集合,其中,所述第一訓練樣本集合包括至少一個惡意樣本檔案,第二訓練樣本集合包括至少一個正常樣本檔案;獲取模組,用於獲取運行每個所述惡意樣本檔案時的第一樣本行為記錄,以及運行每個所述正常樣本檔案時的第二樣本行為記錄;第一計算模組,用於計算每個所述第一樣本行為記錄 中各個樣本行為的第一行為頻率,以及每個所述第二樣本行為中各個樣本行為的第二行為頻率;產生模組,用於基於所述第一行為頻率和所述第二行為頻率,產生第一樣本行為集合和第二樣本行為集合,其中,所述第一樣本行為集合包括第一行為頻率大於第一預設閾值的行為,所述第二樣本行為集合包括第二行為頻率大於第二預設閾值的行為;處理模組,用於根據所述第一樣本行為集合與所述第二樣本行為集合,得到所述預設的惡意行為集合。
  10. 根據請求項8所述的裝置,其中,所述第二確定單元包括:第二計算模組,用於計算所述惡意行為的數量;判斷模組,用於判斷所述惡意行為的數量是否大於第三預設閾值;確定模組,用於若所述惡意行為的數量大於所述第三預設閾值,則確定所述待檢測檔案為所述惡意檔案。
  11. 根據請求項8所述的裝置,還包括:第二接收單元,用於接收用戶端發送的所述待檢測檔案;預處理單元,用於對所述待檢測檔案進行預處理,得到所述用於運行所述待檢測檔案的基本資訊;加密單元,用於採用非對稱演算法對所述待檢測檔案進行加密;控制單元,用於將所述用於運行所述待檢測檔案的基 本資訊保存至資料庫,以及將加密後的所述待檢測檔案保存至所述檔案伺服器。
  12. 一種檢測引擎,其特徵在於,包括:第三接收單元,用於接收檔案檢測裝置發送的檔案檢測任務,所述檔案檢測任務中至少包括待檢測檔案的儲存位址以及用於運行所述待檢測檔案的基本資訊;第二獲取單元,用於根據所述待檢測檔案的儲存位址,從檔案伺服器中獲取所述待檢測檔案;監控單元,用於基於所述用於運行所述待檢測檔案的基本資訊,運行並監控所述待檢測檔案,產生對應所述待檢測檔案的監控行為記錄;第二發送單元,用於將所述監控行為記錄發送至所述檔案檢測裝置,其中,由所述檔案檢測裝置確定所述監控行為記錄中與預設的惡意行為集合相同的惡意行為,根據所述惡意行為,判斷所述待檢測檔案是否為惡意檔案。
  13. 根據請求項12所述的檢測引擎,其中,在所述檔案檢測裝置發送的檔案檢測任務的數量為至少兩個的情況下,所述監控單元包括:建立模組,用於基於每個所述用於運行所述待檢測檔案的基本資訊,在建立的至少兩個虛擬機器中運行各個待檢測檔案,其中,每個虛擬機器對應一個待檢測檔案;調用模組,用於在運行所述各個待檢測檔案的過程中,調用預設動態連結程式庫DLL中的函數分別對所述各個待檢測檔案進行監控,產生對應所述各個待檢測檔案 的監控行為記錄。
  14. 根據請求項13所述的檢測引擎,其中,所述各個待檢測檔案為所述檔案檢測裝置採用非對稱演算法對所述各個待檢測檔案進行加密的檔案;其中,所述建立模組包括:獲取子模組,用於獲取加密後的所述各個待檢測檔案的解密演算法;解密子模組,用於依據所述解密演算法對所述各個待檢測檔案進行解密;處理子模組,用於根據每個所述用於運行所述待檢測檔案的基本資訊,在所述至少兩個虛擬機器中構造虛擬運行環境;控制子模組,用於基於所述虛擬運行環境,在所述至少兩個虛擬機器中分別運行所述各個待檢測檔案,其中,將在運行所述各個待檢測檔案的過程中產生的讀寫操作重定向至各個虛擬機器配置的位址中。
  15. 一種檔案檢測系統,其特徵在於,包括如請求項8至11中任一項所述的檔案檢測裝置,以及與所述檔案檢測裝置連接的如請求項12至14中任一項所述的檢測引擎。
TW104142284A 2015-05-20 2015-12-16 文件檢測方法、裝置及系統 TWI678616B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510260757.9 2015-05-20
CN201510260757.9A CN106295328B (zh) 2015-05-20 2015-05-20 文件检测方法、装置及系统

Publications (2)

Publication Number Publication Date
TW201642135A true TW201642135A (zh) 2016-12-01
TWI678616B TWI678616B (zh) 2019-12-01

Family

ID=57325428

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104142284A TWI678616B (zh) 2015-05-20 2015-12-16 文件檢測方法、裝置及系統

Country Status (3)

Country Link
US (2) US9928364B2 (zh)
CN (1) CN106295328B (zh)
TW (1) TWI678616B (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9811665B1 (en) 2013-07-30 2017-11-07 Palo Alto Networks, Inc. Static and dynamic security analysis of apps for mobile devices
US10019575B1 (en) 2013-07-30 2018-07-10 Palo Alto Networks, Inc. Evaluating malware in a virtual machine using copy-on-write
US9489516B1 (en) * 2014-07-14 2016-11-08 Palo Alto Networks, Inc. Detection of malware using an instrumented virtual machine environment
US9805193B1 (en) 2014-12-18 2017-10-31 Palo Alto Networks, Inc. Collecting algorithmically generated domains
US9646159B2 (en) * 2015-03-31 2017-05-09 Juniper Networks, Inc. Multi-file malware analysis
US10382468B2 (en) * 2017-07-03 2019-08-13 Juniper Networks, Inc. Malware identification via secondary file analysis
CN107426201A (zh) * 2017-07-13 2017-12-01 北京金山安全管理系统技术有限公司 可执行文件的处理方法及装置、存储介质和处理器
US11494491B2 (en) * 2018-03-16 2022-11-08 Acronis International Gmbh Systems and methods for protecting against malware code injections in trusted processes by a multi-target injector
US11416612B2 (en) * 2018-03-16 2022-08-16 Acronis International Gmbh Protecting against malware code injections in trusted processes
CN109766699B (zh) * 2018-05-04 2022-02-15 奇安信安全技术(珠海)有限公司 操作行为的拦截方法及装置、存储介质、电子装置
US20190362075A1 (en) * 2018-05-22 2019-11-28 Fortinet, Inc. Preventing users from accessing infected files by using multiple file storage repositories and a secure data transfer agent logically interposed therebetween
US10956573B2 (en) 2018-06-29 2021-03-23 Palo Alto Networks, Inc. Dynamic analysis techniques for applications
US11010474B2 (en) 2018-06-29 2021-05-18 Palo Alto Networks, Inc. Dynamic analysis techniques for applications
CN108920956B (zh) * 2018-07-03 2021-05-14 亚信科技(成都)有限公司 基于情景感知的机器学习方法及系统
US11036856B2 (en) 2018-09-16 2021-06-15 Fortinet, Inc. Natively mounting storage for inspection and sandboxing in the cloud
CN110955891B (zh) * 2018-09-26 2023-05-02 阿里巴巴集团控股有限公司 文件检测的方法、装置、系统和数据处理法的方法
CN109669776B (zh) * 2018-12-12 2023-08-04 北京文章无忧信息科技有限公司 检测任务的处理方法、装置和系统
CN109992969B (zh) * 2019-03-25 2023-03-21 腾讯科技(深圳)有限公司 一种恶意文件检测方法、装置及检测平台
US11288369B1 (en) * 2019-03-28 2022-03-29 Ca, Inc. Systems and methods for detecting and protecting against malicious use of legitimate computing-system tools
CN111030978B (zh) * 2019-06-19 2022-11-25 安天科技集团股份有限公司 一种基于区块链的恶意数据获取方法、装置及存储设备
US11288401B2 (en) * 2019-09-11 2022-03-29 AO Kaspersky Lab System and method of reducing a number of false positives in classification of files
US11196765B2 (en) 2019-09-13 2021-12-07 Palo Alto Networks, Inc. Simulating user interactions for malware analysis
US11522891B2 (en) 2019-11-26 2022-12-06 Micro Focus Llc Machine learning anomaly detection of process-loaded DLLs
US11645390B2 (en) * 2020-03-16 2023-05-09 Vmware, Inc. Cloud-based method to increase integrity of a next generation antivirus (NGAV) security solution in a virtualized computing environment
CN111159707A (zh) * 2020-04-07 2020-05-15 北京安博通科技股份有限公司 恶意dll注入的检测方法及装置
US11768933B2 (en) * 2020-08-11 2023-09-26 Saudi Arabian Oil Company System and method for protecting against ransomware without the use of signatures or updates
CN112182561B (zh) * 2020-09-24 2024-04-30 百度在线网络技术(北京)有限公司 一种后门的检测方法、装置、电子设备和介质
WO2022191843A1 (en) * 2021-03-11 2022-09-15 Hewlett-Packard Development Company, L.P. Instructions to process files in virtual machines
CN116737673B (zh) * 2022-09-13 2024-03-15 荣耀终端有限公司 嵌入式操作系统中文件系统的调度方法、设备及存储介质
CN115630020B (zh) * 2022-12-23 2023-03-10 北京亿赛通科技发展有限责任公司 一种安全扫描结果复用的方法、装置及电子设备

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7430670B1 (en) * 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
US7360249B1 (en) * 2004-01-13 2008-04-15 Symantec Corporation Refining behavioral detections for early blocking of malicious code
US7539871B1 (en) * 2004-02-23 2009-05-26 Sun Microsystems, Inc. System and method for identifying message propagation
US8584239B2 (en) * 2004-04-01 2013-11-12 Fireeye, Inc. Virtual machine with dynamic data flow analysis
CN1753359B (zh) * 2004-09-24 2011-01-19 华为技术有限公司 实现传输SyncML同步数据的方法
US7765400B2 (en) * 2004-11-08 2010-07-27 Microsoft Corporation Aggregation of the knowledge base of antivirus software
US20070056038A1 (en) * 2005-09-06 2007-03-08 Lok Technology, Inc. Fusion instrusion protection system
US20080016339A1 (en) 2006-06-29 2008-01-17 Jayant Shukla Application Sandbox to Detect, Remove, and Prevent Malware
US8387139B2 (en) * 2008-02-04 2013-02-26 Microsoft Corporation Thread scanning and patching to disable injected malware threats
GB2470928A (en) * 2009-06-10 2010-12-15 F Secure Oyj False alarm identification for malware using clean scanning
US8776218B2 (en) * 2009-07-21 2014-07-08 Sophos Limited Behavioral-based host intrusion prevention system
RU2420791C1 (ru) * 2009-10-01 2011-06-10 ЗАО "Лаборатория Касперского" Метод отнесения ранее неизвестного файла к коллекции файлов в зависимости от степени схожести
US8677491B2 (en) * 2010-02-04 2014-03-18 F-Secure Oyj Malware detection
US20120137340A1 (en) * 2010-11-29 2012-05-31 Palo Alto Research Center Incorporated Implicit authentication
US9111094B2 (en) * 2011-01-21 2015-08-18 F-Secure Corporation Malware detection
US8438644B2 (en) * 2011-03-07 2013-05-07 Isight Partners, Inc. Information system security based on threat vectors
US9047441B2 (en) 2011-05-24 2015-06-02 Palo Alto Networks, Inc. Malware analysis system
CN102955912B (zh) * 2011-08-23 2013-11-20 腾讯科技(深圳)有限公司 一种程序恶意属性判别方法和服务器
US9672355B2 (en) 2011-09-16 2017-06-06 Veracode, Inc. Automated behavioral and static analysis using an instrumented sandbox and machine learning classification for mobile security
CN102724176A (zh) 2012-02-23 2012-10-10 北京市计算中心 一种面向云计算环境的入侵检测系统
US8996887B2 (en) 2012-02-24 2015-03-31 Google Inc. Log structured volume encryption for virtual machines
US9298912B2 (en) * 2012-04-24 2016-03-29 Behaviometrics Ab System and method for distinguishing human swipe input sequence behavior and using a confidence value on a score to detect fraudsters
US9038178B1 (en) * 2012-06-25 2015-05-19 Emc Corporation Detection of malware beaconing activities
US9088606B2 (en) * 2012-07-05 2015-07-21 Tenable Network Security, Inc. System and method for strategic anti-malware monitoring
US9245120B2 (en) * 2012-07-13 2016-01-26 Cisco Technologies, Inc. Method and apparatus for retroactively detecting malicious or otherwise undesirable software as well as clean software through intelligent rescanning
CN103632088A (zh) 2012-08-28 2014-03-12 阿里巴巴集团控股有限公司 一种木马检测方法及装置
US9292688B2 (en) 2012-09-26 2016-03-22 Northrop Grumman Systems Corporation System and method for automated machine-learning, zero-day malware detection
US9830452B2 (en) * 2012-11-30 2017-11-28 Beijing Qihoo Technology Company Limited Scanning device, cloud management device, method and system for checking and killing malicious programs
US9922192B1 (en) * 2012-12-07 2018-03-20 Bromium, Inc. Micro-virtual machine forensics and detection
RU2530210C2 (ru) 2012-12-25 2014-10-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ выявления вредоносных программ, препятствующих штатному взаимодействию пользователя с интерфейсом операционной системы
US9106692B2 (en) 2013-01-31 2015-08-11 Northrop Grumman Systems Corporation System and method for advanced malware analysis
US9491187B2 (en) * 2013-02-15 2016-11-08 Qualcomm Incorporated APIs for obtaining device-specific behavior classifier models from the cloud
US9208317B2 (en) 2013-02-17 2015-12-08 Check Point Software Technologies Ltd. Simultaneous screening of untrusted digital files
US9471782B2 (en) * 2013-04-08 2016-10-18 Tencent Technology (Shenzhen) Company Limited File scanning method and system, client and server
US9361459B2 (en) 2013-04-19 2016-06-07 Lastline, Inc. Methods and systems for malware detection based on environment-dependent behavior
US9571511B2 (en) * 2013-06-14 2017-02-14 Damballa, Inc. Systems and methods for traffic classification
CN103368973B (zh) 2013-07-25 2016-02-17 浪潮(北京)电子信息产业有限公司 一种云操作系统安全体系
TWI515598B (zh) * 2013-08-23 2016-01-01 國立交通大學 產生純化惡意程式的方法、偵測惡意程式之方法及其系統
GB2518636B (en) * 2013-09-26 2016-03-09 F Secure Corp Distributed sample analysis
TWI553503B (zh) * 2014-02-27 2016-10-11 國立交通大學 產生候選鈎點以偵測惡意程式之方法及其系統
US9684787B2 (en) * 2014-04-08 2017-06-20 Qualcomm Incorporated Method and system for inferring application states by performing behavioral analysis operations in a mobile device

Also Published As

Publication number Publication date
US9928364B2 (en) 2018-03-27
US20180165449A1 (en) 2018-06-14
CN106295328A (zh) 2017-01-04
US10489583B2 (en) 2019-11-26
TWI678616B (zh) 2019-12-01
US20160342787A1 (en) 2016-11-24
CN106295328B (zh) 2019-06-18

Similar Documents

Publication Publication Date Title
TWI678616B (zh) 文件檢測方法、裝置及系統
US11095669B2 (en) Forensic analysis of computing activity
US10924517B2 (en) Processing network traffic based on assessed security weaknesses
US10721210B2 (en) Secure labeling of network flows
US10868821B2 (en) Electronic mail security using a heartbeat
US10972483B2 (en) Electronic mail security using root cause analysis
US11277416B2 (en) Labeling network flows according to source applications
US9661003B2 (en) System and method for forensic cyber adversary profiling, attribution and attack identification
US8966249B2 (en) Data security and integrity by remote attestation
JP2020095753A (ja) マルウェアのランタイム中の自動検出
US9690598B2 (en) Remotely establishing device platform integrity
JP2016503936A (ja) アプリケーション及びファイル脆弱性を識別して報告するためのシステム及び方法
CN111163095B (zh) 网络攻击分析方法、网络攻击分析装置、计算设备和介质
US9652615B1 (en) Systems and methods for analyzing suspected malware
US11929992B2 (en) Encrypted cache protection
US11636208B2 (en) Generating models for performing inline malware detection
WO2019122832A1 (en) Electronic mail security using a user-based inquiry
CN111181914B (zh) 一种局域网内部数据安全监控方法、装置、系统和服务器
US20230306114A1 (en) Method and system for automatically generating malware signature
US11743286B2 (en) Combination rule mining for malware signature generation
WO2021015941A1 (en) Inline malware detection
US20230069731A1 (en) Automatic network signature generation
KR102676386B1 (ko) 인라인 멀웨어 검출
US20220245249A1 (en) Specific file detection baked into machine learning pipelines
US20240223537A1 (en) Encrypted cache protection