论文部分内容阅读
当今社会以计算机安全为基础的网络安全防护备受关注,恶意软件使用了大量先进技术,对传统恶意软件分析技术带来极大挑战。通过沙盒分析恶意软件可以快速直观的理解恶意软件行为,是对传统恶意软件分析技术的有益补充。但是目前越来越多的恶意软件具备了对抗已知沙盒分析的能力。另一方面,通过提取沙盒捕捉到的恶意软件的行为特征,以此作为判别依据来检测恶意软件,是目前讨论较多的基于行为的恶意软件检测技术。现有的研究总是期望在最广的范围内对正常程序和恶意软件进行区分,而恶意软件的特征行为往往会被庞大的正常软件行为所掩盖。因此构建一款自主开发的沙盒对恶意软件进行分析,并通过提取恶意软件的行为特征,建立准确高效的检测模型就显得尤为迫切。基于以上现状,本文构建了沙盒系统Z-Monitor,可以动态监视和分析恶意软件的行为,具有规避恶意软件抗已知沙盒分析的能力。通过Z-Monitor对恶意软件行为追踪结果的分析,构建分类检测模型,可在较小的范围内对特定类别的恶意软件做出精准判断。本文研究了API钩子的注入方式和拦截方式,并采用创建远程线程函数的注入方式以及内联代码覆盖的拦截方式构建了沙盒Z-Monitor。在宿主计算机上运行Linux系统Ubuntu,通过虚拟机软件VirtualBox运行Windows XP系统,Z-Monitor在其中执行恶意软件并截获所有被监控的系统API函数调用,生成日志文件供后期分析使用。通过Z-Monitor对大量恶意软件的执行结果分析,总结了恶意软件的常见行为,对防范和反击恶意软件有着重要意义。本文针对现有的基于行为分析的恶意软件检测方法不足,提出分类检测的思想。针对目前利用PDF文档解析漏洞攻击严重的现状,通过Z-Monitor监控Adobe Reader,利用其执行含有ShellCode的PDF文档和正常PDF文档时得到的行为结果差异构建数学模型。模型使用做均方差的方法来选取特征函数,用频次作为特征值,然后利用SVM良好的泛化性能在特征空间构造最优分类超平面,以此来判断Adobe Reader中执行的PDF文档是否含有ShellCode,最终在试验中取得了良好的检测效果。此模型可为以后更大范围内的分类检测做参考,同时,作为一套完整的PDF文档动态检测模型,它也同样具有重要的现实意义。