CN112580025A - 基于虚拟机的报毒方法及装置、存储介质、计算机设备 - Google Patents
基于虚拟机的报毒方法及装置、存储介质、计算机设备 Download PDFInfo
- Publication number
- CN112580025A CN112580025A CN201910945353.1A CN201910945353A CN112580025A CN 112580025 A CN112580025 A CN 112580025A CN 201910945353 A CN201910945353 A CN 201910945353A CN 112580025 A CN112580025 A CN 112580025A
- Authority
- CN
- China
- Prior art keywords
- virus
- program
- target program
- reporting
- virtual machine
- 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
- 238000000034 method Methods 0.000 title claims abstract description 82
- 239000002574 poison Substances 0.000 title description 3
- 231100000614 poison Toxicity 0.000 title description 3
- 241000700605 Viruses Species 0.000 claims abstract description 412
- 238000012544 monitoring process Methods 0.000 claims abstract description 124
- 238000001514 detection method Methods 0.000 claims abstract description 48
- 230000008569 process Effects 0.000 claims abstract description 33
- 238000004590 computer program Methods 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 abstract description 10
- 230000006399 behavior Effects 0.000 description 60
- 230000001988 toxicity Effects 0.000 description 5
- 231100000419 toxicity Toxicity 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000002155 anti-virotic effect Effects 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000004445 quantitative analysis Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
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/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
-
- 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
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所示,该方法包括:
步骤101,在虚拟机中执行待检测的目标程序;
步骤102,在目标程序的执行过程中对至少一个报毒监控点进行监控,并记录目标程序执行过程中对至少一个报毒监控点的使用情况;
步骤103,根据目标程序对报毒监控点的使用情况,判断目标程序是否为病毒程序。
在现有技术中,通常是利用预先建立好的病毒库,依据病毒库中保存的病毒程序本身所包含的病毒特征,对待检测程序的特征进行病毒特征匹配,若待检测程序的特征命中病毒库则说明该程序为带毒程序。如果出现新型病毒或者变种病毒,利用原来的病毒库很难准确检测出来,无法实现对未知病毒的防御。
为了解决现有技术的上述缺陷,本申请实施例中采用启发式病毒查杀,启发式病毒查杀指的是利用待检测的程序在执行过程中显现出的执行特征判断该程序是否为带毒程序。具体来说,分析病毒程序的执行行为的通用特征,而后根据病毒程序的通用执行特征进行病毒检测。比如,病毒程序往***目录写入文件、读写引导区、写注册表启动项、打开其它进程、读写其它进程、动态加载DLL、动态获取API地址等操作,对于家族类的病毒,可能存在引用相同的库函数,使用相同的图标,使用比较独特的导入模块等等的一系列执行特征。
另外,在现有的获取目标程序执行特征的方法中,通常采用向目标进程注入DLL,在DLL中对调用函数进行API hook的方式进行监控,这种方式主要存在下述两种缺陷,其一,目标进程可能存在防注入、防API hook等的对抗手段,阻止执行序列被获取,其二,会对真实的计算机环境产生影响,在发现病毒的同时,可能病毒已经感染了计算机***。
为了克服上述执行特征获取的缺陷,本申请实施例利用虚拟机技术,将需要进行病毒检测的目标程序放在虚拟机中执行,由于虚拟机是对真实计算机的模拟,若目标程序在真实计算机中执行时调用某函数,则在虚拟机中执行时就会调用与该函数对应的桩函数,因此,通过目标程序在虚拟机中执行时的运行记录即可反应出目标程序在真实计算机中执行时的运行记录。不仅可以有效的获取到目标程序执行时虚拟机的运行记录,而且不会对真实计算机环境造成影响保护了计算机的安全。
结合上述说明,在步骤101至步骤103中,首先,将可执行的目标程序分配到虚拟机中,虚拟机加载并运行该目标程序,同时,在目标程序的执行过程中,对预先规定的至少一个报毒监控点进行监控,这里的报毒监控点为上述的病毒程序执行过程中通常会使用的虚拟机中的某个单元,报毒监控点具体可以为虚拟机中的某个桩函数,若目标程序执行时使用了该报毒监控点,则记录下来,然后,根据目标程序在虚拟机的执行过程中对报毒监控点的使用情况来分析目标程序是否为病毒程序,比如某个目标程序执行时使用了预先约定的大部分报毒监控点,那么这个目标程序就很可能为病毒程序,通过上述方法以实现基于虚拟机的病毒检测。
通过应用本实施例的技术方案,利用虚拟机技术记录下来需要进行病毒检测的目标程序在执行过程中对报毒监控点的使用情况,而后根据提取出的目标程序对报毒监控点的使用情况进行启发式病毒查杀,检测目标程序是否为病毒程序。本申请利用虚拟机技术,不仅可以有效的获取到目标程序在虚拟机中执行时的运行记录,而且不会对真实计算机环境造成影响保护了计算机的安全,同时,基于目标程序的运行记录进行启发式病毒检测,有助于提高对新型病毒、变种病毒等未知病毒的检测率。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种基于虚拟机的报毒方法,如图2所示,该方法包括:
步骤201,获取多个病毒样本对应的行为特征;
步骤202,根据多个病毒样本对应的行为特征,确定报毒监控点以及报毒监控点的报毒经验值。
在步骤201和步骤202中,在进行病毒程序检测之前,先要确定对虚拟机中的哪些位置进行监控,具体来说,首先对大量的病毒样本进行分析,其中,病毒样本为包含病毒的可执行程序,提取出病毒样本的行为特征,该行为特征可以包括病毒样本在执行过程中所调用的函数以及调用函数的顺序,然后对病毒样本的行为特征进行归纳总结,提取出病毒样本的通用行为特征,并总结出病毒样本与安全程序之间区别较大的特征,从而根据病毒样本的通用行为特征以及与安全程序区别较大的特征确定这些特征对应的调用函数,这些调用函数即为报毒监控点,通过对报毒监控点的监控可以快速锁定疑似包含病毒的可执行程序,另外,还要根据病毒样本的行为特征的通用行为特征以及病毒样本与安全程序之间区别较大的特征,确定每个监控点的重要程度,即报毒经验值,以便对目标程序的行为特征进行量化,更加准确的通过对报毒监控点的监控锁定病毒程序。
上述步骤202具体包括:
步骤2021,根据多个病毒样本对应的行为特征以及预设安全程序行为特征,分析多个病毒样本的报毒关键行为特征,以及报毒关键行为特征的关键权重;
步骤2022,将报毒关键行为特征对应的调用函数确定为报毒监控点,以及将报毒关键行为特征的关键权重确定为报毒监控点的报毒经验值。
在步骤2021和步骤2022中,通过对大量的病毒样本以及安全样本的行为特征进行分析和总结,归纳出病毒样本的通用行为特征以及与安全样本区别较大的行为特征,从而将与这些行为特征作为病毒检测的关键行为特征,将与关键行为特征相关的结构作为报毒监控点,并进行统计分析量化每个关键行为特征的重要程度,即每个报毒关键行为特征的关键权重,从而得出每个报毒监控点的报毒经验值,为病毒检测提供了定量分析规则。
步骤203,在虚拟机中执行待检测的目标程序;
步骤204,在目标程序的执行过程中对至少一个报毒监控点进行监控,并记录目标程序执行过程中对至少一个报毒监控点的使用情况;
步骤205,根据目标程序对报毒监控点的使用情况以及每个报毒监控点的报毒经验值,计算目标程序的病毒检测值;
步骤206,若目标程序的病毒检测值大于或等于预设病毒经验值,则确定目标程序是病毒程序。
步骤207,若目标程序的病毒检测值小于预设病毒经验值,则确定目标程序不是病毒程序。
在上述步骤203至步骤207中,限定了病毒程序的定量检测方法。具体来说,首先在步骤203和步骤204中,当目标程序在虚拟机中执行时,对预先设定的报毒监控点进行监控,记录目标程序在虚拟机中对各个报毒监控点的调用情况,其中,报毒监控点可以为虚拟机中的桩函数,利用记录的目标程序执行过程中形成的对各个报毒监控点的使用情况,可以为病毒检测提供分析依据。
其次在步骤205至步骤207中,根据预先确立的每个报毒监控点对应的报毒经验值,对目标程序的病毒检测值进行计算,其中,目标程序的病毒检测值可以为目标程序所使用的各个报毒监控点对应的报毒经验值之和,例如,目标程序对报毒监控点A、B、C、D进行了调用,报毒监控点A、B、C、D的报毒经验值分别为1、1、2、3,那么该目标程序的报毒检测值为1+1+2+3=7。然后判断目标程序的报毒经验值与预设病毒经验值的关系,确定该目标程序是否为病毒程序,其中,预设病毒经验值是根据对大量病毒样本以及安全样本进行分析而得出的,预设病毒经验值作为一个分隔,将病毒样本的报毒经验值和安全样本的报毒经验值做出最大区分。例如,预设病毒经验值为5,大于等于5则判断为病毒程序,小于5则不是病毒程序,那么在上述的目标程序的举例中,可以认为该目标程序为病毒程序。
步骤208,确定目标程序是病毒程序之后,将目标程序加入病毒程序库中。
步骤209,当病毒程序库中的病毒程序超过预设数量阈值,则获取病毒程序库中的病毒程序对应的行为特征,并依据该行为特征更新报毒监控点以及报毒监控点的报毒经验值。
在步骤208和步骤209中,为了提高对病毒程序的判断准确性,需要不断的对报毒监控点、报毒经验点的报毒经验值以及预设病毒经验值进行校正,具体来说,可以将已确定为病毒程序的目标程序作为病毒样本,以及可以将确定为安全程序的目标程序作为安全样本,利用步骤201和步骤202中的方式不断对报毒监控点以及报毒监控点的报毒经验值,乃至预设病毒经验值进行更新和校正,以便其更适应于对不断变化的病毒进行检测。
需要说明的是,本申请通过对报毒监控点的检测,还可以利用对目标程序对各个报毒监控点的调用特征进行病毒程序的检测,本申请实施例提供的第二种病毒检测方法具体可以包括:
步骤A1,获取预设执行特征名单,其中,预设执行特征名单包括预设执行特征黑名单;
步骤A2,根据目标程序对报毒监控点的使用情况确定目标程序的执行特征,查询目标程序的执行特征是否属于预设执行特征黑名单中包含的恶意执行特征;
步骤A3,若目标程序的执行特征属于恶意执行特征,则确定目标程序包含病毒。
步骤A4,若目标程序的执行特征不属于恶意执行特征,则查询目标程序的执行特征是否属于预设执行特征白名单中包含的安全执行特征;
步骤A5,若目标程序的执行特征属于安全执行特征,则确定目标程序不含病毒。
步骤A6,若目标程序的执行特征不属于安全执行特征,则将目标程序标记为可疑程序,并将可疑程序对应的执行特征上报至病毒管理***,以利用病毒管理***分析可疑程序是否包含病毒。
在上述步骤A1至步骤A6中,利用预设执行特征名单对目标程序是否带毒进行判定,预设执行特征名单包括黑名单和白名单,黑名单中预先存储了病毒程序对应的对报毒监控点的调用时呈现的恶意执行特征,白名单中预先存储了安全程序对应的对报毒监控点的调用时呈现的安全执行特征。从而根据目标程序的执行特征是否能够命中黑名单或白名单判定该目标程序是否为带毒程序,若命中黑名单,则为带毒程序,若命中白名单,则为安全程序,而若目标程序的执行特征即没有命中黑名单也没有命中白名单,则判断该程序为可疑程序,并将可疑程序上报至病毒管理***进一步对该程序进行判定,病毒管理***具体可以为专家***。
另外,如果为可疑程序还可以上报恶意程序管理***,从而利用恶意程序管理***来判断目标程序是否带毒,并根据恶意程序管理***的判断结果,对报毒监控点、报毒经验点的报毒经验值以及预设病毒经验值进行校正,以提高病毒检测的准确率和效率。
进一步的,作为图1方法的具体实现,本申请实施例提供了一种基于虚拟机的报毒装置,如图3所示,该装置包括:目标程序执行模块31、监控模块32、病毒检测模块33。
目标程序执行模块31,用于在虚拟机中执行待检测的目标程序;
监控模块32,用于在目标程序的执行过程中对至少一个报毒监控点进行监控,并记录目标程序执行过程中对至少一个报毒监控点的使用情况;
病毒检测模块33,用于根据目标程序对报毒监控点的使用情况,判断目标程序是否为病毒程序。
在具体的应用场景中,如图4所示,病毒检测模块33,具体包括:检测值计算单元331、病毒程序检测单元332。
检测值计算单元331,用于根据目标程序对报毒监控点的使用情况以及每个报毒监控点的报毒经验值,计算目标程序的病毒检测值;
病毒程序检测单元332,用于若目标程序的病毒检测值大于或等于预设病毒经验值,则确定目标程序是病毒程序。
在具体的应用场景中,如图4所示,病毒检测模块33还包括:安全程序检测单元333。
安全程序检测单元333,用于若目标程序的病毒检测值小于预设病毒经验值,则确定目标程序不是病毒程序。
在具体的应用场景中,如图4所示,该装置还包括:行为特征获取模块34、监控点确定模块35。
行为特征获取模块34,用于在虚拟机中执行待检测的目标程序之前,获取多个病毒样本对应的行为特征;
监控点确定模块35,用于根据多个病毒样本对应的行为特征,确定报毒监控点以及报毒监控点的报毒经验值。
在具体的应用场景中,如图4所示,监控点确定模块35,具体包括:权重确定单元351、经验值确定单元352。
权重确定单元351,用于根据多个病毒样本对应的行为特征以及预设安全程序行为特征,分析多个病毒样本的报毒关键行为特征,以及报毒关键行为特征的关键权重;
经验值确定单元352,用于将报毒关键行为特征对应的调用函数确定为报毒监控点,以及将报毒关键行为特征的关键权重确定为报毒监控点的报毒经验值。
在具体的应用场景中,如图4所示,该装置还包括:病毒库建立模块36。
病毒库建立模块36,用于确定目标程序是病毒程序之后,将目标程序加入病毒程序库中。
在具体的应用场景中,如图4所示,该装置还包括:监控点更新模块37。
监控点更新模块37,用于当病毒程序库中的病毒程序超过预设数量阈值,则获取病毒程序库中的病毒程序对应的行为特征,并依据该行为特征更新报毒监控点以及报毒监控点的报毒经验值。
需要说明的是,本申请实施例的基于虚拟机的报毒装置还用于执行:
步骤A1,获取预设执行特征名单,其中,预设执行特征名单包括预设执行特征黑名单;
步骤A2,根据目标程序对报毒监控点的使用情况确定目标程序的执行特征,查询目标程序的执行特征是否属于预设执行特征黑名单中包含的恶意执行特征;
步骤A3,若目标程序的执行特征属于恶意执行特征,则确定目标程序包含病毒。
步骤A4,若目标程序的执行特征不属于恶意执行特征,则查询目标程序的执行特征是否属于预设执行特征白名单中包含的安全执行特征;
步骤A5,若目标程序的执行特征属于安全执行特征,则确定目标程序不含病毒。
步骤A6,若目标程序的执行特征不属于安全执行特征,则将目标程序标记为可疑程序,并将可疑程序对应的执行特征上报至病毒管理***,以利用病毒管理***分析可疑程序是否包含病毒。
在上述步骤A1至步骤A6中,利用预设执行特征名单对目标程序是否带毒进行判定,预设执行特征名单包括黑名单和白名单,黑名单中预先存储了病毒程序对应的对报毒监控点的调用时呈现的恶意执行特征,白名单中预先存储了安全程序对应的对报毒监控点的调用时呈现的安全执行特征。从而根据目标程序的执行特征是否能够命中黑名单或白名单判定该目标程序是否为带毒程序,若命中黑名单,则为带毒程序,若命中白名单,则为安全程序,而若目标程序的执行特征即没有命中黑名单也没有命中白名单,则判断该程序为可疑程序,并将可疑程序上报至病毒管理***进一步对该程序进行判定,病毒管理***具体可以为专家***。
另外,如果为可疑程序还可以上报恶意程序管理***,从而利用恶意程序管理***来判断目标程序是否带毒,并根据恶意程序管理***的判断结果,对报毒监控点、报毒经验点的报毒经验值以及预设病毒经验值进行校正,以提高病毒检测的准确率和效率。
需要说明的是,本申请实施例提供的一种基于虚拟机的报毒装置所涉及各功能单元的其他相应描述,可以参考图1和图2中的对应描述,在此不再赘述。
基于上述如图1和图2所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1和图2所示的基于虚拟机的报毒方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1、图2所示的方法,以及图3、图4所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1和图2所示的基于虚拟机的报毒方法。
可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作***、网络通信模块。操作***是管理和保存计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现利用虚拟机技术记录下来需要进行病毒检测的目标程序在执行过程中对报毒监控点的使用情况,而后根据提取出的目标程序对报毒监控点的使用情况进行启发式病毒查杀,检测目标程序是否为病毒程序。本申请利用虚拟机技术,不仅可以有效的获取到目标程序在虚拟机中执行时的运行记录,而且不会对真实计算机环境造成影响保护了计算机的安全,同时,基于目标程序的运行记录进行启发式病毒检测,有助于提高对新型病毒、变种病毒等未知病毒的检测率。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (10)
1.一种基于虚拟机的报毒方法,其特征在于,包括:
在虚拟机中执行待检测的目标程序;
在所述目标程序的执行过程中对至少一个报毒监控点进行监控,并记录所述目标程序执行过程中对至少一个所述报毒监控点的使用情况;
根据所述目标程序对所述报毒监控点的使用情况,判断所述目标程序是否为病毒程序。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标程序对所述报毒监控点的使用情况,判断所述目标程序是否为病毒程序,具体包括:
根据所述目标程序对所述报毒监控点的使用情况以及每个所述报毒监控点的报毒经验值,计算所述目标程序的病毒检测值;
若所述目标程序的病毒检测值大于或等于预设病毒经验值,则确定所述目标程序是病毒程序。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述目标程序的病毒检测值小于所述预设病毒经验值,则确定所述目标程序不是病毒程序。
4.根据权利要求2或3所述的方法,其特征在于,所述在虚拟机中执行待检测的目标程序之前,所述方法还包括:
获取多个病毒样本对应的行为特征;
根据所述多个病毒样本对应的行为特征,确定所述报毒监控点以及所述报毒监控点的报毒经验值。
5.根据权利要求4所述的方法,其特征在于,所述根据所述多个病毒样本对应的行为特征,确定所述报毒监控点以及所述报毒监控点的报毒经验值,具体包括:
根据所述多个病毒样本对应的行为特征以及预设安全程序行为特征,分析所述多个病毒样本的报毒关键行为特征,以及所述报毒关键行为特征的关键权重;
将所述报毒关键行为特征对应的调用函数确定为所述报毒监控点,以及将所述报毒关键行为特征的关键权重确定为所述报毒监控点的报毒经验值。
6.根据权利要求4或5所述的方法,其特征在于,所述确定所述目标程序是病毒程序之后,所述方法还包括:
将所述目标程序加入病毒程序库中。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当所述病毒程序库中的病毒程序超过预设数量阈值,则获取所述病毒程序库中的病毒程序对应的行为特征,并依据该行为特征更新所述报毒监控点以及所述报毒监控点的报毒经验值。
8.一种基于虚拟机的报毒装置,其特征在于,包括:
目标程序执行模块,用于在虚拟机中执行待检测的目标程序;
监控模块,用于在所述目标程序的执行过程中对至少一个报毒监控点进行监控,并记录所述目标程序执行过程中对至少一个所述报毒监控点的使用情况;
病毒检测模块,用于根据所述目标程序对所述报毒监控点的使用情况,判断所述目标程序是否为病毒程序。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至7中任一项所述的基于虚拟机的报毒方法。
10.一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7中任一项所述的基于虚拟机的报毒方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910945353.1A CN112580025A (zh) | 2019-09-30 | 2019-09-30 | 基于虚拟机的报毒方法及装置、存储介质、计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910945353.1A CN112580025A (zh) | 2019-09-30 | 2019-09-30 | 基于虚拟机的报毒方法及装置、存储介质、计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112580025A true CN112580025A (zh) | 2021-03-30 |
Family
ID=75117194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910945353.1A Pending CN112580025A (zh) | 2019-09-30 | 2019-09-30 | 基于虚拟机的报毒方法及装置、存储介质、计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112580025A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116680696A (zh) * | 2023-08-04 | 2023-09-01 | 深圳市科力锐科技有限公司 | 病毒程序检测方法、装置及*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101924762A (zh) * | 2010-08-18 | 2010-12-22 | 奇智软件(北京)有限公司 | 一种基于云安全的主动防御方法 |
CN102682229A (zh) * | 2011-03-11 | 2012-09-19 | 北京市国路安信息技术有限公司 | 一种基于虚拟化技术的恶意代码行为检测方法 |
CN103793650A (zh) * | 2013-12-02 | 2014-05-14 | 北京邮电大学 | Android应用程序的静态分析方法及装置 |
CN106682516A (zh) * | 2016-12-23 | 2017-05-17 | 宇龙计算机通信科技(深圳)有限公司 | 应用程序的检测方法、检测装置和服务器 |
CN106709343A (zh) * | 2016-07-26 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 病毒监测方法及装置 |
JP2017142744A (ja) * | 2016-02-12 | 2017-08-17 | 日本電気株式会社 | 情報処理装置、ウィルス検出方法及びプログラム |
-
2019
- 2019-09-30 CN CN201910945353.1A patent/CN112580025A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101924762A (zh) * | 2010-08-18 | 2010-12-22 | 奇智软件(北京)有限公司 | 一种基于云安全的主动防御方法 |
CN102682229A (zh) * | 2011-03-11 | 2012-09-19 | 北京市国路安信息技术有限公司 | 一种基于虚拟化技术的恶意代码行为检测方法 |
CN103793650A (zh) * | 2013-12-02 | 2014-05-14 | 北京邮电大学 | Android应用程序的静态分析方法及装置 |
JP2017142744A (ja) * | 2016-02-12 | 2017-08-17 | 日本電気株式会社 | 情報処理装置、ウィルス検出方法及びプログラム |
CN106709343A (zh) * | 2016-07-26 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 病毒监测方法及装置 |
CN106682516A (zh) * | 2016-12-23 | 2017-05-17 | 宇龙计算机通信科技(深圳)有限公司 | 应用程序的检测方法、检测装置和服务器 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116680696A (zh) * | 2023-08-04 | 2023-09-01 | 深圳市科力锐科技有限公司 | 病毒程序检测方法、装置及*** |
CN116680696B (zh) * | 2023-08-04 | 2024-02-13 | 深圳市科力锐科技有限公司 | 病毒程序检测方法、装置及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102307534B1 (ko) | 다수 소프트웨어 개체들에 걸쳐서 악성 행동을 트래킹하기 위한 시스템들 및 방법들 | |
US8914889B2 (en) | False alarm detection for malware scanning | |
US20080141376A1 (en) | Determining maliciousness of software | |
CN106709325B (zh) | 一种监控程序的方法及装置 | |
US20190147163A1 (en) | Inferential exploit attempt detection | |
CN109600387B (zh) | 攻击事件的追溯方法及装置、存储介质、计算机设备 | |
Dai et al. | Behavior-based malware detection on mobile phone | |
CN109815702B (zh) | 软件行为的安全检测方法、装置及设备 | |
CN112395597A (zh) | 网站应用漏洞攻击的检测方法及装置、存储介质 | |
CN112580041B (zh) | 恶意程序检测方法及装置、存储介质、计算机设备 | |
CN116340931A (zh) | 基于rasp的sca联动防护方法、装置、设备及介质 | |
CN112580025A (zh) | 基于虚拟机的报毒方法及装置、存储介质、计算机设备 | |
CN109802955B (zh) | 权限控制方法及装置、存储介质、计算机设备 | |
CN112090087B (zh) | 游戏外挂的检测方法及装置、存储介质、计算机设备 | |
CN108197475B (zh) | 一种恶意so模块检测方法及相关装置 | |
CN113646763B (zh) | shellcode的检测方法及装置 | |
CN112580043B (zh) | 基于虚拟机的杀毒方法及装置、存储介质、计算机设备 | |
CN112398784B (zh) | 防御漏洞攻击的方法及装置、存储介质、计算机设备 | |
CN113722712A (zh) | 一种基于hook的程序恶意行为的检测方法及相关装置 | |
CN112580024A (zh) | 虚拟机的模拟方法及装置、存储介质、计算机设备 | |
CN112580034B (zh) | 脱壳文件的验证方法及装置、存储介质、计算机设备 | |
CN112395637A (zh) | 数据库防护方法及装置、存储介质、计算机设备 | |
CN112580035B (zh) | 程序脱壳方法及装置、存储介质、计算机设备 | |
CN114021134A (zh) | 基于关联程序追踪的程序处理方法及装置、存储介质 | |
CN113190869B (zh) | 基于tee的强制访问控制安全增强框架性能评估方法及*** |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210330 |