论文部分内容阅读
随着互联网技术的高速发展,计算机网络给人们工作和生活带来了前所未有的便利。同时网络安全事件发生频率越来越高,其中恶意代码攻击事件日益突出,给人们的数据安全带来极大威胁。为保证主机正常安全运行,人们迫切需求一种合理高效的恶意代码识别方法。传统的恶意代码识别方法主要仅单独采用动态分析或静态分析其中之一的分析技术,导致提取的恶意代码特征维度相对较少,不能在保证高准确率的同时具有较低的漏报率。而在动态分析技术中,动态污点分析技术能获得代码真实行为特征得到广泛研究,在静态分析技术中,BP神经网络具有强大的分类能力也常用于恶意代码识别中。因此,论文提出了动态污点分析与神经网络相结合的恶意代码识别方法。首先,针对传统基于动态污点分析技术的恶意代码识别方法存在恶意代码行为依赖图数量巨大、匹配过程耗时长等问题,论文提出了一种基于最大频繁子图的恶意代码行为依赖图挖掘方法。该方法从恶意代码家族行为依赖图挖掘出代表家族显著共性特征的最大频繁子图,在不丢失恶意代码行为特征的情况下,减少行为依赖图数量,提升识别效率。其次,针对传统的恶意代码识别方法仅单独采用静态分析或动态分析技术来提取特征而导致特征维度相对较少、且动态污点分析技术一次仅能分析代码执行时的一条路径等问题,论文提出了一种动态污点分析与神经网络相结合的恶意代码识别模型。该模型在动态污点分析技术的基础上,结合了静态分析技术来提取静态特征并使用神经网络分类,不仅可提取动态语义层特征,还可从恶意代码文件中提取包括文件结构层、指令层、静态语义层等更全面的静态特征,可分析代码的所有执行路径,使得对恶意代码描述更准确。最后,论文对动态污点分析与神经网络相结合的恶意代码识别方法进行仿真实验。仿真实验表明,相比于传统基于动态污点分析的恶意代码识别方法,引入最大频繁子图挖掘算法的动态污点恶意代码识别方法提高了识别效率,相比于传统采用单一分析技术的恶意代码识别方法,论文提出的动态污点分析与神经网络相结合的恶意代码识别方法达到了良好的识别准确率和漏报率。