一种缩减宿主型虚拟化软件可信计算基的方法技术

技术编号:13286309 阅读:86 留言:0更新日期:2016-07-09 02:24
本发明专利技术公开了一种缩减宿主型虚拟化软件可信计算基的方法,其特征在于,针对宿主操作系统(host OS)的特权代码,将host OS的功能通过“库”的形式在用户空间提供给上层应用使用,包括虚拟化软件和其他的应用程序;针对虚拟化软件的特权代码,将虚拟化软件的特权代码降级分离;设置运行在内核空间(kernel space)的特权代码“minor OS”,用于完成和硬件资源必要的通信;设置非特权级用户空间的OS“libOS”,用于完成OS功能的用户层实现;设置在用户空间运行的虚拟化软件“hypervisor”;设置运行在内核空间的用来处理虚拟化软件请求的特权部分“minor hypervisor”。

【技术实现步骤摘要】

本专利技术属于虚拟化软件可信计算基
,更具体地,涉及一种缩减宿主型虚拟化软件可信计算基的方法
技术介绍
虚拟化软件为充分利用底层物理硬件资源提供了一种解决方案,运行在其上的客户操作系统(guestOS)使用虚拟的硬件资源。虚拟化软件需要对CPU、内存、IO外设等提供虚拟化解决方案,因此通常有庞大的代码基。例如,开源项目Xen超过50万行源代码;KVM项目除了KVM内核模块本身,其底层的Linux系统也包含在可信计算基(TCB)内,特权代码量在数百万行。虚拟化软件分为两种:裸机型(bare-metal)虚拟化管理程序(hypervisor)和宿主型(hosted)hypervisor。Bare-metalhypervisor需要自己对底层的硬件进行管理;hostedhypervisor利用了底层hostOS对硬件进行管理的优势,大大的缩减了管理硬件资源需要的功能(如devicedriver),该类hypervisor的典型代表是KVM开源软件。KVM是linux内核的一部分并灵活地运用了linux的资源管理功能,容易部署。企业中的虚拟化解决方案开始逐步的像KVM虚拟化迁移,KVM的市场份额不断增加,按照2013年OpenStack的使用用户调研资料显示,搭建OpenStack云平台的用户中有62%的用户选择KVM作为hypervisor。由于hostedhypervisor是hostOS的一部分并依托hostOS提供的功能,例如内存管理、设备驱动管理、CPU调度等操作系统功能,整个hostOS都在hostedhypervisor的TCB中,缩减hostedhypervisor的TCB要比缩减bare-metal要复杂(如,需要考虑hostedhypervisor对hostOS的依赖)。相比于bare-metalhypervisor自己管理物理硬件资源而言,hostedhypervisor拥有更多的安全威胁,庞大的hostOS的所有漏洞都将直接或者间接的影响到guestOS安全。传统的针对解决虚拟化庞大可信计算基的方案有:基于硬件的解决方案和基于软件的方案。从软件的角度,为了不信任虚拟化软件,方案需要构建一个特权级高于虚拟化软件的软件模块,例如CloudVisor监控和干预虚拟化软件和硬件的交互,对于虚拟机中的guestOS而言不用信任虚拟化软件,从而使得虚拟化软件从guestOS的TCB中排除。从硬件的角度,为了不信任任何的上层软件实体,方案需要引入硬件级的可信实体,例如HyperWall修改了MMU的指令时序来控制虚拟化软件和硬件的交互,从而把TCB缩减到了硬件层。以上解决方案存在两个方面的不足:1、由于需要额外的引入一层薄的特权软件层或者修改硬件架构,一定程度上影响了虚拟化的性能开销;2、这些方案作用的对象都是裸机型的虚拟化软件,宿主型的虚拟化软件由于寄住在hostOS里面,并依赖hostOS提供的功能,这些方案未考虑到宿主型虚拟化平台中的guestOS的TCB缩减问题以及该问题的复杂性。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种缩减宿主型虚拟化软件可信计算基的方法,针对宿主操作系统(hostOS)的特权代码,将hostOS的功能通过“库”的形式在用户空间提供给上层应用使用,包括虚拟化软件和其他的应用程序;针对虚拟化软件的特权代码,将虚拟化软件的特权代码降级分离;设置运行在内核空间(kernelspace)的特权代码“minorOS”,用于完成和硬件资源必要的通信;设置非特权级用户空间的OS“libOS”,用于完成OS功能的用户层实现;设置在用户空间运行的虚拟化软件“hypervisor”;设置运行在内核空间的用来处理虚拟化软件请求的特权部分“minorhypervisor”。在本专利技术的一个实施例中,所述MinorOS是管理底层的硬件平台资源所支持的最小特权代码基,其中,devicedriver设备驱动作为操作系统中大的代码部分,放置在用户空间,其中所述代码为支持各种设备的设备驱动。在本专利技术的一个实施例中,所述MinorHypervisor是维持虚拟化功能所需要的最小特权代码,其和MinorOS运行在CPU最高特权级,共同组成了VM的TCB;Minorhypervisor用于实现guestOS的资源控制隔离,hypervisor不能随意的查看guestOS的隐私信息。在本专利技术的一个实施例中,所述LibOS用于完成OS功能的用户层实现,包括设备管理和内存管理;libOS包括有针对内存管理部分的libOS版本和针对设备管理的libOS部分。在本专利技术的一个实施例中,一个libOS能够被hostapp链接使用,或者能够被运行在用户层的hypervisor链接使用。在本专利技术的一个实施例中,所述Hypervisor是运行在用户层的虚拟化软件,用于完成虚拟化的大部分功能,提供guestOS虚拟化的资源视图,其与minorhypervisor共同完成对硬件平台的虚拟化。总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,能够取得下列有益效果:1、HostOS的特权代码的减小受益于libOS方法。Virtualmemory子系统、driver支持子系统、devicedriver、进程管理、文件系统等这些OS功能都可以通过libOS方法实现。操作系统中大部分代码来自于devicedriver和drivezsupport;2、Hypervisor的特权代码的缩减受益于对hypervisor的分层处理。Hypervisor依据对hostOS的依赖以及硬件虚拟化支持可以分为三个层次:a.与hostOS没有交互部分并可以移动用户层执行,这部分可以完全的移动用户层;b.依赖hostOS的功能完成虚拟化,如客户机内存分配依赖于hostOS的内存API,这部分需要在kernelspace和userspace空间分别有对应的处理代码;c.Hypervisor中只能在特权级执行的部分,如硬件虚拟化支持代码(例如,IntelVT-x),这部分不能被移到用户层。这三部分中,a和b两部分占hypervisor源码中的大部分;3、GuestOS的TCB从两个方面得到有效的缩减。由于加固的minorOS和minorhypervisor拥有对底层的绝对控制权,libOS模块和hypervisor模块被设计为不能任意的读取guestOS的隐私信息(包括本文档来自技高网
...

【技术保护点】
一种缩减宿主型虚拟化软件可信计算基的方法,其特征在于,针对宿主操作系统(host OS)的特权代码,将host OS的功能通过“库”的形式在用户空间提供给上层应用使用,包括虚拟化软件和其他的应用程序;针对虚拟化软件的特权代码,将虚拟化软件的特权代码降级分离;设置运行在内核空间(kernel space)的特权代码“minor OS”,用于完成和硬件资源必要的通信;设置非特权级用户空间的OS“libOS”,用于完成OS功能的用户层实现;设置在用户空间运行的虚拟化软件“hypervisor”;设置运行在内核空间的用来处理虚拟化软件请求的特权部分“minor hypervisor”。

【技术特征摘要】
1.一种缩减宿主型虚拟化软件可信计算基的方法,其特征在于,针对
宿主操作系统(hostOS)的特权代码,将hostOS的功能通过“库”的形
式在用户空间提供给上层应用使用,包括虚拟化软件和其他的应用程序;针
对虚拟化软件的特权代码,将虚拟化软件的特权代码降级分离;设置运行在
内核空间(kernelspace)的特权代码“minorOS”,用于完成和硬件资源
必要的通信;设置非特权级用户空间的OS“libOS”,用于完成OS功能的
用户层实现;设置在用户空间运行的虚拟化软件“hypervisor”;设置运行
在内核空间的用来处理虚拟化软件请求的特权部分“minorhypervisor”。
2.如权利要求1所述的缩减宿主型虚拟化软件可信计算基的方法,其
特征在于,所述MinorOS是管理底层的硬件平台资源所支持的最小特权代
码基,其中,devicedriver设备驱动作为操作系统中大的代码部分,放置
在用户空间,其中所述代码为支持各种设备的设备驱动。
3.如权利要求1或2所述的缩减宿主型虚拟化软件可信计算基的方法,
其特征在于,所述Mi...

【专利技术属性】
技术研发人员:羌卫中金海章康邹德清
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北;42

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

1