论文部分内容阅读
传统的安全监控面向的是相对稳定的网络和计算系统环境。虚拟化技术作为一种新的计算模式,改变了传统计算机的体系结构。目前,虚拟化技术技术具有隔离性、高效性和灵活性等特点,大量计算系统都逐渐转向虚拟计算环境。由于虚拟机中客户操作系统和运行的服务具有多样性,管理员可以按照需求自由地配置虚拟机中软件。此外,虚拟机具有动态性的特征,管理员能够动态地创建、启动、迁移或者撤销虚拟机。针对虚拟计算环境的新特性,需要展开面向虚拟计算环境的安全监控研究。在虚拟化给计算系统带来益处的同时,虚拟机的多样性和动态性给安全监控提出了巨大的挑战。为了应对这些新挑战,以有效地、全面地监控虚拟机为设计目标,提出了虚拟计算环境的安全监控框架。为了便于分析问题,分别从网络、文件和进程的角度进行研究。从网络监控的角度来看,虚拟计算环境中所有进出虚拟机的数据包都要经过管理域,因此虚拟网桥处的网络检测工具能够嗅探到所有的网络数据包。由于虚拟机中运行的服务可能不同,而且虚拟机可以在不同的物理节点之间迁移。针对上述问题,提出根据服务类型的不同,对各个虚拟机采取分域检测规则配置。当配置完成之后,采用多线程并行检测。此外,采用有限自动机模型对检测线程的状态进行描述。当虚拟机的状态发生变化时,检测线程的状态随之发生改变。从文件监控的角度来看,现有的文件完整性监控方法需要在目标虚拟机中插入钩子函数,不具有透明性;或者只是对磁盘块进行分析,不能获取全面的监控信息。为了解决上述问题,提出实时透明文件完整性监控方法。根据文件的重要程度,管理员设置文件的监控策略。在目标虚拟机运行过程中,虚拟机管理器层对其中发生的文件访问操作进行拦截并解析,然后根据不同的文件监控策略而采取不同的响应。该方法能够实时、透明地对虚拟机中文件操作进行监控,同时获取文件操作过程的详细信息。从进程监控的角度来看,对所有虚拟机进行监控会面临通用性问题。由于同一物理节点上可以运行多个虚拟机,而虚拟机中的客户操作系统是多种多样的,例如Linux、Windows等。此外,各个虚拟机可以在不同的物理节点之间自由地迁移。这对有效地监控虚拟机内部运行的进程状态带来巨大挑战。针对这个问题,提出基于驱动的通用监控方法。在虚拟机管理器层对虚拟机中的事件进行拦截,并由管理域内核态的监控驱动进行语义重构。类似于Linux设备驱动机制,监控驱动与客户操作系统的类型和版本相对应。所有的监控驱动为用户态的监控工具提供统一的监控接口,从而实现了监控机制的通用性。为了适应于虚拟机的动态性,监控驱动以内核模块的形式按需加载。因此,该方法具有实时性、透明性和通用性的特点。