CN102750484A - 一种防止病毒样本自检的方法及装置 - Google Patents

一种防止病毒样本自检的方法及装置 Download PDF

Info

Publication number
CN102750484A
CN102750484A CN2012102176606A CN201210217660A CN102750484A CN 102750484 A CN102750484 A CN 102750484A CN 2012102176606 A CN2012102176606 A CN 2012102176606A CN 201210217660 A CN201210217660 A CN 201210217660A CN 102750484 A CN102750484 A CN 102750484A
Authority
CN
China
Prior art keywords
operation system
virus sample
true operation
computing machine
timestamp
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN2012102176606A
Other languages
English (en)
Inventor
高小明
谢飞
曹亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN2012102176606A priority Critical patent/CN102750484A/zh
Publication of CN102750484A publication Critical patent/CN102750484A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种防止病毒样本自检的方法及装置,当病毒样本运行在虚拟机环境中时,计算机的真实操作系统将病毒样本在虚拟机环境的运行信息修改为病毒样本在真实操作系统的运行信息,这样,当计算机的真实操作系统接收在虚拟机环境中运行的病毒样本的自检指示请求,反馈病毒样本在真实操作系统的运行信息;病毒样本自检后确认在计算机的真实操作系统。由于本发明的病毒样本在自检是否在虚拟机环境中时,反馈得到的都是反映计算机的真实操作系统的信息,所以就可以在病毒样本自检时,防止检测自身当前运行的环境为虚拟机环境,从而使得可以在虚拟机环境中运行完病毒样本,得到检测结果。

Description

