基于虚拟机实现的CPU漏洞检测方法及系统技术方案

技术编号:24799960 阅读:22 留言:0更新日期:2020-07-07 21:07
本发明专利技术公开了一种基于虚拟机实现的CPU漏洞检测方法及系统。其中,该方法包括:将预设监控代码注入未知进程,所述预设监控代码获取与所述未知进程相对应的二进制指令;按照预设的二进制转义规则,确定与所述二进制指令相对应的汇编指令;通过虚拟机模拟CPU执行所述汇编指令,并根据预设的漏洞防御规则,检测模拟CPU执行的所述汇编指令是否为与CPU漏洞相关的指令。该方式能够实现指令级别的监控,进而能够监控到与CPU漏洞相关的各个指令,实现更为全面的防御效果。

【技术实现步骤摘要】
基于虚拟机实现的CPU漏洞检测方法及系统
本专利技术涉及计算机
,具体涉及一种基于虚拟机实现的CPU漏洞检测方法及系统。
技术介绍
中央处理器(CentralProcessingUnit,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:将预设监控代码注入未知进程,该预设监控代码获取与未知进程相对应的二进制指令。其中,注入是指:将一段第三方逻辑代码放置到应用程序内存中并执行。在本实施例中,该第三方逻辑代码即为预设监控代码。该预设监控代码用于实现对未知进程中的各个指令进行监控的目的,本专利技术不限定预设监控代码的具体实现方式,只要能够实现上述目的即可。例如,该预设监控代码可以是动态链接库(DynamicLinkLibrary,简称DLL)文件,进而通过DLL注入技术实现。并且,本实施例中的预设监控代码能够获取与未知进程相对应的二进制指令。其中,与未知进程相对应的二进制指令实际上也可以理解为二进制信息,具体是指:由未知进程发起并在内存中执行的二进制形式的指令信息。通过获取与未知进程相对应的二进制指令信息,能够在后续步骤中对获取到的指令信息进行监控。步骤S120:按照预设的二进制转义规则,确定与二进制指令相对应的汇编指令。通常情况下,由未知进程发起并在内存中执行的二进制形式的指令信息需要由CPU将其转换为相应的汇编指令才能执行。在本实施例中,为了能够在虚拟机环境中对未知进程进行监管,需要由虚拟机模拟CPU执行与未知进程相对应的二进制指令。相应地,在本步骤中,按照预设的二进制转义规则,确定与二进制指令相对应的汇编指令。由于内存中的二进制指令信息与CPU执行的汇编指令之间具有一定的对应关系,因此,可以基于二者之间的对应关系设置该二进制转义规则。步骤S130:通过虚拟机模拟CPU执行汇编指令,并根据预设的漏洞防御规则,检测模拟CPU执行的汇编指令是否为与CPU漏洞相关的指令。由于上一步骤中已经通过二进制转义的方式确定了与二进制指令相对应的汇编指令,相应地,在本步骤中,能够通过虚拟机模拟CPU执行汇编指令,并在模拟执行的过程中,根据预设的漏洞防御规则,检测模拟CPU执行的汇编指令是否为与CPU漏洞相关的指令。其中,该预设的漏洞防御规则用于从指令级别判断一个指令是否为与CPU漏洞相关的指令。所谓与CPU漏洞相关的指令是指:通过指令的运行,能够利用CPU漏洞发起攻击的指令,相应地,凡是能够利用CPU漏洞进行恶意行为的指令均属于与CPU漏洞相关的指令。在本实施例中,预设的漏洞防御规则主要用于从指令的执行频率、指令序列的序列特征等方面来识别一个指令是否为与CPU漏洞相关的指令。例如,可以预先确定与CPU漏洞相关的指令的执行频率以及指令序列特征,从本文档来自技高网...

【技术保护点】
1.一种基于虚拟机实现的CPU漏洞检测方法,包括:/n将预设监控代码注入未知进程,所述预设监控代码获取与所述未知进程相对应的二进制指令;/n按照预设的二进制转义规则,确定与所述二进制指令相对应的汇编指令;/n通过虚拟机模拟CPU执行所述汇编指令,并根据预设的漏洞防御规则,检测模拟CPU执行的所述汇编指令是否为与CPU漏洞相关的指令。/n

【技术特征摘要】
1.一种基于虚拟机实现的CPU漏洞检测方法,包括:
将预设监控代码注入未知进程,所述预设监控代码获取与所述未知进程相对应的二进制指令;
按照预设的二进制转义规则,确定与所述二进制指令相对应的汇编指令;
通过虚拟机模拟CPU执行所述汇编指令,并根据预设的漏洞防御规则,检测模拟CPU执行的所述汇编指令是否为与CPU漏洞相关的指令。


2.根据权利要求1所述的方法,其中,所述预设监控代码获取与所述未知进程相对应的二进制指令包括:
所述预设监控代码监测内存中的内存数据的变化量;
根据所述内存中的内存数据的变化量确定与所述未知进程相对应的二进制指令。


3.根据权利要求1或2所述的方法,其中,所述方法执行之前,进一步包括:
确定二进制指令与汇编指令之间的对应关系,根据所述对应关系设置所述二进制转义规则。


4.根据权利要求1-3任一所述的方法,其中,所述通过虚拟机模拟CPU执行所述汇编指令包括:
通过虚拟机代理CPU执行所述汇编指令,并将执行结果反馈给所述未知进程。


5.根据权利要求1-4任一所述的方法,其中,所述预设的漏洞防御规则包括以下中的至少一个:
根据指令频率是否大于预设频率阈值进行防御的规则、以及根据指令序列和/或指令序列组合是否与预设的漏洞指令序列特征相匹配进行防御的规则。


6.根据权利要求5所述的方法,其中,所述预设的漏洞防御规则中存储的预设的漏洞指令序列特征包括...

【专利技术属性】
技术研发人员:潘剑锋彭岩秦光远
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1