x86虚拟化指令集(VT-x,AMD-V)是否有其他用途?

Ada*_*ras 11 virtualization x86

硬件辅助虚拟化为在虚拟机管理程序上高效安全地运行客户操作系统提供了良好的途径.

做这些指令集(如Intel的VT-x,AMD的AMD-V,以及扩展页表扩展)提供情景价值比运行客户机操作系统批发?例如,它们是否可以用于沙盒进程或防止内核模式代码执行它们不应该做的事情?

Sta*_*k07 9

通过英特尔自己的"硬件辅助虚拟化"页面,他们提到了几个有趣的应用程序:

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

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

2.医疗设备:保护应用程序和患者数据对于医疗诊断设备至关重要.可以使用Intel VT隔离需要更高安全级别的应用程序,这可以保护硬件中的内存空间并有助于防止恶意软件的攻击.因此,在安全分区中运行的软件只能访问其自己的代码和数据区域,无法在其内存边界之外进行寻呼,因为硬件会阻止未经授权的访问.

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


Nik*_*pol 5

这些指令集(例如Intel的VT-x,AMD的AMD-V和扩展页表扩展)是否为运行客户操作系统批发以外的方案提供了价值?

虚拟化扩展的另一个用例是运行裸机虚拟机管理程序(也称为类型1虚拟机管理程序).除了能够在顶部运行多个操作系统之外,您还可以直接在虚拟机管理程序(不在客户操作系统实例中)常规虚拟化操作系统之间运行裸机应用程序.管理程序可以保证安全性,使这些应用程序可以运行医疗设备等关键系统.如果客户操作系统崩溃,管理程序将确保裸机应用程序不受影响.

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

它们可以用于沙盒进程,但这也是常规操作系统的功能.

或者防止内核模式代码执行它们不应该做的事情?

这实际上是虚拟客户机操作系统尝试执行敏感指令时发生的情况,敏感指令是可以改变可以在架构的非特权模式下运行的机器的执行的指令.