首页
社区
课程
招聘
[原创]Hyper-V安全从0到1(0)
发表于: 2017-11-8 00:16 9996

[原创]Hyper-V安全从0到1(0)

2017-11-8 00:16
9996

1. Hyper-V介绍及安装

Hyper-V是一款微软编写的虚拟化软件,其功能类似于其他虚拟化产品,例如:VMwareQEMUXen等产品。现阶段Hyper-V被广泛应用于Microsoft Azure云计算平台中,普通用户可以很轻松的购买Azure的云计算服务。并且,在最新版本的Windows操作系统中,Hyper-V也可以非常方便的安装与使用。无论是云计算服务还是桌面虚拟化,Hyper-V都以强大的生命力竞争着当今的虚拟化市场。

1.1. Hyper-V介绍

支持Hyper-V的操作系统版本需要Windows server 2008或更高版本Windows操作系统,并且宿主机CPU要求支持Intel VT技术或者AMD-V技术。早期版本的Hyper-V还不能支持Linux虚拟机,并且功能单一。通过这几年Hyper-V版本的不断更新,它已经支持Linux虚拟机,并且完善了许多功能,在虚拟机性能和安全性上也有了极大的提升,充分具备了与市面上其他虚拟化软件竞争的条件。

    Hyper-V采用了微内核的架构,充分保证了宿主机的安全性和稳定性,同时也提高了虚拟机性能。正是因为Hyper-V采用了微内核架构,所以最底层为虚拟机的Hypervisor层,微软称之为Ring -1层,而作为HostWindows操作系统运行在Ring 0层。在系统启动过程中,Hypervisor层要先于Windows系统启动,并且运行权限要比Windows操作系统还要高一级,说白了,就是在系统启动过程中,Hypervisor层接管了Windows操作系统。而这种架构十分像XenProject开发的Xen

1-1概括了Hyper-V的运行架构,便于读者更好的理解Hyper-V的大致架构。


1-1 Hyper-V架构

(图片来源:https://i-msdn.sec.s-msft.com/dynimg/IC194739.gif


    如图1-1所示,在启动Hyper-V管理器中的虚拟机时,会为每一个虚拟机创建一个名为vmwp.exe的进程,在图中就是Root Partition中的VMWP(虚拟机工作进程)部分,而这个Root Partition就是宿主机系统,即当前负责管理虚拟机的Windows操作系统。在Root Partition中,宿主机通过VMMS(虚拟机管理服务)来管理虚拟机的状态。

    启动后的虚拟机在图中划分为Child Partition,如图1-1中所示,Root PartitionChild Partition都是运行在相同级别的Hypervisor层之上,换句话说,虚拟机和宿主机在硬件中的运行级别是相同的,也就是说,如果虚拟机发生了故障,不会影响到宿主机;宿主机发生了非致命故障,例如并非蓝屏等Ring 0下的故障,也不会影响虚拟机的正常运行。笔者曾经对一个虚拟机工作进程vmwp.exe进行下断点调试,会发现表面上虚拟机像是停止运行了,但是实际上SSH连上虚拟机的终端还是能完美的运行我所输入的指令。因此Hyper-V的这种微内核架构极大程度上提高了系统稳定性,并非像QEMUVMware那样,断下虚拟机工作进程后,虚拟机内部就确确实实的停止工作了。

    宿主机和虚拟机之间的数据传输通过VMBus实现,VMBus是微软开发的虚拟数据传输总线,用来宿主机和虚拟机之间交换数据和信息。使用VMBus的优点就是能进行快速、高效、大数据量的数据传输,极大的提升了虚拟机的性能。VMBus的原理和QEMU中的VirtIO设备类似,通过共享环形内存,每当要传输的数据写满整个环形内存时,就把数据发送到宿主机中。可以说,微软成功的借鉴了VirtIO设备的优点,取其优点用之,才会使得Hyper-V虚拟机性能大幅提升。

    图1-1中,WinHv/LinuxHv是用来进行宿主机和虚拟机通信的模块。例如,当有数据要从虚拟机中发送至宿主机中,会通过虚拟机中的WinHv/LinuxHv通知宿主机进行接收并处理;从宿主机传递数据到虚拟机也是同理。WinHv/LinuxHv模块通信原理是Intel VT技术或者AMD-V技术,实现的是硬件层面上的虚拟化,所以在安全性上看来,Hyper-V这种利用硬件虚拟化的方式与传统的模拟设备端口读写的虚拟化方式相比,硬件虚拟化更加具有安全性上的优势。而且,硬件虚拟化也有在虚拟机性能方面的优势。

    Hyper-V在虚拟机性能和安全性上可以说是有不俗的表现,但是在功能上来讲,VMware要比它做的好的多,例如,Hyper-V不支持虚拟串口,不支持虚拟USB设备等。这对依赖这些功能的用户来讲,确实是一个麻烦的问题,只能期待微软在以后的Hyper-V版本中加入此类功能吧。


1.2. Hyper-V安装及配置

1.Hyper-V的安装

Hyper-V的安装十分简单,不似VMware那般需要自行下载安装,更不需QEMUXen那般需要编译,解决一大堆依赖问题。

如果您的Windows版本是桌面版,那么您可以通过如下方式安装Hyper-V:控制面板->程序和功能。如图1-2,点击启用或关闭Windows功能,出现图1-3对话框。在图1-3中,勾选上所有Hyper-V相关的功能,点击确定,然后重新启动计算机。之后的安装Windows会自动运行,重启后,Hyper-V便安装完成,如图1-4

1-2

1-3

1-4

如果您的Windows版本是Windows Server版本,则可以到服务器管理器中,点击右上角的管理菜单,点击添加角色功能,如图1-5所示。

1-5



[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
  • 1.pdf (2.94MB,107次下载)
收藏
免费 4
支持
分享
最新回复 (3)
雪    币: 4230
活跃值: (1435)
能力值: (RANK:270 )
在线值:
发帖
回帖
粉丝
2
期待后续关于虚拟化挖洞经验的分享:P
2017-11-8 00:52
0
雪    币: 1746
活跃值: (227)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
3
好帖
2017-11-8 08:36
0
雪    币: 346
活跃值: (25)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
好帖,感谢分享!
2017-11-8 10:04
0
游客
登录 | 注册 方可回帖
返回
//