论文部分内容阅读
虚拟化技术是一种将硬件或软件资源进行分解,以构造多个彼此隔离的执行环境的技术。这种彼此隔离的特性为虚拟化技术的应用奠定了基础。当前,虚拟化技术在服务器整合、平台迁移、充分利用系统资源、灾难恢复、虚拟应用程序等领域发挥着越来越重要的作用。在非安全程序的检测和调试领域,虚拟化技术发挥的作用尤其重要。虚拟化技术能够模拟一个真实的应用程序运行环境,使得任何运行于其中的应用程序如同运行在真实执行环境中一样。利用虚拟化技术不仅能够对应用程序的行为进行监控,也能够保护主机系统免遭恶意程序的破坏。关于虚拟化,最大的挑战就是如何更好的实现虚拟执行环境与主机系统的隔离。本文首先概括分析了当前虚拟化技术的研究和发展现状,并对比分析了当前流行的各种虚拟化技术,在分析了Windows操作系统分层体系结构的基础上得出实现一种隔离性强、资源消耗低的操作系统层的虚拟执行环境(OS Level Virtual Execution Environment,OSLVEE),该虚拟执行环境的主体是一个“虚拟内核”,该虚拟内核负责文件系统、注册表资源、进程间通信、系统内核对象、系统守护进程以及网络子系统的虚拟化。系统的实现基于以下几点:一是利用虚拟磁盘技术为OSLVEE提供一个虚拟化磁盘,然后利用Windows操作系统的文件系统过滤驱动技术将OSLVEE内的所有文件系统请求重定向到该虚拟磁盘上,从而达到隔离主机系统和虚拟执行环境的目的。二是利用命名空间重定向机制,通过在用户空间截获系统库函数实现网络子系统、进程间通信以及系统服务的虚拟化;通过在内核态截获系统调用实现内核对象和注册表资源的虚拟化,从而达到为应用程序执行提供虚拟系统资源和服务的目的。三是利用写时拷贝机制(Copy On Write,COW),保证主机系统与虚拟执行环境之间的数据一致性。通过实验证明,该执行环境能够为应用程序的运行提供真实的运行环境,在病毒检测,不可信程序检测及调试方面,达到了保护主机系统、隔离恶意破坏行为的目的,并且能够为后续应用程序的行为分析提供充足的依据。