论文部分内容阅读
信息系统安全的重要性已经不言而喻,关乎国家安全的战略决策与发展,而恶意代码是当前信息系统安全的主要威胁之一。恶意代码的传播范围越来越广泛、种类与功能变化越来越快、抗分析能力越来越强,这都给恶意代码的分析带来了非常大的挑战。因此,有效的检测与分析恶意代码行为,对于提高信息系统的安全性,降低恶意代码危害具有重要意义。 动态分析在对抗恶意代码常用的加壳、多态变形技术等方面具有非常好的效果,能够有效发掘可疑代码的隐藏行为。本文基于动态分析技术,从可疑代码的动态分析过程、技术实现以及恶意性判定过程、实验测试等方面进行了研究,同时针对动态分析路径单一的问题,研究了基于关键节点覆盖的多路径分析方法,有效地弥补了动态分析的不足,提高了动态分析的全面性。论文的主要工作及创新点包括: 1、提出并编程实现了基于动态分析的可疑代码行为描述及分析方法。现有的动态分析系统在程序行为刻画时标准单一、缺乏准确性,容易导致误报情况的出现,一旦恶意代码采用了某些抗分析技术,又容易导致漏报情况的出现。本文为了有效获取动态分析过程中的API调用信息,建立了API信息库,保存可疑代码动态运行过程中的API调用序列和相关信息。根据API调用之间的控制依赖关系,建立了多层的可疑代码行为控制依赖链,通过完整API调用过程来描述可疑代码的行为。 2、提出并实现了基于行为的可疑代码恶意性判定系统(PMDS)。根据常见的API调用习惯及混淆方式,优化了基于行为控制链的可疑代码行为集。定义了恶意代码的六个具体的行为集,包含了53个具体的子行为,实现相应的行为抽取算法。最后,设计了基于行为的贝叶斯算法的恶意性判定模型。 3、提出并编程实现了基于关键节点覆盖的多路径分析方法。动态分析的不足就是分析路径单一,有可能被一些抗分析技术规避。所以,针对常见的抗分析技术,定义了动态分析过程中的关键节点,并实现了基于关键节点的多路径遍历方法。有效地提高了动态分析的准确性和多路径遍历的针对性。 本文提出的方法及模型已在课题组研制的动态分析系统中得到了验证和应用。实验数据验证了方法和模型的合理性、正确性和有效性。