The present invention discloses a method and a device for executing a sample. Among them, the method includes performing a sample in a sandbox; determine the current execution in the sandbox sample is spent in instruction; judge the current execution in the sandbox sample is take command, determine the sequence of instructions executed in the sandbox in the sample belongs to the flower instructions; find a conditional jump instruction in the instruction. In the sequence, a conditional jump instruction to the destination address in the instruction sequence outside; out of sequence of instructions, and perform the sample according to the destination address. The invention solves the technical problem that the malicious code can not be executed in the sandbox.
【技術實現步驟摘要】
樣本的執行方法和裝置
本專利技術涉及病毒檢測領域,具體而言,涉及一種樣本的執行方法和裝置。
技術介紹
隨著動態分析系統在反病毒領域扮演著越來越重要的角色,病毒木馬針對動態分析系統的對抗方法層出不窮,木馬和安全廠商在動態對抗分析技術上的比拼也逐漸升級。在眾多的反動態分析技術中,高CPU消耗型花指令具有易實現,通用性好,對抗性高等優點,在最近幾次發現的流行惡意樣本中使用頻率很高。因此對于這類樣本的對抗,成為反動態分析對抗的重點。其中,動態分析系統是惡意代碼樣本感知動態分析“沙箱”,進而隱藏自身的惡意行為,躲避查殺。反動態分析對抗的核心思想在于反對抗,是對動態分析系統的動態分析對抗的應對策略,使惡意代碼樣本的動態分析對抗失效。通常反動態分析對抗時運行的樣本先執行花指令,然后再執行惡意代碼樣本。在真實環境中,花費很長時間執行花指令,然后執行惡意代碼,完成惡意行為。然而,在沙箱環境進行反動態分析對抗時,由于沙箱對樣本的動態分析有超時限制,花指令的執行時間很長(從幾十分鐘到幾個小時不等),沙箱不會對單個樣本無限等待,導致在花指令完成之前就結束了反動態分析對抗對樣本的動態分析,在花指令之后執行的惡意代碼并沒有得到執行,從而判定出反動態分析對抗的樣本為非惡意樣本,導致無法達到動態分析對抗的目的。針對上述的問題,目前尚未提出有效的解決方案。
技術實現思路
本專利技術實施例提供了一種樣本的執行方法和裝置,以至少解決無法在沙箱中執行惡意代碼的技術問題。根據本專利技術實施例的一個方面,提供了一種樣本的執行方法,包括:在沙箱中執行樣本;判斷當前在所述沙箱中執行的樣本是否為花指令;在判斷 ...
【技術保護點】
一種樣本的執行方法,其特征在于,包括:在沙箱中執行樣本;判斷當前在所述沙箱中執行的樣本是否為花指令;在判斷出當前在所述沙箱中執行的樣本是所述花指令時,確定當前在所述沙箱中執行的樣本中屬于所述花指令的指令序列;在所述指令序列中查找條件跳轉指令,其中,所述條件跳轉指令指向的目的地址在所述指令序列以外;跳出所述指令序列,并根據所述目的地址執行所述樣本。
【技術特征摘要】
1.一種樣本的執行方法,其特征在于,包括:在沙箱中執行樣本;判斷當前在所述沙箱中執行的樣本是否為花指令;在判斷出當前在所述沙箱中執行的樣本是所述花指令時,確定當前在所述沙箱中執行的樣本中屬于所述花指令的指令序列;在所述指令序列中查找條件跳轉指令,其中,所述條件跳轉指令指向的目的地址在所述指令序列以外;跳出所述指令序列,并根據所述目的地址執行所述樣本。2.根據權利要求1所述的方法,其特征在于,確定當前在所述沙箱中執行的樣本中屬于所述花指令的指令序列包括:在判斷出當前在所述沙箱中執行的樣本是所述花指令時,記錄當前調用的指令寄存器;從所述指令寄存器開始對所述花指令進行虛擬執行;在對所述指令序列進行虛擬執行的過程中再次調用所述指令寄存器時,將相鄰兩次調用的所述指令寄存器之間的指令序列作為所述屬于花指令的指令序列。3.根據權利要求2所述的方法,其特征在于,在再次調用所述指令寄存器之后,所述方法還包括:停止對所述指令序列進行虛擬執行。4.根據權利要求2所述的方法,其特征在于,跳出所述指令序列,并根據所述目的地址執行所述樣本包括:將所述指令寄存器的地址設置為所述目的地址;在所述沙箱中執行所述指令序列并且調用所述指令寄存器時,跳轉到所述目的地址來執行所述樣本。5.根據權利要求1或2所述的方法,其特征在于,跳出所述指令序列,并根據所述目的地址執行所述樣本包括:將所述條件跳轉指令修改為目標指令,其中,所述目標指令的條件與所述條件跳轉指令的條件相反;在所述沙箱中執行所述指令序列時,根據所述目標指令的條件執行所述目標指令來跳出所述指令序列,并跳轉到所述目的地址來執行所述樣本。6.根據權利要求1所述的方法,其特征在于,判斷當前在所述沙箱中執行的樣本是否為花指令包括:監控執行所述樣本的進程的用戶態和內核態;判斷所述進程處于內核態的時間和所述進程處于所述用戶態的時間的比值是否大于預設比值;當判斷出所述進程處于內核態的時間和所述進程處于所述用戶態的時間的比值大于所述預設比值時,確定當前在所述沙箱中執行的樣本是所述花指令。7.根據權利要求1所述的方法,其特征在于,在判斷出當前在所述沙箱中執行的...
【專利技術屬性】
技術研發人員:高家華,
申請(專利權)人:騰訊科技深圳有限公司,
類型:發明
國別省市:廣東,44
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。