【问题标题】:Do the x86 virtualization instruction sets (VT-x, AMD-V) have alternate uses?x86 虚拟化指令集(VT-x、AMD-V)是否有其他用途?
【发布时间】:2014-08-20 02:42:14
【问题描述】:

硬件辅助虚拟化为在虚拟机管理程序上高效、安全地运行来宾操作系统提供了一个很好的途径。

这些指令集(例如 Intel 的 VT-x、AMD 的 AMD-V 和扩展页表扩展)是否为其他大量运行客户操作系统的场景提供价值?例如,它们是否可以用于沙箱进程或防止内核模式代码片段做他们不应该做的事情?

【问题讨论】:

    标签: virtualization x86


    【解决方案1】:

    通过英特尔自己的 "Hardware assisted virtualization" 页面,他们提到了几个有趣的应用程序:

    1.工业系统:虚拟化使系统能够 同时运行实时和通用操作系统, 每个都在英特尔® 多核处理器的专用处理器内核上。

    这与运行客户操作系统不同。在这里,VT-x 的特性可以用来并行运行两个不同的操作系统,这样我们就可以结合两者的优点来实现我们的目标。例如,您需要非常高精度的实时数据监控,非常高速的处理:在这种情况下,数据采集可以完全委托给运行在其中一个内核上的 RTOS ,而另一个运行 GPOS 来处理数据。

    2。医疗设备:保护应用程序和患者数据是 医疗诊断设备必不可少。应用程序需要 使用 Intel VT 可以隔离更高级别的安全性, 保护他们在硬件中的内存空间,并有助于防止攻击 恶意软件。因此,在安全分区中运行的软件 只能访问自己的代码和数据区域,无法分页 超出其内存边界,因为硬件排除了 未经授权的访问。

    正如他们所提到的,在 VT 中实现的内存空间保护允许软件只运行它自己的代码,并且只能访问它自己的内存空间。这在电子安全方面有很大的潜力。

    【讨论】:

    • 这些应用程序是在同一处理器上运行多个操作系统的特殊情况。
    • 不,这些是在同一处理器上的不同内核上运行应用程序的示例......尤其是在第一种情况下。
    • 是的,它们是在同一处理器上运行多个操作系统的特殊情况(示例 1 中的 RTOS 和 GPOS,示例 2 中的高安全性应用程序和低安全性应用程序的操作系统) )。当然,每个操作系统都运行自己的应用程序。
    • 投反对票的人能否让我知道我的回答有什么问题?
    • 您的最后一个用例是基于什么?什么是“稍有特权”?为什么运行在更高特权级别的游戏会有更好的性能?
    【解决方案2】:

    这些指令集(例如 Intel 的 VT-x、AMD 的 AMD-V 和 Extended Page Tables 扩展)是否为运行客户操作系统以外的场景提供价值?

    虚拟化扩展的另一个用例是运行bare metal hypervisor(也称为type 1 hypervisor)。除了能够在上面运行多个操作系统之外,您还可以直接在虚拟机管理程序之上(不在来宾操作系统实例内)运行裸机应用程序常规虚拟化操作系统一起。管理程序可以保证安全性,以便这些应用程序可以运行医疗设备等关键系统。如果客户操作系统崩溃,管理程序将确保裸机应用程序不受影响。

    例如,它们可以用于沙箱进程吗?

    它们可用于沙箱进程,但这也是常规操作系统所做的。

    或者阻止内核模式代码片段做他们不应该做的事情?

    这实际上是虚拟化客户操作系统尝试执行sensitive instructions 时发生的情况,这些指令可以改变可以在非特权环境中运行的机器的执行架构模式

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-06
      • 1970-01-01
      • 2016-07-14
      • 2015-12-24
      相关资源
      最近更新 更多