基于IntelVT_d技术的虚拟机安全隔离研究

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

和硬件协助的安全 I/O 管理 (SIOM)。
① 虚拟机创建时:当虚拟机被创建的时候,虚拟机监
3 系统设计
视 器 将 SMM 控 制 的 内 相 分 配 给 虚 拟 机。Xen 的 populate_ physmap 函数会为新创建的虚拟机更新 SMM 的页面权限表。
3.1 硬件协助的安全内存管理 (SMM)
隔离是确保虚拟机之间安全与可靠性的一种重要手段,现 有虚拟机隔离机制主要包括:基于访问控制的逻辑隔离机制; 通过硬件虚拟,让每个虚拟机无法突破虚拟机管理器给出的 资源限制;硬件提供的内存保护机制;进程地址空间的保护 机制。这里基于 Intel VT-d 技术,提出了一种安全的虚拟架 构,这个架构由一个支持 TPM 的安全内存、I/O 子系统控制资 源共享组成,将重要的内存和 I/O 虚拟功能从 VM0 中转移到 虚拟引擎中,以实现客户虚拟机内存和 VM0 的内存间的物理 隔离,从而确保了虚拟机管理器和客户虚拟机的高强度隔离。
[ 关键词 ] 虚拟化;Xen;VT-d 技术;虚拟机隔离
[ 中图分类号 ] TP315.13
[ 文献标识码 ] A
[ 文章编号 ] 1009-8054 (2011)05-00101-03
Study on Virtual Machine Security Isolation based on Intel VT-d LIN Kun,HUANG Zheng
102 www.cismag.com.cn
学术研究
自主创新 重点跨越 支持发展 引领未来·A cademic R esearch
I/O 总线
器将数据发送到虚拟 PCI,进而转发到虚拟机。
I/O 总线 接收 控制器
选择
接收 MUX
虚拟 I/O 总线 虚拟 I/O 设备
I/O 总线 发送 控制器 选择
② 虚拟机被调度时:当虚拟机被调度时,Xen 中改进的
当虚拟机共享或者重新分配硬件资源时会造成很多的安全 风险 [8]。首先,信息可能会在虚拟机之间被泄露。其次,如果
context_switch 函数会告知 SMM。 ③ 虚拟机被销毁时:当虚拟机暂停或销毁时,内存会被
虚拟机占用了额外的内存,然而在释放的时候没有重置这些区 析构掉。Xen 中改进的 decrease_reservation 函数会更改或删
权限。在虚拟机被创建或删除的时候,虚拟机监视器会更新 了数据流向相反,I/O 总线发送控制器和发送设备控制器的工
页面权限表。
作方式与上述完全一样。在 I/O 虚拟架构的实现中,将周边
② 密钥表:密钥表将虚拟机 ID 映射到它的加 / 解密密钥。 元件扩展接口 (PCI) 作为 I/O 总线,将以太网卡作为 I/O 设备。
在深入分析 Linux 环境下 Xen 完全虚拟化技术理论的基础上,设计了一个基于 Intel VT 技术的虚拟机安全隔离设计方案。
该方案通过安全内存管理 (SMM) 和安全 I/O 管理 (SIOM) 两种手段进行保护,完善了 Xen 宿主机系统与虚拟机系统之间
的安全隔离,为 Xen 虚拟机在实际的安全隔离环境中的应用提供了较高的安全保障。
(School of Information Security Engineering,Shanghai Jiaotong University,Shanghai 200240,China)
[Abstract] Resource isolation mechanisms are very important for computer security,and virtual machine technology becomes very popular in research communities and industries owing to its fair isolation solution in computer system. Through theoretical analysis
0 引言
1 Xen 和 Intel VT-d 技术简介
随着技术的进步,出现了一大批性能优异的虚拟化技术, Xen[1] 就是其中代表。Xen 具有开源和高效的特点 , [2] 但 Xen 也存在着自身的安全隐患,比如攻击者可以从客户虚拟机所 占用的内存中读到敏感信息,进而可以将攻击扩散到虚拟机 管理域 VM0 和它上层的所有虚拟域。
of Xen virtualization in Linux,this paper proposed a solution for security isolation of virtual machines based on Intel VT,which
could achieve security isolation of Xen host machine and virtual machines through secure memory management( SMM) and secure I/
虚拟机监视器



