CN113672918A - 恶意代码检测方法、装置、存储介质及电子设备 - Google Patents
恶意代码检测方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113672918A CN113672918A CN202110893571.2A CN202110893571A CN113672918A CN 113672918 A CN113672918 A CN 113672918A CN 202110893571 A CN202110893571 A CN 202110893571A CN 113672918 A CN113672918 A CN 113672918A
- Authority
- CN
- China
- Prior art keywords
- target program
- program
- execution
- behavior
- sandbox
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明一个或多个实施例公开了一种恶意代码检测方法、装置、存储介质及电子设备,其中,恶意代码检测方法包括:在沙箱中执行目标程序;对所述目标程序在执行过程中的行为进行监控;响应于监控到所述目标程序执行访问环境信息的行为,挂起所述目标程序创建的进程;在用户本地获取所述环境信息,并将获取到的所述环境信息上传至所述沙箱;恢复执行挂起的所述进程;根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码,本发明实施例能够有效检测出恶意代码。
Description
技术领域
本发明涉及反恶意代码技术领域,尤其涉及一种恶意代码检测方法、装置、存储介质及电子设备。
背景技术
沙箱是一个虚拟***程序,允许在沙盘环境中运行浏览器或其他程序,因此运行所产生的变化随后可以被删除。它创造了一个类似沙盒的独立作业环境,在其内部运行的程序并不能对硬盘产生永久性的影响。在网络安全中,沙箱指在隔离环境中,用以测试不受信任的文件或应用程序等行为的工具。
由于恶意代码(例如病毒代码)编写者知晓病毒分析师会使用虚拟机沙箱来对病毒进行分析,所以其编写的病毒代码通常具有检测虚拟机的功能,如通过判断注册表、判断文件夹或判断文件等方式来检测虚拟机。因为病毒代码一旦进了病毒分析师的虚拟机,就失去了攻击作用,故,病毒代码通常会被编写为在检测到虚拟机之后,立刻停止所有的感染和发作行为,然后退出。这就导致病毒代码无法在虚拟机沙箱中完成执行。
通常,在利用虚拟机沙箱对病毒进行分析时,用户上传程序代码至沙箱,使程序在沙箱中模拟运行,沙箱监控运行情况,反馈程序运行情况信息。但这样仅能监控到程序在沙箱中的运行情况。并不能获得程序在用户设备上的真实运行情况,而某些程序有可能需要用户设备上的环境才能触发恶意行为,这就导致无法对程序的实际运行状况进行检测。
发明内容
有鉴于此,本发明实施例提供一种恶意代码检测方法、装置、存储介质及电子设备,能够有效检测出恶意代码。
本发明一个或多个实施例提供了一种恶意代码检测方法,包括:在沙箱中执行目标程序;对所述目标程序在执行过程中的行为进行监控;响应于监控到所述目标程序执行访问环境信息的行为,挂起所述目标程序创建的进程;在用户本地获取所述环境信息,并将获取到的所述环境信息上传至所述沙箱;恢复执行挂起的所述进程;根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。
可选的,所述环境信息至少包括以下一种信息:注册表信息、文件信息以及环境变量。
可选的,响应于监控到所述目标程序执行访问环境信息的行为,挂起所述目标程序创建的进程,包括:响应于监控到所述目标程序执行访问环境信息的行为,挂起所述目标程序创建的所有进程以及各进程下的线程。
可选的,所述方法还包括:在沙箱中执行目标程序之后,记录所述目标程序的开始执行的时间;响应于根据所述开始执行的时间确定所述目标程序执行的时长超过预设时长,停止执行所述目标程序,并发出告警提示消息。
可选的,所述方法还包括:在挂起所述目标程序之后,若未在用户本地获取到所述环境信息,恢复执行挂起的所述进程。
可选的,所述方法还包括:在沙箱中执行目标程序之前,获取上传至所述沙箱的所述目标程序的可执行程序代码;发出提示消息,其中,所述提示消息用于提示是否以当前模式执行所述目标程序、所述当前模式对应的时间消耗以及资源消耗情况。
可选的,根据所述目标程序执行过程中的行为,判断所述目标程序是否是恶意程序,包括:在所述目标程序执行结束或停止执行之后,根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。
本发明一个或多个实施例提供了一种恶意代码检测装置,包括:执行模块,被配置为在沙箱中执行目标程序;监控模块,被配置为对所述目标程序在执行过程中的行为进行监控;挂起模块,被配置为响应于监控到所述目标程序执行访问环境信息的行为,挂起所述目标程序创建的进程;上传模块,被配置为在用户本地获取所述环境信息,并将获取到的所述环境信息上传至所述沙箱;恢复执行模块,被配置为恢复执行挂起的所述进程;判断模块,被配置为根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。
可选的,所述环境信息至少包括以下一种信息:注册表信息、文件信息以及环境变量。
可选的,所述挂起模块被配置为:响应于监控到所述目标程序执行访问环境信息的行为,挂起所述目标程序创建的所有进程以及各进程下的线程。
可选的,所述装置还包括:记录模块,被配置为在沙箱中执行目标程序之后,记录所述目标程序的开始执行的时间;告警模块,被配置为响应于根据所述开始执行的时间确定所述目标程序执行的时长超过预设时长,停止执行所述目标程序,并发出告警提示消息。
可选的,所述装置还包括:执行模块,被配置为在挂起所述目标程序之后,若未在用户本地获取到所述环境信息,恢复执行挂起的所述进程。
可选的,所述装置还包括:在沙箱中执行目标程序之前,获取上传至所述沙箱的所述目标程序的可执行程序代码;发出提示消息,其中,所述提示消息用于提示是否以当前模式执行所述目标程序、所述当前模式对应的时间消耗以及资源消耗情况。
可选的,所述判断模块具体被配置为:在所述目标程序执行结束或停止执行之后,根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。
本发明一个或多个实施例还提供了一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为所述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行上述任意一种恶意代码检测方法。
本发明一个或多个实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述任意一种恶意代码检测方法。
本发明一个或多个实施例的恶意代码检测方法、装置、存储介质及电子设备,在沙箱中执行目标程序时,对目标程序执行过程中的行为进行监控,在监控到目标程序执行访问环境信息的行为时,挂起目标程序的进程,从用户本地获取目标程序访问的环境信息,并将获取到的环境信息上传至沙箱,再使之前挂起的进程继续执行,在确保目标程序在沙箱中顺利执行的基础上,还可获得目标程序在用户本地实际的运行情况,从而可基于目标程序在用户本地中的实际运行情况,有效判断出目标程序的可执行程序代码是否是恶意代码。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是根据本发明一个或多个实施例示出的一种恶意代码检测方法的流程图;
图2是根据本发明一个或多个实施例示出的一种恶意代码检测方法的流程图;
图3是根据本发明一个或多个实施例示出的一种恶意代码检测装置的结构示意图;
图4是根据本发明一个或多个实施例示出的一种电子设备的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1是根据本发明一个或多个实施例示出的一种恶意代码检测方法的流程图,如图1所示,该方法包括:
步骤101:在沙箱中执行目标程序;
在步骤101中,可将待检测的目标程序的可执行程序代码导入沙箱,从而使得沙箱可通过该可执行程序代码来执行目标程序。
步骤102:对所述目标程序在执行过程中的行为进行监控;
其中,目标程序在执行过程中的行为可包括目标程序在执行过程中所执行的操作。在步骤102中,可监控目标程序在执行过程中所执行的所有操作,记录这些操作以及这些操作的结果,并检测出这些操作中访问环境信息的操作。
步骤103:响应于监控到所述目标程序执行访问环境信息的行为,挂起所述目标程序创建的进程;
在步骤103中,若监控到目标程序执行访问环境信息的行为,则挂起目标程序创建的进程,例如,可以挂起目标程序中当前访问环境信息的进程或线程,暂停执行该进程或线程。或者,目标程序创建的各进程,或进程下的线程之间可能有通信,故为了保障虚拟机信息不被目标程序获取,可挂起目标程序创建的所有进程以及进程下的线程,暂停执行该目标程序。
步骤104:在用户本地获取所述环境信息,并将获取到的所述环境信息上传至所述沙箱;
在本发明的一个或多个实施例中,恶意代码检测方法可在用户侧设备中执行,基于此,在步骤104中,可在用户侧设备中获取目标程序所访问的环境信息,将该环境信息上传至沙箱,从而可在沙箱中模拟用户场景,使得目标程序可执行需要藉由用户场景才能被触发的恶意行为,避免目标程序因缺少执行条件而出现中断的情况,以保障目标程序可顺利在沙箱中完成执行,同时,也得以检测到目标程序触发的恶意行为,实现了对恶意代码的有效识别。
步骤105:恢复执行挂起的所述进程;
在步骤105中,可使步骤103中挂起的进程由挂起状态恢复至执行状态,以使目标程序继续执行。
步骤106:根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。
在步骤106中,例如,可预先设置有恶意代码对应的恶意行为的信息,例如恶意行为的类型等信息。在获得了目标程序在沙箱中执行过程中的行为之后,可根据目标程序执行过程中的行为命中的恶意行为的个数和/或类型来确定目标程序的可执行程序代码是否是恶意代码,例如,若目标程序执行过程中的行为命中的恶意行为的个数满足预设个数和/或命中的恶意行为的类型满足预设恶意行为类型,则确定目标程序对应的可执行程序代码是恶意代码。又或者,若目标程序执行过程中的行为命中了某一预设恶意行为,也可直接确定目标程序对应的可执行程序代码是恶意代码。此外,基于程序在沙箱中执行过程中的行为分析可执行程序代码是否是恶意代码也可采用目前已有任意一种的技术实现,本发明实施例对此不作限定。
本发明一个或多个实施例的恶意代码检测方法,在沙箱中执行目标程序时,对目标程序执行过程中的行为进行监控,在监控到目标程序执行访问环境信息的行为时,挂起目标程序的进程,从用户本地获取目标程序访问的环境信息,并将获取到的环境信息上传至沙箱,再使之前挂起的进程继续执行,在确保目标程序在沙箱中顺利执行的基础上,还可获得目标程序在用户本地实际的运行情况,从而可基于目标程序在用户本地中的实际运行情况,有效判断出目标程序的可执行程序代码是否是恶意代码。
在本发明的一个或多个实施例中,所述环境信息至少可包括以下一种信息:注册表信息、文件信息以及环境变量。以注册表信息为例,目标程序运行过程中,可能会判断某注册表项的键值,若沙箱中没有匹配的键值,会导致恶意行为不会被触发,从而无法监控到目标程序运行过程中产生的恶意行为。基于此,在目标程序请求获取以上任意一种环境信息时,从用户本地获取目标程序所请求的环境信息,可确保目标程序会继续在沙箱中执行,且还可能会触发目标程序中某些需要藉由用户本地的环境信息才能被触发的恶意行为,从而可有效检测出目标程序的恶意行为,从而识别出恶意代码。
此处,环境信息以注册表信息进行示例,对本发明一个或多个实施例的恶意代码检测方法进行示例性说明。
例如,在沙箱中运行目标程序,响应于目标程序请求注册表项HKEY_CURRENT_USER\Software\JavaSoft\Prefs\jetbrains\rubymine\b9d7b2bb的键值。挂起目标程序创建的所有的进程,获取用户本地注册表项HKEY_CURRENT_USER\Software\JavaSoft\Prefs\jetbrains\rubymine\b9d7b2bb的键值为1010,并上传至沙箱(将沙箱的注册表项HKEY_CURRENT_USER\Software\JavaSoft\Prefs\jetbrains\rubymine\b9d7b2bb的键值设置为1010)。
将之前挂起的进程由挂起状态恢复至执行状态,并对目标程序执行过程中的行为继续进行监控,直至目标程序执行完毕或停止执行。
在本发明的一个或多个实施例中,响应于监控到所述目标程序执行访问环境信息的行为,挂起所述目标程序创建的进程,可包括:
挂起所述目标程序创建的所有进程以及各进程下的线程,或者,挂起访问所述环境信息的进程或线程。
在监控到目标程序执行访问环境信息的行为时,挂起目标程序创建的所有进程以及各进程下的线程,可确保不会由于进程/线程之间存在通信而导致虚拟机信息被目标程序获取,可有效对抗恶意代码的反虚拟机手段。而在监控到目标程序访问环境信息的行为时,仅挂起访问环境信息的进程或线程,可确保目标程序中其他线程或进程正常执行,提高了目标程序执行的效率。
在本发明的一个或多个实施例中,恶意代码检测方法还可包括:
在沙箱中执行目标程序之后,记录所述目标程序的开始执行的时间;响应于根据所述开始执行的时间确定所述目标程序执行的时长超过预设时长,停止执行所述目标程序,并发出告警提示消息。其中,在本发明实施例中,停止执行目标程序,可以指在沙箱中结束目标程序的执行。此外,执行时长超过预设时长可作为目标程序的可执行程序代码是否是恶意代码的一个评判标准,例如,可将执行时长超过预设时长的目标程序的可执行程序代码确定为恶意代码。在确定出目标程序执行时长超过预设时长后,在沙箱中结束目标程序的执行,可以有效避免一些无限循环执行的程序在沙箱中开始执行之后持续不断循环执行,导致过度占用***资源,在节省***资源的基础上,还可根据目标程序的运行时长判断目标程序的可执行程序代码是否是恶意代码,便于有效检测出无限循环执行的恶意代码。
在本发明的一个或多个实施例中,恶意代码检测方法还可包括:
在挂起所述目标程序创建的进程之后,若未在用户本地获取到所述环境信息,恢复执行挂起的所述进程。为了确保目标程序在沙箱中顺利执行,若并未在用户本地获取到目标程序请求获取的环境信息,可将之前挂起的进程由挂起状态恢复至执行状态,使目标程序继续执行,确保目标程序可在沙箱中顺利执行,以便继续对目标程序后续执行过程中的行为进行监控。
在本发明的一个或多个实施例中,恶意代码检测方法还可包括:
在沙箱中执行目标程序之前,获取上传至所述沙箱的所述目标程序的可执行程序代码;
发出提示消息,其中,所述提示消息用于提示是否以当前模式执行所述目标程序、所述当前模式对应的时间消耗以及资源消耗情况。其中,目标程序的可执行程序代码例如可以由用户上传至沙箱,在获取到上传至沙箱的目标程序的可执行代码后,可通过发出提示消息的形式询问用户是否选择以当前模式执行目标程序,其中,以当前模式执行目标程序可指以本发明一个或多个实施例所述的任意一种恶意代码检测方法执行目标程序。由于在程序执行过程中,需从用户本地获取环境信息并上传至沙箱,会产生一定时间损耗,也会耗费一定的***资源,故,在用户选择以当前模式执行目标程序之前,可在提示消息中显示出以当前模式执行目标程序需产生额外的时间消耗以及资源消耗的内容,可使得用户在知情的情况下,选择更适合实际应用场景的模式在沙箱中运行应用程序,为用户提供了更多的选择。若用户选择以当前模式执行目标程序,则通过本发明任意实施例所述的恶意代码检测方法执行目标程序,若用户选择不以当前模式执行目标程序,则直接以传统方式在沙箱中执行目标程序。
在本发明的一个或多个实施例中,根据所述目标程序执行过程中的行为,判断所述目标程序是否是恶意程序,包括:
在所述目标程序执行结束或停止执行之后,根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。例如,在目标程序开始执行至顺利执行结束后,可获取目标程序在沙箱中执行过程中的行为信息,根据该行为信息分析目标程序的可执行程序代码是否是恶意代码。或者,目标程序在沙箱执行的过程中,由于某些原因,例如由于目标程序执行时长超过预设时长导致被强制停止执行后,可根据该目标程序停止执行之前的行为确定该目标程序的可执行程序代码是否是恶意代码。本发明实施例可在最大程度的获得了目标程序在沙箱中执行过程中的行为信息的基础上,为可执行代码的分析提供了更多的数据基础,确保分析结果的准确性。
为了便于对本发明一个或多个实施例的恶意代码检测方法的理解,以下结合图2,以一个实施例对本发明一个或多个实施例的恶意代码检测方法进行示例性说明,如图2所示,该方法包括:
步骤201:在用户上传程序代码后,询问用户是否使用本***对程序代码进程动态分析,并提示用户该***需要的时间以及资源,优势以及劣势等;例如,提示用户使用本***对程序代码进程动态分析所需的大概时长,以及提示用户即将对***资源进行占用等。
步骤202:在沙箱中运行程序,监控程序的执行情况;
步骤203:对于访问环境信息的行为,挂起该程序;其中,挂起该程序可如上文所述挂起该程序创建的所有进程以及进程下的线程,或仅挂起该程序中当前访问环境信息的进程或线程,此处不再赘述。
步骤204:访问用户本地获取环境信息,根据获取到的环境信息在沙箱中模拟用户场景。
步骤205:恢复执行挂起的程序。
图3是根据本发明一个或多个实施例示出的一种恶意代码检测装置的结构示意图,如图3所示,该装置30包括:
执行模块31,被配置为在沙箱中执行目标程序;
监控模块32,被配置为对所述目标程序在执行过程中的行为进行监控;
挂起模块33,被配置为响应于监控到所述目标程序执行访问环境信息的行为,挂起所述目标程序创建的进程;
上传模块34,被配置为在用户本地获取所述环境信息,并将获取到的所述环境信息上传至所述沙箱;
恢复执行模块35,被配置为恢复执行挂起的所述进程;
判断模块36,被配置为根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。
在本发明的一个或多个实施例中,所述环境信息至少可包括以下一种信息:
注册表信息、文件信息以及环境变量。
在本发明的一个或多个实施例中,所述挂起模块具体可被配置为:
响应于监控到所述目标程序执行访问环境信息的行为,挂起所述目标程序创建的所有进程以及各进程下的线程。
在本发明的一个或多个实施例中,恶意代码检测装置还可包括:
记录模块,被配置为在沙箱中执行目标程序之后,记录所述目标程序的开始执行的时间;
告警模块,被配置为响应于根据所述开始执行的时间确定所述目标程序执行的时长超过预设时长,停止执行所述目标程序,并发出告警提示消息。
在本发明的一个或多个实施例中,恶意代码检测装置还可包括:
执行模块,被配置为在挂起所述目标程序之后,若未在用户本地获取到所述环境信息,恢复执行挂起的所述进程。
在本发明的一个或多个实施例中,恶意代码检测装置还可包括:
在沙箱中执行目标程序之前,获取上传至所述沙箱的所述目标程序的可执行程序代码;
发出提示消息,其中,所述提示消息用于提示是否以当前模式执行所述目标程序、所述当前模式对应的时间消耗以及资源消耗情况。
在本发明的一个或多个实施例中,所述判断模块具体可被配置为:
在所述目标程序执行结束或停止执行之后,根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。
本发明一个或多个实施例还提供了一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为所述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行上述任意一种恶意代码检测方法。
本发明一个或多个实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述任意一种恶意代码检测方法。
相应的,如图4所示,本发明的实施例提供的电子设备,可以包括:壳体41、处理器42、存储器43、电路板44和电源电路45,其中,电路板44安置在壳体41围成的空间内部,处理器42和存储器43设置在电路板44上;电源电路45,用于为所述电子设备的各个电路或器件供电;存储器43用于存储可执行程序代码;处理器42通过读取存储器43中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述实施例提供的任一种恶意代码检测方法。
本发明一个或多个实施例提供的恶意代码检测方法、装置、存储介质及电子设备,通过监控在沙箱中执行的目标程序的行为,在目标程序访问环境信息时,挂起目标程序创建的进程,从用户本地获取目标程序访问的环境信息传递给沙箱后,再继续执行目标程序,可保证样本在沙箱中顺利执行。此外,在目标程序访问的环境信息至少包括注册表信息、文件信息以及环境变量中至少一种信息的基础上,将目标程序请求的环境信息传递给沙箱,可能会触发目标程序中某些需要藉由用户本地的环境信息才能被触发的恶意行为,从而可有效检测出目标程序的恶意行为。在监控到目标程序执行访问环境信息的行为时,挂起目标程序创建的所有进程以及各进程下的线程,可确保不会由于进程/线程之间存在通信而导致虚拟机信息被目标程序获取,可有效对抗恶意代码的反虚拟机手段。而在监控到目标程序访问环境信息的行为时,仅挂起访问环境信息的进程或线程,可确保目标程序中其他线程或进程正常执行,提高了目标程序执行的效率。在目标程序执行时长超过预设时长后,在沙箱中结束目标程序的执行,可在节省***资源的基础上,根据目标程序的运行时长判断目标程序的可执行程序代码是否是恶意代码,便于有效检测出无限循环执行的恶意代码。在未在用户本地获取到目标程序请求获取的环境信息时,将之前挂起的进程由挂起状态恢复至执行状态,可确保目标程序在沙箱中顺利执行,以便继续对目标程序后续执行过程中的行为进行监控。在用户选择以当前模式执行目标程序之前,在提示消息中显示出以当前模式执行目标程序需产生额外的时间消耗以及资源消耗的内容,可使得用户在知情的情况下,选择更适合实际应用场景的模式在沙箱中运行应用程序,为用户提供了更多的选择。在目标程序执行结束或停止执行之后,根据目标程序执行过程中的行为,判断目标程序的可执行程序代码是否是恶意代码,在最大程度的获得了目标程序在沙箱中执行过程中的行为信息的基础上,为可执行代码的分析提供了更多的数据基础,确保分析结果的准确性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (16)
1.一种恶意代码检测方法,其特征在于,包括:
在沙箱中执行目标程序;
对所述目标程序在执行过程中的行为进行监控;
响应于监控到所述目标程序执行访问环境信息的行为,挂起所述目标程序创建的进程;
在用户本地获取所述环境信息,并将获取到的所述环境信息上传至所述沙箱;
恢复执行挂起的所述进程;
根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。
2.根据权利要求1所述的方法,其特征在于,所述环境信息至少包括以下一种信息:
注册表信息、文件信息以及环境变量。
3.根据权利要求1所述的方法,其特征在于,响应于监控到所述目标程序执行访问环境信息的行为,挂起所述目标程序创建的进程,包括:
响应于监控到所述目标程序执行访问环境信息的行为,挂起所述目标程序创建的所有进程以及各进程下的线程。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在沙箱中执行目标程序之后,记录所述目标程序的开始执行的时间;
响应于根据所述开始执行的时间确定所述目标程序执行的时长超过预设时长,停止执行所述目标程序,并发出告警提示消息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在挂起所述目标程序之后,若未在用户本地获取到所述环境信息,恢复执行挂起的所述进程。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在沙箱中执行目标程序之前,获取上传至所述沙箱的所述目标程序的可执行程序代码;
发出提示消息,其中,所述提示消息用于提示是否以当前模式执行所述目标程序、所述当前模式对应的时间消耗以及资源消耗情况。
7.根据权利要求1至6任一项所述的方法,其特征在于,根据所述目标程序执行过程中的行为,判断所述目标程序是否是恶意程序,包括:
在所述目标程序执行结束或停止执行之后,根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。
8.一种恶意代码检测装置,其特征在于,包括:
执行模块,被配置为在沙箱中执行目标程序;
监控模块,被配置为对所述目标程序在执行过程中的行为进行监控;
挂起模块,被配置为响应于监控到所述目标程序执行访问环境信息的行为,挂起所述目标程序创建的进程;
上传模块,被配置为在用户本地获取所述环境信息,并将获取到的所述环境信息上传至所述沙箱;
恢复执行模块,被配置为恢复执行挂起的所述进程;
判断模块,被配置为根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。
9.根据权利要求8所述的装置,其特征在于,所述环境信息至少包括以下一种信息:
注册表信息、文件信息以及环境变量。
10.根据权利要求8所述的装置,其特征在于,所述挂起模块被配置为:
响应于监控到所述目标程序执行访问环境信息的行为,挂起所述目标程序创建的所有进程以及各进程下的线程。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括:
记录模块,被配置为在沙箱中执行目标程序之后,记录所述目标程序的开始执行的时间;
告警模块,被配置为响应于根据所述开始执行的时间确定所述目标程序执行的时长超过预设时长,停止执行所述目标程序,并发出告警提示消息。
12.根据权利要求9所述的装置,其特征在于,所述装置还包括:
执行模块,被配置为在挂起所述目标程序之后,若未在用户本地获取到所述环境信息,恢复执行挂起的所述进程。
13.根据权利要求9所述的装置,其特征在于,所述装置还包括:
在沙箱中执行目标程序之前,获取上传至所述沙箱的所述目标程序的可执行程序代码;
发出提示消息,其中,所述提示消息用于提示是否以当前模式执行所述目标程序、所述当前模式对应的时间消耗以及资源消耗情况。
14.根据权利要求8至13任一项所述的装置,其特征在于,所述判断模块具体被配置为:
在所述目标程序执行结束或停止执行之后,根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。
15.一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为所述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行上述权利要求1至7中任一项所述的恶意代码检测方法。
16.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1至7中任一项所述的恶意代码检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110893571.2A CN113672918A (zh) | 2021-08-04 | 2021-08-04 | 恶意代码检测方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110893571.2A CN113672918A (zh) | 2021-08-04 | 2021-08-04 | 恶意代码检测方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113672918A true CN113672918A (zh) | 2021-11-19 |
Family
ID=78541413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110893571.2A Pending CN113672918A (zh) | 2021-08-04 | 2021-08-04 | 恶意代码检测方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113672918A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116861429A (zh) * | 2023-09-04 | 2023-10-10 | 北京安天网络安全技术有限公司 | 一种基于样本行为的恶意检测方法、装置、设备及介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154258A (zh) * | 2007-08-14 | 2008-04-02 | 电子科技大学 | 恶意程序动态行为自动化分析***与方法 |
CN101645119A (zh) * | 2008-08-07 | 2010-02-10 | 中国科学院软件研究所 | 一种基于虚拟硬件环境的恶意代码自动分析方法及*** |
CN102254120A (zh) * | 2011-08-09 | 2011-11-23 | 成都市华为赛门铁克科技有限公司 | 恶意代码的检测方法、***及相关装置 |
CN102930210A (zh) * | 2012-10-14 | 2013-02-13 | 江苏金陵科技集团公司 | 恶意程序行为自动化分析、检测与分类***及方法 |
CN104766011A (zh) * | 2015-03-26 | 2015-07-08 | 国家电网公司 | 基于主机特征的沙箱检测告警方法和*** |
US20150248554A1 (en) * | 2014-03-03 | 2015-09-03 | Bitdefender IPR Management Ltd. | Systems And Methods For Executing Arbitrary Applications In Secure Environments |
CN107609396A (zh) * | 2017-09-22 | 2018-01-19 | 杭州安恒信息技术有限公司 | 一种基于沙箱虚拟机的逃逸检测方法 |
CN107679399A (zh) * | 2017-10-19 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种基于容器的恶意代码检测沙盒***及检测方法 |
CN108133139A (zh) * | 2017-11-28 | 2018-06-08 | 西安交通大学 | 一种基于多运行环境行为比对的安卓恶意应用检测*** |
CN112528284A (zh) * | 2020-12-18 | 2021-03-19 | 北京明略软件***有限公司 | 恶意程序的检测方法及装置、存储介质、电子设备 |
CN112632529A (zh) * | 2020-12-23 | 2021-04-09 | 北京鸿腾智能科技有限公司 | 漏洞识别方法、设备、存储介质及装置 |
-
2021
- 2021-08-04 CN CN202110893571.2A patent/CN113672918A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154258A (zh) * | 2007-08-14 | 2008-04-02 | 电子科技大学 | 恶意程序动态行为自动化分析***与方法 |
CN101645119A (zh) * | 2008-08-07 | 2010-02-10 | 中国科学院软件研究所 | 一种基于虚拟硬件环境的恶意代码自动分析方法及*** |
CN102254120A (zh) * | 2011-08-09 | 2011-11-23 | 成都市华为赛门铁克科技有限公司 | 恶意代码的检测方法、***及相关装置 |
CN102930210A (zh) * | 2012-10-14 | 2013-02-13 | 江苏金陵科技集团公司 | 恶意程序行为自动化分析、检测与分类***及方法 |
US20150248554A1 (en) * | 2014-03-03 | 2015-09-03 | Bitdefender IPR Management Ltd. | Systems And Methods For Executing Arbitrary Applications In Secure Environments |
CN104766011A (zh) * | 2015-03-26 | 2015-07-08 | 国家电网公司 | 基于主机特征的沙箱检测告警方法和*** |
CN107609396A (zh) * | 2017-09-22 | 2018-01-19 | 杭州安恒信息技术有限公司 | 一种基于沙箱虚拟机的逃逸检测方法 |
CN107679399A (zh) * | 2017-10-19 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种基于容器的恶意代码检测沙盒***及检测方法 |
CN108133139A (zh) * | 2017-11-28 | 2018-06-08 | 西安交通大学 | 一种基于多运行环境行为比对的安卓恶意应用检测*** |
CN112528284A (zh) * | 2020-12-18 | 2021-03-19 | 北京明略软件***有限公司 | 恶意程序的检测方法及装置、存储介质、电子设备 |
CN112632529A (zh) * | 2020-12-23 | 2021-04-09 | 北京鸿腾智能科技有限公司 | 漏洞识别方法、设备、存储介质及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116861429A (zh) * | 2023-09-04 | 2023-10-10 | 北京安天网络安全技术有限公司 | 一种基于样本行为的恶意检测方法、装置、设备及介质 |
CN116861429B (zh) * | 2023-09-04 | 2023-12-08 | 北京安天网络安全技术有限公司 | 一种基于样本行为的恶意检测方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10701091B1 (en) | System and method for verifying a cyberthreat | |
CN109743315B (zh) | 针对网站的行为识别方法、装置、设备及可读存储介质 | |
CN102663288B (zh) | 病毒查杀方法及装置 | |
US9531734B2 (en) | Method and apparatus for intercepting or cleaning-up plugins | |
KR101043299B1 (ko) | 악성 코드 탐지 방법, 시스템 및 컴퓨터 판독 가능한 저장매체 | |
JP2014038596A (ja) | 悪意ある実行ファイルの識別方法 | |
US11055416B2 (en) | Detecting vulnerabilities in applications during execution | |
US10372908B2 (en) | System and method for detecting malware in a stream of bytes | |
CN109255240B (zh) | 一种漏洞处理方法和装置 | |
CN111813646B (zh) | docker容器环境下注入应用探针的方法和装置 | |
CN110708278B (zh) | 检测http响应头的方法、***、装置及可读存储介质 | |
CN113508381A (zh) | 用于嵌入式软件应用的基于机器学习的异常检测 | |
CN108090352B (zh) | 检测***及检测方法 | |
CN113672918A (zh) | 恶意代码检测方法、装置、存储介质及电子设备 | |
CN110806980A (zh) | 一种检测方法、装置、设备及存储介质 | |
KR101781780B1 (ko) | 다중 서버, 다중 브라우저 기반의 고속 악성 웹 사이트 탐지 시스템 및 방법 | |
CN113672917A (zh) | 恶意代码检测方法、装置、存储介质及电子设备 | |
CN107656849B (zh) | 一种软件***性能问题定位方法以及装置 | |
CN110955894A (zh) | 一种恶意内容检测方法、装置、电子设备及可读存储介质 | |
CN115688092A (zh) | 终端弱管控方法、装置、电子设备及存储介质 | |
CN111176946B (zh) | Sel日志记录方法、装置、设备及存储介质 | |
CN109561121B (zh) | 监控部署的方法及装置 | |
CN111385281A (zh) | 一种基于资源负载均衡的自动化漏洞挖掘***及方法 | |
CN116775147B (zh) | 一种可执行文件处理方法、装置、设备及存储介质 | |
CN116186699B (zh) | Php文件访问检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |