论文部分内容阅读
结合系统生命周期分析,计算机安全事件频发的主要因素包括:系统设计阶段对安全问题考虑不充分、开发测试阶段未能避免安全漏洞、部署阶段中缺少强力的主动防御机制,这几个问题的共同作用导致计算机系统面临着严重的安全威胁。同时现在虚拟化技术应用越来越广泛,针对虚拟化方面的大量软硬平台支持也极为丰富。因此针对系统安全三个阶段的问题,本文选择结合虚拟化技术分别开展了四项研究内容。本文的研究内容和贡献主要包括以下几点: 本文为嵌入式影子页表技术ESPT(Embedded Shadow Page Table)提供了一种更加实际的实现方式来摆脱内核驱动。为了摆脱内核驱动,本文提出了一种基于共享内存机制的影子页表同步方法,而且还提出了基于现代TLB结构的三种影子页表组织管理方式。本文提出的方法使得虚拟化技术更加安全可靠,缓解了虚拟机在设计之初引入的安全问题。 为了提升并发错误调试和测试效率,本文分别提升了ReCBuLC(Reproduce Concurrency Bugs by Using Local Clocks)的实用性和性能。为了稳定处理器核局部时钟增长频率,本文提出基于调度和测试的解决方法。为了降低记录阶段的性能开销,本文提出利用原子比较指令和内存一致性模型来优化记录指令。最终实验表明,该方法不仅能够稳定时钟增长频率,还能够降低记录阶段的性能开销。该方法有效提升了系统测试阶段挖掘错误和漏洞的效率。 本文提出了一种支持代码持续随机化的轻量级进程级虚拟机RERANZ。RERANZ在代码持续随机过程中不突变任何代码指针的值,只是在这些指针被解引用进行跳转时,进行动态地址翻译。RERANZ还提出了基于数据传输积累量的随机时刻选择策略。实验评估显示,基于进程级虚拟化技术的RERANZ能够有效提升防御机制的安全性和可部署性。 本文提出了一种内存中关键数据隐藏加强技术SafeHidden。它能够运行时持续移动安全区域的位置并在原有位置遗留陷阱的方法。同时,SafeHidden还提出了一种基于硬件辅助内存虚拟化的线程私有内存技术,用来隔离线程局部的安全区域,摆脱了传统线程私有内存技术对操作系统的干扰,提高了系统的可部署性。