用于在退出虚拟机器后暴露当前处理器指令的系统及方法技术方案

技术编号:15198129 阅读:91 留言:0更新日期:2017-04-21 13:57
所描述系统及方法使得主机系统当在硬件可视化配置中操作时能够高效地执行计算机安全活动。处理器经配置以当在客户机VM内执行的软件执行存储器存取违例时产生VM暂停事件(例如,VM退出或虚拟化异常)。在一些实施例中,所述处理器进一步经配置以在产生所述VM暂停事件之前将针对触发所述事件的处理器指令确定的反汇编数据保存到特殊位置(例如,特定处理器寄存器)。所保存反汇编数据可包含例如平台上的前缀、操作码、Mod R/M、SIB、位移及立即数字段等个别指令编码字段的内容。

System and method for exposing a current processor instruction after exiting a virtual machine

The described system and method enable a host computer system to perform computer security activities efficiently when operating in a hardware visual configuration. The processor is configured to generate a VM pause event (e.g., a VM exit or a virtual exception) when performing a memory access violation in a client VM. In some embodiments, the processor is further configured to generate the disassembly in the preservation of data before the VM event will be suspended to trigger the event processor instruction to determine the special position (for example, a particular processor register). The saved data can be disassembled for example contains platform prefix, operation code, R/M, SIB, Mod displacement and section of the individual instructions immediately digital content encoding field.

