CN113672917A - 恶意代码检测方法、装置、存储介质及电子设备 - Google Patents
恶意代码检测方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113672917A CN113672917A CN202110892582.9A CN202110892582A CN113672917A CN 113672917 A CN113672917 A CN 113672917A CN 202110892582 A CN202110892582 A CN 202110892582A CN 113672917 A CN113672917 A CN 113672917A
- Authority
- CN
- China
- Prior art keywords
- target program
- sandbox
- user
- system image
- program
- 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)
- User Interface Of Digital Computer (AREA)
Abstract
本发明一个或多个实施例公开一种恶意代码检测方法、装置、存储介质及电子设备。其中,恶意代码检测方法,包括:以沙箱中的系统镜像模拟用户场景执行所述目标程序,其中,所述系统镜像基于用户本地的环境信息创建;对所述目标程序在执行过程中的行为进行监控;根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码,本发明实施例能够有效检测出恶意代码。
Description
技术领域
本发明涉及反恶意代码技术领域,尤其涉及一种恶意代码检测方法、装置、存储介质及电子设备。
背景技术
沙箱是一个虚拟系统程序,允许在沙盘环境中运行浏览器或其他程序,因此运行所产生的变化随后可以被删除。它创造了一个类似沙盒的独立作业环境,在其内部运行的程序并不能对硬盘产生永久性的影响。在网络安全中,沙箱指在隔离环境中,用以测试不受信任的文件或应用程序等行为的工具。
由于恶意代码(例如病毒代码)编写者知晓病毒分析师会使用虚拟机沙箱来对病毒进行分析,所以其编写的病毒代码通常具有检测虚拟机的功能,如通过判断注册表、判断文件夹或判断文件等方式来检测虚拟机。因为病毒代码一旦进了病毒分析师的虚拟机,就失去了攻击作用,故,病毒代码通常会被编写为在检测到虚拟机之后,立刻停止所有的感染和发作行为,然后退出。这就导致病毒代码无法在虚拟机沙箱中完成执行。
通常,在利用虚拟机沙箱对病毒进行分析时,用户上传程序代码至沙箱,使程序在沙箱中模拟运行,沙箱监控运行情况,反馈程序运行情况信息。但这样仅能监控到程序在沙箱中的运行情况。并不能获得程序在用户设备上的真实运行情况,而某些程序有可能需要用户设备上的环境才能触发恶意行为,这就导致无法对程序的实际运行状况进行检测。
发明内容
有鉴于此,本发明一个或多个实施例提供一种恶意代码检测方法、装置、存储介质及电子设备,能够有效检测出恶意代码。
本发明一个或多个实施例提供了一种恶意代码检测方法,包括:以沙箱中的系统镜像模拟用户场景执行所述目标程序,其中,所述系统镜像基于用户本地的环境信息创建;对所述目标程序在执行过程中的行为进行监控;根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。
可选的,以沙箱中的系统镜像模拟用户场景执行所述目标程序,包括:根据所述系统镜像创建用户场景快照;在所述用户场景快照中执行所述目标程序。
可选的,所述环境信息包括:注册表信息、文件信息以及环境变量。
可选的,所述方法还包括:在以沙箱中的系统镜像模拟用户场景执行所述目标程序之前,从所述用户本地获取预先基于所述环境信息创建完成的系统镜像并上传至所述沙箱。
可选的,所述方法还包括:在以沙箱中的系统镜像模拟用户场景执行所述目标程序之前,获取用户本地的环境信息;根据所述环境信息创建系统镜像;将所述系统镜像上传至沙箱。
可选的,所述方法还包括:根据所述沙箱中的历史系统镜像的创建时间,确定所述历史系统镜像中创建时间最晚的目标系统镜像,删除创建时间早于所述目标系统镜像的其他历史系统镜像。
可选的,所述方法还包括:在以沙箱中的系统镜像模拟用户场景执行所述目标程序之前,获取上传至所述沙箱的所述目标程序的可执行程序代码;发出第一提示消息,其中,所述第一提示消息用于提示是否以当前模式执行所述目标程序、所述当前模式对应的时间消耗以及资源消耗情况。
可选的,所述方法还包括:在发出所述第一提示消息之后,响应于获取到确定以当前模式执行所述目标程序的指令,发出第二提示消息,其中,所述第二提示消息用于提示用户选择使用历史系统镜像或创建新的系统镜像作为模拟用户场景。
可选的,根据所述目标程序执行过程中的行为,判断所述目标程序是否是恶意程序,包括:在所述目标程序执行结束或停止执行之后,根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。
本发明一个或多个实施例还提供了一种恶意代码检测装置,包括:执行模块,被配置为以沙箱中的系统镜像模拟用户场景执行所述目标程序,其中,所述系统镜像基于用户本地的环境信息创建;监控模块,被配置为对所述目标程序在执行过程中的行为进行监控;判断模块,被配置为根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。
可选的,所述执行模块具体被配置为:根据所述系统镜像创建用户场景快照;在所述用户场景快照中执行所述目标程序。
可选的,所述环境信息包括:注册表信息、文件信息以及环境变量。
可选的,所述装置还包括:第一获取模块,被配置为在以沙箱中的系统镜像模拟用户场景执行所述目标程序之前,从所述用户本地获取预先基于所述环境信息创建完成的系统镜像并上传至所述沙箱。
可选的,所述装置还包括:第二获取模块,被配置为在以沙箱中的系统镜像模拟用户场景执行所述目标程序之前,获取用户本地的环境信息;创建模块,被配置为根据所述环境信息创建系统镜像;上传模块,被配置为将所述系统镜像上传至沙箱。
可选的,所述装置还包括:删除模块,被配置为根据所述沙箱中的历史系统镜像的创建时间,确定所述历史系统镜像中创建时间最晚的目标系统镜像,删除创建时间早于所述目标系统镜像的其他历史系统镜像。
可选的,所述装置还包括:第三获取模块,被配置为在以沙箱中的系统镜像模拟用户场景执行所述目标程序之前,获取上传至所述沙箱的所述目标程序的可执行程序代码;第一提示模块,被配置为发出第一提示消息,其中,所述第一提示消息用于提示是否以当前模式执行所述目标程序、所述当前模式对应的时间消耗以及资源消耗情况。
可选的,所述装置还包括:第二提示模块,被配置为在发出所述第一提示消息之后,响应于获取到确定以当前模式执行所述目标程序的指令,发出第二提示消息,其中,所述第二提示消息用于提示用户选择使用历史系统镜像或创建新的系统镜像模拟用户场景。
可选的,所述判断模块具体被配置为:在所述目标程序执行结束或停止执行之后,根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。
本发明一个或多个实施例还提供了一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为所述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行上述任意一种恶意代码检测方法。
本发明一个或多个实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述任意一种恶意代码检测方法。
本发明一个或多个实施例的恶意代码检测方法、装置、存储介质及电子设备,在沙箱中执行目标程序时,以沙箱中的系统镜像模拟用户场景执行目标程序,对目标程序的执行过程进行监控,根据目标程序执行过程中的行为,确定目标程序对应的可执行程序代码是否是恶意代码,从而可在确保目标程序在沙箱中顺利执行的基础上,还可获得目标程序在用户本地实际的运行情况,从而可基于目标程序在用户本地中的实际运行情况,有效判断出目标程序的可执行程序代码是否是恶意代码。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是根据本发明一个或多个实施例示出的一种恶意代码检测方法的流程图;
图2是根据本发明一个或多个实施例示出的一种恶意代码检测方法的流程图;
图3是根据本发明一个或多个实施例示出的一种恶意代码检测装置的结构示意图;
图4是根据本发明一个或多个实施例示出的一种电子设备的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1是根据本发明一个或多个实施例提供的一种恶意代码检测方法的流程图,如图1所示,该方法包括:
步骤101:以沙箱中的系统镜像模拟用户场景执行所述目标程序,其中,所述系统镜像基于用户本地的环境信息创建;
在步骤101之前,可将待检测的目标程序的可执行程序代码导入沙箱,从而使得沙箱可通过该可执行程序代码来执行目标程序。
其中,系统镜像例如可以是在步骤101之前,预先根据用户本地的环境信息创建好的存储于用户本地的系统镜像,可在执行步骤101时,从用户本地获取该系统镜像到沙箱。或者,在执行步骤101时,从用户本地获取环境信息生成系统镜像,在沙箱中执行目标程序时,以该系统镜像模拟用户场景。
步骤102:对所述目标程序在执行过程中的行为进行监控;
其中,目标程序在执行过程中的行为可包括目标程序在执行过程中所执行的操作。在步骤102中,可监控目标程序在执行过程中所执行的所有操作,记录这些操作以及这些操作的结果。
步骤103:根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。
在步骤103中,例如,可预先设置有恶意代码对应的恶意行为的信息,例如恶意行为的类型等信息。在获得了目标程序在沙箱中执行过程中的行为之后,可根据目标程序执行过程中的行为命中的恶意行为的个数和/或类型来确定目标程序的可执行程序代码是否是恶意代码,例如,若目标程序执行过程中的行为命中的恶意行为的个数满足预设个数和/或命中的恶意行为的类型满足预设类型,则确定目标程序对应的可执行程序代码是恶意代码。又或者,若目标程序执行过程中的行为命中了某一预设恶意行为,也可直接确定目标程序对应的可执行程序代码是恶意代码。此外,基于程序在沙箱中执行过程中的行为分析可执行程序代码是否是恶意代码也可采用目前已有任意一种的技术实现,本发明实施例对此不作限定。
本发明一个或多个实施例的恶意代码检测方法,在沙箱中执行目标程序时,根据沙箱中基于用户本地的环境信息创建的系统镜像模拟用户场景,对目标程序的执行过程进行监控,根据目标程序执行过程中的行为,确定目标程序对应的可执行程序代码是否是恶意代码,从而可在确保目标程序在沙箱中顺利执行的基础上,还可获得目标程序在用户本地实际的运行情况,从而可基于目标程序在用户本地中的实际运行情况,有效判断出目标程序的可执行程序代码是否是恶意代码。
在本发明的一个或多个实施例中,以沙箱中的系统镜像模拟用户场景执行所述目标程序,可包括:
根据所述系统镜像创建用户场景快照;
在所述用户场景快照中执行所述目标程序。例如,可根据沙箱中的系统镜像为用户(向沙箱上传目标程序的可执行程序代码的用户)创建用户场景快照,以在该用户场景快照中执行目标程序,监控目标程序执行过程中的行为,倘若目标程序在执行过程中发生错误,导致系统崩溃,则可以基于用户场景快照回退至系统未发生崩溃之前的状态,使得系统状态是可逆的。
在本发明的一个或多个实施例中,所述环境信息可包括:
注册表信息、文件信息以及环境变量。
以注册表信息为例,目标程序运行过程中,可能会判断某注册表项的键值,若沙箱中没有匹配的键值,会导致恶意行为不会被触发,从而无法监控到目标程序运行过程中会产生的恶意行为。基于此,在目标程序在沙箱中执行时,基于用户本地的注册表信息、文件信息以及环境变量等环境信息生成的系统镜像,使沙箱可以模拟用户场景来获取目标程序在用户场景下所能触发的行为,从而可有效检测出目标程序的恶意行为,从而识别出恶意代码。
在本发明的一个或多个实施例中,恶意代码检测方法还可包括:在以沙箱中的系统镜像模拟用户场景执行所述目标程序之前,从所述用户本地获取预先基于所述环境信息创建完成的系统镜像并上传至所述沙箱。可选的,可在用户向沙箱上传目标程序的可执行程序代码,且确定以当前模式执行目标程序之后,向用户本地请求获取系统镜像,可将用户本地保存的预先根据用户本地的环境信息创建完成的系统镜像上传至沙箱。基于此,可在沙箱需获取用户本地的系统镜像时,立即从用户本地获取到该系统镜像,而无需再从用户本地获取环境信息创建系统镜像,可提高目标程序的执行效率。此外,为了确保用户本地保存的系统镜像的实时性,可对用户本地保存的系统镜像进行更新,例如,可以预设时间间隔对用户本地保存的系统镜像进行更新,或者,还可以在沙箱每次向用户本地请求获取系统镜像后,对用户本地保存的系统镜像进行更新。
在本发明的一个或多个实施例中,恶意代码检测方法还可包括:
在以沙箱中的系统镜像模拟用户场景执行所述目标程序之前,获取用户本地的环境信息;根据所述环境信息创建系统镜像;将所述系统镜像上传至沙箱。例如,可在用户向沙箱上传目标程序的可执行程序代码,且确定以当前模式执行目标程序之后,向用户本地请求获取用户本地的环境信息,根据获取到的用户本地的环境信息创建系统镜像,再将创建的系统镜像上传至沙箱。在执行目标程序时,从用户本地获取用户环境信息创建系统镜像,再上传至沙箱,可使得沙箱中的系统镜像能体现系统的实时状态,以该系统镜像模拟用户场景执行目标程序,可以更加真实的体现目标程序在用户本地的实际运行情况。
在本发明的一个或多个实施例中,恶意代码检测方法还可包括:根据所述沙箱中的历史系统镜像的创建时间,确定所述历史系统镜像中创建时间最晚的目标系统镜像,删除创建时间早于所述目标系统镜像的其他历史系统镜像。利用本发明一个或多个实施例的恶意代码检测方法对可执行程序代码进行检测的过程中,可能会使得本次检测所使用的系统镜像存在于沙箱中,为了降低对存储空间的占用,可在对可执行程序代码进行检测后,即删除该系统镜像以及该对象对应的系统快照,而基于后续对其他可执行程序代码进行检测时可重复利用历史系统镜像的角度考虑,也可在沙箱中保存历史系统镜像。若将上一次对可执行程序代码进行检测所使用的系统镜像保存于沙箱中,则在后续对其他可执行程序代码进行检测时,该系统镜像即为历史系统镜像,可利用该系统镜像在后续检测的可执行代码的过程中模拟用户场景,基于此,可不必在沙箱每次对可执行代码进行检测时,均需进行系统镜像的生成,减少了对系统资源的消耗。此外,仅在沙箱中保存创建时间最晚的历史系统镜像,可提高每次对可执行程序代码进行检测时所使用的系统镜像的实时性。
在本发明的一个或多个实施例中,恶意代码检测方法还可包括:在以沙箱中的系统镜像模拟用户场景执行所述目标程序之前,获取上传至所述沙箱的所述目标程序的可执行程序代码;发出第一提示消息,其中,所述第一提示消息用于提示是否以当前模式执行所述目标程序、所述当前模式对应的时间消耗以及资源消耗情况。其中,目标程序的可执行程序代码例如可以由用户上传至沙箱,在获取到上传至沙箱的目标程序的可执行代码后,可通过发出提示消息的形式询问用户是否选择以当前模式执行目标程序,其中,以当前模式执行目标程序可指以本发明一个或多个实施例所述的任意一种恶意代码检测方法执行目标程序。由于在程序执行过程中,需从用户本地获取环境信息生成系统镜像并上传至沙箱,会产生一定时间损耗,也会耗费一定的系统资源,故,在用户选择以当前模式执行目标程序之前,可在上述第一提示消息中显示出以当前模式执行目标程序需产生额外的时间消耗以及资源消耗的内容,可使得用户在知情的情况下,选择更适合实际应用场景的模式在沙箱中运行应用程序,为用户提供了更多的选择。若用户选择以当前模式执行目标程序,则通过本发明任意实施例所述的恶意代码检测方法执行目标程序,若用户选择不以当前模式执行目标程序,则直接以传统方式在沙箱中执行目标程序。
在本发明的一个或多个实施例中,恶意代码检测方法还可包括:在发出所述第一提示消息之后,响应于获取到确定以当前模式执行所述目标程序的指令,发出第二提示消息,其中,所述第二提示消息用于提示用户选择使用历史系统镜像或创建新的系统镜像模拟用户场景。在沙箱中执行目标程序之前,可由用户选择本次执行目标程序是使用沙箱中已存储的历史系统镜像还是创建新的系统镜像模拟用户场景,从而使得用户可根据实际需求进行选择。若用户选择使用沙箱中已存储的历史系统镜像模拟用户场景,则可直接利用历史系统镜像为用户创建用户场景快照,再在创建的用户场景快照中执行目标程序。若用户选择创建新的系统镜像模拟用户场景,则从用户本地获取环境信息,利用获取到的环境信息创建新的系统镜像,再将创建的新的系统镜像上传至沙箱,沙箱可根据该新的系统镜像为用户创建用户场景快照,再在创建的该用户场景快照中执行目标程序。
在本发明的一个或多个实施例中,根据所述目标程序执行过程中的行为,判断所述目标程序是否是恶意程序,可包括:
在所述目标程序执行结束或停止执行之后,根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。
在所述目标程序执行结束或停止执行之后,根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。例如,在目标程序开始执行至顺利执行结束后,可获取目标程序在沙箱中执行过程中的行为信息,根据该行为信息分析目标程序的可执行程序代码是否是恶意代码。或者,目标程序在沙箱执行的过程中,由于某些原因,例如由于目标程序执行时长超过预设时长导致被强制停止执行后,可根据该目标程序停止执行之前的行为确定该目标程序的可执行程序代码是否是恶意代码。本发明实施例可在最大程度的获得了目标程序在沙箱中执行过程中的行为信息的基础上,为可执行代码的分析提供了更多的数据基础,确保分析结果的准确性。
为了便于对本发明一个或多个实施例的恶意代码检测方法的理解,以下结合图2,以一个实施例对本发明一个或多个实施例的恶意代码检测方法进行示例性说明,如图2所示,该方法包括:
步骤201:在用户上传程序代码后,询问用户是否使用本系统对程序代码进程动态分析,并提示用户该系统需要的时间以及资源,优势以及劣势等;例如,提示用户使用本系统对程序代码进程动态分析所需的大概时长,以及提示用户即将对系统资源进行占用等。
步骤202:获取用户本地的环境信息,创建系统镜像;
步骤203:将系统镜像上传至沙箱;
步骤204:沙箱根据系统镜像为用户创建用户场景快照;
步骤205:在用户场景快照中执行目标程序,监控目标程序的行为,获取目标程序运行的情况,根据目标程序运行的情况分析目标程序对应的可执行程序代码是否是恶意代码,并反馈分析结果。
图3是根据本发明一个或多个实施例示出的一种恶意代码检测装置的结构示意图。如图3所示,该装置30包括:
执行模块31,被配置为以沙箱中的系统镜像模拟用户场景执行所述目标程序,其中,所述系统镜像基于用户本地的环境信息创建;
监控模块32,被配置为对所述目标程序在执行过程中的行为进行监控;
判断模块33,被配置为根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。
在本发明的一个或多个实施例中,所述执行模块具体可被配置为:根据所述系统镜像创建用户场景快照;在所述用户场景快照中执行所述目标程序。
在本发明的一个或多个实施例中,所述环境信息可包括:注册表信息、文件信息以及环境变量。
在本发明的一个或多个实施例中,恶意代码检测装置还可包括:
第一获取模块,被配置为在以沙箱中的系统镜像模拟用户场景执行所述目标程序之前,从所述用户本地获取预先基于所述环境信息创建完成的系统镜像并上传至所述沙箱。
在本发明的一个或多个实施例中,恶意代码检测装置还可包括:
第二获取模块,被配置为在以沙箱中的系统镜像模拟用户场景执行所述目标程序之前,获取用户本地的环境信息;
创建模块,被配置为根据所述环境信息创建系统镜像;
上传模块,被配置为将所述系统镜像上传至沙箱。
在本发明的一个或多个实施例中,恶意代码检测装置还可包括:
删除模块,被配置为根据所述沙箱中的历史系统镜像的创建时间,确定所述历史系统镜像中创建时间最晚的目标系统镜像,删除创建时间早于所述目标系统镜像的其他历史系统镜像。
在本发明的一个或多个实施例中,恶意代码检测装置还可包括:
第三获取模块,被配置为在以沙箱中的系统镜像模拟用户场景执行所述目标程序之前,获取上传至所述沙箱的所述目标程序的可执行程序代码;
第一提示模块,被配置为发出第一提示消息,其中,所述第一提示消息用于提示是否以当前模式执行所述目标程序、所述当前模式对应的时间消耗以及资源消耗情况。
在本发明的一个或多个实施例中,恶意代码检测装置还可包括:
第二提示模块,被配置为在发出所述第一提示消息之后,响应于获取到确定以当前模式执行所述目标程序的指令,发出第二提示消息,其中,所述第二提示消息用于提示用户选择使用历史系统镜像或创建新的系统镜像模拟用户场景。
在本发明的一个或多个实施例中,所述判断模块具体可被配置为:
在所述目标程序执行结束或停止执行之后,根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。
本发明一个或多个实施例还提供了一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为所述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行上述任意一种恶意代码检测方法。
本发明一个或多个实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述任意一种所述的恶意代码检测方法。
相应的,如图4所示,本发明的实施例提供的电子设备,可以包括:壳体41、处理器42、存储器43、电路板44和电源电路45,其中,电路板44安置在壳体41围成的空间内部,处理器42和存储器43设置在电路板44上;电源电路45,用于为所述电子设备的各个电路或器件供电;存储器43用于存储可执行程序代码;处理器42通过读取存储器43中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述实施例提供的任一种恶意代码检测方法。
本发明一个或多个实施例提供的恶意代码检测方法、装置、存储介质及电子设备,在沙箱中执行目标程序时,以沙箱中的系统镜像模拟用户场景,对目标程序的执行过程进行监控,根据目标程序执行过程中的行为,确定目标程序对应的可执行程序代码是否是恶意代码,从而可在确保目标程序在沙箱中顺利执行的基础上,还可获得目标程序在用户本地实际的运行情况,从而可基于目标程序在用户本地中的实际运行情况,有效判断出目标程序的可执行程序代码是否是恶意代码。在用户选择以当前模式执行目标程序以对目标程序对应的可执行程序代码进行检测之前,通过第一提示消息显示出以当前模式执行目标程序需产生额外的时间消耗以及资源消耗的内容,可使得用户在知情的情况下,选择更适合实际应用场景的模式在沙箱中运行应用程序,为用户提供了更多的选择。而在用户确定以当前模式执行目标程序之后,还可进一步由用户选择本次执行目标程序是使用沙箱中已存储的历史系统镜像还是创建新的系统镜像模拟用户场景,从而使得用户可根据实际需求进行选择。在沙箱中执行目标程序时,还可根据系统镜像创建用户场景快照,从而在用户场景快照中执行目标程序,倘若目标程序在执行过程中发生错误,导致系统崩溃,则可以基于用户场景快照回退至未系统未发生崩溃之前的状态,使得系统状态是可逆的。在上述环境信息包括注册表信息、文件信息以及环境变量的基础上,可以使沙箱基于该环境信息模拟用户场景以获取目标程序在用户场景下所能触发的行为,从而可有效检测出目标程序的恶意行为。在用户本地预先创建了系统镜像的情况下,可在沙箱需获取用户本地的系统镜像时,无需再从用户本地获取环境信息,以及在沙箱中进行系统镜像的创建,可提高目标程序的执行效率。而在执行目标程序之前,从用户本地获取用户环境信息创建系统镜像,再上传至沙箱,则可使得沙箱中的系统镜像能体现系统的实时状态,以该系统镜像模拟用户场景执行目标程序,可以更加真实的体现目标程序在用户本地的实际运行情况。而对于沙箱中存储的历史系统镜像,仅保存创建时间最晚的历史系统镜像,可提高每次对可执行程序代码进行检测时所使用的系统镜像的实时性,同时也降低了对存储空间的占用。在目标程序执行结束或停止执行之后,根据目标程序执行过程中的行为,判断目标程序的可执行程序代码是否是恶意代码,在最大程度的获得了目标程序在沙箱中执行过程中的行为信息的基础上,为可执行代码的分析提供了更多的数据基础,确保分析结果的准确性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (20)
1.一种恶意代码检测方法,其特征在于,包括:
以沙箱中的系统镜像模拟用户场景执行目标程序,其中,所述系统镜像基于用户本地的环境信息创建;
对所述目标程序在执行过程中的行为进行监控;
根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。
2.根据权利要求1所述的方法,其特征在于,以沙箱中的系统镜像模拟用户场景执行目标程序,包括:
根据所述系统镜像创建用户场景快照;
在所述用户场景快照中执行所述目标程序。
3.根据权利要求1所述的方法,其特征在于,所述环境信息包括:
注册表信息、文件信息以及环境变量。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在以沙箱中的系统镜像模拟用户场景执行目标程序之前,从所述用户本地获取预先基于所述环境信息创建完成的系统镜像并上传至所述沙箱。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在以沙箱中的系统镜像模拟用户场景执行目标程序之前,获取用户本地的环境信息;
根据所述环境信息创建系统镜像;
将所述系统镜像上传至沙箱。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述沙箱中的历史系统镜像的创建时间,确定所述历史系统镜像中创建时间最晚的目标系统镜像,删除创建时间早于所述目标系统镜像的其他历史系统镜像。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在以沙箱中的系统镜像模拟用户场景执行目标程序之前,获取上传至所述沙箱的所述目标程序的可执行程序代码;
发出第一提示消息,其中,所述第一提示消息用于提示是否以当前模式执行所述目标程序、所述当前模式对应的时间消耗以及资源消耗情况。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在发出所述第一提示消息之后,响应于获取到确定以当前模式执行所述目标程序的指令,发出第二提示消息,其中,所述第二提示消息用于提示用户选择使用历史系统镜像或创建新的系统镜像模拟用户场景。
9.根据权利要求1至8任一项所述的方法,其特征在于,根据所述目标程序执行过程中的行为,判断所述目标程序是否是恶意程序,包括:
在所述目标程序执行结束或停止执行之后,根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。
10.一种恶意代码检测装置,其特征在于,包括:
执行模块,被配置为以沙箱中的系统镜像模拟用户场景执行所述目标程序,其中,所述系统镜像基于用户本地的环境信息创建;
监控模块,被配置为对所述目标程序在执行过程中的行为进行监控;
判断模块,被配置为根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。
11.根据权利要求10所述的装置,其特征在于,所述执行模块具体被配置为:
根据所述系统镜像创建用户场景快照;
在所述用户场景快照中执行所述目标程序。
12.根据权利要求10所述的装置,其特征在于,所述环境信息包括:
注册表信息、文件信息以及环境变量。
13.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第一获取模块,被配置为在以沙箱中的系统镜像模拟用户场景执行所述目标程序之前,从所述用户本地获取预先基于所述环境信息创建完成的系统镜像并上传至所述沙箱。
14.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第二获取模块,被配置为在以沙箱中的系统镜像模拟用户场景执行所述目标程序之前,获取用户本地的环境信息;
创建模块,被配置为根据所述环境信息创建系统镜像;
上传模块,被配置为将所述系统镜像上传至沙箱。
15.根据权利要求10所述的装置,其特征在于,所述装置还包括:
删除模块,被配置为根据所述沙箱中的历史系统镜像的创建时间,确定所述历史系统镜像中创建时间最晚的目标系统镜像,删除创建时间早于所述目标系统镜像的其他历史系统镜像。
16.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第三获取模块,被配置为在以沙箱中的系统镜像模拟用户场景执行所述目标程序之前,获取上传至所述沙箱的所述目标程序的可执行程序代码;
第一提示模块,被配置为发出第一提示消息,其中,所述第一提示消息用于提示是否以当前模式执行所述目标程序、所述当前模式对应的时间消耗以及资源消耗情况。
17.根据权利要求16所述的装置,其特征在于,所述装置还包括:
第二提示模块,被配置为在发出所述第一提示消息之后,响应于获取到确定以当前模式执行所述目标程序的指令,发出第二提示消息,其中,所述第二提示消息用于提示用户选择使用历史系统镜像或创建新的系统镜像模拟用户场景。
18.根据权利要求10至17任一项所述的装置,其特征在于,所述判断模块具体被配置为:
在所述目标程序执行结束或停止执行之后,根据所述目标程序执行过程中的行为,判断所述目标程序的可执行程序代码是否是恶意代码。
19.一种电子设备,其特征在于,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为所述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行上述权利要求1至9中任一项所述的恶意代码检测方法。
20.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1至9中任一项所述的恶意代码检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110892582.9A CN113672917A (zh) | 2021-08-04 | 2021-08-04 | 恶意代码检测方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110892582.9A CN113672917A (zh) | 2021-08-04 | 2021-08-04 | 恶意代码检测方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113672917A true CN113672917A (zh) | 2021-11-19 |
Family
ID=78541406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110892582.9A Pending CN113672917A (zh) | 2021-08-04 | 2021-08-04 | 恶意代码检测方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113672917A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902903A (zh) * | 2013-11-12 | 2014-07-02 | 国家计算机网络与信息安全管理中心 | 基于动态沙箱环境的恶意代码分析方法及系统 |
CN104200161A (zh) * | 2014-08-05 | 2014-12-10 | 杭州安恒信息技术有限公司 | 一种实现沙箱智能检测文件的方法及其沙箱智能检测系统 |
CN104462962A (zh) * | 2013-09-13 | 2015-03-25 | 北京安赛创想科技有限公司 | 一种检测未知恶意代码和二进制漏洞的方法 |
CN107609396A (zh) * | 2017-09-22 | 2018-01-19 | 杭州安恒信息技术有限公司 | 一种基于沙箱虚拟机的逃逸检测方法 |
CN111143839A (zh) * | 2019-12-30 | 2020-05-12 | 厦门服云信息科技有限公司 | 一种基于虚拟化行为分析技术的恶意代码检测方法及装置 |
CN112580041A (zh) * | 2019-09-30 | 2021-03-30 | 奇安信安全技术(珠海)有限公司 | 恶意程序检测方法及装置、存储介质、计算机设备 |
CN112632529A (zh) * | 2020-12-23 | 2021-04-09 | 北京鸿腾智能科技有限公司 | 漏洞识别方法、设备、存储介质及装置 |
-
2021
- 2021-08-04 CN CN202110892582.9A patent/CN113672917A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462962A (zh) * | 2013-09-13 | 2015-03-25 | 北京安赛创想科技有限公司 | 一种检测未知恶意代码和二进制漏洞的方法 |
CN103902903A (zh) * | 2013-11-12 | 2014-07-02 | 国家计算机网络与信息安全管理中心 | 基于动态沙箱环境的恶意代码分析方法及系统 |
CN104200161A (zh) * | 2014-08-05 | 2014-12-10 | 杭州安恒信息技术有限公司 | 一种实现沙箱智能检测文件的方法及其沙箱智能检测系统 |
CN107609396A (zh) * | 2017-09-22 | 2018-01-19 | 杭州安恒信息技术有限公司 | 一种基于沙箱虚拟机的逃逸检测方法 |
CN112580041A (zh) * | 2019-09-30 | 2021-03-30 | 奇安信安全技术(珠海)有限公司 | 恶意程序检测方法及装置、存储介质、计算机设备 |
CN111143839A (zh) * | 2019-12-30 | 2020-05-12 | 厦门服云信息科技有限公司 | 一种基于虚拟化行为分析技术的恶意代码检测方法及装置 |
CN112632529A (zh) * | 2020-12-23 | 2021-04-09 | 北京鸿腾智能科技有限公司 | 漏洞识别方法、设备、存储介质及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108595329B (zh) | 一种应用测试方法、装置及计算机存储介质 | |
KR101043299B1 (ko) | 악성 코드 탐지 방법, 시스템 및 컴퓨터 판독 가능한 저장매체 | |
US7774657B1 (en) | Automatically estimating correlation between hardware or software changes and problem events | |
CN111026601A (zh) | Java应用系统的监控方法、装置、电子设备及存储介质 | |
CN109255240B (zh) | 一种漏洞处理方法和装置 | |
CN110502366B (zh) | 案例执行方法、装置、设备及计算机可读存储介质 | |
US11055416B2 (en) | Detecting vulnerabilities in applications during execution | |
CN110708278B (zh) | 检测http响应头的方法、系统、装置及可读存储介质 | |
CN110806965A (zh) | 自动测试方法、装置、设备和介质 | |
CN112650658A (zh) | 应用程序的异常记录和复现方法、装置及存储介质 | |
CN111258591A (zh) | 程序部署任务执行方法、装置、计算机设备和存储介质 | |
CN107329914A (zh) | 一种基于Linux系统检测硬盘乱序的方法及装置 | |
CN111404949A (zh) | 一种流量检测方法、装置、设备及存储介质 | |
CN114416451A (zh) | 服务器测试方法、装置、计算机设备和存储介质 | |
CN113742224A (zh) | 测试系统、方法、装置、计算机设备和存储介质 | |
CN110231921B (zh) | 日志打印方法、装置、设备及计算机可读存储介质 | |
CN113672918A (zh) | 恶意代码检测方法、装置、存储介质及电子设备 | |
CN113672917A (zh) | 恶意代码检测方法、装置、存储介质及电子设备 | |
CN111666200A (zh) | 一种pc软件冷启动耗时的测试方法及终端 | |
CN115794583A (zh) | 一种内核分析方法及装置 | |
CN114780412A (zh) | 页面测试方法、系统、设备及介质 | |
CN112558982B (zh) | 代码检测方法、装置及计算机设备 | |
CN111061621B (zh) | 一种验证程序性能的方法、装置、设备及存储介质 | |
CN114564903A (zh) | 一种芯片仿真设计验证方法、装置、设备及介质 | |
CN111143305B (zh) | 基于分布式存储系统的数据存储方法、装置、设备及介质 |
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 |