总线上相同类型的多种 I/O 设备。I/O 总线和 I/O 设备虚拟 就显得十分必要。
安全内存管理
图 3 所示的为 I/O 虚拟的一般架构,包含发送部分 ( 左部 )
主内存
安全内存 TPM 图 1 ቤተ መጻሕፍቲ ባይዱMM 辅助的 Xen 内存管理
和接收部分 ( 右部 )。I/O 设备在底部,虚拟 I/O 总线在顶部。 接收和发送端包含每个虚拟机的复用器、分用器、控制器和 缓存。接收设备控制器根据协议和虚拟机内存 ( 或缓存 ) 中的
学术研究
自主创新 重点跨越 支持发展 引领未来·A cademic R esearch
基于 Intel VT-d 技术的虚拟机安全隔离研究
林 昆,黄 征
( 上海交通大学信息安全工程学院,上海 200240)
[ 摘 要 ] 资源隔离是计算机安全的一个重要手段,良好的安全隔离使得虚拟机技术成为近年来学术界和工业界的热点。
收稿日期:2010-11-23 作者简介:林昆,1982 年生,男,上海交通大学信息安全 工程学院,硕士,研究方向:虚拟化安全;黄征,1975 年生, 男,上海交通大学信息安全工程学院,副教授,研究方向: 数据挖掘。
1.1 Xen 虚拟化技术 Xen 是一个基于 Hypervisor 和超虚拟化的开源虚拟机监视
O management(SIOM),thus offering an even higher security guarantee for the application of Xen in security isolation environment.
[KeyWords] virtualization;Xen;VT-d;virtual machine isolation
当虚拟机的内存被写 ( 或读 ) 时,SMM 首先会查询页面 权限表以确定虚拟机是否有权限进行此操作,然后在密钥表
虚拟机外部,因为它具有更高的权限。为了改进当前虚拟架构 中取相应的密钥对数据进行加 ( 解 ) 密。SMM 功能的实现依
的安全性,提出以下两种措施:硬件协助的安全内存管理 (SMM) 赖于它嵌入到 Xen 虚拟机监视器中 3 个位置的软件钩子:
为了提高虚拟化系统的 I/O 性能,Intel 推出了一种基 于 North Bridge 北桥芯片的硬件辅助虚拟化技术 VT-d(Intel Virtualization Technology for Directed I/O)。运用 VT-d 技术, 虚拟机得以使用直接 I/O 设备分配方式或者 I/O 设备共享方式, 从而大大提高了虚拟机的 I/O 性能。VT-d 硬件技术给虚拟机 软件提供了几种功能:直接硬件访问、DMA 重映射和中断重 映射等。DMA 重映射技术限制设备对预先分配的域或物理内 存区域进行直接内存访问 (DMA),从而实现了设备之间的隔离, 提高了 I/O 虚拟化的可靠性和安全性。
域,分配在这块内存上的新的虚拟机就可以读取到敏感信息。 除页面权限表中相应的项。
SMM 提供加 / 解密来实现客户虚拟机内存与 VM0 内存间的隔离。 3.2 硬件协助的安全 I/O 管理 (SIOM)
3.1.1 Xen 内存管理
在 Xen 中,每台客户虚拟机都被分配了软件模拟的 I/O
在 Xen 的内存管理架构中,虚拟机监视器为每个虚拟机 设备。在主机上,所有虚拟机共享用来虚拟 I/O 设备的内存
VM1 Rx VM2 Rx
VM(n) Rx
内存
内存 …… 内存
接收 DeMUX 选择
设备接收 控制器
数据
VM1 Tx VM2 Tx
VM(n) Tx
内存
内存 …… 内存
数据
发送 MUX
选择 设备发送 控制器
分配初始地址为 0 的连续的伪物理地址。为了可以直接读取 和物理 I/O 设备的缓存。这里设计了一个基于硬件的安全的 I/
页面,Xen 将伪物理地址到机器地址的映射表存储在每台虚 O 虚拟架构。图 2 中的箭头表明 I/O 路径不再通过 VM0,所
拟机的地址空间里。同时,Xen 还维护机器地址到伪物理地 以从 I/O 方面来讲,VM0 的故障不会影响到整个 I/O 系统。
虚拟域管理工具 虚拟主机 0
通用 I/O 设备驱动
虚拟主机 1 通用 I/O 设备驱动
……
虚拟主机 n 通用 I/O 设备驱动
源。这包括资源复用、资源分工和资源调度。另外,当物理 I/O 设备响应其他请求时,虚拟机的请求和数据需要被缓存 起来。为了支持 I/O 虚拟技术,操作系统要能够探测到 I/O
为了给每台虚拟机分配密钥和页面,在 SMM 中创建了以 数据决定当前的操作。同样,I/O 总线接收控制器通过与虚拟
下两张查询表:
I/O 总线的交涉决定 I/O 操作,并将数据从虚拟机内存发送到
① 页面权限表:这张表记录了虚拟机对 SMM 中页面的 虚拟 I/O 总线上,虚拟 I/O 总线再将数据转发到 I/O 总线。除
址的映射表。所有对这些映射表的写操作都由虚拟机监视器 截获或生效以达到存取控制。 3.1.2 SMM 辅助的内存管理
如 图 1 所 示, 在 SMM 架 构 之 中, 虚 拟 机 监 视 器 只 能 将
VM0 设备驱动
VM1 设备驱动
VMM 强制 执行虚拟机隔离
……
VMM
VMn 设备驱动
SMM 控制的内存分配给客户虚拟机。所有虚拟机分配内存的 请求都经由 SMM 处理。SMM 用来加 / 解密虚拟机数据的密钥 由 TPM 系 统 产 生 和 分 发, 而 且 SMM 只 加 密 分 配 给 虚 拟 机 的 内 存。 如 果 VM0 暂 停 一 台 虚 拟 机, 转 存 到 VM0 存 储 区 的 虚
2 理论模型
开源 Xen 虚拟监视器有很多安全漏洞 [4-5]。在此,只讨论
信息安全与通信保密 · 2011.5 101
学术研究
Academic Research · 本栏目由保密通信重点实验室协办
Xen 依赖 VM0 管理客户虚拟机所导致的一些漏洞。这些漏洞可 以在客户虚拟机内或者虚拟机外被利用 。 [6-7] 这里把 VM0 视为
发送 DeMUX
(2) 虚拟数据发送路径 虚拟数据发送路径如下: ① 在这里虚拟机是数据源,物理以太网设备是目的地。当 虚拟机正在运行并且准备好发送数据时,它会把相应的地址经 由 PCI 发送到虚拟 PCI 设备,然后再转发到 PCI 发送控制器。控 制器处理请求后将数据包存储在虚拟机的内存里,并打上标记。
V I/O 0 V I/O 1 硬件设备 CPU、内存、I/O 等
虚拟 I/O 控制器
……
图 2 安全 I/O 虚拟化架构
V I/O n 实际 I/O 设备
拟机数据都是被加了密的,这样就实现了客户虚拟机内存与 3.2.1 安全的虚拟 I/O 控制
VM0 内存的物理隔离。
虚拟 I/O 设备实际上是在多个虚拟机间调度物理 I/O 资
器,由剑桥大学的 lan Pratt 教授领导发起 [3]。Xen 最初只支持 半虚拟化,Xen 3.0 加入了硬件辅助虚拟化技术的支持,如 Intel 的虚拟化技术 (VT),可以支持完全虚拟化。Xen 可以安全地将 各个虚拟机切分开来,从而为虚拟环境提供了较高的隔离性。 1.2 Intel VT-d 技术
相关文档
最新文档