当前位置:文档之家› 基于Intel VT-d技术的虚拟机安全隔离研究

基于Intel VT-d技术的虚拟机安全隔离研究

目录

摘要 ........................................................................................................................... I 目录 ........................................................................................................................... I 图目录 ........................................................................................................................ IV 表目录 ........................................................................................................................ VI 第1章绪论.. (1)

1.1 研究背景 (1)

1.2 国内外的研究现状 (2)

1.3 本文主要工作 (2)

1.4 论文的结构 (3)

第2章虚拟机技术 (5)

2.1 虚拟化技术概述 (5)

2.1.1 虚拟化技术的基本概念 (5)

2.1.2 虚拟化技术分类 (6)

2.1.3 虚拟机的经典模型 (7)

2.2 三种虚拟化技术简介 (8)

2.2.1 全虚拟化 (8)

2.2.2 半虚拟化技术 (9)

2.2.3 硬件虚拟化 (9)

2.3 主流虚拟机简介 (9)

2.3.1 VMWare (9)

2.3.2 Qemu (10)

2.3.3 Xen (10)

2.3.4 KVM (11)

2.4 虚拟机的应用 (12)

2.5 本章小结 (13)

第3章Xen体系结构与Intel VT技术 (14)

3.1 Xen体系结构 (14)

3.1.1 Xen Hypervisor (14)

3.1.2 Xen半虚拟化设计 (15)

3.1.3 Xen硬件虚拟化设计 (16)

3.1.4 内存虚拟化 (17)

3.1.5 设备虚拟化 (17)

3.2 VT-d 概述 (17)

3.3.1 直接硬件访问 (18)

3.2.2 DMA重映射 (20)

3.2.3 中断重映射 (21)

3.2.4 VT-d 工作模式 (22)

3.2.5 VT-d的安全机制 (22)

3.4 本章小结 (22)

第4章虚拟机的安全隔离策略 (24)

4.1 虚拟机隔离策略 (24)

4.1.1 访问控制 (24)

4.1.2 自主访问控制策略 (25)

4.1.3 强制访问控制策略 (27)

4.2 几种虚拟机安全隔离技术 (30)

4.2.1 硬件辅助的内存保护机制 (31)

4.2.2 进程地址空间保护 (33)

4.3 虚拟机系统的隔离效果 (33)

4.4 虚拟机面临的隔离不完全的问题 (34)

4.5 小结 (35)

第5章方案设计与实现 (36)

5.1 基于Intel VT-d技术的Xen虚拟机整体架构设计 (36)

5.1.1 整体架构设计 (36)

5.1.2 设计优点 (38)

5.2 安全内存管理(SMM) (39)

5.2.1 Xen内存管理 (39)

5.2.2 SMM辅助的内存管理 (39)

5.3 安全I/O管理(SIOM) (40)

5.3.1 安全虚拟I/O控制 (41)

5.3.2 虚拟PCI总线 (42)

5.3.3 虚拟以太网卡(NIC) (46)

5.4 Xen 客户机VT-d 初始化 (47)

5.4.1 I/O Port 转换表的创建 (47)

5.4.2 MMIO 转换表的创建 (49)

5.4.3 VT-d 页表的创建 (49)

5.5 本章小结 (50)

第6章实验与分析 (51)

6.1 实验环境与测试程序 (51)

6.1.1 实验环境 (51)

6.1.2 测试程序 (51)

6.2 测试流程 (52)

6.2.1 虚拟机隔离性测试 (52)

6.2.2 虚拟机性能隔离测试 (52)

6.3 实验结果分析 (53)

6.3.1 隔离效果测试结果 (53)

6.3.2 性能隔离测试结果 (55)

6.4本章小结 (56)

第7章结论与研究展望 (57)

7.1 结论 (57)

7.2 研究展望 (58)

参考文献 (59)

致谢 (62)

攻读硕士学位期间的研究成果 (63)

攻读硕士学位期间发表的学术论文 (63)

图目录

