This article appears to be sourced from: http://technet.microsoft.com/en-us/dd547035(zh-cn).aspx
首先,微软Hyper-V在微内核方面的优势就昭示了其自身的与众不同。Hyper-V微内核管理程序包含了尽可能少的代码,驱动程序是跑在每一个独立的分区之中,虚拟主机OS虽然在相互独立的单独分区内但是却能够很好的通过Hypervisor直接访问硬件,所以在在Hyper-V的管理程序中,我们并不能看到设备驱动程序。其本身内部不含有任何的第三方代码,都是一个纯粹的微软的代码,而且代码非常好,所以里面就不存在任何的BUG。所以微软能成功的将Hyper-V的安全隐患降到了最低,这是其他任何产品所无法比拟的。 另外,我们知道微软的前身是Virtual Server,它是一个建立在Ring0内核模式和Ring3用户模式下的传统模式,宿主机的Windows和驱动程序及VS底层驱动都是在Ring0下,Virtual Server则是在Windows Server上的,通过IIS来进行管理,与内核之间建立进行通信,而对于虚拟机,Virtual Server是运行于一个高于WIndows的Ring1虚拟内核模式上,特权低于Ring0,但是高于Ring3–问题在于很多特权指令很可能不能够在Ring1上得到完善的支持,虽然微软已经采用了一种二进制指令翻译的技术对此进行处理,但是这种并不是一个根本解决问题的方法。其架构模型如下图1所示: 而在Hyper-V中是直接在硬件底层安装Hypervisor,然后再在虚拟机上划分多个分区,这里所谓的父分区和子分区看起来似乎和之前的宿主机和虚拟机对应,但是他们的内核都是运行在Ring0上,应用程序则运行在Ring3用户模式上,虚拟机的内核都是运行在Ring1之中,Hypervisor运行的则更为底级,大体是运行在CPU的某个层上。这样一来,父分区和子分区的地位已经基本平等,所以在Hyper-V中也不再有宿主机和虚拟机之分。下图2为新版Hyper-V的架构图,我们可以欣赏一下: 其次,微软Hyper虚拟化的安全因素还包括其完善的隔离机制,微软HV所有的虚拟化设备之间都不是经过共享的,每一个Parent Partition与Child Partition之间的VMbus调用通通都是经过隔离。不管是网络,还是硬盘,还是其他的设备,每台主机之间都是经过隔离的子分区。每一个虚拟机之间都是通通看不到对方(除非你设置了某些共享)。所以这样每个安全应用都能各自独立而安全的运行。
Ed Price MSFT edited Revision 8. Comment: Updated title case.
Ed Price MSFT edited Revision 7. Comment: Minor edit.
Ed Price MSFT edited Original. Comment: Taking Pronichkin's suggestion... " [[Hyper-V]] redirects here. I believe that is not correct and [[Hyper-V]] should redirect to some general “Portal” thath should be in English. So I kindly suppose this article to be renamed into something like “Hyper-V Security (ja-jp)” to avoid URL collisions."
The non-English characters used in the article title do not appear in the page URL, so [[Hyper-V]] redirects here. I believe that is not correct and [[Hyper-V]] should redirect to some general “Portal” that should be in English.
So I kindly suppose this article to be renamed into something like “Hyper-V Security (locale)” to avoid URL collisions.
Ed Price MSFT edited Revision 1. Comment: Adjusting language in title
Pronichkin,
Edited per your suggestion. Please review.
Looks great to me and thanks for correcting my own comment :)
But there's a couple of problesms arised. And this is the case where software appears to be more intelligent then I expected.
1. “Hyper-V” title is still reserved by this article. You can see it trying to greate a “Hyper-V” page and receiving the following error: “A page by this name exists in this wiki already. Please choose another name for this page”.
If you try to follow “Hyper-V” link (social.technet.microsoft.com/.../hyper-v.aspx) you will get redirected to this page.
2. Existing links were fixed automatically and still follow this page. (See [[Draft Homepage]] for example). They have to be fixed manually.
I suppose the following page should be renamed to just “Hyper-V” and serve as a “Portal” (Wiki hub for collecting links to related articles): social.technet.microsoft.com/.../hyper-v-stub-pages.aspx
Maybe it would be better to discuss this further in Forum.
Thank you for the suggestion, I will correct their mistakes.
Tony Soper_MSFT edited Revision 3. Comment: Retitling because of conflict with Enlish-language "Hyper-V" portal page
Ed Price MSFT edited Revision 5. Comment: Minor capitalization edit to title.
Tony Soper_MSFT edited Revision 6. Comment: added source and corrected title
Images aren't coming up for me.