博士论文云计算平台可信性增强技术的研究Word文档格式.doc
《博士论文云计算平台可信性增强技术的研究Word文档格式.doc》由会员分享,可在线阅读,更多相关《博士论文云计算平台可信性增强技术的研究Word文档格式.doc(9页珍藏版)》请在冰豆网上搜索。
例如,Asbestos,HiStar等基于强制访问控制的操作系统通过对应用的信息流进行控制,以提高应用的安全性;
(3)应用级的解决方案,力图提供在编译器、二进制翻译器以及程序语言层次的支持,以增强应用程序的可信性。
例如Ginseng通过对编译器进行扩展,以支持软件的动态更新,从而提高软件的高可用性。
LIFT通过在动态二进制翻译的过程中对数据流进行跟踪和控制,以提高应用程序的安全性。
然而,当前针对计算机系统乃至云计算系统的可信性的研究尚存在着一些问题:
大多数研究仅关注于系统的某一个方面,而较大地忽略或者牺牲了其他方面。
例如,一些研究在提高计算机系统的安全性同时,却对于系统的功能,后向兼容性以及易用性方面带来较大的限制,使得其较难应用到实际系统中去。
如Asbestos和Eros均不支持现有应用,而是要求用户将应用移植到这些系统并且限制了应用程序的功能。
另外,一些系统在增强系统可信性的同时,却造成了较大的性能损失,从而限制了其在性能敏感场合下的应用。
如LIFT对运行于其中的SPECINT-2000造成平均3.6倍的性能损失。
此外,一些系统可信性增强技术需要特殊的软硬件支持,从而很难应用到通用的系统中去。
如XOM需要相当数目的处理器扩展,而目前尚不存在提供这些扩展的处理器。
本文在充分分析当前云计算平台软硬件与服务的可信性需求的基础上,提出了一个系统的解决方案,以提高云计算平台的可信性。
本文将从计算机硬件,操作系统与应用级三个方面对云计算系统可信性进行研究,以提高云计算平台的可用性,可维护性,可信性,安全性与容错性等。
相对之前的研究工作而言,该研究致力于提供一套实际、有效以及高性能的解决方案,从而使现有应用与系统能利用该研究的成果,并且对于当前的系统性能的影响降到最低。
并且,本文提出的可信性增强技术不仅仅对于云计算具有重要意义,并且在其他应用场合如桌面应用等也具有较好的应用前景。
具体而言,本文的主要贡献如下:
1.首次提出基于猜测执行硬件的信息安全技术,设计并实现了SHIFT与BOSH系统以提高云计算平台中软件的安全性。
SHIFT系统利用处理器对延迟异常的支持,设计并实现高效的动态信息流跟踪技术。
该系统能有效地检测缓冲区攻击等底层攻击,同时还能有效地防御基于SQL注入攻击(SQLInjection)与跨目录遍历(DirectoryTraversal)等高层语义攻击。
该系统的性能是目前所有基于动态信息流跟踪技术的实际系统中最好:
对ApacheWebServer只有1%的性能损失,对SPECINT-2000也只有不到1.27X的性能损失。
BOSH系统则有效地利用信息流跟踪技术对程序的控制流与数据流进行混淆,从而有效地防御代码注入攻击以及对软件版权进行有效保护。
该系统能将程序的全部控制流进行混淆,并且在SPECINT-2000上只带来平均不到28%的性能损失。
2.首次提出了基于双向写穿同步的动态软件更新技术,以支持对操作系统与多线程应用等复杂系统的动态更新。
设计并实现LUCOS与POLUS动态软件更新系统以提高云计算平台中系统的可维护性与可用性。
LUCOS系统首次提出了使用虚拟机监控器对操作系统进行动态更新,使得操作系统在不需要重启的情况下对操作系统的进行升级以及打补丁,从而有效的提高了操作系统以及运行于其上的可用性与可维护性。
LUCOS对操作系统完全透明,并且造成的性能损失不到1%。
POLUS是第一个支持对多线程应用进行数据结构动态更新的系统。
POLUS能对当前主流的服务器软件(如vsftpd,sshd,ApacheWebServer)在不同版本之间进行动态切换。
并且,POLUS还提供特定编译器以支持自动生成动态热补丁。
同时,POLUS所造成的平均性能损失不到1%。
3.首次提出了并实现基于软件的动态虚拟化技术,以允许操作系统动态地在真实硬件与具备完整功能的虚拟机监控器上进行切换,从而在获得系统虚拟化带来的高可用性的同时保证系统性能。
设计并实现的Mercury系统通过动态的将一个计算平台进行自虚拟化,即将一个虚拟机监控器动态地插入到一个运行的操作系统下,从而使一台物理机器具备迁移以及在线维护等功能,并且有效地避免了虚拟化所带来的性能损失。
实验结果表明Mercury系统所带来的平均性能损失小于1%。
4.首次提出了对云计算平台及其应用的双向行为约束机制(代号为Talos)。
设计并实现CHAOS与Shepherd系统,分别实现对操作系统的行为约束,以防止恶意操作系统窃取应用的数据,以及对应用的行为约束,以防止云计算应用对操作系统与运行环境进行破坏。
CHAOS系统使用虚拟机监控器保护云计算应用的隐私性,从而在操作系统与其他应用不可信的情况下保证应用的隐私数据不会被恶意泄露。
Shepherd通过对云计算应用进程的系统调用进行权限审计,异常检测以及将应用对关键系统资源的修改进行隔离,以防止一个恶意的云计算应用对云计算平台的攻击。
目前Talos可信计算框架已经被EMC的可信云计算平台Daoli采用作为其可信基础。
【关键词】:
云计算可靠性虚拟化软件安全动态更新自虚拟化
【学位授予单位】:
复旦大学
【学位级别】:
博士
【学位授予年份】:
2008
【分类号】:
TP302
【DOI】:
CNKI:
CDMD:
1.2009.078587
【目录】:
目录3-12
摘要12-15
Abstract15-18
第一章绪论18-38
1.1云计算背景18-20
1.2云计算平台可信性的重要性20-24
1.2.1计算机系统可信性的定义20-22
1.2.2计算机系统可信性的重要性22-23
1.2.3云计算平台可信性的突出问题23-24
1.3相关研究24-33
1.3.1云计算平台架构25-26
1.3.2系统虚拟化26-30
1.3.3计算机系统可信性30-33
1.4本文的主要贡献33-35
1.4.1之前研究工作的不足33-34
1.4.2本文的主要贡献34-35
1.5本文结构安排35-38
第二章基于动态信息流跟踪技术的系统安全增强技术38-62
2.1引言38-40
2.2背景知识与相关工作40-43
2.2.1动态信息流跟踪技术40-41
2.2.2二进制混淆41-42
2.2.3猜测执行及其硬件支持42-43
2.3SHIFT:
基于动态信息流跟踪的入侵检测系统43-48
2.3.1设计44-46
2.3.2与猜测执行的整合46
2.3.3实现46-48
2.4BOSH:
基于动态信息流跟踪的代码混淆技术48-54
2.4.1BOSH的主要想法48-50
2.4.2流敏感的二进制混淆50-52
2.4.3基于延迟异常的实现52-54
2.5评测54-61
2.5.1评测环境54-55
2.5.2SHIFT的性能55-56
2.5.3SHIFT的安全性56-57
2.5.4Bosh的性能57-59
2.5.5Bosh的抗攻击性59-61
2.6小结61-62
第三章基于动态更新的可用性与可维护性增强技术62-86
3.1引言62-64
3.2相关工作及其不足64-66
3.2.1主要相关工作64-65
3.2.2前人工作的主要不足65-66
3.3基于双向写穿同步的动态更新技术的想法66-68
3.4基于双向写穿同步技术的动态更新系统的设计68-74
3.4.1动态补丁69-70
3.4.2动态补丁的自动生成70-71
3.4.3补丁应用与状态维护71-72
3.4.4函数的重定向72-73
3.4.5更新回调函数73
3.4.6动态补丁的回滚73-74
3.5LUCOS:
针对操作系统内核的更新系统74-75
3.5.1设计考虑74
3.5.2架构74-75
3.5.3实现75
3.6POLUS:
针对应用软件的更新系统75-77
3.6.1获得对运行进程的控制76
3.6.2状态一致性维护76-77
3.6.3栈扫描77
3.7评测77-84
3.7.1LUCOS系统的更新体验77-79
3.7.2LUCOS系统的性能测试79-80
3.7.3POLUS系统的更新体验80-82
3.7.4POLUS系统的性能测试82-84
3.8小结84-86
第四章基于动态虚拟化技术的可靠性与性能结合技术研究86-102
4.1引言86-87
4.2相关工作以及其不足87-89
4.3动态虚拟化系统的设计89-93
4.3.1虚拟化敏感性89-90
4.3.2虚拟机监控器的动态插入与删除90-91
4.3.3动态虚拟化系统的要求91-92
4.3.4操作系统的执行模式92-93
4.4Mercury系统的实现93-97
4.4.1Mercury的实现概览93-94
4.4.2动态虚拟化的支持94-97
4.5动态虚拟化系统的应用97-98
4.5.1在线硬件维护97
4.5.2操作系统的动态更新97-98
4.5.3硬件容错98
4.6实验数据98-100
4.6.1实验环境98
4.6.2微程序测试数据98-99
4.6.3应用级测试数据99
4.6.4模式切换时间99-100
4.7小结100-102
第五章基于虚拟化的云计算应用的可信性增强技术102-124
5.1引言102-103
5.2相关工作103-105
5.2.1其他基于虚拟机监控器的工作104
5.2.2体系结构支持104-105
5.2.3信息流控制与入侵检测105
5.2.4基于程序语言与设计的方法105
5.3设计目标与威胁模型105-106
5.3.1行为约束的定义105
5.3.2假设与威胁模型105-106
5.4CHAOS:
不可信环境下云计算服务的隐私性保护106-113
5.4.1CHAOS系统概览106-109
5.4.2CHAOS系统的实现109-113
5.5Shepherd:
不可信环境下云计算服务的外在攻击防御113-118
5.5.1Shepherd系统的架构113-116
5