【技术实现步骤摘要】
【国外来华专利技术】相关申请案本申请案主张2014年8月18日提出申请的标题为“用于在退出虚拟机器后暴露当前处理器指令的系统及方法(SystemsAndMethodsforExposingACurrentProcessorInstructionUponExitingAVirtualMachine)”的美国临时专利申请案第62/038,476号的申请日期的权益,所述美国临时专利申请案的全部内容以引用的方式并入本文中。
技术介绍
本专利技术涉及计算机安全,且特定来说涉及在硬件虚拟化配置中执行计算机安全操作。恶意的软件(还称为恶意软件(malware))影响全世界的大量计算机系统。在其许多形式(例如计算机病毒、蠕虫、隐匿程序(rootkit)及间谍软件)中,恶意软件给数百万计算机用户呈现严重风险,使所述计算机用户易受数据及敏感信息丢失、身份盗用及生产力损失以及其它。现代计算应用通常采用硬件可视化技术以形成称作虚拟机器(VM)的模拟计算机环境,所述VM在许多方面表现为物理计算机系统。在例如服务器合并及基础设施即服务(infrastructure-as-a-service)等应用中,数个虚拟机器可在同一计算机系统上同时运行,所述虚拟机器共享硬件资源,因此减少投资及操作成本。每一虚拟机器可与其它虚拟机器单独地运行其自身的操作系统及/或软件。由于例如恶意软件及间谍软件等计算机安全威胁的稳定增多,因此每一此虚拟机器可能需要保护。一些安全解决方案通过监视客户机进程在受保护VM存取存储器内所执行的方式以识别潜在恶意的活动而保护虚拟机器。在一个实例中,当尝试写入到特定存储器区域(例如,由客户机进程使用的存储器区域)或从所述特定存储器区域执行代码时,计算机安全程序可配置处理器以产生内部事件(例如,异常或VM退出事件)。此类处理器事件通常暂停对当前线程的执行且将处理器切换成执行事件处理程序例程,所述事件处理程序例程可形成计算机安全程序的部分。计算机安全程序可因此检测到以可指示恶意软件的方式存取存储器的尝试。在分析事件之后,计算机安全程序可仿真在事件发生时正被执行的处理器指令,且可将执行返回到原始线程。此类方法通常在所属领域中称作陷入与仿真(trap-and-emulate)。常规陷入与仿真方法可对主机计算机系统造成大量计算负担,从而可能影响用户体验及生产率。因此,对开发适合于虚拟化环境的高效计算机安全系统及方法存在相当大的兴趣。
技术实现思路
根据一个方面,一种主机系统包括经配置以执行虚拟机器及计算机安全程序的至少一个硬件处理器。所述至少一个处理器进一步经配置以确定在所述虚拟机器内执行客户机指令是否导致存储器存取许可的违例。作为响应,当执行所述客户机指令导致所述违例时,所述至少一个硬件处理器进一步经配置以:将所述客户机指令的机器代码表示的一部分写入到可由所述计算机安全程序存取的预定位置;暂停对所述客户机指令的所述执行;及响应于暂停对所述客户机指令的所述执行,切换到执行所述计算机安全程序,其中所述计算机安全程序经配置以确定所述违例是否指示计算机安全威胁。根据另一方面,一种保护主机系统免受计算机安全威胁的方法,所述方法包括响应于接收到用于执行的客户机指令,采用所述主机系统的至少一个硬件处理器以确定执行所述客户机指令是否导致存储器存取许可的违例,其中所述客户机指令在由所述主机系统暴露的虚拟机器内执行。所述方法进一步包括响应于确定所述客户机指令是否导致所述违例,当执行所述客户机指令导致所述违例时:采用所述至少一个硬件处理器以将所述客户机指令的机器代码表示的一部分写入到可由所述计算机安全程序存取的预定位置;及采用所述至少一个硬件处理器以暂停对所述客户机指令的所述执行。所述方法进一步包括响应于暂停对所述客户机指令的所述执行,切换到执行计算机安全程序,所述计算机安全程序经配置以确定所述违例是否指示计算机安全威胁。根据另一方面,一种主机系统的至少一个硬件处理器可配置以响应于接收到用于执行的客户机指令,确定执行所述客户机指令是否导致存储器存取许可的违例,其中所述客户机指令在由所述主机系统暴露的客户机虚拟机器内执行。所述至少一个硬件处理器可进一步配置以响应于确定所述客户机指令是否导致所述违例,当执行所述客户机指令导致所述违例时:将所述客户机指令的机器代码表示的一部分写入到可由所述计算机安全程序存取的预定位置;暂停对所述客户机指令的所述执行;及响应于暂停对所述客户机指令的所述执行,切换到执行计算机安全程序,其中所述计算机安全程序经配置以确定所述违例是否指示计算机安全威胁。根据另一方面,一种非暂时性计算机可读媒体存储指令,所述指令在由主机系统的至少一个硬件处理器执行时致使所述主机系统形成计算机安全程序,所述计算机安全程序经配置以确定存储器存取许可的违例是否指示计算机安全威胁。所述至少一个硬件处理器可配置以响应于接收到用于执行的客户机指令,确定执行所述客户机指令是否导致所述违例,其中所述客户机指令在由所述主机系统暴露的虚拟机器内执行。所述至少一个硬件处理器可进一步配置以响应于确定所述客户机指令是否导致所述违例,当执行所述客户机指令导致所述违例时:将所述客户机指令的机器代码表示的一部分写入到可由所述计算机安全程序存取的预定位置;暂停对所述客户机指令的所述执行;及响应于暂停对所述客户机指令的所述执行,切换到执行所述计算机安全程序。附图说明在阅读以下详细描述后且在参考图式后,本专利技术的前述方面及优点将即刻变得较好理解,在图式中:图1展示根据本专利技术的一些实施例的主机计算机系统的示范性硬件配置。图2-A展示根据本专利技术的一些实施例的由在主机系统上执行的虚拟机管理程序(hypervisor)暴露的一组示范性虚拟机器及保护所述组虚拟机器的计算机安全模块(CSM)。图2-B展示本专利技术的替代实施例,其中CSM在虚拟机器下方执行且其中异常处理程序在受保护虚拟机器内执行。图2-C展示本专利技术的另一实施例,其中CSM及异常处理程序两者均在受保护虚拟机器内执行。图3展示根据本专利技术的一些实施例的暴露为客户机虚拟机器的虚拟化硬件的示范性配置。图4展示根据本专利技术的一些实施例的在如图2-A中所展示的硬件虚拟化配置中的一组示范性存储器地址翻译。图5展示根据本专利技术的一些实施例的处理器的示范性组件。图6展示根据本专利技术的一些实施例的处理器的示范性暂停事件寄存器。图7展示x86指令集的示范性处理器指令的汇编语言表示及其对应机器代码表示。图8展示根据本专利技术的一些实施例的由处理器执行以执行处理器指令的示范性步骤序列。图9图解说明根据本专利技术的一些实施例的由计算机安全模块执行以保护客户机虚拟机器的示范性步骤序列。具体实施方式在以下描述中,应理解,结构之间的所有所陈述连接可为直接操作连接或通过中间结构的间接操作连接。一组元素包含一个或多个元素。对元素的任何陈述应理解为是指至少一个元素。多个元素包含至少两个元素。除非另有需要,否则任何所描述方法步骤不需要一定以特定所图解说明次序执行。从第二元素导出的第一元素(例如,数据)囊括等于所述第二元素的第一元素以及通过处理所述第二元素而产生的第一元素及任选地其它数据。根据参数做出确定或决策囊括根据所述参数及任选地根据其它数据做出确定或决策。除非另有规定,否则一些数量/数据的指示符可为数量本文档来自技高网
...
用于在退出虚拟机器后暴露当前处理器指令的系统及方法

