什么差异583806094

嵌入式Hypervisor和虚拟化的分离微内核之间的区别是什么?

2020年2月14日,
hypervisor和带有虚拟化层的分离微内核都支持多个客户操作系统,但一个更关注虚拟化特性,而另一个则关注安全性和实时性。

管理程序在企业服务器中广泛使用,嵌入式领域的产品数量也在不断增加。管理程序用于虚拟化并提供一定程度的隔离,但它们不是唯一的选项。微核起源于嵌入式世界,而分离微核则是专门为隔离和安全而设计的。可以将管理程序中使用的相同虚拟机技术添加到微内核中,以便在需要时提供虚拟化解决方案。

这两个解决方案都提供了在虚拟化环境中运行多个操作系统(OS)的能力,包括混合操作系统类型。随着时间的推移,这两种技术越来越接近,但在延迟、确定性和安全性方面仍然存在一些显著的差异。

一个管理程序,也称为虚拟机监视器,是设计用于创建和运行虚拟机(VM)的软件,每个软件都抽象硬件平台并运行客户操作系统。管理程序负责隔离每个VM,使一个VM的操作无法妥协另一个(图。1).为了与企业服务器源保持一致,管理程序和vm是重量级的构造,通常在代码库、内存占用和执行延迟方面消耗大量资源。


hypervisor可以分为类型1和类型2。类型1管理程序运行在主机硬件(即“裸金属”)上,而类型2管理程序运行在主机OS上。类型1管理程序通常通过消除一层软件来提供更高的性能。但是,这是假设所有或大多数应用程序都需要虚拟化的。如果只有一小部分应用程序需要虚拟化,那么使用Type 2 hypervisor可以获得更高的整体系统性能。

例如,如果大多数应用程序运行在实时操作系统(RTOS)上,而只有一两个其他应用程序需要运行在Linux或Microsoft Windows上,那么实时应用程序可以运行在主机操作系统上,而不需要通过管理程序。只有需要虚拟化的应用程序才需要付出虚拟化性能的代价。

微内核是一种操作系统,其中唯一的基本服务以内核模式实现,而所有其他服务主要在用户空间中实现,包括设备驱动程序、文件系统、网络堆栈和虚拟化。这将增加模块化、灵活性和健壮性,以及更小的可信计算基础(TCB)。

一种特定类型的微内核是分离内核,它将其控制下的所有导出资源分配到各个分区中,除了显式允许的信息流外,这些分区都是隔离的。为最高安全而设计的分离内核符合美国国家安全局(NSA)定义的分离内核保护配置文件(SKPP),该配置文件是为最恶劣的威胁环境而创建的。

包含虚拟化层的分离微内核与Type 2 hypervisor有一些相似之处,因为虚拟化层运行在主机操作系统之上,并且可以有选择地应用于需要虚拟化的应用程序。但是,它的不同之处在于隔离功能是由隔离微内核(在本例中是主机操作系统)提供的,而且即使在虚拟化层的不同实例之间也强制隔离(图2)


虚拟化功能

具有虚拟化层的虚拟机管理程序和MicroRERNELS都使用硬件加速以进行全面虚拟化。例如,在英特尔处理器上,包括英特尔VT-X,EPT和Intel VT-D。Intel VT-X提供了用于输入和退出虚拟执行模式的硬件说明,其中客户机操作系统将自己视为运行完全权限,而主机操作系统仍然受保护。扩展页面表(EPT)提供将映射从物理到虚拟内存保持映射的页面表的虚拟化。英特尔VT-D提供了一种硬件辅助,用于重新映射直接内存访问(DMA)传输和设备生成的中断。即使是那些硬件 - 加速技术和类似的其他处理器,也仍然在软件中进行公平的虚拟化。

由于它们的企业传统,hypervisor有时会对每台主机的虚拟机数量提供更高的限制,并对虚拟化管理特性提供更广泛的支持。这些高级管理功能可能包括动态资源分配、故障转移和动态迁移。这些功能在不同的实现中可能有很大的不同。

延迟和确定性

在普通微处理器支持某些虚拟化功能的硬件加速之前,全虚拟化解决方案的性能是出了名的低。尽管现代微处理器提供了一系列的虚拟化支持,但仍需要在软件中处理相当数量的I/O虚拟化,例如设备模拟、总线模拟、中断模拟和路由。

通常,虚拟化具有较低的延迟和更高的性能,具有1类型的虚拟机管理程序,因为它不必通过主机操作系统进行。但是,使用1型虚拟机管理程序,每个应用程序必须支付该虚拟化罚款。其中包括实时和安全关键的应用程序。

相反,具有虚拟化层的微内核可以具有直接在主机操作系统上运行的实时应用程序,而非实时应用程序在虚拟化层的顶部运行。这种方法的虚拟化性能损失更大,但它仅由非实时应用程序支付。以这种方式,所有硬实时和安全关键应用程序都会获得宿主RTOS固有的低延迟和确定主义。

一些虚拟机管理程序会尝试通过在没有以“裸金属”模式下没有客户操作系统的情况下,进一步降低延迟,但这是一个错误的人。即使应用程序在客户机操作系统上运行,它仍然在管理程序的顶部运行。如果目标是运行具有较低延迟的实时,安全关键或安全性关键应用程序,则在没有操作系统的情况下运行不是到达那里的方式。几乎所有这些类型的目标应用程序都需要任务服务,信号量或消息传递 - 其中都没有裸机模式。