一种防止病毒样本自检的方法及装置
技术领域
本发明涉及计算机中的病毒样本执行技术,特别涉及一种防止病毒样本自检的方法及装置。
背景技术
随着计算机技术的发展,编程人员编译了各种应用程序。在应用程序加载到计算机执行之前,需要对应用程序的执行性能进行检测,也就是要设置应用程序样本并运行应用程序样本,得到检测结果。由于一些应用程序样本在检测过程中,可能会影响计算机系统性能,比如对于病毒样本,在检测过程中,可能会使得计算机系统瘫痪,所以目前都是在计算机设置虚拟机(VM)的方式对诸如病毒样本的应用程序样本进行检测。
虚拟机是采用软件模拟的具有完整硬件系统功能的运行在一个完全隔离环境中的完整计算机系统,也就是任何应用程序在该虚拟机运行时,不会对计算机本身的操作程序有影响。在对病毒样本检测时,首先,将计算机切换到虚拟机上,然后在虚拟机上加载病毒程序并执行,得到检测结果。
目前,病毒样本的本身特性就是要影响计算机的真实操作系统,非法获取经济利益。诸如木马程序的病毒样本可以监控客户端系统,非法获取使用客户端的用户的上网密码或隐私数据,比如非法获取用户网络游戏的账号密码或网上交易订单,从而非法获取经济利益。而当病毒样本运行在虚拟机环境中时,就无法影响计算机本身的操作程序,为了克服这个问题,病毒样本本身都会采用一些方式进行自检,以确认自身是否运行在虚拟机环境上还是在计算机的真实操作系统中。如果自检到自身处于虚拟机环境上,就采用设置的规则,比如终止运行或跳转到计算机的真实操作系统中运行。这样,计算机的虚拟机环境就无法完整运行病毒样本,在不影响计算机的真实操作系统的情况下,获取到病毒样本的检测结果。
发明内容
有鉴于此,本发明提供一种防止病毒样本自检的方法,该方法能够在病毒样本自检时,防止检测自身当前运行的环境为虚拟机环境,从而使得可以在虚拟机环境中运行完病毒样本,得到检测结果。
本发明还提供一种防止病毒样本自检的装置,该装置能够在病毒样本自检时,防止检测自身当前运行的环境为虚拟机环境,从而使得可以在虚拟机环境中运行完病毒样本,得到检测结果。
为达到上述目的,本发明的技术方案是这样实现的:
一种防止病毒样本自检的方法,其特征在于,该方法包括:
计算机的真实操作系统将病毒样本在虚拟机环境的运行信息修改为病毒样本在真实操作系统的运行信息;
计算机的真实操作系统接收在虚拟机环境中运行的病毒样本的自检指示请求,反馈病毒样本在真实操作系统的运行信息;
病毒样本自检后确认在计算机的真实操作系统。
一种防止病毒样本自检的装置,该装置包括:设置模块、收发模块及自检模块,其中,
设置模块,用于计算机的真实操作系统将病毒样本在虚拟机环境的运行信息修改为病毒样本在真实操作系统的运行信息;
收发模块,用于计算机的真实操作系统接收在虚拟机环境中运行的病毒样本的自检指示请求,反馈病毒样本在真实操作系统的运行信息;
自检模块,用于病毒样本自检后确认在计算机的真实操作系统。
由上述的技术方案可见,本发明采用的方法及装置,当病毒样本运行在虚拟机环境中时,计算机的真实操作系统将病毒样本在虚拟机环境的运行信息修改为病毒样本在真实操作系统的运行信息,这样,当计算机的真实操作系统接收在虚拟机环境中运行的病毒样本的自检指示请求,反馈病毒样本在真实操作系统的运行信息;病毒样本自检后确认在计算机的真实操作系统。由于本发明的病毒样本在自检是否在虚拟机环境中时,反馈得到的都是反映计算机的真实操作系统的信息,所以就可以在病毒样本自检时,防止检测自身当前运行的环境为虚拟机环境,从而使得可以在虚拟机环境中运行完病毒样本,得到检测结果。
附图说明
图1为本发明实施例提供的防止病毒样本自检的方法流程图;
图2为本发明实施例提供的防止病毒样本自检的装置结构示意图;
图3为本发明实施例在病毒样本调用计算机的真实操作系统提供的调试代码时,将标识未修改的调试代码提供给病毒样本验证的方法一流程图;
图4为本发明实施例在病毒样本调用计算机的真实操作系统提供的调试代码时,将标识未修改的调试代码提供给病毒样本验证的方法二流程图;
图5为本发明实施例提供的在计算机的真实操作系统检测到病毒样本调用虚拟机的时间戳时,将虚拟机的时间戳修改为反映计算机的真实操作系统的时间戳后,反馈给病毒样本的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
为了在病毒样本自检是否在虚拟机环境中时,反馈得到的都是计算机真实操作系统的信息,本发明实施例的计算机的真实操作系统将病毒样本在虚拟机环境的运行信息修改为病毒样本在真实操作系统的运行信息,这样,当计算机的真实操作系统接收在虚拟机环境中运行的病毒样本的自检指示请求,反馈病毒样本在真实操作系统的运行信息;病毒样本自检后确认在计算机的真实操作系统。
在本发明实施例中,计算机的真实操作系统将病毒样本在虚拟机环境的运行信息修改为病毒样本在真实操作系统的运行信息有三种方式:
第一种方式:将计算机的真实操作系统的调试代码修改为指示不在调试模式下,将指示不在调试模式下的调试代码作为病毒样本在真实操作系统的运行信息;检测样本发送的自检指示请求为计算机的真实操作系统调试代码的调试指示;所述反馈病毒样本在真实操作系统的运行信息为指示不在调试模式下的调试代码。
第二种方式,将虚拟机的时间戳修改为反映计算机的真实操作系统的时间戳;检测样本发送的自检指示请求为病毒样本调用虚拟机的时间戳。
第三种方式,修改病毒样本所在环境所存储的寄存器地址信息,修改为反映计算机的真实操作系统的地址;检测样本发送的自检指示请求为病毒样本所在环境所存储的寄存器地址信息的请求。
图1为本发明实施例提供的防止病毒样本自检的方法流程图,病毒样本在虚拟机执行过程中,其具体步骤为:
步骤101、计算机的真实操作系统将病毒样本在虚拟机环境的运行信息修改为病毒样本在真实操作系统的运行信息;
在本步骤中,可以采用上述三种方式进行修改;
步骤102、计算机的真实操作系统接收在虚拟机环境中运行的病毒样本的自检指示请求,反馈病毒样本在真实操作系统的运行信息;
步骤103、病毒样本自检后确认在计算机的真实操作系统。
在该方法实施例中,当采用第一种方式时,由于计算机加载了虚拟机且在虚拟机环境中运行病毒样本,所以计算机的真实操作系统的调试代码就标识为在调试模式下,如果直接反馈该调试代码,病毒样本就会对反馈得到的调试代码进行完整性校验后,确定病毒样本在虚拟机上执行,因此,就需要修改为指示不在调试模式下。
在该方法实施例中,当采用第一种方式时,具体地说,有两种方式,一种修改为软件断点修改,另种为硬件断点修改。
软件断点修改的过程为:根据在虚拟机环境中运行的病毒样本,计算机的真实操作系统在调试器中设置软件断点,判断所设置的软件断点是否大于所设置的断点数,
如果是,在所述软件断点地址处设置硬件访问断点;
如果否,清空所述软件断点所在存储页的数据,出现缺页异常;
所述计算机的真实操作系统调试代码的调试指示是根据硬件访问断点异常确定接收的,或者根据缺页异常确定接收的。
这个过程将在图3所示的方法中具体说明。
硬件断点修改的过程为:根据在虚拟机环境执行的病毒样本,计算机的真实操作系统在调试器中设置硬件断点,在硬件断点上病毒样本所在线程的上下文修改为不在调试模式下;
所述计算机的真实操作系统调试代码的调试指示是在病毒样本调用所执行线程的执行上下文时接收到的。
这个过程将在图4所示的方法中具体说明。
在该方法实施例中,当采用第二种方式时,具体地说,计算机的真实操作系统将提供时间戳的中央处理器寄存器进行置位,将时间戳修改为当前真实操作系统的时间戳,或当前虚拟机环境的时间戳和当前计算机的真实操作系统的时间戳之间的差值。所述病毒样本调用虚拟机的时间戳时是通过计算机的真实操作系统检测到提供时间戳的中央处理器寄存器异常确定的;当已经反馈真实操作系统的时间戳时,反馈病毒样本在真实操作系统的运行信息为反馈当前虚拟机环境的时间戳和当前计算机的真实操作系统的时间戳之间的差值;否则,反馈真实操作系统的时间戳。
当然,采用第二种方式时,也可以将反映计算机的真实操作系统的时间戳设置为计算机的真实操作系统的时间放慢设定倍数后得到的时间戳。
图2为本发明实施例提供的防止病毒样本自检的装置结构示意图,包括:设置模块、收发模块及自检模块,其中,
设置模块,用于计算机的真实操作系统将病毒样本在虚拟机环境的运行信息修改为病毒样本在真实操作系统的运行信息;
收发模块,用于计算机的真实操作系统接收在虚拟机环境中运行的病毒样本的自检指示请求,反馈病毒样本在真实操作系统的运行信息;
自检模块,用于病毒样本自检后确认在计算机的真实操作系统。
在该装置实施中,所述设置模块包括第一设置子模块,用于将该调试代码修改为指示不在调试模式下,将指示不在调试模式下的调试代码作为病毒样本在真实操作系统的运行信息;
所述收发模块包括第一收发子模块,用于接收的所述自检指示请求为计算机的真实操作系统调试代码的调试指示;所述反馈病毒样本在真实操作系统的运行信息为指示不在调试模式下的调试代码。
在该装置实施例中,所述设置模块包括第二设置子模块,用于将虚拟机的时间戳修改为反映计算机的真实操作系统的时间戳;
所述收发模块包括第二收发子模块,用于接收的所述自检指示请求为病毒样本调用虚拟机的时间戳。
在该装置实施例中,所述设置模块包括第三设置子模块,用于修改病毒样本所在环境所存储的寄存器地址信息,修改为反映计算机的真实操作系统的地址;
所述收发模块包括第三收发子模块,用于接收的所述自检指示请求为病毒样本所在环境所存储的寄存器地址信息的请求。
本发明实施例在病毒样本调用计算机的真实操作系统提供的调试代码时,将将指示不在调试模式下的调试代码提供给病毒样本自检的过程进行具体说明,也就是将上述的方式一具体说明:
病毒样本通常通过计算机的真实操作系统提供的调试应用程序编程接口(API)调用计算机的真实操作系统调试器中的调试代码。在计算机的真实操作系统中,如果在计算机的虚拟机环境运行病毒样本,就需要在调试器中设置多个软件断点指示在计算机的虚拟机环境运行病毒样本,在所设置的软件断点处就可以接收到病毒样本发送的计算机的真实操作系统调试代码的调用指示,并将调试代码反馈给病毒样本。
在调试器中的软件断点设置比较少的情况下,本发明实施例同时在软件断点的设置地址位置同时设置硬件访问断点,这样,当病毒样本在调用该软件断点时,就同时调用了硬件访问断点,引发调试异常,计算机的真实操作系统的调试器就可以检测到,并将修改后的指示不在调试模式下的调试代码反馈给病毒样本。在调试器中的软件断点设置比较少的情况下,可以利用计算机的x86指令架构中指令OLE库文件(TLB)与数据TLB分离的特性,先通过执行存储页上的一条指令,将指令TLB填入,随后清空该页的页表,以便清空数据TLB,这样,该页更改为可执行,但不能读和写的页,当病毒样本读取软件断点所在的地址时,也就是对应的存储页中时,就会引发调试异常,计算机的真实操作系统的调试器可以检测到,并将修改后的指示不在调试模式下的调试代码反馈给病毒样本。
图3为本发明实施例在病毒样本调用计算机的真实操作系统提供的调试代码时,将标识未修改的调试代码提供给病毒样本验证的方法一流程图,其具体步骤为:
步骤301、在计算机的真实操作系统的调试器中设置软件断点;
步骤302、计算机的真实操作系统的调试器保存软件断点地址信息并修改为计算机的真实操作系统的int3指令实现调用;
步骤303、计算机的真实操作系统判断软件断点的设置数量是否大于所设置的断点数,如果是,则执行步骤304;否则,执行步骤307;
在该步骤中,所设置的断点数为4,设置的断点数是依据可以最多设置的硬件访问断点设置的;
步骤304、根据软件断点的地址信息确认软件断点所在的存储页并设置该存储页的指令TLB;
步骤305、清空该存储页的数据TLB;
步骤306、病毒样本在调用该软件断点时,由于已经清空了该存储页的数据TLB,引发缺页异常,计算机的真实操作系统检测到,转入步骤309执行;
步骤307、计算机的真实操作系统在软件断点地址处设置硬件访问断点;
步骤308、病毒样本在调用该软件断点时,就同时调用硬件访问断点,引发调试异常,计算机的真实操作系统的调试器检测到,转入步骤309执行;
步骤309、计算机的真实操作系统更改调试代码,将该调试代码指示不在调试模式下,将指示不在调试模式下的调试代码反馈给病毒样本;
在该步骤中,计算机的真实操作系统将设置软件断点钱的调试代码反馈给病毒样本。
当病毒样本运行在计算机的虚拟机系统中时,在计算机的真实操作系统中的调试器中设置硬件断点,病毒样本通过执行上下文线程获取API(GetThreadContext API)获取到执行线程的执行上下文,该上下文中包含了硬件断点的信息,病毒样本就可以通过这些值判断是否被设置了硬件断点。
因此,计算机的真实操作系统就可以模拟或截获GetThreadContext API,并将反馈的硬件断点信息填入未修改的调试代码,也就是未修改的调试器的硬件断点的信息。
图4为本发明实施例提供的在病毒样本调用计算机的真实操作系统提供的调试代码时,将标识未修改的调试代码提供给病毒样本验证的方法二流程图,其具体步骤为:
步骤401、计算机的真实操作系统设置硬件断点;
步骤402、计算机的真实操作系统根据所设置的硬件断点修改调试器信息;
在本步骤中,该调试器信息指示了病毒样本运行在虚拟机环境中;
步骤403、病毒样本调用GetThreadContextAPI获取所执行线程的执行上下文,该上下文内容中包括了所设置的修改了调试器信息;
步骤404、计算机的真实操作系统检测到病毒样本调用GetThreadContextAPI;
步骤405、计算机的真实操作系统更改调试代码,将该调试代码指示不在调试模式下,将指示不在调试模式下的调试代码包括在病毒样本所在线程的上下文内容中反馈给病毒样本。
本发明实施例在计算机的真实操作系统检测到病毒样本调用虚拟机的时间戳时,将虚拟机的时间戳修改为反映计算机的真实操作系统的时间戳后,反馈给病毒样本的具体说明,也就是方式二的具体说明:
由于现有技术中,在病毒样本执行时,在虚拟机环境中执行的时间戳会比在计算机的真实操作系统中的时间戳增长更快,所以病毒样本就可以通过在所设置的两次较短时间内的时间戳差值,与所设置的经验值比较,就可以确定自身是否在虚拟机环境中运行。
计算机的真实操作系统设置CPU的CR4控制寄存器上的TSD位,这样,病毒样本在执行读时间戳(RDTSC)指令时就可以检测到异常,将修改后的时间戳反馈给病毒样本。具体地,当接收到病毒样本第一次发送RETSC指令时,就反馈计算机的真实操作系统的时间戳,在第二次接收到病毒样本发送RETSC指令时,返回当前虚拟机环境的时间戳和上次计算机的真实操作系统的时间戳之间的差值,这样,在所设置的两次较短时间内的时间戳差值,与所设置的经验值比较,就不会大于,从而使得病毒样本确认是在计算机的真实操作系统中运行。
图5为本发明实施例提供的在计算机的真实操作系统检测到病毒样本调用虚拟机的时间戳时,将虚拟机的时间戳修改为反映计算机的真实操作系统的时间戳后,反馈给病毒样本的方法流程图,其具体步骤为:
步骤501、计算机的真实操作系统设置CPU的CR4控制寄存器上的TSD位;
步骤502、病毒样本发送RDTSC指令;
在该步骤中,当病毒样本发送RDTSC指令时,就会影响CPU的CR4控制寄存器上的TSD位;
步骤503、被计算机的真实操作系统检测得到CPU的CR4控制寄存器上的TSD位异常;
步骤504、计算机的真实操作系统确定该RDTSC指令是否为第一次,如果是,执行步骤505;如果否,执行步骤506;
步骤505、计算机的真实操作系统将真实的时间戳反馈给病毒样本;
在该步骤中,也就是在CPU的EAX和EDX寄存器中填充真实的时间戳;
步骤506、计算机的真实操作系统读取上次反馈的时间戳;
步骤507、计算机的真实操作系统获取到当前虚拟的时间戳;
步骤508、计算机的真实操作系统将步骤507和步骤506所得到的时间戳差值,反馈给病毒样本;
在该步骤中,也就是将当前虚拟的时间戳增长值填充在CPU的EAX和EDX寄存器中,由病毒样本获取到。
在现有技术中,在病毒样本执行时,在虚拟机环境中的时间通常比计算机的真实操作系统慢,且在比较忙时,会出现抖动现象,也就是时间不连续。当病毒样本要调用时,就将计算机的真实操作系统的时间统一放慢设定倍数的方式,对时间修改后,反馈给病毒样本。
本发明实施例的计算机的真实操作系统接收病毒样本发送的所在环境所存储的寄存器地址信息的请求时,修改病毒样本所在环境所存储的寄存器地址信息,反映计算机的真实操作系统的地址反馈给病毒样本的具体说明,也就是对方式三进行具体说明:
在现有技术中,病毒样本在虚拟机环境执行时,所在环境所存储的寄存器地址信息,也就是中断描述符表(GDTR)的地址都采用地址空间的高位附近,比如32位计算机的0xFF000000附近,所以当计算机的真实操作系统接收病毒样本发送的所在环境所存储的寄存器地址信息的请求时,就修改病毒样本所在环境所存储的寄存器地址信息,将反映计算机的真实操作系统的地址反馈给病毒样本。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种防止病毒样本自检的方法,其特征在于,该方法包括:
计算机的真实操作系统将病毒样本在虚拟机环境的运行信息修改为病毒样本在真实操作系统的运行信息;
计算机的真实操作系统接收在虚拟机环境中运行的病毒样本的自检指示请求,反馈病毒样本在真实操作系统的运行信息;
病毒样本自检后确认在计算机的真实操作系统。
2.如权利要求1所述的方法,其特征在于,所述修改为病毒样本在真实操作系统的运行信息为:
将计算机的真实操作系统的调试代码修改为指示不在调试模式下,将指示不在调试模式下的调试代码作为病毒样本在真实操作系统的运行信息;
所述自检指示请求为计算机的真实操作系统调试代码的调试指示;
所述反馈病毒样本在真实操作系统的运行信息为指示不在调试模式下的调试代码。
3.如权利要求2所述的方法,其特征在于,所述将该调试代码修改为指示不在调试模式下为:
根据在虚拟机环境中运行的病毒样本,计算机的真实操作系统在调试器中设置软件断点,判断所设置的软件断点是否大于所设置的断点数,
如果是,在所述软件断点地址处设置硬件访问断点;
如果否,清空所述软件断点所在存储页的数据,出现缺页异常;
所述计算机的真实操作系统调试代码的调试指示是根据硬件访问断点异常确定接收的,或者根据缺页异常确定接收的。
4.如权利要求2所述的方法,其特征在于,所述将该调试代码修改为指示不在调试模式下为:
根据在虚拟机环境执行的病毒样本,计算机的真实操作系统在调试器中设置硬件断点,在硬件断点上病毒样本所在线程的上下文修改为不在调试模式下;
所述计算机的真实操作系统调试代码的调试指示是在病毒样本调用所执行线程的执行上下文时接收到的。
5.如权利要求1所述的方法,其特征在于,所述修改为病毒样本在真实操作系统的运行信息为:
将虚拟机的时间戳修改为反映计算机的真实操作系统的时间戳;
所述自检指示请求为病毒样本调用虚拟机的时间戳。
6.如权利要求5所述的方法,其特征在于,所述反映计算机的真实操作系统的时间戳为:
计算机的真实操作系统将提供时间戳的中央处理器寄存器进行置位,将时间戳修改为当前真实操作系统的时间戳,或当前虚拟机环境的时间戳和上次反馈的计算机的真实操作系统的时间戳之间的差值;
所述病毒样本调用虚拟机的时间戳时是通过计算机的真实操作系统检测到提供时间戳的中央处理器寄存器异常确定的;
当已经反馈真实操作系统的时间戳时,反馈病毒样本在真实操作系统的运行信息为反馈当前虚拟机环境的时间戳和上次反馈的计算机的真实操作系统的时间戳之间的差值;否则,反馈真实操作系统的时间戳。
7.如权利要求5所述的方法,其特征在于,所述反映计算机的真实操作系统的时间戳为计算机的真实操作系统的时间放慢设定倍数后得到的时间戳。
8.如权利要求1所述的方法,其特征在于,所述修改为病毒样本在真实操作系统的运行信息为:
修改病毒样本所在环境所存储的寄存器地址信息,修改为反映计算机的真实操作系统的地址;
所述自检指示请求为病毒样本所在环境所存储的寄存器地址信息的请求。
9.一种防止病毒样本自检的装置,其特征在于,该装置包括:设置模块、收发模块及自检模块,其中,
设置模块,用于计算机的真实操作系统将病毒样本在虚拟机环境的运行信息修改为病毒样本在真实操作系统的运行信息;
收发模块,用于计算机的真实操作系统接收在虚拟机环境中运行的病毒样本的自检指示请求,反馈病毒样本在真实操作系统的运行信息;
自检模块,用于病毒样本自检后确认在计算机的真实操作系统。
10.如权利要求9所述的装置,其特征在于,所述设置模块包括第一设置子模块,用于将该调试代码修改为指示不在调试模式下,将指示不在调试模式下的调试代码作为病毒样本在真实操作系统的运行信息;
所述收发模块包括第一收发子模块,用于接收的所述自检指示请求为计算机的真实操作系统调试代码的调试指示;所述反馈病毒样本在真实操作系统的运行信息为指示不在调试模式下的调试代码。
11.如权利要求9所述的装置,其特征在于,所述设置模块包括第二设置子模块,用于将虚拟机的时间戳修改为反映计算机的真实操作系统的时间戳;
所述收发模块包括第二收发子模块,用于接收的所述自检指示请求为病毒样本调用虚拟机的时间戳。
12.如权利要求9所述的装置,其特征在于,所述设置模块包括第三设置子模块,用于修改病毒样本所在环境所存储的寄存器地址信息,修改为反映计算机的真实操作系统的地址;
所述收发模块包括第三收发子模块,用于接收的所述自检指示请求为病毒样本所在环境所存储的寄存器地址信息的请求。
CN2012102176606A 2012-06-28 2012-06-28 一种防止病毒样本自检的方法及装置 Pending CN102750484A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012102176606A CN102750484A (zh) 2012-06-28 2012-06-28 一种防止病毒样本自检的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012102176606A CN102750484A (zh) 2012-06-28 2012-06-28 一种防止病毒样本自检的方法及装置