【技术保护点】
一种主机系统,其包括经配置以执行虚拟机器及计算机安全程序的至少一个硬件处理器,其中所述至少一个处理器进一步经配置以:确定在所述虚拟机器内执行客户机指令是否导致存储器存取许可的违例;及作为响应,当执行所述客户机指令导致所述违例时:将所述客户机指令的机器代码表示的一部分写入到可由所述计算机安全程序存取的预定位置;暂停对所述客户机指令的所述执行;及响应于暂停对所述客户机指令的所述执行,切换到执行所述计算机安全程序,其中所述计算机安全程序经配置以确定所述违例是否指示计算机安全威胁。

【技术特征摘要】
【国外来华专利技术】2014.08.18 US 62/038,476;2014.09.18 US 14/489,8011.一种主机系统,其包括经配置以执行虚拟机器及计算机安全程序的至少一个硬件处理器,其中所述至少一个处理器进一步经配置以:确定在所述虚拟机器内执行客户机指令是否导致存储器存取许可的违例;及作为响应,当执行所述客户机指令导致所述违例时:将所述客户机指令的机器代码表示的一部分写入到可由所述计算机安全程序存取的预定位置;暂停对所述客户机指令的所述执行;及响应于暂停对所述客户机指令的所述执行,切换到执行所述计算机安全程序,其中所述计算机安全程序经配置以确定所述违例是否指示计算机安全威胁。2.根据权利要求1所述的主机系统,其中所述机器代码表示包括编码字段序列,且其中所述部分包括所述客户机指令的个别编码字段的内容。3.根据权利要求2所述的主机系统,其中所述个别编码字段选自由以下各项组成的群组:所述机器代码表示的前缀字段、操作码字段、modR/M字段、SIB字段、位移字段及立即数字段。4.根据权利要求1所述的主机系统,其中所述部分指示所述客户机指令的运算符。5.根据权利要求1所述的主机系统,其中所述部分指示所述客户机指令的操作数。6.根据权利要求1所述的主机系统,其中所述至少一个硬件处理器进一步经配置以响应于确定执行所述客户机指令是否导致所述违例,当执行所述客户机指令导致所述违例时,将由所述客户机指令指示的存储器地址写入到所述预定位置。7.根据权利要求6所述的主机系统,其中所述存储器地址是位于所述虚拟机器的存储器空间内的客户机物理地址GPA,通过翻译由所述机器代码表示指示的虚拟地址而确定所述GPA。8.根据权利要求6所述的主机系统,其中所述存储器地址是位于所述主机系统的物理存储器内的主机物理地址HPA,通过翻译由所述机器代码表示指示的虚拟地址而确定所述HPA。9.根据权利要求6所述的主机系统,其中根据所述客户机指令的存储器位置确定所述存储器地址。10.根据权利要求1所述的主机系统,其中所述至少一个硬件处理器进一步经配置以响应于确定执行所述客户机指令是否导致所述违例,当执行所述客户机指令导致所述违例时,将处理器寄存器的指示符写入到所述预定位置,所述寄存器由所述客户机指令指示。11.根据权利要求1所述的主机系统,其中所述计算机安全程序在所述虚拟机器内执行。12.根据权利要求1所述的主机系统,其中所述计算机安全程序在所述虚拟机器外部执行。13.根据权利要求1所述的主机系统,其中所述预定位置包括所述至少一个硬件处理器的预定寄存器。14.根据权利要求13所述的主机系统,其中所述预定寄存器是所述至少一个硬件处理器的模型特定寄存器MSR。1...

【专利技术属性】
技术研发人员:山多尔·卢卡奇安德烈弗拉德·卢察什
申请(专利权)人:比特梵德知识产权管理有限公司
类型:发明
国别省市:塞浦路斯;CY

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

1