论文部分内容阅读
云计算技术在飞速发展的同时,面临着新的安全挑战,安全态势不容乐观。针对云平台的攻击事件逐年增多,虚拟机系统作为云计算的基础设施成为这些攻击的主要目标。除了受到病毒、木马、拒绝服务攻击以及溢出攻击等传统形态的安全威胁外,虚拟机系统还面临着虚拟机逃逸、虚拟机跳跃以及拒绝服务攻击等安全风险,因此研究可靠而高效的虚拟机安全监控技术,确保目标虚拟机的安全,是当前网络空间安全领域的重要研究课题。本文以内存取证技术为突破口,建立了一种基于内存自省的虚拟机系统安全监控模型,进而对宿主机/虚拟机运行状态重构及异常行为发现问题进行了研究。本文主要贡献与创新点:(1)建立了一种基于内存自省的虚拟机系统安全监控模型面对虚拟化环境中存在的同驻攻击难以发现、潜伏恶意代码难以检测等难题,建立了一种基于内存自省的虚拟机系统安全监控模型,通过实时检测宿主机内存变化及时发现宿主机以及虚拟机中存在的异常行为。与传统的监控模式相比,该模型改变了需要在虚拟机中安装代理的模式;与已有的虚拟机自省方法相比,该模式下,信息的获取不依赖于VMM(Virtual Machine Monitor,虚拟机监控器)或者宿主机的API(Application Programming Interface,应用程序编程接口)函数,具有较高的实时性、抗攻击性和可靠性。(2)提出了一种基于内核代码重构的Linux物理内存分析方法针对当前Linux物理内存分析方法存在的处理版本范围有限、智能化程度不高等问题,提出了一种基于内核代码重构的Linux物理内存分析方法,该方法在无先验知识的前提下自动识别操作系统版本,通过对update_iter、get_ksymbol_core等内核函数在内存中的内容进行反编译从内存信息中解析出内核符号表,根据内核符号表进行进程、驱动、网络信息以及打开的文件等信息的获取。这种方法具有普遍适用性,打破了以往方法必须知道系统内核版本信息的局限性,为Linux系统内存分析提供了更为通用的分析方法。(3)提出了一种基于 VMCS(Virtual Machine Control Structure,虚拟机控制结构)结构体的虚拟机运行状态重构方法针对KVM(Kernel-based Virtual Machine)和XenServer虚拟化环境下的虚拟机系统,提出了一种基于VMCS结构体的虚拟机物理内存取证方法。在对宿主机物理内存分析的基础上,通过解析虚拟机VMCS结构体相关的内核符号以及内核结构体,遍历VMCS结构体双向链表,从宿主机内存中检测出正在运行的虚拟机,提取虚拟机内存数据并重构虚拟机运行状态,解决语义鸿沟问题。和以往的VMI(Virtual Machine Introspection,虚拟机自省)技术相比,获取到的信息更加准确、全面。(4)提出了一种基于图谱和时序分析的宿主机/虚拟机异常分析方法在宿主机和虚拟机物理内存分析的基础上,进行进程/动态链接库隐藏、进程/动态链接库注入以及路径约束等恶意代码检测分析,发现系统中的可疑代码;综合分析宿主机/虚拟机进程信息、日志信息,构建进程关系图,通过对物理机进程异常行为和虚拟机异常行为分析,实现了对laaS平台中虚拟机逃逸恶意行为的检测。通过上述研究,为虚拟化环境提供了一套高效的安全监控解决方案,管理员可以实时地监控目标虚拟机状态以及全方位地了解目标虚拟机的运行状态,并在发现恶意行为时采取有效的应急响应措施,满足当前虚拟化安全需求。该研究对提高云平台中虚拟机系统的安全性、构建可信的虚拟化环境具有重要理论意义,对打击网络犯罪有很好的应用价值。