Publications (1)

Publication Number Publication Date
CN102750484A true CN102750484A (zh) 2012-10-24

Family

ID=47030657

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012102176606A Pending CN102750484A (zh) 2012-06-28 2012-06-28 一种防止病毒样本自检的方法及装置

Country Status (1)

Country Link
CN (1) CN102750484A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020525A (zh) * 2012-12-20 2013-04-03 北京奇虎科技有限公司 虚拟机系统的反检测方法和装置
CN103049696A (zh) * 2012-11-21 2013-04-17 北京神州绿盟信息安全科技股份有限公司 一种虚拟机躲避识别的方法及装置
CN103077351A (zh) * 2012-12-20 2013-05-01 北京奇虎科技有限公司 虚拟机系统的反检测系统
CN103902891A (zh) * 2012-12-24 2014-07-02 珠海市君天电子科技有限公司 一种通过Android模拟器检测病毒程序的方法及系统
CN105488414A (zh) * 2015-09-25 2016-04-13 深圳市安之天信息技术有限公司 一种防止恶意代码探测虚拟环境的方法及系统
CN107590388A (zh) * 2017-09-12 2018-01-16 南方电网科学研究院有限责任公司 恶意代码检测方法和装置
CN108171055A (zh) * 2016-12-08 2018-06-15 武汉安天信息技术有限责任公司 一种远控恶意代码行为触发方法及系统
CN110874472A (zh) * 2018-09-04 2020-03-10 中国信息安全测评中心 一种pe病毒逃逸样本的生成方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101645119A (zh) * 2008-08-07 2010-02-10 中国科学院软件研究所 一种基于虚拟硬件环境的恶意代码自动分析方法及系统
CN102034050A (zh) * 2011-01-25 2011-04-27 四川大学 基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101645119A (zh) * 2008-08-07 2010-02-10 中国科学院软件研究所 一种基于虚拟硬件环境的恶意代码自动分析方法及系统
CN102034050A (zh) * 2011-01-25 2011-04-27 四川大学 基于虚拟机和敏感Native API调用感知的恶意软件动态检测方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DANNY QUIST等: "Further Down the VM Spiral", 《DEFCON 14》, 4 August 2006 (2006-08-04) *
KALPA VISHNANI等: "Detecting & Defeating Split Personality Malware", 《SECURWARE 2011》, 21 August 2011 (2011-08-21) *
MIN GYUNG KANG等: "Emulating Emulation-Resistant Malware", 《VMSEC‘09》, 5 May 2009 (2009-05-05) *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049696A (zh) * 2012-11-21 2013-04-17 北京神州绿盟信息安全科技股份有限公司 一种虚拟机躲避识别的方法及装置
CN103020525A (zh) * 2012-12-20 2013-04-03 北京奇虎科技有限公司 虚拟机系统的反检测方法和装置
CN103077351A (zh) * 2012-12-20 2013-05-01 北京奇虎科技有限公司 虚拟机系统的反检测系统
CN103077351B (zh) * 2012-12-20 2016-06-01 北京奇虎科技有限公司 虚拟机系统的反检测系统
CN103902891A (zh) * 2012-12-24 2014-07-02 珠海市君天电子科技有限公司 一种通过Android模拟器检测病毒程序的方法及系统
CN105488414A (zh) * 2015-09-25 2016-04-13 深圳市安之天信息技术有限公司 一种防止恶意代码探测虚拟环境的方法及系统
CN108171055A (zh) * 2016-12-08 2018-06-15 武汉安天信息技术有限责任公司 一种远控恶意代码行为触发方法及系统
CN107590388A (zh) * 2017-09-12 2018-01-16 南方电网科学研究院有限责任公司 恶意代码检测方法和装置
CN110874472A (zh) * 2018-09-04 2020-03-10 中国信息安全测评中心 一种pe病毒逃逸样本的生成方法和系统

