样本的执行方法和装置制造方法及图纸

技术编号:15392001 阅读:48 留言:0更新日期:2017-05-19 05:03
本发明专利技术公开了一种样本的执行方法和装置。其中,该方法包括:在沙箱中执行样本;判断当前在沙箱中执行的样本是否为花指令;在判断出当前在沙箱中执行的样本是花指令时,确定当前在沙箱中执行的样本中属于花指令的指令序列;在指令序列中查找条件跳转指令,其中,条件跳转指令指向的目的地址在指令序列以外;跳出指令序列,并根据目的地址执行样本。本发明专利技术解决了无法在沙箱中执行恶意代码的技术问题。

Method and apparatus for sample execution

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是根据本专利技术实施例的一种可选的样本的执行方法的流程图;图3是根据本专利技术实施例的一种可选的样本的执行方法的流程图;图4是根据本专利技术实施例的样本的执行装置的示意图;图5是根据本专利技术实施例的终端的示意图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。名词解释:沙箱:即虚拟系统程序,允许在沙箱环境中运行浏览器或者其他程序,在沙箱内部运行的程序并不能对磁盘产生永久性的影响,其为一个独立的虚拟环境,可以测试不受信任的应用程序或者上网行为。可执行程序动态分析:在“沙箱”系统中运行可执行程序,捕获代码执行序列以及进行参数分析,以此判定恶意程序。花指令:在超高循环次数的循环中执行无意义的花指令(汇编指令),以达到占用CPU的目的。动态分析对抗:恶意样本感知动态分析“沙箱”,进而隐藏自身的恶意行为,躲避查杀。反动态分析对抗:核心思想在于反对抗,是动态“沙箱”系统对于动态分析对抗的应对策略,使恶意样本的动态分析对抗失效。根据本专利技术实施例,提供了一种可以通过本申请装置实施例执行的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。图1是根据本专利技术实施例的样本的执行方法的流程图,以下结合图1对本专利技术实施例所提供的样本的执行方法做具体介绍,如图1所示,该样本的执行方法主要包括如下步骤:步骤S102,在沙箱中执行样本。步骤S104,判断当前在沙箱中执行的样本是否为花指令。步骤S106,在判断出当前在沙箱中执行的样本是花指令时,确定当前在沙箱中执行的样本中属于花指令的指令序列。步骤S108,在指令序列中查找条件跳转指令,其中,条件跳转指令指向的目的地址在指令序列以外。步骤S110,跳出指令序列,并根据目的地址执行样本。在本实施例中,先判断沙箱中当前执行的样本是否为花指令,如果不是花指令则继续在沙箱中运行样本,如果当前执行的样本是花指令,则暂停执行花指令并确定属于花指令的指令序列。确定属于花指令的指令序列即确定样本中哪些指令序列属于花指令,并在该指令序列中内查找条件跳转指令,其中,条件跳转指令指示在A条件下跳转到目的地址,在非A条件下不跳转到目的地址,在不出现A条件的情况下继续执行花指令。由于恶意事件在执行完花指令后再执行,且花指令是高循环次数的循环,跳出花指令的循环所执行的事件才有可能是恶意事件,因此,查找目的地址在属于花指令的指令序列以外的条件跳转指令。在一些实施例中,目的地址为多个的情况下,执行目的地址的样本时多个目的地址中的至少一个地址的样本是恶意事件,执行这多个目的地址的样本就能实现执行恶意事件;在目的地址为一个的情况下,该目的地址的样本即为恶意事件,在执行目的地址的样本时该恶意事件就能够被执行。即在本实施例中,本应在花指令执行完成后再执行的恶意事件提前被执行,避免了在沙箱超时后还无法本文档来自技高网
...
样本的执行方法和装置

【技术保护点】
一种样本的执行方法,其特征在于,包括:在沙箱中执行样本;判断当前在所述沙箱中执行的样本是否为花指令;在判断出当前在所述沙箱中执行的样本是所述花指令时,确定当前在所述沙箱中执行的样本中属于所述花指令的指令序列;在所述指令序列中查找条件跳转指令,其中,所述条件跳转指令指向的目的地址在所述指令序列以外;跳出所述指令序列,并根据所述目的地址执行所述样本。

【技术特征摘要】
1.一种样本的执行方法,其特征在于,包括:在沙箱中执行样本;判断当前在所述沙箱中执行的样本是否为花指令;在判断出当前在所述沙箱中执行的样本是所述花指令时,确定当前在所述沙箱中执行的样本中属于所述花指令的指令序列;在所述指令序列中查找条件跳转指令,其中,所述条件跳转指令指向的目的地址在所述指令序列以外;跳出所述指令序列,并根据所述目的地址执行所述样本。2.根据权利要求1所述的方法,其特征在于,确定当前在所述沙箱中执行的样本中属于所述花指令的指令序列包括:在判断出当前在所述沙箱中执行的样本是所述花指令时,记录当前调用的指令寄存器;从所述指令寄存器开始对所述花指令进行虚拟执行;在对所述指令序列进行虚拟执行的过程中再次调用所述指令寄存器时,将相邻两次调用的所述指令寄存器之间的指令序列作为所述属于花指令的指令序列。3.根据权利要求2所述的方法,其特征在于,在再次调用所述指令寄存器之后,所述方法还包括:停止对所述指令序列进行虚拟执行。4.根据权利要求2所述的方法,其特征在于,跳出所述指令序列,并根据所述目的地址执行所述样本包括:将所述指令寄存器的地址设置为所述目的地址;在所述沙箱中执行所述指令序列并且调用所述指令寄存器时,跳转到所述目的地址来执行所述样本。5.根据权利要求1或2所述的方法,其特征在于,跳出所述指令序列,并根据所述目的地址执行所述样本包括:将所述条件跳转指令修改为目标指令,其中,所述目标指令的条件与所述条件跳转指令的条件相反;在所述沙箱中执行所述指令序列时,根据所述目标指令的条件执行所述目标指令来跳出所述指令序列,并跳转到所述目的地址来执行所述样本。6.根据权利要求1所述的方法,其特征在于,判断当前在所述沙箱中执行的样本是否为花指令包括:监控执行所述样本的进程的用户态和内核态;判断所述进程处于内核态的时间和所述进程处于所述用户态的时间的比值是否大于预设比值;当判断出所述进程处于内核态的时间和所述进程处于所述用户态的时间的比值大于所述预设比值时,确定当前在所述沙箱中执行的样本是所述花指令。7.根据权利要求1所述的方法,其特征在于,在判断出当前在所述沙箱中执行的...

【专利技术属性】
技术研发人员:高家华
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1