论文部分内容阅读
随着计算机应用的不断普及,云计算技术和虚拟化技术以其能够简化服务部署,提高运行与维护效率等特点而备受市场青睐。伴随这些技术的发展,由于计算机系统本身的开放性,用户总是面临着各种入侵攻击。大量用户数据被存放在计算机文件系统中,一旦文件系统遭受恶意攻击,用户将可能遭受无法挽回的损失。对文件系统进行实时、高效、细粒度的监控是避免文件系统遭受破坏,保护用户数据的重要技术手段。现存的大部分文件监控系统运行于被监控的操作系统内部,监控系统和被监控对象处于一个地址空间中,监控系统容易被攻击者绕过。为此,论文基于虚拟机自省(Virtual Machine Introspection,简称为VMI)技术,对文件系统监控的关键技术展开研究。论文的主要创新点基于如下观测:每种文件操作,包括文件打开、关闭、读、写、删除和重命名等,都对应了一个特定的系统调用。因此,利用VMI技术,在虚拟机管理器层监控和解析这些相关的系统调用,就可以实现从虚拟机外部对虚拟机内部文件系统活动的细粒度监控,避免了监控系统和被监控对象处于一个地址空间,监控系统安全性更高。具体来说,论文通过在虚拟机管理器层添加钩子函数获得虚拟机内部信息,例如内存页面、处理器状态和寄存器内容等信息,对虚拟机内部文件系统调用进行捕获和解析,真实还原出虚拟机内部所发生的各种文件系统活动信息。VMI解析的信息包括:系统调用号、系统调用名称、产生系统调用进程的PID号、程序名、程序的执行路径、系统调用传入参数和系统调用返回值,利用这些具体的文件系统活动信息,论文实现了对虚拟机文件系统的实时细粒度监测。论文基于虚拟机自省技术,借助于KVM虚拟机管理器,设计开发出了一套对Linux目标虚拟机文件系统进行实时细粒度监控的完整接口函数,并对这些函数进行了详细的功能和性能测试,测试结果验证了系统的有效性和高效性。