CN111382440A - 基于虚拟机实现的cpu漏洞检测方法及系统 - Google Patents
基于虚拟机实现的cpu漏洞检测方法及系统 Download PDFInfo
- Publication number
- CN111382440A CN111382440A CN201811613304.XA CN201811613304A CN111382440A CN 111382440 A CN111382440 A CN 111382440A CN 201811613304 A CN201811613304 A CN 201811613304A CN 111382440 A CN111382440 A CN 111382440A
- Authority
- CN
- China
- Prior art keywords
- instruction
- cpu
- preset
- binary
- 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.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 claims abstract description 194
- 230000008569 process Effects 0.000 claims abstract description 165
- 238000012544 monitoring process Methods 0.000 claims abstract description 69
- 230000007123 defense Effects 0.000 claims abstract description 48
- 238000004891 communication Methods 0.000 claims description 18
- 238000002347 injection Methods 0.000 claims description 14
- 239000007924 injection Substances 0.000 claims description 14
- 239000003795 chemical substances by application Substances 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 8
- 230000006399 behavior Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 101150093240 Brd2 gene Proteins 0.000 description 2
- 208000032826 Ring chromosome 3 syndrome Diseases 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 230000001960 triggered effect Effects 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于虚拟机实现的CPU漏洞检测方法及系统。其中,该方法包括:将预设监控代码注入未知进程,所述预设监控代码获取与所述未知进程相对应的二进制指令;按照预设的二进制转义规则,确定与所述二进制指令相对应的汇编指令;通过虚拟机模拟CPU执行所述汇编指令,并根据预设的漏洞防御规则,检测模拟CPU执行的所述汇编指令是否为与CPU漏洞相关的指令。该方式能够实现指令级别的监控,进而能够监控到与CPU漏洞相关的各个指令,实现更为全面的防御效果。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种基于虚拟机实现的CPU漏洞检测方法及系统。
背景技术
中央处理器(Central Processing Unit,CPU)漏洞无疑属于一种高危漏洞,一旦恶意程序利用CPU漏洞发起攻击,则会对用户的个人设备造成不可估量的负面影响,甚至会造成设备瘫痪等重大问题。
在现有技术中,只能通过监控操作系统提供的接口来判断是否存在针对CPU漏洞的攻击行为。例如,当恶意程序试图通过调用操作系统提供的接口发起针对CPU漏洞的攻击行为时,通过在操作系统提供的接口处设置挂钩等监控方式即可监控到该恶意行为并进行拦截。
但是,发明人在实现本发明的过程中发现,现有技术中的上述方式至少存在下述缺陷:只能从操作系统提供的接口这一层面实现恶意行为的拦截操作,一旦恶意程序绕过操作系统提供的接口直接进入到操作系统内部,则会导致严重的后果。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于虚拟机实现的CPU漏洞检测方法及系统。
根据本发明的一个方面,提供了一种基于虚拟机实现的CPU漏洞检测方法,包括:
将预设监控代码注入未知进程,所述预设监控代码获取与所述未知进程相对应的二进制指令;
按照预设的二进制转义规则,确定与所述二进制指令相对应的汇编指令;
通过虚拟机模拟CPU执行所述汇编指令,并根据预设的漏洞防御规则,检测模拟CPU执行的所述汇编指令是否为与CPU漏洞相关的指令。
根据本发明的另一个方面,提供了一种基于虚拟机实现的CPU漏洞检测系统,包括:
注入模块,适于将预设监控代码注入未知进程,所述预设监控代码获取与所述未知进程相对应的二进制指令;
转义模块,适于按照预设的二进制转义规则,确定与所述二进制指令相对应的汇编指令;
防御模块,适于通过虚拟机模拟CPU执行所述汇编指令,并根据预设的漏洞防御规则,检测模拟CPU执行的所述汇编指令是否为与CPU漏洞相关的指令。
根据本发明的又一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行上述基于虚拟机实现的CPU漏洞检测方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述基于虚拟机实现的CPU漏洞检测方法对应的操作。
根据本发明公开的基于虚拟机实现的CPU漏洞检测方法及系统,通过向未知进程中注入预设监控代码的方式,能够通过预设监控代码获取与未知进程相对应的二进制指令,并将其转义为汇编指令模拟执行,从而从指令级别判断未知进程所执行的指令是否安全。由此可见,本发明通过向未知进程注入预设监控代码的方式,能够监控未知进程对应的各个指令,从而实现指令级别的监控,进而能够监控到与CPU漏洞相关的各个指令,实现更为全面的防御效果,即使未知进程绕过操作系统提供的接口直接进入到操作系统内部也能够通过指令进行拦截,提升了系统安全性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明一个实施例的基于虚拟机实现的CPU漏洞检测方法的流程示意图;
图2示出了本发明另一个实施例的基于虚拟机实现的CPU漏洞检测方法的流程示意图;
图3示出了本发明又一实施例提供的一种基于虚拟机实现的CPU漏洞检测系统的系统结构图;
图4示出了根据本发明实施例的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了本发明一个实施例的基于虚拟机实现的CPU漏洞检测方法的流程示意图。如图1所示,该方法包括:
步骤S110:将预设监控代码注入未知进程,该预设监控代码获取与未知进程相对应的二进制指令。
其中,注入是指:将一段第三方逻辑代码放置到应用程序内存中并执行。在本实施例中,该第三方逻辑代码即为预设监控代码。该预设监控代码用于实现对未知进程中的各个指令进行监控的目的,本发明不限定预设监控代码的具体实现方式,只要能够实现上述目的即可。例如,该预设监控代码可以是动态链接库(Dynamic Link Library,简称DLL)文件,进而通过DLL注入技术实现。
并且,本实施例中的预设监控代码能够获取与未知进程相对应的二进制指令。其中,与未知进程相对应的二进制指令实际上也可以理解为二进制信息,具体是指:由未知进程发起并在内存中执行的二进制形式的指令信息。通过获取与未知进程相对应的二进制指令信息,能够在后续步骤中对获取到的指令信息进行监控。
步骤S120:按照预设的二进制转义规则,确定与二进制指令相对应的汇编指令。
通常情况下,由未知进程发起并在内存中执行的二进制形式的指令信息需要由CPU将其转换为相应的汇编指令才能执行。在本实施例中,为了能够在虚拟机环境中对未知进程进行监管,需要由虚拟机模拟CPU执行与未知进程相对应的二进制指令。相应地,在本步骤中,按照预设的二进制转义规则,确定与二进制指令相对应的汇编指令。由于内存中的二进制指令信息与CPU执行的汇编指令之间具有一定的对应关系,因此,可以基于二者之间的对应关系设置该二进制转义规则。
步骤S130:通过虚拟机模拟CPU执行汇编指令,并根据预设的漏洞防御规则,检测模拟CPU执行的汇编指令是否为与CPU漏洞相关的指令。
由于上一步骤中已经通过二进制转义的方式确定了与二进制指令相对应的汇编指令,相应地,在本步骤中,能够通过虚拟机模拟CPU执行汇编指令,并在模拟执行的过程中,根据预设的漏洞防御规则,检测模拟CPU执行的汇编指令是否为与CPU漏洞相关的指令。
其中,该预设的漏洞防御规则用于从指令级别判断一个指令是否为与CPU漏洞相关的指令。所谓与CPU漏洞相关的指令是指:通过指令的运行,能够利用CPU漏洞发起攻击的指令,相应地,凡是能够利用CPU漏洞进行恶意行为的指令均属于与CPU漏洞相关的指令。在本实施例中,预设的漏洞防御规则主要用于从指令的执行频率、指令序列的序列特征等方面来识别一个指令是否为与CPU漏洞相关的指令。例如,可以预先确定与CPU漏洞相关的指令的执行频率以及指令序列特征,从而据此设置预设的漏洞防御规则。本发明对漏洞防御规则的具体内涵不做限定,只要能够从指令级别识别出恶意指令即可。
根据本发明公开的基于虚拟机实现的CPU漏洞检测方法,通过向未知进程中注入预设监控代码的方式,能够通过预设监控代码获取与未知进程相对应的二进制指令,并将其转义为汇编指令模拟执行,从而从指令级别判断未知进程所执行的指令是否安全。由此可见,本发明通过向未知进程注入预设监控代码的方式,能够监控未知进程对应的各个指令,从而实现指令级别的监控,进而能够监控到与CPU漏洞相关的各个指令,实现更为全面的防御效果,即使未知进程绕过操作系统提供的接口直接进入到操作系统内部也能够通过指令进行拦截,提升了系统安全性。
图2示出了本发明另一个实施例的基于虚拟机实现的CPU漏洞检测方法的流程示意图。在本实施例中,以预设监控代码为动态链接库DLL文件为例进行说明。如图2所示,该方法包括:
步骤S200:确定二进制指令与汇编指令之间的对应关系,根据该对应关系设置二进制转义规则。
具体地,通过CPU执行进程相关的指令时,需要根据内存中存储的不同数据来执行不同的操作。也就是说,通过CPU执行未知进程对应的指令时,需要根据内存中存储的二进制指令(也叫二进制信息或二进制指令信息)来确定具体执行何种类型的指令。发明人在实现本发明的过程中发现:内存中存储的二进制指令与CPU应执行的汇编执行之间具有固定的对应关系,因此,能够基于该对应关系来设置用于将内存中的二进制指令转换为汇编指令的二进制转义规则。
例如,对于内存中存储的如下数据:32c0 48 8B 5C 23 70,将被CPU解释为如下的汇编指令:
xor al,al
mov rbx[rsp+70h]
上述两条汇编指令的含义为:将al清零,并将rsp+70h处的值赋值给rbx。相应地,本实施例预先挖掘二进制指令与汇编指令之间的对应关系,并据此设置用于实现二者之间的转换的二进制转义规则。该二进制转义规则可以实现内存中的二进制指令与汇编指令之间的转换,从而根据二进制指令快速转换出对应的汇编指令。
步骤S210:将预设监控代码注入未知进程,该预设监控代码获取与未知进程相对应的二进制指令。
具体实施时,需要确定未知进程的内存地址空间,然后,将预设监控代码,即DLL注入该未知进程的内存地址空间,以使该DLL成为该未知进程的一部分。在本实施例中,该DLL用于通过虚拟机实现虚拟CPU环境,以供未知进程运行于虚拟CPU环境中,从而便于获取与未知进程相对应的二进制指令,即内存中存储的与未知进程相对应的二进制信息。由此可见,该DLL的主要功能在于获取未知进程相对应的二进制指令。
具体实施时,预设监控代码通过以下方式获取与未知进程相对应的二进制指令:预设监控代码监测内存(主要是指未知进程的内存地址空间所对应的内存区域)中的内存数据的变化量;根据内存中的内存数据的变化量确定与未知进程相对应的二进制指令。由此可见,预设监控代码需要实时监控并记录内存中的当前数据量。例如,假设与未知进程相对应的二进制指令为指令一。在未知进程发起指令一之前,内存中的内存数据为A,在未知进程发起指令一之后,内存中的内存数据更新为A’。相应地,通过比较A’相对于A的变化量,能够确定内存中与指令一相对应的指令信息,从而根据与指令一相对应的指令信息获取与未知进程相对应的二进制指令。
步骤S220:按照预设的二进制转义规则,确定与二进制指令相对应的汇编指令。
通常情况下,由未知进程发起并在内存中执行的二进制形式的指令信息需要由CPU将其转换为相应的汇编指令才能执行。在本实施例中,为了能够在虚拟机环境中对未知进程进行监管,需要由虚拟机模拟CPU执行与未知进程相对应的二进制指令。相应地,在本步骤中,按照预设的二进制转义规则,确定与二进制指令相对应的汇编指令。由于内存中的二进制指令信息与CPU执行的汇编指令之间具有一定的对应关系,因此,可以基于二者之间的对应关系设置该二进制转义规则。
例如,仍以内存中存储如下数据32c0 48 8B 5C 23 70为例,即:获取到的与未知进程相对应的二进制指令数据为32c0 48 8B 5C 23 70。相应地,通过二进制转义规则,确定与上述二进制指令数据相对应的汇编指令如下:
xor al,al
mov rbx[rsp+70h]
步骤S230:通过虚拟机模拟CPU执行汇编指令。
由于上一步骤中已经通过二进制转义的方式确定了与二进制指令相对应的汇编指令,相应地,在本步骤中,能够通过虚拟机模拟CPU执行汇编指令。具体实施时,借助注入的DLL并通过虚拟机代理CPU执行转义得到的汇编指令,并将执行结果反馈给未知进程。
例如,在上例中,DLL将代理CPU执行转义得到的汇编指令。由此可见,本实施例中注入的DLL能够实现CPU的功能:主动读取内存中的二进制指令,并根据转义结果代理CPU执行转义后的汇编指令。例如,针对xor al,al这一条汇编指令,将由DLL代替CPU执行将al清零的操作,但是,对于被转义执行的进程来说是透明的、无感知的,进程本身无法知晓对应的指令究竟由CPU执行还是由DLL代理执行。通过该方式,能够从指令级别进行监控。
步骤S240:根据预设的漏洞防御规则,检测模拟CPU执行的汇编指令是否为与CPU漏洞相关的指令。
其中,预设的漏洞防御规则包括以下两种规则中的至少一种:
第一种漏洞防御规则为:根据指令频率是否大于预设频率阈值进行防御的规则。具体地,发明人在实现本发明的过程中发现:恶意进程发起攻击时,通过会在短期内多次发送指令,以实现攻击目的。相应地,通过监测指令频率有利于筛查恶意指令。例如,在本实施例中,根据预设频率阈值确定一个预设次数阈值,当一秒内命中预设漏洞指令的次数超过该预设次数阈值时确定指令符合漏洞防御规则。其中,该预设漏洞指令可以为预先确定的与CPU漏洞相关的指令。
第二种漏洞防御规则为:根据指令序列和/或指令序列组合是否与预设的漏洞指令序列特征相匹配进行防御的规则。其中,预设的漏洞指令序列特征根据预先确定的与CPU漏洞相关的指令生成。该漏洞指令序列特征既可以是单个指令的单序列特征,也可以是由多个指令构成的指令集合的序列集合特征。
例如,该漏洞指令序列特征包括:与缓存线清除指令(例如CLFLUSH指令)相对应的指令序列特征、与读取时间标签计数器操作码指令(例如RDTSC指令)相对应的指令序列特征、和/或与读取TSC寄存器指令(例如RDTSCP指令)相对应的指令序列特征等。与CPU漏洞相关的指令除上述提到的CLFLUSH指令、RDTSC指令、以及RDTSCP指令之外,还可以包括CLFLUSHOPT指令(即刷新缓存行已优化指令),通过上述指令能够实现针对CPU漏洞进行攻击的目的,因此,在本发明中需要重点监控这些指令。具体地,根据上述指令设置的漏洞指令序列特征可以包括上述指令的全部内容,也可以仅包括从上述指令中抽取出的特征内容。另外,考虑到有时需要通过一组由多个不同的指令构成的指令集合来实现攻击目的,因此,漏洞指令序列特征还可以包括:依序排列的多个指令特征。
在一个具体示例中,预设的漏洞指令序列特征包括以下指令序列和/或指令序列组合:读取TSC寄存器指令、和/或清除指令;并且,两条读取TSC寄存器指令之间的指令为预设的漏洞特征指令;其中,预设的漏洞特征指令包括:数据传送指令(如MOV指令)。其中,读取TSC寄存器指令包括指令,清除指令包括CFLUSH指令。例如,当CPU执行先后执行了RDTSCP指令以及CFLUSH指令,并且两条RDTSCP指令之间的指令符合CPU漏洞特征(例如两条RDTSCP指令之间的指令为MOV内存指令)时确定符合漏洞防御规则,应加以防范。优选地,还可以进一步增加一个执行次数的限制:例如,当CPU执行先后执行了RDTSCP指令以及CFLUSH指令,并且两条RDTSCP指令之间的指令符合CPU漏洞特征,并且执行次数大于预设次数阈值时,确定符合漏洞防御规则,应加以防范。另外,当CPU清除(flush)的内存在RDTSCP指令之间被访问时,也能够确定符合漏洞防御规则。
具体实施时,该预设的漏洞防御规则可以预先通过机器学习方式创建:首先,分别将样本监控代码注入各个样本进程,由样本监控代码接管与各个样本进程相对应的指令,以使与各个样本进程相对应的指令在虚拟CPU环境中执行;然后,通过机器学习算法,针对与各个样本进程相对应的指令以及指令执行结果进行训练,根据训练结果确定预设的漏洞防御规则。其中,样本监控代码与预设监控代码类似,都可以通过DLL实现,作用在于通过虚拟机模拟虚拟CPU环境,以使样本进程在虚拟CPU环境中运行。相应地,该样本监控代码能够监控到与该样本进程相关的全部指令,并且,该样本监控代码通过接管与该样本进程相关的全部指令并协助指令执行的方式能够获取到各个指令的执行结果,从而便于根据执行结果提取出恶意指令(即与CPU漏洞相关的指令),进而通过训练过程学习出恶意指令的指令特征,以扩充漏洞防御规则。通过机器学习方式,能够针对大量样本的指令进行学习,以确定各个指令是否为恶意指令,并进一步提取出恶意指令的特征,从而提升了漏洞防御规则的全面性及准确性。
当判断出与未知进程相对应的指令为与CPU漏洞相关的指令时,即可确定该未知进程为恶意进程,意图利用CPU漏洞发起攻击。相应地,需要针对未知进程进行拦截,以便防御攻击。具体地,在针对未知进程进行拦截时,可通过多种方式实现,例如,可以直接杀死未知进程,以避免该进程继续发起攻击;又如,还可以拦截与未知进程相对应的指令,从而仅拦截某一条或多条恶意指令,从而避免误杀进程。当判断出与未知进程相对应的指令不是与CPU漏洞相关的指令时,可以由动态链接库DLL接管与未知进程相对应的指令,以使与未知进程相对应的指令在虚拟CPU环境中执行;获取与未知进程相对应的指令的执行结果,当执行结果为与CPU漏洞相关的结果时,根据与未知进程相对应的指令更新预设的漏洞防御规则。具体地,通过由动态链接库DLL接管与未知进程相对应的指令,以使与未知进程相对应的指令在虚拟CPU环境中执行的方式,能够使未知进程相对应的指令在模拟出的虚拟CPU环境中执行并监测到执行结果,从而准确确定各个未知指令的执行动机,进而实现漏洞防御规则的更新。
另外,在本实施例中,漏洞防御规则可以存储在云端,从而便于实现各个客户端间的共享,并且,在规则更新时,只需更新云端即可,各个客户端能够快速共享更新结果。
另外,可选地,为了更有针对性地监测可疑进程,步骤S210还可以进一步包括:当监测到未知进程启动时,根据预设的进程查询表查询该未知进程的等级,当等级查询结果为预设等级(如可疑等级)时,执行将预设监控代码注入未知进程的操作。具体地,可通过回调函数或挂钩函数等多种机制实现未知进程的监测。例如,当未知程序启动时,操作系统调用安全软件中包含的回调函数,该回调函数能够将本次启动事件以及事件相关消息发送给安全软件的后台服务器,由后台服务器查询预设的进程查询表并返回查询结果。其中,事件相关消息包括:启动进程的身份标识(如进程的ID或PID)、进程的路径等相关信息。其中,预设的进程查询表既可以直接存储在安全软件的后台服务器上,也可以存储在云服务器上。该进程查询表中存储了各个进程的等级信息,以便于根据等级信息判断进程是否安全。该等级信息可通过等级标识表示,例如,通过等级标识将进程等级划分为安全等级、危险等级以及可疑等级。或者,该等级信息也可通过黑白名单表示,例如,存储在白名单中的进程为安全等级、存储在黑名单中的进程为危险等级、存储在灰名单中的进程为可疑等级。相应地,后台服务器查询该进程查询表后返回查询结果,以供安全软件根据查询结果进行处理:若未知进程的等级为安全等级,则放行该未知进程;若未知进程的等级为危险等级,则拦截该未知进程(例如杀死该未知进程,以阻止该未知进程继续运行);若未知进程的等级为可疑等级,则执行将预设监控代码注入未知进程的操作。
另外,通常情况下虚拟机装置对应的虚拟机运行环境只能实现程序行为层面的监控,例如,监控进程执行的写文件或读取注册表等行为,但是,无法从指令层面进行监控。然而,在本实施例中,通过注入用于二进制转义的DLL的方式能够在虚拟机装置中实现指令级别的监控,从而克服了常规方案中无法在虚拟机装置中监测进程指令的弊端。
综上可知,通过本实施例中的方式,能够通过二进制转义的方式模拟CPU执行汇编指令,进而从指令级别监控进程,由于指令更为细化,因此,与传统的监测操作系统或CPU提供的接口的方式相比,扩大了监控范围、提升了监控的准确性。该方式能够把进程虚拟机(即提供进程运行环境的虚拟机)的DLL注入到该进程,后续该进程会在该进程虚拟机DLL中执行,相应地,该DLL能够在指令级别监控该进程,如果监控到符合漏洞防御规则的指令则会拦截,还可以触发报警,以提示用户。另外,该方案能够从环3(即Ring3)层来模拟CPU,实现监控,从而能够监控到指令级别的内容。另外,本实施例提供的DLL注入方式能够在不改变进程运行环境的情况下实现DLL的注入过程,从而确保注入过程以及后续的监测过程对于用户而言是完全无感知的,从而提升了用户体验。在传统方式中,当发现可疑进程后,需要先杀死可疑进程,然后再重启该可疑进程,例如通过代理进程调用被监控的未知进程的方式实现重启,然而在这种方式中,当可疑进程被杀死时会对用户造成影响,且经重启后进程的父进程以及运行环境(例如,cmdline等)都会产生变化,不仅无法做到用户无感知,还容易被可疑进程发现异常。相比之下,本发明中的方式不仅实现了用户无感知,也不容易被可疑进程察觉,具有更好的实用性。
总而言之,通过本实施例中的二进制转义操作,能够模拟执行进程的二进制指令,从而监控到进程调用了那些跟CPU漏洞相关的指令,如RDTSCP,CFLUSH,(CFLUSH是把内存从缓存cache里面清掉,RDTSCP主要是把CPU的时间读出来。通常,触发CPU漏洞时都会调用RDTSCP指令。该方式还能够监控进程访问了那些内存。由于操作系统本身不提供CPU指令级别的监控,所以传统的监测方式无法监测指令级别。
最后,为了便于理解,再以一个具体示例描述一下本实施例中的二进制转义的具体细节:首先,当进程a.exe启动的时候,本实施例中的监测系统会监控到,并根据a.exe的相关信息查询云服务器,以确定a.exe的安全等级,若等级为非安全,则会插入上文提到的用于实现二进制转义的DLL(即vm.dll)到a.exe中。当vm.dll插入到a.exe后,会代理进程执行,并转义,以便模拟执行a.exe的二进制。并且,当vm.dll在执行a.exe的二进制的时候,会监控记录a.exe的一些特定行为,如调用RDTSCP,CFLUSH指令等,一旦vm.dll发现a.exe触发了CPU漏洞的规则后,将会触发报警以进行处理。
图3示出了本发明又一实施例提供的一种基于虚拟机实现的CPU漏洞检测系统的系统结构图,如图3所示,所述系统包括:
注入模块31,适于将预设监控代码注入未知进程,所述预设监控代码获取与所述未知进程相对应的二进制指令;
转义模块32,适于按照预设的二进制转义规则,确定与所述二进制指令相对应的汇编指令;
防御模块33,适于通过虚拟机模拟CPU执行所述汇编指令,并根据预设的漏洞防御规则,检测模拟CPU执行的所述汇编指令是否为与CPU漏洞相关的指令。
可选地,所述注入模块具体适于:
所述预设监控代码监测内存中的内存数据的变化量;
根据所述内存中的内存数据的变化量确定与所述未知进程相对应的二进制指令。
可选地,所述转义模块进一步适于:
确定二进制指令与汇编指令之间的对应关系,根据所述对应关系设置所述二进制转义规则。
可选地,所述防御模块具体适于:
通过虚拟机代理CPU执行所述汇编指令,并将执行结果反馈给所述未知进程。
可选地,所述预设的漏洞防御规则包括以下中的至少一个:
根据指令频率是否大于预设频率阈值进行防御的规则、以及根据指令序列和/或指令序列组合是否与预设的漏洞指令序列特征相匹配进行防御的规则。
可选地,所述预设的漏洞防御规则中存储的预设的漏洞指令序列特征包括以下中的至少一个:
与缓存线清除指令相对应的指令序列特征、与读取时间标签计数器操作码指令相对应的指令序列特征、以及与读取TSC寄存器指令相对应的指令序列特征。
可选地,所述预设的漏洞指令序列特征包括以下指令序列和/或指令序列组合:
读取TSC寄存器指令、和/或清除指令;并且,两条读取TSC寄存器指令之间的指令为预设的漏洞特征指令;其中,所述预设的漏洞特征指令包括:数据传送指令。
可选地,所述预设监控代码包括:动态链接库DLL文件,且所述动态链接库DLL文件用于实现虚拟CPU环境。
上述各个模块的具体结构和工作原理可参照方法实施例中相应步骤的描述,此处不再赘述。
本申请实施例提供了一种非易失性计算机存储介质,计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的基于虚拟机实现的CPU漏洞检测方法。
图4示出了根据本发明实施例的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图4所示,该电子设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:
处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器402,用于执行程序410,具体可以执行上述基于虚拟机实现的CPU漏洞检测方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以用于使得处理器402执行上述基于虚拟机实现的CPU漏洞检测方法实施例中的相关步骤。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的基于虚拟机实现的CPU漏洞检测装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明还公开了A1.一种基于虚拟机实现的CPU漏洞检测方法,包括:
将预设监控代码注入未知进程,所述预设监控代码获取与所述未知进程相对应的二进制指令;
按照预设的二进制转义规则,确定与所述二进制指令相对应的汇编指令;
通过虚拟机模拟CPU执行所述汇编指令,并根据预设的漏洞防御规则,检测模拟CPU执行的所述汇编指令是否为与CPU漏洞相关的指令。
A2.根据权利要求A1所述的方法,其中,所述预设监控代码获取与所述未知进程相对应的二进制指令包括:
所述预设监控代码监测内存中的内存数据的变化量;
根据所述内存中的内存数据的变化量确定与所述未知进程相对应的二进制指令。
A3.根据权利要求A1或2所述的方法,其中,所述方法执行之前,进一步包括:
确定二进制指令与汇编指令之间的对应关系,根据所述对应关系设置所述二进制转义规则。
A4.根据权利要求A1-3任一所述的方法,其中,所述通过虚拟机模拟CPU执行所述汇编指令包括:
通过虚拟机代理CPU执行所述汇编指令,并将执行结果反馈给所述未知进程。
A5.根据权利要求A1-4任一所述的方法,其中,所述预设的漏洞防御规则包括以下中的至少一个:
根据指令频率是否大于预设频率阈值进行防御的规则、以及根据指令序列和/或指令序列组合是否与预设的漏洞指令序列特征相匹配进行防御的规则。
A6.根据权利要求A5所述的方法,其中,所述预设的漏洞防御规则中存储的预设的漏洞指令序列特征包括以下中的至少一个:
与缓存线清除指令相对应的指令序列特征、与读取时间标签计数器操作码指令相对应的指令序列特征、以及与读取TSC寄存器指令相对应的指令序列特征。
A7.根据权利要求A5所述的方法,其中,所述预设的漏洞指令序列特征包括以下指令序列和/或指令序列组合:
读取TSC寄存器指令、和/或清除指令;并且,两条读取TSC寄存器指令之间的指令为预设的漏洞特征指令;其中,所述预设的漏洞特征指令包括:数据传送指令。
A8.根据权利要求A1-7任一所述的方法,其中,所述预设监控代码包括:动态链接库DLL文件,且所述动态链接库DLL文件用于实现虚拟CPU环境。
B9.一种基于虚拟机实现的CPU漏洞检测系统,包括:
注入模块,适于将预设监控代码注入未知进程,所述预设监控代码获取与所述未知进程相对应的二进制指令;
转义模块,适于按照预设的二进制转义规则,确定与所述二进制指令相对应的汇编指令;
防御模块,适于通过虚拟机模拟CPU执行所述汇编指令,并根据预设的漏洞防御规则,检测模拟CPU执行的所述汇编指令是否为与CPU漏洞相关的指令。
B10.根据权利要求B9所述的系统,其中,所述注入模块具体适于:
所述预设监控代码监测内存中的内存数据的变化量;
根据所述内存中的内存数据的变化量确定与所述未知进程相对应的二进制指令。
B11.根据权利要求B9或10所述的系统,其中,所述转义模块进一步适于:
确定二进制指令与汇编指令之间的对应关系,根据所述对应关系设置所述二进制转义规则。
B12.根据权利要求B9-11任一所述的系统,其中,所述防御模块具体适于:
通过虚拟机代理CPU执行所述汇编指令,并将执行结果反馈给所述未知进程。
B13.根据权利要求B9-12任一所述的系统,其中,所述预设的漏洞防御规则包括以下中的至少一个:
根据指令频率是否大于预设频率阈值进行防御的规则、以及根据指令序列和/或指令序列组合是否与预设的漏洞指令序列特征相匹配进行防御的规则。
B14.根据权利要求B13所述的系统,其中,所述预设的漏洞防御规则中存储的预设的漏洞指令序列特征包括以下中的至少一个:
与缓存线清除指令相对应的指令序列特征、与读取时间标签计数器操作码指令相对应的指令序列特征、以及与读取TSC寄存器指令相对应的指令序列特征。
B15.根据权利要求B14所述的系统,其中,所述预设的漏洞指令序列特征包括以下指令序列和/或指令序列组合:
读取TSC寄存器指令、和/或清除指令;并且,两条读取TSC寄存器指令之间的指令为预设的漏洞特征指令;其中,所述预设的漏洞特征指令包括:数据传送指令。
B16.根据权利要求B9-15任一所述的系统,其中,所述预设监控代码包括:动态链接库DLL文件,且所述动态链接库DLL文件用于实现虚拟CPU环境。
C17.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求A1-8任一所述的基于虚拟机实现的CPU漏洞检测方法对应的操作。
D18.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求A1-8任一所述的基于虚拟机实现的CPU漏洞检测方法对应的操作。
Claims (10)
1.一种基于虚拟机实现的CPU漏洞检测方法,包括:
将预设监控代码注入未知进程,所述预设监控代码获取与所述未知进程相对应的二进制指令;
按照预设的二进制转义规则,确定与所述二进制指令相对应的汇编指令;
通过虚拟机模拟CPU执行所述汇编指令,并根据预设的漏洞防御规则,检测模拟CPU执行的所述汇编指令是否为与CPU漏洞相关的指令。
2.根据权利要求1所述的方法,其中,所述预设监控代码获取与所述未知进程相对应的二进制指令包括:
所述预设监控代码监测内存中的内存数据的变化量;
根据所述内存中的内存数据的变化量确定与所述未知进程相对应的二进制指令。
3.根据权利要求1或2所述的方法,其中,所述方法执行之前,进一步包括:
确定二进制指令与汇编指令之间的对应关系,根据所述对应关系设置所述二进制转义规则。
4.根据权利要求1-3任一所述的方法,其中,所述通过虚拟机模拟CPU执行所述汇编指令包括:
通过虚拟机代理CPU执行所述汇编指令,并将执行结果反馈给所述未知进程。
5.根据权利要求1-4任一所述的方法,其中,所述预设的漏洞防御规则包括以下中的至少一个:
根据指令频率是否大于预设频率阈值进行防御的规则、以及根据指令序列和/或指令序列组合是否与预设的漏洞指令序列特征相匹配进行防御的规则。
6.根据权利要求5所述的方法,其中,所述预设的漏洞防御规则中存储的预设的漏洞指令序列特征包括以下中的至少一个:
与缓存线清除指令相对应的指令序列特征、与读取时间标签计数器操作码指令相对应的指令序列特征、以及与读取TSC寄存器指令相对应的指令序列特征。
7.根据权利要求5所述的方法,其中,所述预设的漏洞指令序列特征包括以下指令序列和/或指令序列组合:
读取TSC寄存器指令、和/或清除指令;并且,两条读取TSC寄存器指令之间的指令为预设的漏洞特征指令;其中,所述预设的漏洞特征指令包括:数据传送指令。
8.一种基于虚拟机实现的CPU漏洞检测系统,包括:
注入模块,适于将预设监控代码注入未知进程,所述预设监控代码获取与所述未知进程相对应的二进制指令;
转义模块,适于按照预设的二进制转义规则,确定与所述二进制指令相对应的汇编指令;
防御模块,适于通过虚拟机模拟CPU执行所述汇编指令,并根据预设的漏洞防御规则,检测模拟CPU执行的所述汇编指令是否为与CPU漏洞相关的指令。
9.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7任一所述的基于虚拟机实现的CPU漏洞检测方法对应的操作。
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7任一所述的基于虚拟机实现的CPU漏洞检测方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811613304.XA CN111382440B (zh) | 2018-12-27 | 2018-12-27 | 基于虚拟机实现的cpu漏洞检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811613304.XA CN111382440B (zh) | 2018-12-27 | 2018-12-27 | 基于虚拟机实现的cpu漏洞检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111382440A true CN111382440A (zh) | 2020-07-07 |
CN111382440B CN111382440B (zh) | 2024-05-10 |
Family
ID=71222337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811613304.XA Active CN111382440B (zh) | 2018-12-27 | 2018-12-27 | 基于虚拟机实现的cpu漏洞检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111382440B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685745A (zh) * | 2020-12-31 | 2021-04-20 | 北京梆梆安全科技有限公司 | 一种固件检测方法、装置、设备及存储介质 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154258A (zh) * | 2007-08-14 | 2008-04-02 | 电子科技大学 | 恶意程序动态行为自动化分析系统与方法 |
CN101515320A (zh) * | 2009-04-10 | 2009-08-26 | 中国科学院软件研究所 | 一种攻击时漏洞检测方法及其系统 |
US20110231936A1 (en) * | 2010-03-19 | 2011-09-22 | Aspect Security Inc. | Detection of vulnerabilities in computer systems |
CN102254120A (zh) * | 2011-08-09 | 2011-11-23 | 成都市华为赛门铁克科技有限公司 | 恶意代码的检测方法、系统及相关装置 |
US20130298203A1 (en) * | 2012-05-07 | 2013-11-07 | Samsung Electronics Co., Ltd. | Apparatus and method of providing security to cloud data to prevent unauthorized access |
CN103593608A (zh) * | 2012-12-25 | 2014-02-19 | 卡巴斯基实验室封闭式股份公司 | 用于检测由虚拟机所执行的恶意代码的系统和方法 |
CN104915595A (zh) * | 2015-06-30 | 2015-09-16 | 北京奇虎科技有限公司 | 云平台虚拟化漏洞修复的方法及装置 |
US20150304337A1 (en) * | 2012-11-14 | 2015-10-22 | University Of Virginia Patent Foundation | Methods, systems and computer readable media for detecting command injection attacks |
CN105204985A (zh) * | 2014-06-23 | 2015-12-30 | 腾讯科技(深圳)有限公司 | 漏洞检测方法及装置 |
US20170046518A1 (en) * | 2015-08-11 | 2017-02-16 | Symantec Corporation | Systems and methods for detecting unknown vulnerabilities in computing processes |
CN106611122A (zh) * | 2015-10-27 | 2017-05-03 | 国家电网公司 | 基于虚拟执行的未知恶意程序离线检测系统 |
CN106850582A (zh) * | 2017-01-05 | 2017-06-13 | 中国电子科技网络信息安全有限公司 | 一种基于指令监控的apt高级威胁检测方法 |
CN107220544A (zh) * | 2016-03-22 | 2017-09-29 | 趣斯特派普有限公司 | 用于检测感兴趣指令序列的系统和方法 |
CN107315961A (zh) * | 2017-07-11 | 2017-11-03 | 北京奇虎科技有限公司 | 程序漏洞检测方法及装置、计算设备、存储介质 |
CN107330331A (zh) * | 2016-04-29 | 2017-11-07 | 阿里巴巴集团控股有限公司 | 识别存在漏洞的系统的方法、装置和系统 |
US20180276372A1 (en) * | 2015-10-28 | 2018-09-27 | Fractal Industries, Inc. | System and methods for sandboxed malware analysis and automated patch development, deployment and validation |
-
2018
- 2018-12-27 CN CN201811613304.XA patent/CN111382440B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154258A (zh) * | 2007-08-14 | 2008-04-02 | 电子科技大学 | 恶意程序动态行为自动化分析系统与方法 |
CN101515320A (zh) * | 2009-04-10 | 2009-08-26 | 中国科学院软件研究所 | 一种攻击时漏洞检测方法及其系统 |
US20110231936A1 (en) * | 2010-03-19 | 2011-09-22 | Aspect Security Inc. | Detection of vulnerabilities in computer systems |
CN102254120A (zh) * | 2011-08-09 | 2011-11-23 | 成都市华为赛门铁克科技有限公司 | 恶意代码的检测方法、系统及相关装置 |
US20130298203A1 (en) * | 2012-05-07 | 2013-11-07 | Samsung Electronics Co., Ltd. | Apparatus and method of providing security to cloud data to prevent unauthorized access |
US20150304337A1 (en) * | 2012-11-14 | 2015-10-22 | University Of Virginia Patent Foundation | Methods, systems and computer readable media for detecting command injection attacks |
US8713631B1 (en) * | 2012-12-25 | 2014-04-29 | Kaspersky Lab Zao | System and method for detecting malicious code executed by virtual machine |
CN103593608A (zh) * | 2012-12-25 | 2014-02-19 | 卡巴斯基实验室封闭式股份公司 | 用于检测由虚拟机所执行的恶意代码的系统和方法 |
CN105204985A (zh) * | 2014-06-23 | 2015-12-30 | 腾讯科技(深圳)有限公司 | 漏洞检测方法及装置 |
CN104915595A (zh) * | 2015-06-30 | 2015-09-16 | 北京奇虎科技有限公司 | 云平台虚拟化漏洞修复的方法及装置 |
US20170046518A1 (en) * | 2015-08-11 | 2017-02-16 | Symantec Corporation | Systems and methods for detecting unknown vulnerabilities in computing processes |
CN106611122A (zh) * | 2015-10-27 | 2017-05-03 | 国家电网公司 | 基于虚拟执行的未知恶意程序离线检测系统 |
US20180276372A1 (en) * | 2015-10-28 | 2018-09-27 | Fractal Industries, Inc. | System and methods for sandboxed malware analysis and automated patch development, deployment and validation |
CN107220544A (zh) * | 2016-03-22 | 2017-09-29 | 趣斯特派普有限公司 | 用于检测感兴趣指令序列的系统和方法 |
CN107330331A (zh) * | 2016-04-29 | 2017-11-07 | 阿里巴巴集团控股有限公司 | 识别存在漏洞的系统的方法、装置和系统 |
CN106850582A (zh) * | 2017-01-05 | 2017-06-13 | 中国电子科技网络信息安全有限公司 | 一种基于指令监控的apt高级威胁检测方法 |
CN107315961A (zh) * | 2017-07-11 | 2017-11-03 | 北京奇虎科技有限公司 | 程序漏洞检测方法及装置、计算设备、存储介质 |
Non-Patent Citations (4)
Title |
---|
DAWEI SHI 等: "Detecting environment-sensitive malware based on taint analysis", 2017 8TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND SERVICE SCIENCE (ICSESS), 23 April 2018 (2018-04-23) * |
王奕森;舒辉;谢耀滨;赵利军;: "基于指令集随机化的代码注入型攻击防御技术", 计算机应用与软件, no. 05, 15 May 2016 (2016-05-15) * |
程志炜;陈财森;邱雪欢;: "基于Flush+Reload的DES算法Cache计时攻击", 计算机工程, no. 12 * |
童瀛;牛博威;周宇;张旗;: "基于沙箱技术的恶意代码行为检测方法", 西安邮电大学学报, no. 05, 10 September 2018 (2018-09-10) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685745A (zh) * | 2020-12-31 | 2021-04-20 | 北京梆梆安全科技有限公司 | 一种固件检测方法、装置、设备及存储介质 |
CN112685745B (zh) * | 2020-12-31 | 2023-11-21 | 北京梆梆安全科技有限公司 | 一种固件检测方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111382440B (zh) | 2024-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684832B (zh) | 检测恶意文件的系统和方法 | |
RU2698776C2 (ru) | Способ ведения базы данных и соответствующий сервер | |
US10581879B1 (en) | Enhanced malware detection for generated objects | |
RU2531861C1 (ru) | Система и способ оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса | |
US10055585B2 (en) | Hardware and software execution profiling | |
KR102271545B1 (ko) | 도메인 생성 알고리즘(dga) 멀웨어 탐지를 위한 시스템 및 방법들 | |
CN110119619B (zh) | 创建防病毒记录的系统和方法 | |
US20120272317A1 (en) | System and method for detecting infectious web content | |
US20170353434A1 (en) | Methods for detection of reflected cross site scripting attacks | |
US9910983B2 (en) | Malware detection | |
CN107566401B (zh) | 虚拟化环境的防护方法及装置 | |
Xuan et al. | Toward revealing kernel malware behavior in virtual execution environments | |
CN111444509B (zh) | 基于虚拟机实现的cpu漏洞检测方法及系统 | |
CN111382440B (zh) | 基于虚拟机实现的cpu漏洞检测方法及系统 | |
CN111444510A (zh) | 基于虚拟机实现的cpu漏洞检测方法及系统 | |
CN111291368B (zh) | Cpu漏洞的防御方法及系统 | |
CN111444508B (zh) | 基于虚拟机实现的cpu漏洞检测装置及方法 | |
US11763004B1 (en) | System and method for bootkit detection | |
Grimmett et al. | Categorizing mobile device malware based on system side-effects | |
Phillips et al. | Sterilized Persistence Vectors (SPVs): Defense Through Deception on Windows Systems | |
Thomas et al. | Active malware countermeasure approach for mission critical systems | |
Genç et al. | Case Study: Analysis and Mitigation of a Novel Sandbox-Evasion Technique | |
Maggio | Improving Memory Forensics Through Emulation and Program Analysis | |
JP6498413B2 (ja) | 情報処理システム、情報処理装置、制御サーバ、生成サーバ、動作制御方法及び動作制御プログラム | |
Mulukutla | Wolfsting: Extending Online Dynamic Malware Analysis Systems by Engaging Malware. |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |