虚拟环境下计算机系统可靠性增强技术ipadssjtu.docx
- 文档编号:12310571
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:16
- 大小:618.85KB
虚拟环境下计算机系统可靠性增强技术ipadssjtu.docx
《虚拟环境下计算机系统可靠性增强技术ipadssjtu.docx》由会员分享,可在线阅读,更多相关《虚拟环境下计算机系统可靠性增强技术ipadssjtu.docx(16页珍藏版)》请在冰豆网上搜索。
虚拟环境下计算机系统可靠性增强技术ipadssjtu
虚拟环境下计算机系统可靠性增强技术
1.前言
1.1计算机系统可靠性的重要性
随着计算机技术的发展,计算机系统在国防、科研、工农业等方面的应用越来越广泛,人们对计算机系统可靠性的要求也越来越高。
由于计算机系统由硬件和软件组成,所以对于计算机系统可靠性的研究可分为硬件和软件两个方面。
在以往的产品研制中,人们往往只考虑硬件可靠性,而把软件看成是完全可靠的。
随着软件产业的飞速发展,软件已不在是硬件的附属品,其规模与复杂程度已远远超过硬件,所以软件的可靠性问题显得愈发重要,编程中一个很小的错误就可能导致严重后果。
著名安全机构SecurityFocus的数据表明,2003年8月14日发生在美国及加拿大部分地区的史上最大停电事故就是由软件错误所导致。
软件问题甚至可能造成硬件故障。
2003年Intel公司就曾承认,软件上的不兼容性会造成在虚拟专用网络(VPN)中使用基于其Centrino芯片的笔记本电脑发生故障。
随着个人电脑的普及,计算机病毒开始盛行,它们通过软盘,光盘,网络等途径进行传播,能够对计算机系统造成严重破坏。
Internet的风靡给病毒的传播又增加了新的途径,并已成为第一传播途径。
Internet爆炸式发展使病毒可能成为灾难,病毒的传播更加迅速。
[图1,2]给出了近年来我国病毒传播的主要途径及造成破坏的后果。
当前,计算机病毒已成为影响计算机系统可靠性的重大威胁。
图1:
病毒造成破坏的后果
图2:
病毒造成破坏的后果
数据来自国家计算机病毒应急处理中心
http:
//www.antivirus-
增强计算机系统可靠性可以从硬件和软件两个角度来实施。
其中,通过软件方法来提高计算机系统的可靠性因为其节省资源、方便部署等优点正日益受到关注。
操作系统作为整个软件架构中的基础层,为提高系统可靠性提供了一个很好的平台。
如通过在操作系统中增加安全模块,增强对上层应用程序的管理和控制,避免某些恶意程序破坏整个计算系统。
但是,在操作系统层次上增强系统可靠性存在着固有的局限性。
操作系统往往比较庞大[1],存在安全性和可靠性漏洞的可能性比较大,容易出现错误和被恶意行为攻破。
操作系统本身的不可靠性使得在其内部实现的可靠性增强技术显得比较脆弱。
[表1,2]给出了WindowsServer2003和RetHatEnterpriseLinux3在不同安装模式下存在漏洞的数目[15]。
威胁程度
WindowsServer2003
RedHatEnterpriseLinux3
高
33
48
中
17
60
低
0
7
未知
2
17
总数
52
132
表1:
Windows2003及RedHatEnterpriseLinux3在最简安装情况下的漏洞统计
威胁程度
WindowsServer2003
RedHatEnterpriseLinux3
高
33
77
中
17
69
低
0
8
未知
2
20
总数
52
174
表2:
Windows2003及RedHatEnterpriseLinux3在默认安装情况下的漏洞统计
1.2系统虚拟化技术
虚拟化技术为增强系统可靠性提供了新思路。
20世纪60年代,由于计算机对于个人用户来说过于庞大与昂贵,而当时的多任务操作系统由于自身的一些缺陷(多个用户之间会相互影响,普通用户不能调试系统乃至重新启动计算机等)使得它对于多个用户共同使用一台机器并不是一个很好的选择。
针对这些问题,IBM提出了虚拟化(Virtualization)及虚拟机(VirtualMachine)的概念,并设计了相应的系统以支持虚拟化,例如IBM1972年发布的VM/370系统。
随着处理器性能的不断提高,在个人电脑(PC),对称多处理机(SMP)以及集群(Cluster)上同时运行多个互不相干的操作系统已经成为可能,因此虚拟化技术近年来重新受到产业界的关注。
而由于虚拟化技术在管理与整合系统资源,增加系统可靠性,提高系统可用性和可维护性,加强系统安全性和私密性等方面的诱人前景,对于虚拟化技术的研究更是在上世纪80年代与90年代沉寂了一段时间后,再次成为软件研究界的热点。
虚拟化包括系统虚拟化(SystemVirtualization),存储虚拟化(StorageVirtualization)以及网络虚拟化(NetworkVirtualization)等。
本文提到的虚拟化主要是指系统虚拟化。
系统虚拟化[2]是通过软硬件划分、分时服务、服务质量保证及模拟与仿真执行等技术,允许在同一个硬件平台上虚拟出多个互不相干的硬件执行环境。
这样的虚拟环境又被称为虚拟机(VirtualMachine,VM),它们是对真实计算机环境的复制,提供用户直接访问真实环境相同的感受。
用户可以在这些虚拟硬件环境中运行操作系统和各种应用软件。
[图3]是系统虚拟化的一般结构,在运行于虚拟机中的操作系统和底层硬件环境之间存在一个附加的软件层,通常称为虚拟机监控器(VirtualMachineMonitor,VMM)。
虚拟机监控器负责管理底层的硬件资源,并且将这些资源分配给上层运行着的一个或多个虚拟机。
虚拟机监控器对于上层的虚拟机和其中的操作系统有着完全的控制权,包括系统状态,占用的资源和执行状况等。
操作系统则通过虚拟机监控器与各种资源交互。
图3:
系统虚拟化结构图
在虚拟环境中,运行在不同虚拟机中的服务和应用处于隔离的状态,彼此之间的执行情况不会互相影响,这相对于多个服务或应用运行在同一个操作系统中的状况,可靠性已经有了一定程度的增强。
同时,虚拟机监控器对上层的虚拟机和操作系统拥有完全的控制权,这就使得在虚拟机监控器中实现一些可靠性增强技术成为可能。
与操作系统相比,虚拟机监控器比较小,提供的接口也比较简单,因此可信性更强,更适合于成为可信平台。
此外,在虚拟机监控器中实现可靠性增强技术对操作系统和应用程序来说是透明的,不会带来兼容性的问题。
本文主要就在虚拟环境下,如何通过软件方法增强系统可靠性展开论述。
文章第二部分介绍了虚拟环境下增强计算机系统可靠性面临的挑战及研究方向。
第三部分介绍了虚拟环境下增强系统可靠性的研究方向及相关系统。
第四部分对全文进行了简短的总结,并给出了可能的进一步发展方向。
2.虚拟环境下增强系统可靠性面临的挑战
2.1性能开销
由于系统虚拟化技术存在性能开销,把应用程序运行在虚拟机上在一定程度上会影响到程序的性能[1]。
在缺少硬件支持的情况下,虚拟机监控器必须频繁地干预操作系统的执行来实现对操作系统及虚拟机监控器的保护。
例如,虚拟机中的系统调用必须首先经过虚拟机监控器,再由虚拟机监控器转发给相应操作系统;操作系统对于网卡的访问必须首先经过虚拟机监控器,由虚拟机监控器进行翻译和重发。
针对虚拟化的硬件支持方面,主流CPU提供商如Intel和AMD都已经提供了对于虚拟化的硬件支持。
然而,根据VMware的一项最新研究表明,第一代虚拟化技术只是降低了虚拟机监控器的实现复杂度,而相对之前纯软件实现的虚拟化并没有性能优势[18]。
如何在利用虚拟化提供服务的同时,尽量减少虚拟化带来的性能开销是一个值得研究的课题。
有些性能开销是可以避免的,比如通过将部分虚拟机监控器的功能转移到操作系统中实现(部分虚拟化技术),可以允许操作系统中的部分系统调用直接操作物理硬件,而不通过虚拟机监控器的中转来完成。
有些性能开销则是暂时无法避免的,比如操作系统对于页错误的处理必须经过虚拟机监控器。
自虚拟化技术[3]从另一个角度解决了虚拟化会带来性能开销的问题。
所谓自虚拟化,就是指在需要利用虚拟机监控器服务的时候,动态插入虚拟机监控器,让原本直接运行在硬件上的操作系统运行在虚拟机监控器上;在相关操作执行完毕,不再需要虚拟机监控器时,再进行去虚拟化操作,让操作系统直接运行在硬件上,以避免虚拟化带来的性能开销。
2.2语意鸿沟
在虚拟机监控器层次增强系统可靠性面临的第二个挑战是虚拟机监控器和虚拟机之间存在的语义鸿沟[1]。
在操作系统中实施的可靠性增强技术运行在操作系统的抽象层次下,能直接使用操作系统提供的各项服务。
语义上的鸿沟使得在虚拟机监控器中提供增强系统可靠性的服务比较困难。
例如,虚拟机监控器层次上一般不存在文件系统的抽象,很难对文件系统做安全性检查。
但是,并不是所有的服务都需要操作系统的抽象,例如,安全日志。
对于那些的确需要更高层次抽象的服务,必须以某种形式重现上层信息,这就意味着要在虚拟机监控器中重新实现操作系统的一些抽象。
3.虚拟环境下增强系统可靠性的技术及相关系统实现
3.1安全日志和重放
大部分操作系统都把系统日志作为其安全策略的一部分。
日志文件记录了系统每天发生的各种事件,用户或管理员可以通过日志文件检查错误产生原因,或者在受到攻击或黑客入侵时追踪入侵者的痕迹。
比如说,系统管理员可以通过查看日志文件,了解到网络入侵者如何获得系统的访问权,以及在获得访问权之后执行了哪些恶意操作。
但是,目前系统中广泛使用的日志依赖于操作系统,存在安全性和完整性的缺陷。
首先,攻击者在获得系统控制权之后,可以轻易地关闭日志系统,这样日志内容在系统被攻破之后就不再可信了;其次,很难知道在对某次攻击做事后分析时需要哪些信息,所以日志记录的内容很可能不足以分析出攻击者是如何获得系统控制权的,获得控制权之后又做了哪些破坏。
虚拟化技术可以帮助解决日志上述的两点缺陷。
为了提高日志的安全性,可以把日志软件从操作系统移到虚拟机监控器中。
相对于操作系统而言,虚拟机监控器比较小,比较简单,不容易被攻破[1]。
所以即便攻击者攻破上层操作系统,完全控制了整个虚拟机,也无法影响到日志软件及日志内容。
为了提高日志的完整性,可以记录足够回放整个虚拟机执行的信息。
为了减少记录的信息,可以定期地为虚拟机设立检查点(Checkpoint)[9]。
在日志记录过程中,可以从一个起始检查点开始,记录所有影响执行情况的不确定事件,直到下一个检查点。
而起始检查点之前的日志内容可以根据实际需要选择保留或删除。
ReVirt[4]是一个把操作系统封装到虚拟机中,利用虚拟机监控器做日志,并且回放的系统。
在虚拟机运行之前,ReVirt首先通过拷贝虚拟磁盘的方式为其设立检查点。
虚拟磁盘包含了虚拟机执行前的所有状态。
在虚拟机执行的过程中,日志记录不断被加入并保存到磁盘上。
为了保证系统的可重放性,ReVirt记录了所有能影响虚拟机执行进程的不确定事件。
有些不确定事件是不需要记录的,因为它们没有影响虚拟机的执行。
比如说硬件中断一般是不会影响虚拟机执行的。
ReVirt允许系统管理员在攻击发生前,发生过程中,以及发生之后对整个执行过程进行重放,并提供了两类工具来帮助系统管理员对攻击进行分析。
第一类工具运行在虚拟机中,它允许系统在回放的过程中进行新的执行。
但是,一旦系统执行了新的操作,就不能再回到回放模式。
第二类工具,例如调试器,磁盘检查器等,运行在虚拟机之外,能够对虚拟机的状态进行离线检查。
这类工具的好处就是不依赖虚拟机本身。
比如说,一个离线工具能够对虚拟机中目录的内容进行检查,即便系统本身列出目录内容的命令(如ls)已经被攻击者替换了。
3.2冗余
冗余是通过增加系统中的资源,从而达到系统容错,增强系统可靠性的一种有效途径。
为了达到容错的目的,冗余技术一般是对可能出错的计算进行复制,并且对不同的计算进行协调,以使得不同的计算执行相同的指令序列,产生相同的结果。
冗余可以在硬件、操作系统或者是应用程序中实现。
用硬件实现冗余需要重新设计新的硬件,成本比较高,周期也比较长。
在操作系统中实现冗余的困难是成熟的操作系统往往比较复杂,实现难度高。
同时,对某一平台而言,需要对该平台支持的所有操作系统作修改。
在应用程序中实现冗余则把大量的工作留给了程序员,对程序员的要求比较高,同时也带来了工作重复性的问题。
在虚拟机监控器中实现冗余解决了上述问题。
首先,在虚拟机监控器中实现成本比较低,兼容性比较好,能够支持相同体系结构的多种硬件实现;其次,虚拟机监控器的简单性降低了实现冗余的难度;第三,通过虚拟机监控器向上层操作系统提供冗余服务,保证了透明性,避免了对所有操作系统进行修改;最后,在虚拟机监控器中实现冗余减轻了程序员的负担。
基于虚拟机监控器,Bressoud和Schneider[5]实现了一个主-备份(primary-back)复制协议。
在实现中,一个能经受t次错误的虚拟机包括一个主虚拟机和t个备份,这些虚拟机分别运行在不同的处理器上。
该协议保证了在主虚拟机出错之前,备份虚拟机不与环境发生任何交互,而当主虚拟机出错之后,一个备份虚拟机会接替主虚拟机的工作与环境发生交互,从而使得周围环境不会发现系统的内部错误。
见[图4]。
图4:
主-备份系统原型图
Douceur和Howell[6]介绍了如何利用虚拟机监控器来保证确定性,在虚拟机的层次上对状态机进行复制。
对客户端-服务器的应用来说,服务器的可靠性显得尤为重要。
为了提高服务的可靠性,通常做法就是让服务同时执行在多台主机上,这样一台主机的错误就会被其它主机所掩盖。
提供服务复制的一项著名技术就是“复制状态机”策略。
在该策略中,服务被描述成确定状态机并在多台主机上进行复制,一个特定的协调程序负责协调不同的状态机以保证一致性。
这一策略的缺点在于服务程序需要和协调程序进行交互,这对已经存在的应用来说是很难达到的(因为需要修改程序的代码)。
Douceur和Howell很好地解决了上述问题。
他们让服务程序运行在虚拟机中,把整个虚拟机,而不是单个应用程序,描述成状态机的形式并进行复制。
该设计减轻了应用程序员的负担,他们不在需要把应用程序描述确定状态机。
3.3软件动态更新
一般来说,软件在实现之初都是不够完善的,在其生命周期中,为了修复安全隐患、纠正错误、提高性能或是增加新的功能,都不可避免地需要被更新和维护。
但是传统的基于“更新-重启”的静态更新方法需要重启,这对有些软件来说是不可忍受的,特别是操作系统和一些服务程序,它们往往需要保证提供24×7的高可用性。
虚拟化提供了一些方法,能够在不影响系统可用性的前提下,对系统进行维护和更新。
比如说,为了对某个服务程序进行更新和维护,但又不影响可用性,可以将服务运行在虚拟机中。
软件补丁不是被直接应用到初始虚拟机上,而是被应用虚拟机的一份拷贝上。
为了使补丁生效,拷贝虚拟机被重新启动。
启动完毕之后,初始虚拟机就可以被关掉,之后的服务请求都会被发给拷贝虚拟机。
这种方法还为测试补丁功能提供了时间,在初始虚拟机被关掉之前,可以对打过补丁的拷贝虚拟机进行充分的测试。
这种方法的缺点是丢失了系统打补丁之前的所有状态,这对有些软件,特别是操作系统来说是无法忍受的,因为操作系统可能维护了很多状态信息,这些状态信息在系统重启之后将全部丢失。
动态更新技术(Dynamicupdate,orLiveupdate)[7][16]能够在不影响软件正常运行的情况下完成对软件的更新操作。
该方法不但能提高系统可用性,同时很好的将可维护性、可应变性、演化成长能力与可用性结合起来。
动态更新能够增强软件的可靠性和可维护性,帮助系统管理员更好的维护运行中的系统,例如及时使用最新发布的安全补丁来修复系统漏洞;能够实现软件的在线应变,动态的修改软件使其适应需求变化,例如更新调度算法适应负载变动。
与应用程序的动态更新相比,实现操作系统的动态更新更加困难。
首先,由于通用操作系统几乎都是使用面向过程语言开发的,很难找到合适的粒度来进行动态更新,同时也不存在一种简单直接的方法能将原来对旧版本数据和函数的访问重定向到新版本数据和函数上;其次,当前的通用操作系统为了支持多任务(multi-task)几乎都采用了多线程模型,同一时刻可能存在多个线程并发执行修改需要被更新的代码和数据,因此很容易造成在动态更新前后系统状态的不一致性。
对此现有的更新方法是只在系统处于安全点时才进行动态更新,安全点(SafePoint/UpdatePoint)是指当前没有任何线程正在使用需要被更新的函数和数据。
但是对安全点的检测需要额外的追踪手段,同时对于大型软件何时能够到达安全点是一个不确定的问题;最后,直接运行在物理硬件上的操作系统必须由自己来完成对自身的动态更新,这种既是更新者又是被更新者的情况很容易导致对系统的更新无法完成甚至造成系统死锁或者崩溃。
Lucos[7]系统借助于虚拟化技术,能够对运行在虚拟机监控器上的Linux操作系统执行动态更新。
动态更新在函数粒度上实现,并通过二进制代码重写(binaryrewriting)实现对操作系统中函数的访问重定向。
并且彻底摒弃了对安全点的依赖,支持在任意时刻对操作系统进行动态更新,同时使用虚拟机监控器来保持多线程间不同版本数据的同步,维持系统状态的一致性。
Lucos系统在整体架构上分为功能相对独立的三层[图5]:
用户接口层(UserInterface),更新管理层(UpdateManager)和更新服务层(UpdateServer)。
三层依次位于用户空间、操作系统空间和虚拟机监控器空间。
各层间相对独立的设计使得整个架构更清晰也更易于实现和维护。
图5:
Lucos系统架构图
自虚拟化技术[3]完善了Lucos动态更新系统。
直接运行在物理硬件上的操作系统能够完成对此时处于不工作状态下的虚拟机监控器的动态更新,而处于工作状态下的虚拟机监控器能够实现对上层操作系统的动态更新。
经过完善的Lucos系统能够对整个软件架构进行动态更新。
3.4入侵检查和自我修复
借助于虚拟化技术,软件的更新可以在不影响系统可用性的情况下进行。
但是从一个软件漏洞被发现到正式的补丁出来往往需要数月时间。
2003年,从漏洞被提交算起,微软发布一个补丁平均需要3个月时间。
2004年这一数据上升到134.5天[8]。
为确保不会带来新的漏洞,开发软件补丁是一个很耗时的过程。
所以就存在这样一种状况,管理员即便知道系统存在某种漏洞也无法采取措施,因为官方补丁还没有发布出来。
虚拟化技术同样可以解决这一状况,即能够在正式补丁发布之前,及时对系统存在漏洞采取措施。
如果一个漏洞已经被公开,利用该漏洞进行攻击就会比较容易被发现和识别,可以开发相应的外部监控器对攻击进行识别和阻止。
因为不需要经过严格的测试和验证,监控器的开发较之正式补丁需时更短。
对于运行在虚拟机中的服务来说,外部监控器运行在虚拟机监控器或其它虚拟机中,与服务并行执行。
一旦攻击被确认,外部监控器就通过虚拟机监控器采取相应措施,终止与攻击源的交互。
同时,为了提高可靠性与可用性,系统在遭受入侵后的自我修复[9]能力也很重要。
但是,从系统内部进行修复(healing-from-within)存在比较大的局限性,它不能处理诸如系统挂起,操作系统子系统崩溃这样一些错误。
虚拟机监控器对上层包括操作系统在内的所有软件架构拥有完全控制权,能够协助操作系统或应用软件进行自我修复。
Shepherd[10]是借助于虚拟机监控器,对进程进行监控、检查,阻止并隔离进程恶意行为的监控系统。
Shepherd系统运行在Xen[14]虚拟机监控器中,主要通过对进程系统调用的监控来实现对进程的管理。
Shepherd系统由3个基本模块组成:
审查模块,探测模块和隔离模块。
审查模块基于事先定义的策略,对进程系统调用的参数进行检查,阻止未授权进程对系统敏感信息的访问。
例如,攻击者可能试图利用程序的某个漏洞修改系统密码。
在这种情况下,可以制定针对该程序的策略,直接阻止其对系统密码文件的访问。
探测模块利用系统调用序列检查恶意行为。
在程序的正常执行中,系统调用序列往往是有规律可寻的。
探测模块首先从程序的正常执行中提取出系统调用序列,生成序列文件,再利用该文件检测出程序执行中不正常序列。
隔离模块把可疑进程对文件系统的修改从主文件系统中隔离出来。
所有对文件系统的修改都被以写时拷贝的方式,重新定向到一个虚拟文件系统中。
隔离模块与前面两个模块协同工作,如果一个进程被最终确认为恶意进程,它对虚拟文件系统所作修改将被直接抛弃;反之,所有的修改都会被结合到主文件系统中。
隔离模块使得程序既能够执行下去,又能够在发现攻击之后恢复到之前的安全状态。
图6:
Shepherd系统架构图
3.5环境迁移
进程迁移[11]允许将一个进程,或进程的集合从一个主机转移到另外一个主机上。
这在一定程度上能够提高服务的可靠性与可用性。
但是对系统资源的高依赖性使得进程迁移不可能进行完全,对原主机仍存在一定依赖性。
相对进程迁移,操作系统的迁移在不影响应用程序执行的情况下,使得软硬件分离开来,安全性更高,有利于故障管理、负载均衡以及底层系统维护。
在数据中心和集群环境下,操作系统迁移能够大大提高系统的可靠性与可用性。
比如说,在硬件错误可以预测的前提下,可以将操作系统及所有应用程序在硬件出错之前迁移到另一抬主机上,避免了服务的长时间中断。
但是,对直接运行在硬件上操作系统进行迁移几乎是不可能的。
要实现操作系统的迁移,必须依赖于其它软件层。
虚拟机监控器运行在虚拟机操作系统之下,对上层操作系统有完全控制权,正是适合对操作系统进行迁移的软件层。
Clark[12]等人借助Xen虚拟机监控器,能够在比较短的时间内完成对上层虚拟机的活迁移(LiveMigration)。
他们实现的系统支持两种模式的迁移:
管理迁移和自迁移。
在管理迁移中,除被迁移虚拟机之外,在源主机和目标主机上还必须有管理虚拟机。
管理虚拟机中运行迁移后台程序,负责协调被迁移虚拟机状态传输。
与管理迁移相比,自迁移由被迁移的操作系统完成大部分迁移工作,不需要修改Xen虚拟机监控器,但需要在目标主机上运行接收程序,监听迁移请求并创建相应的空虚拟机来接收迁移系统的状态。
Mecury[3]也能够支持操作系统的自主迁移(self-migration)。
Mecury支持两种虚拟化模式:
部分虚拟化(准虚拟化)和完全虚拟化。
在完全虚拟化模式下,操作系统对于硬件的访问完全依赖于虚拟机监控器。
操作系统与硬件设备的分离为操作系统的迁移创造了条件。
Mecury还将操作系统的自虚拟化和自主迁移结合起来。
在正常情况下,操作系统直接运行在硬件上,这就避免了虚拟化带来的性能开销;在需要对操作系统进行迁移时,使用自虚拟化动态插入虚拟机监控器,完成对操作系统的迁移。
自虚拟化与自主迁移的有机结合为提高高性能计算集群的可靠性和可用性提供了新的解决方案。
3.6操作系统行为约束
应用程序对安全性与隐私性需求的不断提高给当代操作系统提出了难题,一方面这些应用程序需要有一个能确保机密性的运行环境,这就需要操作系统是可信的;另一方面操作系统的通用性又预示着庞大的代码量,从而不可避免地具有不可信性。
由于通用操作系统能提供较强大的功能与服务,应用程序必须依赖于这些操作系统的服务。
使用特殊的操作系统不能从根本上解决这个问题。
因为要么特殊的操作系统不能提供强大的功能并带来兼容性的问题,要么它的代码量与实现复杂性使得其是不可信的。
因为,如何在服务提供者(操作系统)不可信的情况下,服务使用者(应用程序)如何安全地使用服务提供者的服务变得至关重要。
图7:
CHAOS系统架构:
逻辑视图与物理视图
CHAOS[17][19]提出了一个基于虚拟化的可信计算机系统架构,它在一个不可信的传统内核之上提供了一个进程安全运行的环境,让现有的安全需求较高的应用程序可以安全的运行[图7]。
在我们的系统中,这些应用程序被称为可信进程,他们可以有效的防御来自其他进程甚至是内核的攻击。
为了实现这一点,我们运用了一个可信的虚拟机监控器来对特权操作进行截获,对敏感信息进行隔离并对输入输出数据进行加密,以此来防止内核对可信进程的执行环境,内
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 虚拟 环境 计算机系统 可靠性 增强 技术 ipadssjtu
![提示](https://static.bdocx.com/images/bang_tan.gif)