论文部分内容阅读
恶意代码通过多种传播手段,感染文档文件,破坏系统和网络的正常运行,严重威胁系统及信息安全,窃取个人隐私及商业秘密,甚至通过非法手段获取经济利益和军事机密。因此,恶意代码攻击成为目前倍受关注的安全问题,为了实现对恶意代码的识别与预防,为受害系统提供及时的损失评估及信息恢复,基于行为的恶意代码分析技术成为目前恶意代码分析工作的研究热点,而如何提高恶意代码分析工作的效率及行为分析的准确性是工作的重点,具有重要的现实意义。基于行为的恶意代码分析方法通常采用虚拟机或仿真系统作为恶意代码的执行环境,通过监控恶意代码运行时调用的系统API函数进行恶意代码的行为分析及恶意性的判定,并通过系统快照对执行环境进行状态回滚,为下一次分析提供一个“干净”的系统环境。然而,虚拟机或仿真系统所提供的执行环境易被某些恶意代码检测出来,从而使分析工作无法正常完成。并且,基于系统快照的回滚方式较为耗时,影响分析工作的效率。在基于API调用序列的恶意代码行为分析方面,现有的方法只考虑了对恶意代码操作之间的单一的前后调用关系的描述,而恶意代码在实际操作中存在多种相关关系,如时序关系、主客体关系等,若不能完整地描述这些操作间的关系,势必会影响恶意代码分析的准确率。针对上述不足,本文提出操作虚拟化的方法,该方法为恶意代码的运行提供真实的系统环境,保证恶意代码的执行环境不被检测出来,从而使恶意代码能够正常的运行,使分析工具能够获取完整而真实的API调用序列。该方法通过直接删除恶意操作的执行痕迹来实现系统状态的快速回滚。实验证明,该方法能够有效的提高恶意代码分析工作的效率。同时,本文提出一种基于时序逻辑的恶意代码行为分析方法。该方法引入时序逻辑,形式化的描述恶意代码操作之间的多个相关关系,实现对恶意代码行为更为精确地描述,并设计相应的行为判定算法对目标文件的行为的恶意性进行判断。使用恶意文件、正常文件及部分已知恶意代码的变种组成的数据集对本方法的有效性进行测试,实验证明,该方法能够实现精确的恶意行为描述,有效地判定恶意代码及其变种的恶意性行为,判定准确性高,且误报率低,与现有的主流恶意代码分析产品相比,在恶意操作的获取及分析方面更加详细和精确。基于上述方法,本文设计实现了恶意代码行为自动分析系统OV_MAS,该系统通过任务分派器依次打开或运行目标文件,使用内核级代码操作监控器对目标文件在运行时调用的重要的Native API函数进行监控,获取API调用序列,并通过行为检测引擎和恶意行为库对目标文件的行为进行恶意性判定与分析,最后给出分析报告,其中包括被认为具有恶意性的关键系统行为,判定的过程以及序列中体现恶意行为的片段等等。