




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章 隔隔离运行模模型本章提出了了一种新的的基于虚拟拟机技术的的隔离运行行模型SSVEE,该该模型满足足满足操作作系统隔离离、应用透透明、计算算环境重现现、隔离程程序执行效效果跟踪与与操作系统统信息重构构等五个应用用约束,平平衡了安全全隔离性、功能完整整性、性能能适应性和和行为可监监控性。同同时,本章章给出了该该模型的形形式化安全全性分析和和度量,通通过理论分分析阐明了了 SVEEE 能够够满足 BBell-LaPaadulaa 机密性性模型和 Bibaa 完整性性模型。并并进一步论论证了在此此模型下,被被保护的宿宿主环境的的容侵能力力也将得到到有效提升升。基于此此模型,本本章构造出出以本地
2、虚虚拟化技术术为核心的的满足 SSVEE 隔离运行行模型的体体系结构,该该体系结构构独立于操操作系统实实现,具有有很好的可可移植性。通过对现现有虚拟机机模型的详详细分析,指指出 Tyype III 虚拟拟机模型能能够最有效效地在个人人计算平台台下支持这这五个约束束条件。本本章工作是是后继章节节所做工作作的理论基基础。3.1 隔隔离运行模模型对于隔离运运行非可信信软件的运运行环境而而言,为了了实现操作作系统与应应用程序透透明的目标标,同时能能够重现已已有的软件件运行环境境并支持操操作系统语语义信息的的重构,即即在保证安安全隔离性性的前提下下提升隔离离运行环境境的功能完完整性、性性能适应性性与行为
3、可可监控性,该该环境必须须满足以下下约束条件件。约束 1:操作系统统隔离:非非可信软件件必须运行行在一个与与宿主操作作系统隔离离的虚拟计计算机系统统中,这是是抵御特权权恶意代码码攻击、确确保安全隔隔离性的必必要条件。约束 2:应用程序序与操作系系统透明:现有操作作系统、应应用程序和和将被隔离离的非可信信软件均不不需作任何何修改即可可直接布署署该隔离机机制,这一一点在个人人计算平台台下尤其重重要。此约约束包含四四个子约束束:约束 2AA:无需修改改现有操作作系统与应应用程序及及其将被隔隔离的非可可信软件的的源代码,因因为通常个个人计算平平台上流行行的应用程程序与操作作系统(如如 Winndows
4、s)都未开开放源代码码。约束 2BB:不能限制制非可信软软件在隔离离运行环境境内访问的的资源与执执行的特权权操作,这这是保证隔隔离运行环环境的功能能完整性的的必要条件件。约束 2CC:尽可能地地将隔离机机制对可信信代码运行行环境造成成的性能影影响最小化化,即在确确保安全隔隔离性的同同时兼顾系系统的可用用性。约束 2DD:无需重新新安装现有有操作系统统。个人用用户中绝大大部分不是是计算机专专业技术人人员,所以以个人计算算平台上往往往都预装装有操作系系统,所以以在布署隔隔离运行技技术时必须须保证能够够继续使用用原有操作作系统。约束 3:可配置的的计算环境境重现:由由于非可信信软件的正正常执行与与执
5、行效果果通常依赖赖于计算环环境,尤其其是文件系系统内容与与操作系统统配置等,所所以在隔离离运行环境境内重现宿宿主操作系系统的计算算环境既是是保证隔离离运行环境境的功能完完整性的要要求,也是是减少布署署开销的必必要条件。本约束可可细化为:约束 3AA:计算环境境的重现不不应通过复复制整个计计算机的软软硬件系统统的来实现现,这样的的布署开销销通常不能能被个人用用户接受。约束 3BB:为了提高高系统机密密性,被导导出到隔离离运行环境境中的宿主主计算环境境资源应该该是可配置置的,被隔隔离软件只只能访问这这些资源,涉涉及敏感信信息的数据据不应在隔隔离运行环环境中重现现。这是确确保安全隔隔离性的必必要条件
6、。约束 3CC:尽可能地地使隔离运运行环境的的性能接近近宿主环境境,这是提提升性能适适应性的要要求。约束 4:隔离程序序执行效果果的跟踪:隔离运行行环境必须须能够跟踪踪和记录被被隔离软件件对数据的的修改操作作,从而为为分析程序序行为与提提交相应程程序的执行行效果到宿宿主环境提提供依据,这这也是提高高系统可用用性与隔离离运行环境境的行为可可监控性的的关键。约束 5:支持操作作系统语义义信息重构构:这里的的语义信息息是指操作作系统抽象象层的资源源的信息,如如进程、线线程、文件件、用户等等。用户或或相关工具具程序只有有借助隔离离运行环境境的这些信信息才能精精确分析隔隔离运行环环境内应用用程序和操操作
7、系统的的行为,进进而提升隔隔离运行环环境的行为为可监控性性。(a) 基基于 Tyype II VMMM 的 NNativve 隔离离运行模型型 (bb)基于 Typee II VMM 的 Hoostedd 隔离运运行模型图 3.11 SVEEE 的基基于不同 VMM 的两种可可选隔离运运行模型为了满足约约束 1,SSVEE 必须利用用虚拟机监监视器(VVirtuual MMachiine MMonittor,VVMM)来来创建非可可信软件的的运行容器器虚拟机机。只有这这种基于硬硬件抽象层层的虚拟机机技术才能能实现操作作系统的隔隔离。按照照 Golldberrg 的定定义,VMMM 是能能够为计
8、算算机系统创创建高效、隔离的副副本的软件件。这些副副本即为虚虚拟机(VVirtuual MMachiine,VVM),在在虚拟机内内处理器指指令集的一一个子集能能够直接在在物理处理理器上执行行。Golldberrg 定义义了两种 VMM:Typee I VVMM 和和Typee II VMM。Typee I VVMM 直直接运行在在计算机硬硬件系统上上,负责调调度和分配配系统硬件件资源,可可以将其理理解为一个个实现了虚虚拟化机制制的操作系系统。而 Typee II VMM则则以一个应应用程序的的形式运行行在已有的的传统操作作系统之上上,而这个个实际控制制系统资源源的操作系系统被称为为宿主操作作
9、系统(HHost OS),运运行在 TType II 虚虚拟机中的的操作系统统则被称为为客户操作作系统(GGuestt OS)。基于这两两种不同的的虚拟机监监视器,SSVEE就就有了相应应的两种隔隔离运行模模型(如图图 3.11 所示):基于 TType I VMMM 的 Natiive隔离离运行模型型和基于 Typee II VMM 的 Hoostedd 隔离运运行模型。对于约束 2A,作作为硬件抽抽象层的虚虚拟机,NNativve 隔离离运行模型型中的 TType IVMMM 与 HHosteed 隔离离运行模型型中的 TType II VVMM 均均无需修改改已有应用用程序和将将被隔离的
10、的非可信软软件的源代代码。Tyype III VMMM 的实实现不需要要修改宿主主操作系统统,而 TType I VMMM 是否否需要修改改操作系统统则依赖于于其实现技技术,如基基于动态指指令转换技技术则无需需修改(如如 VMwware ESX Servver),基基于半虚拟拟化技术(PPara-Virttualiizatiion)且且没有硬件件虚拟化技技术的支持持则需要修修改运行在在 VMMM 之上的的操作系统统源代码(如如 Xenn)。由于 Tyype II VMMM 与 TType II VVMM 这这两种虚拟拟机技术均均对上层应应用提供了了完整的虚虚拟化计算算机硬件平平台,VMMM 之
11、上上运行的软软件(操作作系统)就就像在真实实的物理计计算机系统统上运行一一样,无需需限制代码码访问的资资源与执行行的特权操操作,因此此这两种隔隔离运行模模型均能满满足约束 2B。约束 2CC 强调的的是保证可可信代码运运行环境的的性能。如如图 3.1 (aa)所示,在在 Nattive隔隔离运行模模型中,所所有操作系系统都运行行于虚拟机机之上,所所以不可避避免地导致致可信代码码运行环境境性能的下下降。而基基于 Tyype III VMMM 的 Hostted 隔隔离运行模模型的可信信代码运行行环境即为为传统的操操作系统,高高效地直接接运行于硬硬件系统之之上。因此此,在尽可可能减少影影响可信代代
12、码运行性性能这一点点上,基于于 Typpe III VMMM 的 HHosteed 隔离离运行模型型优于 NNativve 隔离离运行模型型。而对于约束束 2D,在在 Nattive 隔离运行行模型中,需需要用 VVMM 替替换原有的的操作系统统,这往往往对于个人人用户来说说是无法接接受的,而而即使用户户接受,要要替换现在在所有的个个人计算平平台上的操操作系统也也是一个非非常漫长的的过程。与与此相反,HHosteed 隔离离运行模型型则可以与与已有操作作系统共存存。约束 3CC 关注的的是隔离运运行环境的的性能可适适应性。与与 Typpe I VMM 相比,TType II 虚虚拟机中的的虚拟
13、 II/O 设设备性能不不及 Tyype II 虚拟机机。但是随随着硬件虚虚拟化技术术的普及、应用与提提高,以及及各种虚拟拟 I/OO 设备优优化技术研研究的不断断发展,这这种性能差差距将逐渐渐缩小。约束 3(33A 和 3B)、约束 44 和约束束 5 均均与具体的的虚拟机监监视器模型型无关,而而对于这三三个约束,NNativve 隔离离运行模型型和 Hoostedd 隔离运运行模型均均需要添加加额外的机机制才能支支持,这也也是 3.2 节(SSVEE 体系结构构)需要解解决的问题题。此外,从软软件开发的的角度来看看,Nattive 隔离运行行模型中的的 Typpe I VMM 实际上是是将
14、传统操操作系统的的硬件资源源管理功能能下移到 VMM 中。但在在个人计算算平台下这这种机制有有一个明显显的不足:个人计算算平台上硬硬件设备的的多样化将将会极大地地增加Tyype II VMMM 开发的的复杂性。个人计算算平台开放放的体系结结构导致计计算机系统统有类型繁繁多的硬件件设备,而而直接运行行在硬件系系统之上 Typee I VVMM 则则需要管理理这些设备备,因此为为它们编写写相应的驱驱动程序将将是工程浩浩大的工作作。与此不不同,Tyype III VMMM 可以以直接利用用操作系统统提供的设设备抽象接接口,极大大简化 VVMM 的的开发,从从而可以有有效提高 VMM 的稳定性性。综上
15、所述,除除了约束 2C 和和约束 22D,这两两种隔离运运行模型均均能够满足足其他约束束。但是,由由于 SVVEE 主主要针对的的是个人计计算平台,而而 Hossted 隔离运行行模型在个个人计算平平台下具有有显著优势势,因此 SVEEE 采用了了基于 TType II VVMM 的的 Hossted 隔离运行行模型。在在这种模型型下,SVVEE VVMM 以以 Typpe III VMMM 的形式式运行在宿宿主操作系系统之上,并并负责创建建本地化启启动的 SSVEE 虚拟机作作为执行非非可信软件件的运行环环境。运行行在本地化化启动的 SVEEE 虚拟机机之上的客客户操作系系统是宿主主操作系统
16、统的一个副副本,因此此非可信软软件在宿主主操作系统统上的行为为得以精确确重现,同同时将其执执行效果同同宿主运行行环境彻底底隔离。3.2 系系统体系结结构为了满足前前文中描述述的五个约约束,SVVEE 引引入了本地地虚拟化技技术(Loocal Virttualiizatiion TTechnnologgy)以实实现可配置置的计算环环境重现。SVEE 基于 TType II VVMM 的的 Hossted 体系结构构如图 33.2 所所示,SVVEE 由由五个核心心组件构成成:SVEEE 虚拟拟机监视器器(SVEEE VMMM)、基基于卷快照照(Vollume Snappshott)的虚拟拟机简单
17、磁磁盘(Viirtuaal Siimplee Dissk)、操操作系统动动态迁移管管理器(OOS Dyynamiic Miigrattion Manaager)、修改跟踪踪管理器(CChangge Trrackiing MManagger)和和隐式操作作系统信息息重构组件件(Imppliciit OSS Infformaationn Recconsttructtor)。如 SVEEE 隔离离运行模型型所述,SSVEE VMM 需要以 Typee II VMM 的形式实实现,即在在宿主操作作系统之上上运行。SSVEE VMM 负责创建建非可信软软件的隔离离运行环境境SVEEE 虚拟拟机(SVVE
18、E VVM)。借助基于卷卷快照的虚虚拟机简单单磁盘和操操作系统动动态迁移管管理器,SSVEE 实现了本本地虚拟化化技术,即即 SVEEE 虚拟拟机中无需需重新安装装操作系统统(这是现现有虚拟机机软件的运运行模式),而而是直接从从宿主操作作系统启动动,启动后后的操作系系统即为“本地启动动操作系统统”(Loocal-Bootted OOS)。图 3.22 SVEEE 体系系结构修改跟踪管管理器则记记录 Loocal-Bootted OOS 和宿宿主操作系系统(Hoost OOS)内的的资源(如如文件、注注册表等)变变化信息,为为进一步分分析被隔离离软件的行行为或之后后将Loccal-BBootee
19、d OSS 的数据据变化合并并到宿主操操作系统提提供支持。隐式操作系系统信息重重构组件不不依赖于操操作系统提提供的接口口,能够利利用硬件层层的数据(如如处理器寄寄存器信息息、MMUU、磁盘信信息等)重重构出具有有应用层语语义的客户户操作系统统信息。3.2.11 虚拟机机监视器如前所述,SSVEE 虚拟机即即为采用本本地虚拟化化技术启动动的硬件抽抽象层虚拟拟机,被隔隔离的非可可信软件就就在由 SSVEE 虚拟机启启动的 LLocall-Boooted OS 中中运行,而而可信程序序则直接在在宿主操作作系统上运运行。为了满足不不能修改操操作系统源源代码的约约束(约束束 2A),SSVEE VMM
20、不能采用用半虚拟机机技术,而而只能采用用与 VMMwaree 虚拟机机(包括 VMwaare WWorksstatiion 和和VMwaare EESX SServeer)类似似的动态指指令转换技技术。由于 Inntel Penttium 处理器(xx86 体体系结构)在在目前的个个人计算平平台上最为为流行,因因此SVEEE VMMM需要重重点解决的的就是如何何在Inttel PPentiium处理理器上实现现基于动态态指令转换换技术的 Typee II VMM。Golddbergg分析并提提出了适合合虚拟化的的第三代硬硬件体系结结构应该满满足的四点点约束:1. 具有有两个以上上的处理器器操作
21、模式式。2. 非特特权的程序序能够通过过一种方法法来调用特特权级的系系统例程。3. 具有有内存重定定位或保护护机制,如如分段机制制或分页机机制。4. 具有有异步的中中断机制。John Scottt Roobin 等人则提提出了关于于处理器支支持 Tyype II VMMM 和 TType II VVMM需满满足的约束束。由于 SSVEE VMM 是以 TType II VVMM 的的形式实现现的,因此此本文只讨讨论处理器器支持 TType II VVMM 需需满足的约约束条件。约束 1(RR1) 无无论在特权权模式还是是非特权模模式下,非非特权指令令的执行语语义都必须须相同。例例如,处理理器不
22、能通通过在指令令代码内添添加特殊的的比特位来来标识处理理器当前的的特权级(CCurreent PPriviilegee Levvel,CCPL)。这个约束束实际上是是对 Gooldbeerg 提提出的约束束 1 的的一个扩展展。约束 2(RR2)处理理器必须提提供一种保保护机制或或地址转换换机制,能能够对物理理计算机系系统和虚拟拟机之间进进行隔离和和保护。这这一约束与与 Golldberrg 提出出的约束 3 一致致。约束 3(RR3)当虚虚拟机试图图执行敏感感指令(SSensiitivee Insstrucctionn)时,处处理器必须须提供一种种机制使得得虚拟机监监视器能够够自动得到到通知
23、,以以便于其模模拟出该指指令的执行行语义。按照 Joohn SScottt Robbin 等等的定义,敏敏感指令就就是指所有有需要操作作虚拟机监监视器或宿宿主操作系系统状态的的指令,主主要包括如如下四类指指令:1. 读写写当前虚拟拟机和物理理计算机系系统状态的的指令;2. 读写写敏感寄存存器和内存存的指令,例例如读写时时钟寄存器器或中断寄寄存器的指指令;3. 操作作处理器提提供的保护护机制或是是地址转换换机制的状状态的指令令;4. 所有有 I/OO 指令。x86 处处理器满足足 Golldberrg 提出出的四个约约束:具有有从 0-3 四种种特权级(PPriviilegee Levvel),
24、操操作系统内内核运行在在 Rinng 0 级,而应应用程序则则运行在最最低特权级级上Riing 33 级;提提供了调用用门(Caall GGate)机机制,用以以支持低特特权级的程程序调用高高特权级的的代码;提提供了段/页式内存存管理机制制,以支持持内存重定定位和保护护;提供了了中断(IInterrruptt)和异常常(Excceptiion)两两种机制使使得 I/O 设备备可以与处处理器异步步通信。图 3.33 处理器器指令分类类同理,Inntel x86 处理器也也满足 JJohn Scottt Roobin 约束 RR1 和 R2,但但是它依然然不支持虚虚拟化,这这是因为它它不能满足足约
25、束 RR3。如图 3.3 所示示,从处理理器虚拟化化和处理器器特权级两两个角度审审视指令集集,可将其其分为四类类:特权非非敏感指令令、非特权权非敏感指指令、特权权敏感指令令和非特权权敏感指令令。由于前前两种均为为非敏感指指令,所以以可以在物物理处理器器上直接执执行,无需需虚拟机监监视器做特特殊处理。但是,正正如处理器器约束所规规定的,虚虚拟机监视视器必须解解释执行所所有敏感指指令的语义义而不能在在物理处理理器上直接接执行。对对于 x886 处理理器而言,所所有特权敏敏感指令的的执行均会会产生中断断或自陷(TTrap),因因此虚拟机机监视器可可以通过设设置相应的的中断/自自陷响应函函数获得通通知
26、进而进进行指令模模拟。而使使得 x886 处理理器不支持持虚拟化的的就是第四四类指令非特权敏敏感指令,与与其它支持持虚拟化的的处理器不不同,x886 处理理器的指令令集中存在在非特权敏敏感指令,而而这类执行行的执行并并不产生任任何中断或或自陷,从从而虚拟机机监视器无无法获取相相应的通知知信息。John Scottt Roobin 等已经分分析了 xx86 处处理器的所所有指令,指指出其中包包含了 117条非特特权敏感指指令,即 SGDTT、SIDDT、SLLDT、SSMSW、PUSHHF(PUUSHFDD)、POOPF(PPOPFDD)、LAAR、LSSL、VEERR、VVERW、POP、PU
27、SHH、CALLL, JJMP、IINT nn、RETT 和 SSTR。综上所述,在在 x866 处理器器上实现 SVEEE VMMM(Typpe III VMMM)的关键键就是如何何模拟执行行敏感指令令,并且感感知非特权权敏感指令令的执行。目前有三三种方法可可以处理非非特权敏感感指令:第第一种技术术是Dennali 和 Xeen 的半半虚拟化技技术,但是是这种技术术需要修改改操作系统统源代码,不不能满足 SVEEE 隔离运运行模型的的约束 22A;第二二种技术是是 Inttel 和和 AMDD 提出的的硬件虚拟拟化技术,该该技术通过过修改处理理器的实现现使得处理理器在虚拟拟化状态下下执行非特
28、特权敏感指指令时能够够产生事件件通知虚拟拟机监视器器;但是考考虑支持硬硬件虚拟化化技术的处处理器尚未未普及,因因此 SVVEE VVMM 采采取了第三三种技术,即即“动态指指令转换技技术”,使使得SVEEE VMMM 通过过运行时指指令转换将将原本不产产生自陷的的非特权敏敏感指令替替换为具有有通知 VVMM 功功能的指令令。3.2.22 基于卷卷快照的虚虚拟简单磁磁盘对于本地虚虚拟化技术术而言,关关键问题是是如何与宿宿主操作系系统共享已已安装在系系统卷上的的操作系统统映像。因因为 SVVEE 虚虚拟机需要要访问系统统卷以启动动 Loccal-BBooteed OSS,而此时时宿主操作作系统也在
29、在修改系统统卷,前者者对数据的的修改并没没有使用宿宿主操作系系统提供的的访问接口口,后者的的修改信息息也无法及及时被 SSVEE 虚拟机内内的文件系系统感知,这这就造成了了文件系统统数据与磁磁盘数据的的冲突,操操作系统关关键文件的的不一致将将会导致系系统的崩溃溃。为了解决这这个问题,本本文提出了了基于卷快快照的虚拟拟简单磁盘盘(Virrtuall Simmple Diskk)技术。卷快照是是在其创建建时刻它所所对应的原原始卷的一一致性副本本,它提供供了与文件件系统标准准卷相同的的访问接口口。而虚拟拟简单磁盘盘则是卷快快照(必须须包括系统统卷的快照照)与虚拟拟分区表的的集合,它它是将卷快快照以存
30、储储设备的形形式导出到到 SVEEE 虚拟拟机的实现现方式。此此外,在将将卷快照导导出到 SSVEE 虚拟机前前,用户可可以安全删删除不允许许在 Loocal-Bootted OOS 中访访问的目录录、文件等等敏感数据据。从实现的角角度,创建建整个磁盘盘的快照比比导出卷快快照的方式式更加直观观。但是对对于 SVVEE 来来说,组合合卷快照的的虚拟简单单磁盘主要要有如下三三个优势:便于配置导导出的卷:如直接使使用磁盘快快照,则该该磁盘内所所有的卷均均会被导出出到SVEEE 虚拟拟机中,这这往往违背背了用户的的安全性和和可配置性性的需求。而通过配配置虚拟简简单磁盘,只只有用户明明确需要导导出的卷才
31、才能在 SSVEE 虚拟机中中访问;卷格式透明明:目前广广泛应用的的操作系统统均支持多多种卷格式式,如单分分区卷与多多分区卷等等,多分区区卷包括镜镜像卷(MMirroor Voolumee)、RAAID-00 卷和 RAIDD-5 卷卷等。所以以如果直接接导出磁盘盘快照,那那么如该磁磁盘内含有有多分区卷卷,则也必必须导出该该卷依赖的的所有磁盘盘。但是以以卷快照为为导出的基基本单位则则避免了这这个问题。便于操作快快照数据:卷是文件件系统加载载的基本单单位。通过过加载卷快快照,用户户可以方便便直观地访访问快照数数据。3.2.33 操作系系统动态迁迁移管理器器基于卷快照照的虚拟简简单磁盘解解决了文件
32、件系统的冲冲突问题,但但本地虚拟拟化技术的的实现还需需要解决软软件服务的的不兼容问问题。由于于 SVEEE 虚拟拟机是直接接从宿主操操作系统启启动,因此此所有启用用的系统服服务和开机机自动运行行的软件都都将在 SSVEE 虚拟机启启动时运行行。由于 SVEEE 虚拟机机与宿主硬硬件环境的的差异,依依赖于硬件件系统的系系统服务可可能会导致致 SVEEE 虚拟拟机启动时时挂起甚至至崩溃。为了解决这这个问题,本本文引入了了隐式进程程标识技术术(将在第第六章介绍绍),该技技术能够在在虚拟层标标识客户操操作系统中中的进程(包包括当前进进程),而而无需依赖赖于任何操操作系统 API。结合此技技术与 SSV
33、EE VMM 获取的 Locaal-Boootedd OS 的内存信信息,操作作系统动态态迁移管理理器能够确确定导致 Locaal-Boootedd OS 挂起或崩崩溃的进程程,进而将将这些信息息自动记录录到不兼容容服务数据据库。此后,在启启动 SVVEE 虚虚拟机前,操操作系统动动态迁移管管理器将在在 Loccal-BBooteed OSS中自动禁禁用所有不不兼容服务务数据库中中的服务。3.2.44 修改跟跟踪管理器器为了满足约约束 4(隔隔离程序执执行效果的的跟踪),SSVEE 需要监视视 Loccal-BBooteed OSS中的数据据修改信息息,为此本本文引入了了修改跟踪踪过滤驱动动(
34、Chaange Tracckingg Fillter Drivver,CCTFD)以以监视和记记录文件的的修改操作作。而为了了支持提交交 Loccal-BBooteed OSS中的修改改结果到宿宿主操作系系统,则需需要同时在在这两个操操作系统中中布署 CCTFD。监视不同同对象的修修改信息需需要实现不不同的过滤滤驱动,如如需要文件件系统过滤滤驱动来实实现对文件件的监视,而而对 Wiindowws 注册册表的监视视则需要利利用系统调调用拦截技技术。SVEE 运行结束束时,可以以向用户提提供三种操操作:放弃弃 SVEEE 内隔隔离程序的的执行结果果、保留执执行结果和和提交执行行结果到宿宿主操作系系
35、统。对于于第一种情情况,SVVEE 虚虚拟机的整整个运行环环境将被销销毁,之后后启动的 SVEEE 虚拟机机均需要重重新创建新新的虚拟简简单磁盘;若保留执执行结果,则则仅关闭 SVEEE 虚拟机机,而不销销毁虚拟简简单磁盘;对于第三三种情况,需需要利用修修改跟踪管管理器来分分析和比较较 SVEEE 虚拟拟机从创建建到结束整整个过程中中 Loccal-BBooteed OSS 和宿主主操作系统统的数据变变化,进而而进行修改改合并,而而合并的同同时还需要要解决可能能发生的各各种冲突。从安全的角角度考虑,提提交来源非非可信软件件的执行结结果到宿主主操作系统统是不可取取的,但对对于质量非非可信软件件(
36、不稳定定代码和存存在脆弱性性代码)的的执行结果果而言还是是有应用需需求的。3.2.55 隐式操操作系统信信息重构组组件为了满足约约束 5(支支持操作系系统信息重重构),SSVEE 需要提供供一种能够够在虚拟层层获取操作作系统语义义信息的通通用机制,包包括进程、文件、网网络、内存存和注册表表等关键的的系统信息息。由于客客户操作系系统的内部部状态对虚虚拟机来说说是完全透透明的,因因此隐式操操作系统信信息重构组组件需要利利用虚拟层层有限的硬硬件视图信信息,重构构出操作系系统的语义义信息。为为此,本文文提出了一一种新的隐隐式操作系系统信息重重构平台(IImpliicit OS IInforrmatii
37、on RReconnstruuctioon Pllatfoorm,IIOIRPP)。利用用该技术,隐隐式操作系系统信息重重构组件能能够在不借借助操作系系统 APPI 的情情况下,利利用硬件层层的信息重重构出操作作系统的语语义信息。第四章 隔隔离运行环环境的功能能完整性问问题由于程序功功能的正常常执行与执执行效果通通常依赖于于计算环境境,尤其是是文件系统统内容与操操作系统配配置等。因因此,提升升隔离运行行环境的功功能完整性性需要在该该环境内重重现宿主操操作系统的的计算环境境。本章将详细细描述实现现计算环境境重现的基基础本地地虚拟化技技术。为了解决在在 SVEEE 虚拟拟机中重用用已有软件件环境所
38、带带来的文件件系统冲突突和软硬件件配置兼容容性等问题题,本章提提出了基于于卷快照的的文件系统统共享技术术与操作系系统动态迁迁移技术。测试结果表表明卷快照照技术带来来的 I/O 性能能下降小于于 10%,处理器器开销仅增增加约3%,而动态态迁移技术术使得 SSVEE 能够有效效支持多种种不同软硬硬件配置的的计算机系系统。由于目前个个人计算平平台下最普普及的配置置是微软的的Winddows操操作系统与与Inteel的x886 处理理器,因此此,SVEEE 首先先在面向 x86 处理器的的 Winndowss 平台下下实现原型型系统。4.1 基基于卷快照照的文件系系统共享对于本地虚虚拟化技术术而言,
39、关关键问题是是如何直接接使用宿主主操作系统统的安装映映像。尽管管 SVEEE 虚拟拟机与宿主主操作系统统共享系统统卷,但是是这二者均均不能感知知彼此对系系统卷数据据的修改,这这将导致 Locaa-Boooted OS 和和宿主操作作系统的文文件系统数数据与磁盘盘数据的冲冲突,进而而使系统崩崩溃。解决此冲突突的充要条条件是这两两个操作系系统的文件件系统对本本系统内磁磁盘数据的的修改均是是封闭的,即即不会影响响另一个操操作系统内内的磁盘数数据。为了了给出此充充要条件的的形式化定定义并为下下一步的算算法正确性性分析做准准备,首先先定义了如如下两个函函数:函数 Wrrite (OS, Bloock,
40、t):表表示时刻 t,操作作系统 OOS 的文文件系统修修改了该操操作系统内内的卷数据据块 Bllock。函数的返返回值即为为写入的内内容,若返返回值为,则表示示时刻 tt 未修改改数据块 Blocck。其中中 OS Loocal-Bootted OOS, HHost OS。函数 Reead (OS, Blocck, tt):表示示时刻 tt,操作系系统 OSS 的文件件系统读该该操作系统统内的卷数数据块 BBlockk,函数的的返回值即即为该数据据块的内容容。基于上述定定义,充要要条件可描描述为:1. 若对对 O SS, B loock , ttt,有 WWritee (OSS, Blloc
41、k, t)= ,则 Readd (OSS,Bloock, t)= Readd (OSS, Bllock, t)2. 若对对 O SS, 彐B loock , 彐ttt,有 WWritee (OSS, Bllock, t) ,则 Readd (OS, Bloock, t)= Wriite (OS, Blocck, tt), t=Maxxt| Wriite (OS, Blocck, t)为了满足上上述充要条条件,SVVEE 引引入了卷快快照技术。顾名思义义,卷快照照即为在快快照创建时时刻其对应应的原始卷卷的一致性性副本,一一致性是通通过写时复复制(Coopy-oon-Wrrite,CCOW)技技术
42、保存差差异数据来来保证的。利用这种种机制,宿宿主操作系系统(Hoost OOS)修改改的是原始始卷,Loocal-Bootted OOS 修改改的则是卷卷快照,因因此 SVVEE虚拟拟机解决了了与宿主操操作系统间间由于写操操作导致的的数据不一一致问题。作为虚拟存存储设备的的实现基础础,卷快照照必须支持持写操作。此外,它它也必须能能够由宿主主操作系统统的文件系系统加载,也也就是必须须提供与文文件系统标标准卷一致致的访问接接口。此特特性能够有有效实现宿宿主操作系系统内对卷卷快照内容容的访问,从从而支持快快照导出到到 SVEEE 虚拟拟机前的文文件配置、系统卷内内硬件配置置信息的修修改等功能能。图
43、SEQ 图 * ARABIC 1 快快照驱动体体系结构SVEE 的卷快照照采用了 COW 机制,即即在原始卷卷的数据被被修改前复复制该数据据到特定的的存储空间间。本文称称此存储区区域为快照照区域(SSnapsshotss Areea,SAArea)。图 4.11 描述了了在安装了了卷快照驱驱动后的 Winddows 设备驱动动栈。如图图所示,卷卷快照驱动动在 Wiindowws 设备备对象栈中中位于其对对应的原始始卷设备对对象之上,因因此它能够够有效地拦拦截写原始始卷的请求求并执行 COW 操作。该该驱动创建建了两类设设备对象;一类是加加载在原始始卷设备对对象(Orriginnal VVolu
44、mme Deevicee Objject)之之上负责执执行 COOW操作的的卷过滤设设备对象(VVolumme Fiilterr Devvice Objeect);另一类是是卷快照设设备对象(SSnapsshot Voluume DDevicce Obbjectt),它负负责向文件件系统提供供标准卷的的访问接口口,以便于于被文件系系统加载后后用户可以以访问快照照数据,写写快照的数数据则被重重定向到快快照区域(SSAreaa)。4.1.11 算法描描述卷快照驱动动的核心是是处理操作作系统对原原始卷设备备对象和卷卷快照设备备对象的读读/写请求求。其中,对对原始卷设设备对象的的读操作最最为直接,卷卷
45、过滤设备备对象直接接将读原始始卷的 II/O 请请求包(II/O RRequeest PPackaage,IIRP)发发送给相应应的原始卷卷,这是因因为此操作作不会影响响原始卷设设备对象和和卷快照设设备对象二二者数据的的一致性。卷快照驱动动以基本块块(Bassic BBlockk)为单位位管理卷数数据。它基基于两个数数据结构来来管理 CCOW 操操作的信息息:一是快快照位图表表(Snaapshoot Biitmapp Tabble),这这个位图表表每一比特特位标识一一个基本块块是否已经经被执行了了 COWW 操作,即即已被备份份到快照区区域;另一一个是原始始卷基本块块块号到对对应快照区区域基本
46、块块块号的映映射,该映映射以 AAVL树结结构组织信信息,索引引值为原始始卷基本块块块号。Inputt: 原始始卷设备对对象,写原原始卷的 IRPOutpuut: 无无Methood:1. iff IRPP 要写的的原始卷的的所有基本本块都已被被执行了 COW 操作(位位图表中相相应比特位位均已经被置 11)2. 将该该 IRPP 直接转转发到原始始卷设备对对象;3. ellse4. 挂起起当前写原原始卷的 IRP;5. foor IRRP 要写写的原始卷卷的所有基基本块6. iff 当前原原始卷基本本块未被执执行 COOW 操作作7. 构造造新的读 IRP,参参数为原始始卷的当前前基本块;8
47、. 异步步执行此 IRP,读读取原始卷卷的当前基基本块的内内容,为备备份做准备备;9. 利用用快照空间间管理器提提供的接口口,从快照照空间申请请新的基本本块;10. 构构造新的写写 IRPP,目标为为快照空间间的对应基基本块;11. 异异步执行此此 IRPP,将之前前读取的原原始卷的当当前基本块块的内容写写入快 照照空间的对对应基本块块,完成 COW 操作;12. 设设置快照位位图表中当当前基本块块对应的比比特位;13. 将将当前基本本块及其对对应的快照照空间的基基本块插入入到 AVVL 映射射树中;14. eend iif15. 将将挂起的写写原始卷的的 IRPP 转发给给下层的原原始卷;1
48、6. eend ffor17. 完完成被挂起起的 IRRP;18. eend iifEnd AAlgorrithmm 写原始始卷的 IIRP 的的处理算法法图 SEQ 图 * ARABIC 2 写写原始卷的的 IRPP 的处理理算法(CCOW 算算法)为了突出主主要流程,本本章之后描描述的算法法均忽略了了错误和异异常处理,也也没有标识识出相应的的同步操作作等。图44.2描述述了卷过滤滤设备对象象处理写原原始卷IRRP的算法法。如算法法所示,当当截获写原原始卷的 IRP 时,卷过过滤设备对对象将检查查 IRPP 的参数数以判断将将要修改的的数据中是是否存在未未被复制备备份的部分分(第 11 行)
49、,存存在则阻塞塞该 IRRP(第 4 行)直直到复制相相应数据到到 SArrea 的的操作完成成(5-116 行),否否则直接转转发此IRRP 到下下层原始卷卷(第 22 行)。图 4.33 和图 4.4 分别描述述了读/写写卷快照设设备对象的的处理算法法。如算法法 4.33 所示,读读卷快照设设备对象时时,将根据据欲读取的的基本块是是否被执行行了 COOW 操作作来判断该该块对应的的实际数据据源是原始始卷还是快快照空间中中的对应块块(6-113 行)。算法 44.4 描描述的写卷卷快照设备备对象的过过程相对复复杂,对于于已经被执执行了 CCOW 操操作的基本本块,可以以直接写快快照空间中中的
50、对应块块;而对未未被执行 COW 操作的基基本块,则则需要在快快照空间中中分配新的的存储块,并并复制原始始卷中的对对应内容到到新分配的的存储块中中,之后才才能写快照照空间的这这个新分配配的存储块块(8-117 行)。Inputt: 卷快快照设备对对象(简称称为卷快照照),读卷卷快照设备备对象的 IRPOutpuut: 无无Methood:1. iff IRPP 要读的的卷快照的的所有基本本块所对应应的原始卷卷的那些基基本块都未未被执行了了 COWW 操作(快快照位图表表中相应比比特位均为为 0)2. 将该该 IRPP 直接转转发到对应应的原始卷卷设备对象象;3. ellse4. 挂起起当前读卷
51、卷快照的 IRP;5. foor IRRP 要读读的卷快照照的所有基基本块6. iff 当前卷卷快照基本本块对应的的原始卷的的基本块已已经被执行行 COWW 操作(通通过查快照照位图表)7. 根据据当前块号号在 AVVL 映射射树查找在在快照空间间中对应的的基本块块块号;8. 构造造新的读 IRP,目目标参数为为快照空间间中对应的的基本块;9. 异步步执行此 IRP;10. eelse11. 构构造新的读读 IRPP,目标为为当前卷快快照基本块块对应的原原始卷的基基本块;12. 异异步执行此此 IRPP;13. eend iif14. eend ffor15. 完完成被挂起起的 IRRP;16
52、. eend iifEnd AAlgorrithmm 读卷快快照设备对对象的 IIRP 处处理算法图 4.33 读卷快快照设备对对象的 IIRP 处处理算法Inputt: 卷快快照设备对对象(简称称为卷快照照),写卷卷快照设备备对象的 IRPOutpuut: 无无Methood:1. 挂起起当前写卷卷快照的 IRP;2. foor IRRP 要写写的卷快照照的所有基基本块3. iff 当前卷卷快照基本本块对应的的原始卷的的基本块已已经被执行行 COWW 操作(通通过查快照照位图表)4. 根据据当前块号号在 AVVL 映射射树查找在在快照空间间中对应的的基本块块块号;5. 构造造新的写 IRP,
53、目目标参数为为快照空间间中对应的的基本块;6. 异步步执行此 IRP;7. ellse8. 利用用快照空间间管理器提提供的接口口,从快照照空间申请请新的基本本块;9. iff 当前要要写的长度度等于基本本块10. 构构造新的写写 IRPP,目标为为快照空间间中新分配配的基本块块;11. 异异步执行此此 IRPP;12. eelse (当前要要写的长度度小于基本本块)13. 构构造新的写写 IRPP,目标为为当前块在在原始卷中中对应的基基本块;14. 异异步执行此此 IRPP;15. 合合并从原始始卷读取的的内容到当当前要写的的内容(长长度为一个个基本块);16. 构构造新的写写 IRPP,目标
54、为为快照空间间中新分配配的基本块块,写的内内容为前一一步内并的内容;17. 异异步执行此此 IRPP;18. eendiff19. 设设置快照位位图表中当当前基本块块对应的比比特位;20. 将将当前基本本块及其对对应的快照照空间的基基本块插入入到 AVVL 映射射树中;21. eend iif22. eend iif23. 完完成被挂起起的 IRRP;End AAlgorrithmm 写卷快快照设备对对象的 IIRP 处处理算法图 4.44 写卷快快照设备对对象的 IIRP 处处理算法通过算法所所述过程,卷卷快照设备备对象向文文件系统提提供了标准准卷的访问问接口。因因此,应用用程序能够够以操作
55、通通用卷的方方式访问卷卷快照设备备对象的数数据。4.1.22 算法正正确性分析析结合卷快照照设备对象象的读/写写算法与写写原始卷的的 COWW 算法,现现分析卷快快照技术满满足解决宿宿主操作系系统与 LLocall-Boooted OS 间间数据不一一致问题所所需的充要要条件,本本节分别针针对充要条条件的两个个部分进行行了分析。1. 对 Bloock,ttta) 对 Hostt OS 有 Wrrite (Hosst OSS, Bllock, t)= (此时 Blocck 表示示的是原始始卷中的数数据块):此时若 Writte (LLocall-Boooted OS, Blocck, tt)=
56、,则显然然原始卷中中 Bloock 块块的数据不不会改变,即即 Reaad (HHost OS, Blocck,t)= Reead (Hostt OS, Bloock, t);若 Wrrite (Loccal-BBooteed OSS, Bllock, t) ,由由于算法 4.4(写写卷快照设设备对象的的 IRPP 处理算算法)保证证了将写操操作重定位位到 SAArea 中,因此此 Loccal-BBooteed OSS 不会直直接修改原原始卷,此此时原始卷卷中 Bllock 块的数据据也不会改改变,即 Readd (Hoost OOS,Bllock, t)= Reaad (HHost OS,
57、 Blocck, tt)。b) 对 Locaal-Boootedd OS 有 Wrrite (Loccal-BBooteed OSS, Bllock, t)= (此时BBlockk 表示的的是卷快照照设备中的的数据块):此时若 Writte (HHost OS,BBlockk, t)= ,则卷快快照设备中中 Bloock 块块的数据是是直接从原原始卷中读读取(算法法 4.33,“读卷卷快照设备备对象的 IRP 处理算法法”的 11-2 行行),因此此 Reaad (LLocall-Boooted OS, Blocck, tt)= RRead (Loccal-BBooteed OSS, Bllo
58、ck,t);若 Wrrite (Hosst OSS, Bllock, t) ,由由于算法 4.2(写写原始卷的的 IRPP的处理算算法)通过过 COWW 操作保保证了原始始数据复制制到 SAArea 中,此后后读快照设设备均是读读 SArrea 中中的备份数数据,因此此 Reaad (LLocall-Boooted OS,BBlockk, t)= Reead (Locaal-Boootedd OS, Bloock, t)。2. 若对对 Bloock,tta) 对 Hostt OS 有 Wrrite (Hosst OSS, Bllock, t) (此此时 Bllock 表示的是是原始卷中中的数据
59、块块):此时时若 Wrrite (Loccal-BBooteed OSS, Bllock, t)= ,则显显然原始卷卷中 Bllock 块的数据据即为最后后写入的数数据,即 Readd (Hoost OOS, BBlockk, tt)=Wrrite (Hosst OSS, Bllock, t),t=Maaxt| Wrrite (Hosst OSS,Bloock, t) ;若若 Wriite (Locaal-Boootedd OS, Bloock, t) ,由于于算法 44.4(写写卷快照设设备对象的的 IRPP 处理算算法)保证证了将写操操作重定位位到 SAArea 中,因此此 Loccal-
60、BBooteed OSS 不会直直接修改原原始卷,此此时原始卷卷中 Bllock 块的数据据也仍为最最后写入的的数据,即即 Reaad (HHost OS,BBlockk, tt)=Wrrite (Hosst OSS, Bllock, t),t=Maaxt| Wrrite (Hosst OSS,Bloock, t) 。b) 对 Locaal-Boootedd OS 有 Wrrite (Loccal-BBooteed OSS, Bllock, t) (此时时Blocck 表示示的是卷快快照设备中中的数据块块),此时时卷快照设设备中 BBlockk块的数据据是直接写写到 SAArea(算算法 4.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CI 457-2024电子级多晶硅用聚乙烯包装材料技术规范
- T/CGAS 034-2024燃气发电热水机系统技术规程
- 小卖部转让协助合同7篇
- 网站广告投放合同(三)与网站广告投放合同3篇
- 美容养生馆劳动合同协议6篇
- 心理卫生与心理健康概述
- 尾矿库观测井施工合同5篇
- 内部有效股份转让合同6篇
- 有限公司隐名投资协议书3篇
- 中草药销售合同3篇
- 湖南省邵阳市2025届高三下学期第三次联考生物试题(含答案)
- 焦虑症病人的护理课件
- 卡尔曼滤波教学课件
- 2025年高考政治抢押秘籍(江苏专用)时政热点02政府工作报告(学生版+解析)
- 正畸治疗中的口腔健康维护
- 2024年江苏省扬州市广陵区小升初语文试卷
- 租赁换电定制合同协议
- 2025标准技术咨询服务合同模板
- 慢性肾脏病肌少症诊断治疗与预防专家共识(2024年版)解读
- 汽车制造业产品质量管理措施
- 歌曲《wake》中英文歌词对照
评论
0/150
提交评论