Similar Documents

Publication Publication Date Title
CN102750484A (zh) 一种防止病毒样本自检的方法及装置
CN108345535B (zh) mock测试方法、装置及设备
CN102422261B (zh) 对所引起的异常的通知
US8370816B2 (en) Device, method and computer program product for evaluating a debugger script
CN101739333B (zh) 应用程序的调试方法、调试工具及调试装置
CN105528284B (zh) 一种内核故障注入方法及电子设备
KR101438990B1 (ko) 시스템 테스트 방법
US9104804B2 (en) Method and system for invoking just-in-time debugger
US20130159977A1 (en) Open kernel trace aggregation
US9367427B2 (en) Embedding and executing trace functions in code to gather trace data
US8843899B2 (en) Implementing a step-type operation during debugging of code using internal breakpoints
US8768682B2 (en) ISA bridging including support for call to overidding virtual functions
US9489182B1 (en) Transparent process interception
CN106155883A (zh) 一种虚拟机可靠性测试方法及装置
CN103559431A (zh) 安卓系统用户权限的检测方法、装置和系统
Erb et al. Dynamic buffer overflow detection for GPGPUs
KR20150130298A (ko) 컨트랙트에 대한 운영 체제 지원 기법
WO2011089478A1 (en) Debugger system, method and computer program product for debugging instructions
CN102446253B (zh) 一种网页木马检测方法及系统
CN105095763A (zh) 漏洞防御方法及装置、电子设备
US20200387439A1 (en) Intercepting and recording calls to a module in real-time
Chang et al. Implementation of JVM tool interface on Dalvik virtual machine
US9442826B2 (en) Kernel functionality checker
US9841960B2 (en) Dynamic provision of debuggable program code
KR20130020135A (ko) 통합 개발 환경에서의 코드 동시 개발자 리스트 제공 시스템 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20121024