安全

安全可能是hypervisor和具有虚拟化层的分离微内核之间最显著的区别。尽管安全性可能是考虑使用hypervisor的主要原因,但是仅仅因为hypervisor利用硬件特性强制执行虚拟地址空间和虚拟I/O来隔离vm,就认为它们天生就是安全的,这是一个神话。

更准确地说,大多数管理程序提供的主要安全保护只是通过MMU和IOMMU提供的底层硬件支持。首先,硬件安全仅涵盖隔离vm所需的部分内容,其次,硬件安全仅有助于隔离vm,而不能使hypervisor本身更安全。因为管理程序运行在客户操作系统之下,所以被破坏的管理程序不会被VM检测到。这种行为甚至有一个很吸引人的名字:超级劫持。

漏洞出现的可能性通常与攻击面大小成正比。管理程序让虚拟化软件以内核模式运行,使其成为可信计算基础(TCB)的一部分,并且虚拟化代码可能非常庞大。几乎所有从客户操作系统到内核的调用都需要捕获、检查并确定客户操作系统是否允许这样的访问。

对于要高效的虚拟化解决方案,它需要虚拟化指令序列而不是单个指令。此类展望前方功能只是追求虚拟机管理程序的已经大量代码库的一个示例,以追求最小化虚拟化性能损失。

根据定义,构建微内核时尽可能少地运行在内核模式中,因此虚拟化层不是TCB的一部分。这并不意味着虚拟机不受保护。相反,分离微内核为每个分区提供隔离,无论是否虚拟化。即使在虚拟化层出现漏洞,该漏洞也不能传播到其他虚拟机的虚拟化层的另一个实例。通过这种方式,分离微内核可以防止超级劫持。

使用分离内核技术的微内核可以具有最高级别的安全性和隔离。该安全级别的证明是由NSA或类似的安全标准(Common Criteria EAL6)发布给SKPP的认证。一些虚拟机监控程序包括一些用于提高安全性的分离内核原则,但是没有一个商业虚拟机监控程序获得SKPP或Common Criteria EAL6的认证。

具有可选虚拟化层的分离微内核的示例是Integrity-178 Tump RTOS青山软件.Integrity-178是一项安全和安全关键的操作系统,由国家信息保证伙伴关系(NIAP)认证,以满足SKPP,高稳健性以及常见标准EAL6 +。Integrity-178 Tump RTOS将该谱系扩展到多核处理器。

其可选的虚拟化层在分隔内核隔离的分区中运行分区,并允许一个或多个客户机同时在同一微处理器上同时运行安全性和安全性 - 关键函数。结果是一个系统,可针对安全,安全性和实时性能进行优化,同时启用需要额外的通用或遗留操作系统支持的应用程序。

Richard Jaenicke是安全与安全关键产品营销总监青山软件

参考文献

约翰·拉什比,“安全系统的设计与验证,“第八ACM操作系统原则研讨会,第12-21页,Asilomar,CA,1981年12月。

国家安全局信息保障局,”美国政府保护型材,用于需要高稳健性的环境中的分离内核,版本1.03,2007年6月。

从我们的合作伙伴

欢迎来到边缘

照片/图像学分(按显示顺序)。pinkeyes - stock.adobe.com, Monopoly919 - stock.adobe.com, proindustrial2 - stock.adobe.com。加入我们吧…

你的科技指数是多少?

采取咬合尺寸的艾美理智景观 - 我们在哪里,我们所在的地方,我们要去哪里。然后用我们的合作伙伴Micr探索更多信息......

非金属外壳与金属外壳相比

聚碳酸酯GEOS附件. .非金属外壳与金属外壳相比。非金属外壳与金属外壳的比较2。什么……

威尔电池管理中有线与无线通信2020年10月2日

电动汽车电池管理中的有线与无线通信。泰勒沃格特应用工程师电池管理系统德州仪器。与电工实习…

外壳材料可用于粗糙环境

适用于恶劣环境的外壳材料。金属外壳通常不适合高度恶劣的环境……

声音你的意见!

本网站要求您注册或登录以发表评论。
目前还没有任何评论。想开始对话吗?

从我们的合作伙伴

欢迎来到边缘

照片/图像学分(按显示顺序)。pinkeyes - stock.adobe.com, Monopoly919 - stock.adobe.com, proindustrial2 - stock.adobe.com。加入我们吧…

你的科技指数是多少?

采取咬合尺寸的艾美理智景观 - 我们在哪里,我们所在的地方,我们要去哪里。然后用我们的合作伙伴Micr探索更多信息......

非金属外壳与金属外壳相比

聚碳酸酯GEOS附件. .非金属外壳与金属外壳相比。非金属外壳与金属外壳的比较2。什么……

威尔电池管理中有线与无线通信2020年10月2日

电动汽车电池管理中的有线与无线通信。泰勒沃格特应用工程师电池管理系统德州仪器。与电工实习…

外壳材料可用于粗糙环境

适用于恶劣环境的外壳材料。金属外壳通常不适合高度恶劣的环境……
Baidu