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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。