云环境内存取证技术研究
作者单位:西安电子科技大学
学位级别:硕士
导师姓名:胡建伟
授予年度:2021年
学科分类:0839[工学-网络空间安全] 08[工学]
摘 要:随着云计算的发展,其低成本、高性能、弹性处理的工作模式受到众多企业的喜爱,将系统和服务迁移至云环境的趋势正在上升。但云计算发展的同时,针对云环境的攻击日益增多,其攻击目的从单纯的破坏计算机系统转变为更隐蔽的信息窃取和资源控制。很多重要的数字证据仅仅存在于系统内存,这使得传统基于文件系统的数字取证技术不能有效应对。当前的云计算架构严重缺乏原生的证据提取和分析的手段,云环境的虚拟化等特性也使得传统环境下的取证方法在云环境中难以适用。目前主要的云取证方案分为基于日志和基于代理两大类,基于日志的取证方案普遍存在表达能力弱,易被修改等问题;基于代理的方案需要在云虚拟机中部署代理,占用用户资源且代理本身就容易成为恶意用户攻击的目标。针对以上云取证的现状,本文提出了一种基于虚拟化自省技术的针对云虚拟机内存的取证方法。该方法主要包含以下四个步骤:云环境下的内存获取、Windows内存信息重构、恶意行为痕迹提取、进程关联。云计算分布式的架构设计使得传统的内存获取方式难以实现。本文以KVM为基础的云平台为例,利用Lib VMI虚拟机自省库建立本地Unix Socket,与目标虚拟机所在的Qemu进程进行通信,以VMM权限调用虚拟机物理内存的读写接口,实现从虚拟机外对虚拟机内存的读写。基于虚拟机自省的内存获取方式的优势在于:不在云虚拟机中部署任何代理,对用户具备高透明度,不易被恶意代码探测和规避;不对虚拟机操作系统进行修改,直接读取宿主机内存,获取内存信息损失小。Windows系统通过执行体对象实现基本的操作系统服务。本文通过对Windows地址转译机制和进程、线程、文件、令牌、注册表等对象执行体的结构进行解析可得到目标虚拟机的内存视图,将内存转储文件中的二进制数据转换为进程的资源结构等高级语义信息。通过对Windows内核对象的重构,可以从内存转储文件中获取大量结构化的数据信息。为了进一步从信息中提取出恶意行为痕迹作为电子证据,本文总结出隐藏自身痕迹、权限维持痕迹、异常网络连接痕迹、注入痕迹、敏感API调用痕迹和系统关键进程异常痕迹共六类典型恶意行为痕迹,并针对每类痕迹制定了相应内存取证方法,使得内存化、隐遁化的恶意行为能被发现。攻击者在进行恶意活动时,其操作具有潜在逻辑特征。传统取证技术往往只提取符合恶意行为特征的单点信息而忽略各行为之间的联系,得到的证据信息离散,难以还原出事件原貌。本文通过解析进程资源结构,从进程的句柄表、安全描述符、特权、线程、载入模块和虚拟地址描述符多个方面出发,再加上进程创建时间等元数据信息,将进程之间的关系整合到父子创建关系、时间并发关系、同源路径关系、名称相似关系、同源账户关系、网络通信关系、管道通信关系、文件操作关系、DLL载入关系九个维度中,并定义了不同关系的关联度度量算法,使得进程之间的关联度可量化描述。最后通过层次聚类算法将与恶意进程关联强的进程聚为一簇,形成进程链。对进程链分析可将原本离散的证据相关联,同时发现更多恶意进程,重构入侵事件。