第一章绪论
1.1课题背景和意义
近十年来互联网在我国飞速发展、普及,网络改变了人们的思维方式和生活习惯,己成为人们生活中不可或缺的部分。然而,伴随着互联网的快速发展,网络安全形势却日益严重,黑客、病毒、垃圾邮件等行为影响了人们对网络安全的信赖,而大规模网络攻击事件的频发,使得以计算机安全为基础的网络安全和防护越来越受到重视
当一个攻击者闯入到一台机器并获取管理员特权,恶意软件就可能被安装,它会进行如键盘记录或盗取私人信息等各种恶意活动。如今,攻击行为的复杂度在不断地增加。许多早期的恶意软件在木质还很初级,代码简单且趋向于单任务,没有使用如混淆等的逆向工程技术,这些恶意软件可以通过使反汇编和动态调试等软件分析技术进行手工分析。但如今情况已经发生了改变,恶念软件技术获得了极大地发展,具有了较多的功能,其代码结构也相对复杂,者于一于还会使用一些逆向工程技术来阴止其被发现引此捕获和刮析玫击者植入到机器上的恶意软件的行为,对于安全人员理解恶意软件是非常要的。通过沙盒来执行恶意软件并分析其行为就是一种很好的方式,通过行为的分析我们可以了解恶意软件的基本结构及其通讯方式。
沙盒可以提供一个被控制和被监视的环境,这样运行恶意软件就不能损害真实的宿主计算机系统。它通过在虚拟环境中执行恶念软件来实现,这个虚拟环境可以模拟真实的处理器、内存和文件系统,被监测的恶意软件不能访问真实的系统因此不会产生危害。在恶意软件的分析过程中,沙盒的日的是监控恶意软件对系统资源的访问,并阻山,因此它以揭示恶意软件的行为信自、,显,封装代码的解密解缩版本,试图进行的网络连接,扣一开文件等内弄。由于分析需要运行恶意软件,系统可能被感染,使用虚拟机技术可以将系统在分析完成后重置到之前干净的未被感染的状态,是分析恶意软件的理想环境。我们所讨论的这种分析形式是完全基于恶意软件行为的,即所谓的行为分析,这是相对于在反汇编或者在调试器下执行程序指令的代码分析而言的。
日前,成熟的用于分析恶意软件的沙盒产品己经有很多。然而不幸的是,由于动态行为分析系统是一种收集恶意程序的流行方式,现在已有相当一部分的恶意软件具有了检测分析环境的能力当恶意软件检测到自身是在已知沙盒运行时,往往会终止自己的执行。针对这种情况,拥有一款自主开发的具有独立分析能力的沙盒是非常有必要的。
同样基述的考虑,我们在设计Z-Monitor时并没有绑定虚拟平台,这样对实现恶意软件的自动化分析具有一定的影响。但是,正是由于可选择虚拟机平台的多样性,Z-Monitor降低了恶意软件对抗虚拟机的风险。
揭示恶意软件的行为,需要解决以下儿个基本问题:第一,恶意软件都访问了哪些数据目标;第飞,恶意软件都产生了什么样的网络通讯。本文中介绍的Z-Mon itor是一款运行在虚寸以的XP系统土的沙盒,通过在Z-Monitor中运行恶意软件,我们可以监控恶意软件对系统关键API函数的调用,从而得到恶意软件的进程信运行过程中端口通讯情况,以及恶意软件的文件读取信息等Z-Monitor f闷答了前而的两个问题,揭示了恶意软件在Windows中的行为,能使、我们对恶意软件的机理有更加深刻的理解。
通过Z-Monito:我们可以发现恶意软件的行为,而这些行为与正常软件的行为之问存在着某些不同之处。通过总结这些不同一可以作为判断恶意软件的依据,这就足恶意软件的行为检测技术。先前的研究者针对这个思路作了大量的研究作。如针对可执行文件的API函数调用序列来反映程序的行为,通过对比相似度来判断恶意软件G.Schultz等人提出了用数据挖掘算法如贝叶斯算法来提取恶意程序的特征。文献提出将软件的API函数调用序列作为程序的行为特征,利用支持向量机(SVM )对一其进行分类。这些研究取得了一定的成果,但是它们总是期望在最广的范围内对常程序和恶意软件进行区分,而恶意软件的特征行为衬往会被庞大的正常软件行为所掩盖。
第三章 系统描述、技术细节及追踪............ 20-28
3.1 Z-Monitor系统............ 20-21
3.2 Z-Monitor.exe功能............ 21-24
3.3 ApiMonitor.dll实现............ 24-28
第四章 恶意软件行为分析............ 28-33
4.1 被监控的API函数............ 28-29
4.2 恶意软件样本实验............ 29-31
4.3 恶意软件行为总结............ 31-33
第五章 基于行为特征检测含有............ 33-43
5.1 分类的恶意软件行为检测............ 33-34
5.2 文档解析类漏洞............ 34-36
5.3 特征向量的提取 ............ 36-40
5.4 支持向量机原理............ 40-42
5.5 实验结果............ 42-43
总结
本文前半部分分析了现有的沙盒产品,重点研究了API钩子的注入方式和拦截方式,并采用创建远程线程CreateRemoteThread函数的注入方式以及内联代码覆盖的拦截方式构建了沙盒Z-Monitor。我们在宿主计算机运行Linux系统Ubuntu,在Ubuntu内运行虚拟机软件VirtualBox,再在VirtualBox内虚拟运行Windows XP系统,XP系统内运行Z-Monitor。我们用Z-Mo n ito「执行恶意软件,截获听有被监控的关键API函数调用,监视结果显示在Z-Monitor的主界血上,并生成日志文件供后期分析。运用Z-Monitor,我们对大量恶意软付一进行了分析,总结了恶意软件的常见行为,这对理解恶意软件机理从而防范和反击恶意软件有着重要意义。
本文的后半部分介绍了基于行为分析的入侵检测方法,针对现有方法的不足,我提出分类检测的思想。针对利用PDF文档解析漏洞攻,认重的现状,我使用Z-Monitor监控Adobe Reader,利用其执行含有SheIICode的PD「文档和正常PD文档时得到的行为结果筹异构建数学模型。我们使用做均方片的力一法来选取特征函数,使用频次作为特征值,然后利用SVM良好的泛化性能在特征空构造最优分类超平而,以此来检测Adobe Reader
参考文献
[1] 计算机网络应急技术处理协调中心
[2] Chanting Xuan, John Copeland,and Raheem Beyah. Toward Revealing Kernel Malware Behavior in Virtual Execution Environments[C]. RAID 2009, pp. 304-325. Springer, Heidelberg (2009).
[3] Oreans Technologies: Code Virtualizer.
[4] John Hoopes, Aaron Bawcom, Fred Shore, Paul Kenealy, et al.虚拟安全:沙盒、 灾备、高可用性、取证分析和蜜罐[M]杨谦,谢志强译北京:科学出版社,2010.
[5] Xu J Y, Sunga H, Chavez P, et al. Polymorphic malicious executable scanner by API sequence analysis[C]. Washington: IEEE press, 2004: 378-383.
[6] Schultz M, Eskin E, Zadok E, et al. Data mining methods for detection of new malicious executables[A]. Roger Needham Proceedings of the 2001 IEEE Symposium on Security and Privacy[C]. Washington: IEEE press, 2001: 38-49.
[7] Wang TWu C H, Hsieh C C. A virus prevention model based on static analysis and data mining methods[C]. IEEE 8t" International Conference on Computer and Information Technology Workshops. Washington: IEEE press, 2008: 288-293.
[8] Chinchani R, Berg E. A Fast'Static Analysis Approach to Detect Exploit Code
Inside Network Flows[C]. Proc. of International Symposium on Recent Advances in Intrusion Detection. Washington: 2005
[9] Ulrich Bayer, Imam Habibi, Davide Balzarotti, and Engin Kirda, Christopher Kruegel. A View on Current Malware Behaviors[C], LEET'09.
[10] Jeffrey R., Christophe N. Windows核心编程(第五版)[M].葛子昂,)司靖,)3敏译.北京:清华大学出版社,2008.