论文部分内容阅读
操作系统调试和系统安全已经成为倍受人们关注的两大重要问题。然而,传统的软件调试方法难以对系统的状态进行完整回放,更不能对操作系统进行调试;另一方面,大多数的入侵检测方法又都过分地依赖于操作系统,而操作系统又向外界暴露了太多的接口,导致其本身也很容易受到攻击。基于半虚拟化Xen的虚拟机回放机制实现的原型系统(Virtual Machine Replay System,VMRS)有效解决了这些问题。该系统依据Xen半虚拟化模型,通过对操作系统的运行过程进行实时监控,捕获系统中发生的不确定性事件,并对这些事件及其发生点进行准确详实的记录,从而达到对系统状态完整重现的目的。VMRS的特色在于:采用日志整合技术改变日志数据的生成位置,使得这些数据在生成之初便拥有严格的偏序关系,避免回放时解析多个日志文件,提高日志文件的解析效率,减少额外开销;利用Xen体系构架下独特的域间数据传输机制,VMRS采用基于共享内存的数据传输方式减少了日志数据在内存中的重复拷贝次数,提高了日志传输效率;通过对性能计数器与高级可编程中断控制器的重新配置确定日志的回放时间点;提出中断模拟机制,通过模拟Xen后端驱动程序行为完成回放,并采用虚拟域分支事件过滤策略摒除其他虚拟机和Xen本身的运行对回放过程的影响,提高回放的精确性。系统测试与结果分析表明:与基于UML(User Mode Linux)的虚拟机回放系统Revirt相比,VMRS的性能开销降低了23.9%,更兼备无需修改客户操作系统,回放时无需重启虚拟机的优点。