论文部分内容阅读
随着网络技术的飞速发展,互联网在社会生活中的地位日益重要,针对网络计算机的各种攻击也层出不穷,影响范围和造成的损失越来越大,网络安全问题越发显得突出。由于网络攻击的动机从技术炫耀型转向利益驱动型,从而导致以获取权限、窃取信息为主要目的的木马成为危害互联网安全的主要因素。
当前的木马检测技术对于检测已知木马比较有效,而对未知木马的检测还存在很多问题,需要改进。特别是目前的检测技术往往针对单个木马文件进行分析,而木马又常常设计成由多个模块协同完成功能,单独看其中某一个模块并不具有鲜明的木马特征,导致容易漏报。
针对当前未知木马检测技术的弱点,本文在对木马的攻击模式和实现技术进行研究总结的基础上,设计了一种基于进程行为分析的木马检测系统TDSBPBA(Trojan DetectionSystem Based on Process Behavioral Analysis,简称TDSBPBA),该系统将静态分析和动态监控相结合,对系统中的进程的行为进行实时跟踪分析,并能发现相关进程、模块之间的联系,对多个进程的行为作综合分析,从而确定系统中是否有未知木马。
TDSBPBA主要由五个部分组成:进程监控模块、静态分析模块、动态监控模块、报警模块和规则库。其中动态监控模块包括用户级API动态监控、内核级API监控、网络监控三个子模块,分别从不同的角度对进程行为进行实时检测。
本文的创新点和贡献主要包括:
1) 引入进程树来描述系统中进程之间的创建关系。使系统对进程行为的分析不仅局限于本进程的行为,而且能对和它相关的其它进程的行为进行综合分析。增强了识别模块化木马的能力。
2) 利用攻击树模型对危险API调用序列进行建模。通过将分析PE文件所得的API集合与攻击树作匹配,来预测程序中可能存在的攻击行为,并给出了具体的匹配算法。
3) 提出了静态危险指数和动态危险指数的概念,分别用以量化地表示运行前的文件和运行中的进程的危险程度。其中动态危险指数是一个随着进程运行不断变化的数值,系统以此作为判断木马的依据。文章中给出了基于攻击树的静态危险指数算法和实时更新动态危险指数的算法。
4) 针对现在木马常用远程线程插入来实现无进程运行的情况,为远程线程插入的行为创建独立进程,将线程插入这个新创建的进程,以便观察线程的行为、使得木马难以隐藏。
TDSBPBA既能发现木马内部的联系,又能把木马和其他进程区别开来,从而把整个木马从系统中独立地剥离出来,提高了分析的有效性和判断的准确性。文章详细描述了TDSBPBA的结构、技术原理和工作流程,并通过实验证明了TDSBPBA的有效性。