2024年4月5日发(作者:)

第1章 计算机系统安全虚拟实验环境搭建

1.1 虚拟机软件VMware的使用

【实验目的】

信息安全课程中要进行相关的安全实验,有的实验需要至少两台主机及其独立的操作系

统,且主机间可以通过以太网进行通信。有的实验对系统本身以及对网络中其它主机有潜在

的破坏性。为此,利用虚拟机软件VMware在一台主机中再虚拟出一台PC机并安装一套操

作系统,以便完成后续的安全实验。

【实验类型】

软件的安装、配置与使用。

【实验原理】

1.虚拟机的概念

虚拟机的概念主要有两种,一种是像Java那样提供介于硬件和编译程序之间的软件,

另一种是指利用软件“虚拟”出来一台计算机。本实验中的虚拟机是指后者。

“虚拟机”是一个由软件提供的、具有模拟真实的特定硬件环境的计算机,虚拟机提供

的“计算机”和真正的计算机一样,也包括CPU、内存、硬盘、光驱、软驱、显卡、声卡、

SCSI卡、USB接口、PCI接口、BIOS等。在虚拟机中可以和真正的计算机一样安装操作系

统、应用程序和软件,也可以对外提供服务。

x86平台的虚拟化技术可分为3类,全硬件仿真虚拟化技术(Hardware Emulation)、半虚

拟化技术(Para-Virtualization)和操作系统级虚拟化技术(OS-Level Virtualization)。

首先介绍虚拟化技术中3个最基本的概念。

 宿主操作系统(Host OS)。该操作系统是与硬件直接进行数据通信的最底层的操作

系统。

 虚拟机监视器(Virtual Machine Monitor,VMM),又称虚拟化管理器(Virtual Monitor,

Hypervisor)。位于宿主操作系统之上,负责配置、管理虚拟系统和调度、管理资源

的一个系统级应用程序。

 客户操作系统(Guest OS)。它们位于虚拟化管理器之上,是由虚拟化管理器配置、

管理的如Microsoft Windows或Linux的标准操作系统或虚拟环境(Virtual

Environment)。

下面介绍3种虚拟化技术。

(1)全硬件仿真虚拟化技术

该技术最本质的特点是,虚拟化管理器将所有的真实硬件设备以软件形式仿真出来,在

客户操作系统看来,仿真出来的硬件无异于真实硬件,即虚拟化管理器采用仿真的手段,骗

过了作为客户操作系统的标准操作系统,使其以为安装在真实的硬件设备之上,全硬件仿真

虚拟化技术架构如图1-1所示。

1

虚拟主机 1

应用软件

操作系统

(客户操作系统)

虚拟主机(客户机)

主板、磁盘、显卡、

内存、网卡….

虚拟主机 2

应用软件

操作系统

(客户操作系统)

主板、磁盘、显卡、

内存、网卡….

虚拟化管理器(如虚拟机软件VMWare)

操作系统(宿主操作系统)

物理主机(宿主机)

主板、磁盘、显卡、内存、网卡….

图1-1 全硬件仿真虚拟化示意图

作为标准的操作系统,客户操作系统就是被设计成直接向CPU发出专有指令(The

Privileged Instructions)来控制硬件的,但在虚拟机中,执行这些指令是非常危险的操作,会

造成错误结果,甚至死机。为此,虚拟化管理器需要采用“动态指令重写”技术捕获这些来

自虚拟机中客户操作系统的专有指令,并作相应处理。

正是由于全硬件仿真,也带来了这一技术的最大优势——客户操作系统选择的广泛性,

即无需修改代码,就能成功地安装支持x86平台的任何操作系统(如Microsoft Windows系列、

Linux系列,甚至是支持x86平台的Sun Solaris)。

这一技术的主要领导者是VMware。其中不管是早期的Vmware Workstaiton产品系列,

还是现在的VMware Server系列和VMware ESX系列,都是采用全硬件仿真的技术思路,

只不过,VMware Workstaiton和VMware Server是基于某一特定的Microsoft Windows或是

Linux平台,而VMware ESX是自带了一套Linux内核的宿主操作系统。

看到虚拟化的需求和发展趋势后,微软公司也相继推出了Microsoft Virtual Server和

Microsoft Virtual PC系列产品。

(2)半虚拟化技术

与全硬件仿真技术相似的“半虚拟化”技术”也是基于硬件仿真的,但不同的是半虚拟

化技术不是采用“动态指令重写”技术捕获这些来自虚拟机中客户操作系统的专有指令来避

免“虚拟化漏洞”,而是通过修改客户操作系统与体系相关的那部分内核模块,将虚拟机上

的客户操作系统发出的专有指令重定向到虚拟化管理器上。目的是让客户操作系统知道它不

是安装在硬件上,而是安装在虚拟管理器之上。这样,可以避免“动态指令重写”带来的性

能损耗,得到一个更高效的虚拟化平台。

提升虚拟化系统的性能,降低性能损耗是半虚拟化技术设计的初衷。测试结果显示,基

于“半虚拟化”技术的性能损耗在3%左右。

英国剑桥大学的Xen是—个基于“半虚拟化”技术的开源产品。尽管项目发展仅用了

短短几年时间,但却被操作系统厂商、CPU厂商、IBM、HP等业界巨头看好,得到了各方

的大量关注和支持。

(3)操作系统级虚拟化技术

操作系统级虚拟化技术又称为内核级虚拟化技术(Kernal-Level Virtualization),是一种有

别于硬件仿真的虚拟化技术。“操作系统级”虚拟化技术采用的不是虚拟化硬件的技术思路,

而是利用宿主操作系统的内核,通过开辟独享文件系统(Proprietary File System)和内核服务

抽象层(Kernel Service Abstraction Layer)创建多个虚拟环境(Virtual Environment),每个虚拟环

2