论文部分内容阅读
随着信息时代的发展,各国在网络空间领域的斗争每天都在上演,有组织、有预谋、以信息情报获取为目的的APT攻击已严重影响我国政府和企业的信息安全,我网络空间主权受到严重挑战。APT木马作为APT攻击的重要武器,在控制、渗透、窃密环节均发挥着不可替代的作用。所以研究APT木马启动隐藏技术,并对APT木马样本执行过程进行动态分析,发现其主机层面和网络层面的恶意行为,对明确APT木马网络攻击技术和网络通信要素,提高我国网络空间防御能力具有十分重要的作用。目前对木马启动隐藏技术的研究,基本上都未对较新的COM组件劫持隐藏技术进行分析;木马行为分析多数以HOOK方式获取API序列实现,主要存在两点弊端:一是HOOK方式破坏样本完整性,易被木马检测发现;二是很多精心构造的木马开始直接使用系统调用实现函数功能,API序列的细粒度已无法满足APT木马行为分析要求。本文通过对研究近几年的APT攻击报告,深入分析了服务方式、注册表方式、自启动目录方式、DLL劫持以及COM组件劫持等木马启动技术,DLL注入、高级内存注入、APC注入和进程挖空隐藏等木马隐藏技术。通过分析系统调用过程和内存数据结构,确定了以系统调用序列来刻画木马主机行为、以网络通信日志及通信数据体现木马网络行为的研究方案。本文在深入理解二进制动态分析平台PANDA原理及插件架构的基础上,构建了"左眼"APT木马行为分析系统。该系统由虚拟执行环境模块、客户交互网页模块、服务端控制模块、关键系统调用获取模块、内存分析检测模块、网络行为获取模块、域名信息获取模块组成。本着"实用化、自动化"的原则,编写了提供任务发布和结果查看的客户交互接口网站。使用Python编写服务端控制模块脚本,可根据任务配置信息控制系统自动实施分析流程,实现了对QEMU虚拟机的控制和PANDA插件的调用。基于二进制动态分析平台PANDA开发了关键系统调用监视插件,实现了样本执行过程中系统调用序列的获取。基于WTAP开发PANDA网络数据截获插件,获取可利用WireShark开展分析的虚拟机网络通信数据。封装内存分析工具Volatility和服务仿真程序InetSim为系统模块,并实现调用接口。实现自动调用PANDA插件获取Record回放至客户指定百分比时的虚拟机内存镜像,并调用Volatility开展API HOOK分析。利用InetSim仿真木马通联服务器促使木马开始交互后的动作,获取网络通信行为日志。开发域名信息获取模块,对APT木马样本的通联域名进行收集和分析。本系统部署构建完成后,已应用于单位实际工作中。从分析结果来看,系统能够根据客户提交的任务配置自动完成分析流程,能够有效识别出样本进程及其逻辑子进程并获取所关注的系统调用序列,能够对执行过程中截取的内存快照进行API Hook检测,能够获取样本执行虚拟机与仿真木马控制器间的网络日志及通信数据,大大促进了 APT木马样本分析工作的开展。