图2-1虚拟化技术按抽象层次分类 (6)

图2-2虚拟机的经典模型 (8)

图2-3 VMware虚拟机模型 (10)

图2-4 Xen 完全虚拟化实现架构 (11)

图2-5任务分离 (12)

图2-6任务整合 (12)

图2-7 任务迁移 (13)

图 3-1 Xen体系结构 (15)

图 3-2 Xen硬件虚拟化结构 (17)

图 3-3基于北桥芯片的硬件辅助技术 (18)

图 3-4基于软件模拟的I/O与基于硬件的直接分配I/O (19)

图 3-5 VT-d DMA重映射 (21)

图 4-1 强制访问控制 (29)

图 4-2 CPU特权级别 (32)

图5-1直接I/O虚拟技术模型的整体架构 (36)

图5-2 VT-d硬件初始化流程 (37)

图5-3 抽象VT-d设备流程和客户机VT-d驱动初始化流程 (38)

图5-4 SMM 辅助的Xen内存管理 (40)

图5-5 安全I/O虚拟化架构示意图 (41)

图5-6 虚拟I/O设备架构图 (42)

图5-7 设备注册流程 (45)

图5-8 通过PCI Bar映射建立其它映射表 (46)

图5-9 IO Port转换表的创建流程 (48)

图 6-1 内存隔离性测试结果 (54)

图 6-2 内存带宽隔离性测试结果 (54)

图 6-3 I/O隔离性测试结果 (55)

表目录

表 6-1 虚拟机性能隔离测试 (53)

表 6-2 虚拟机性能隔离测试结果 (55)

第1章绪论

虚拟技术自从二十世纪六十年代就出现了。最开始,大型计算机非常昂贵并且没有得到充分的利用。所以,很多个虚拟机(VM)会在同一台机器上运行,以达到高效利用这些昂贵的硬件的目的。虚拟机实际上是一个操作系统,这个操作系统运行在主机操作系统提供的虚拟硬件上。如今大部分计算机都基于英特尔(Intel)的x86架构。与大型计算机为了大规模商用的目的不同,x86计算机主要是用于低成本的平台。另外,x86处理器架构不支持虚拟技术。逐渐地,x86计算机越来越流行,并被用为服务器。所以,AMD和Intel改进了各自的x86架构以支持虚拟技术。

虚拟技术在很多领域都有广泛的应用,比如网格计算、高性能计算和软件安全:可信赖计算和虚拟技术的结合被用来开发可信赖的网格架构;因为可以隐藏关键的系统资源,虚拟机可以为应用程序的开发和测试提供相对安全的环境;虚拟机同样可以用来隔离恶意软件并观察它的行为。

1.1 研究背景

近几年,随着互联网业务的飞速发展,系统管理变得越来越复杂,单一系统已没有办法高效的利用计算机平台的资源,虚拟化在提高硬件服务平台的利用率、稳定性、安全性等方面得到越来越广泛的应用,并涌现出一批优秀的虚拟机产品,Xen 就是其中的代表之一。虚拟机的主要作用是使得本来是在不同的操作系统上、不同的硬件平台运行的程序可以在一台电脑主机上运行。目前,虚拟机技术在业界内的关注度不断提升,在2004 年被华尔街日报评为全球技术创新奖软件类第二名,最近,美国加特纳数据搜索公司的分析师也将虚拟化技术列为2009年值得关注的十大信息战略技术之首。

虚拟机为多系统的安全运行提供了良好的隔离保护,目前,很多学者开始研究怎样利用虚拟机来提供更加强有力的系统资源隔离,以保证虚拟机各系统之间的相互独立和核心业务的安全运行。

本文在深入的分析linux环境下Xen完全虚拟化技术理论的基础上,设计了一个基于Intel VT技术的虚拟机安全隔离设计方案。该方案通过安全内存管理(SMM)和安全I/O管理(SIOM)两种手段进行保护,完善了Xen宿主机系统与虚拟机系统

相关主题
文本预览
相关文档 最新文档