论文部分内容阅读
随着信息社会的不断发展,信息系统对操作系统等基础软件的依赖程度日益增长,处于国防和经济支撑系统关键部位的操作系统一旦被破坏或失效,将会导致灾难性的后果,如何提高操作系统的安全性、可靠性、可用性,已成为国内外可信操作系统研究的热点。传统操作系统存在内核代码量大、故障隔离性差、可信硬件支持弱等问题,既难以充分利用硬件体系结构的新技术,也较难满足目前系统对可信性的需求。如果摒弃已有操作系统的成果,重新设计一套全新的可信操作系统,将会缺乏大量的应用和硬件设备驱动,更难以有效支撑现有信息系统。本文针对传统操作系统中存在的安全性、可靠性、可用性等问题,结合作者在研制国产银河麒麟高性能安全操作系统中积累的技术与实践经验,基于虚拟机监控器(VMM:Virtual Machine Monitor),围绕可信操作系统的体系结构、高可信设备驱动及操作系统运行监控等关键技术进行研究,设计了一个基于虚拟机的可信操作系统VTKylin。主要工作与贡献如下:1、在综合分析国际上几种典型的可信操作系统技术和虚拟机技术基础上,提出了一种具有两维三态拓扑结构、基于CPU虚拟化的可信操作系统模型VTOS(Virtual machine based Trusted Operating System)。VTOS具有隔离性好、可信硬件支持强,且兼容现有应用好等特点。理论分析表明,VTOS可信操作系统模型在防御恶意代码攻击的安全性方面明显优于传统的操作系统。2、在深入研究可信操作系统完整性保护技术基础上,建立了可信操作系统四种信任度量模式,提出了完整性验证、证据认证和行为监测相结合的VTOS完整性防护方法。测试结果表明,VTOS在可信启动方面具有良好的完整性防护能力。3、针对传统操作系统在设备驱动方面存在的不可靠因素,在VTOS中提出了一种基于虚拟机设备驱动分离技术的设备驱动框架VHarden。其中,域间双页传送算法IDDPT(Inter-Domain Double Pages Transfer)兼有可靠与快速的特点,基于内存保护的驱动隔离机制提供了独立的、不受他人故障干扰的运行空间。测试结果表明,VHarden可有效提高操作系统的驱动程序可靠性。4、为了提高操作系统对恶意代码的防范能力,研究了VTOS中的实时运行监控技术,提出了一种指令流和进程访存双视角监控、且面向不同安全等级的多域安全的操作系统运行监控方法。其中,在指令级行为监控中,设计了一种基于代码段的敏感指令运行时扫描算法BSISA(Block-based Sensetive Instruction Scan Algorithm),在进程级行为监控中,设计了隐藏进程检测策略VHPDS(VMM-based Hidden Process Detecting Strategy)。典型Rootkit的测试表明,该运行监控机制可有效发现系统的恶意代码攻击,明显提高系统的安全性。5、在国产银河麒麟操作系统平台上,基于VTOS可信操作系统模型,自主设计了基于虚拟机的可信操作系统VTKylin,该系统能有效支持国际主流虚拟化CPU ,并兼容国产操作系统现有的典型应用,经UnixBench、Netperf、Sysbench-OLTP、LTP等标准测试,VTKylin与国际主流XenServer、KVM虚拟机的操作系统总体性能相当,而在安全性、可靠性方面有明显优势。论文研究工作得到国家863计划目标导向类课题“多域安全虚拟个人计算机系统”(2007AA01Z177)、国家自然科学基金重点项目“基于虚拟机架构的可信计算环境与可信软件设计”(90718040)的资助和支持。论文研究成果已经得到成功应用,取得了良好效果。