论文部分内容阅读
恶意代码分析是检测和防范恶意代码的重要基础。在实际中,除了分析恶意代码的各种外部表现,人们还关心恶意代码在同源和演化方面的内在特性,包括恶意代码从何而来、如何发展变化以及相互之间的关系等。目前仅有少量专门针对恶意代码同源与演化分析技术的研究,且存在一些不足。本文围绕这些问题展开深入研究,提出基于函数调用图的恶意代码同源分析方法。主要的工作包括:1)提出了一种恶意代码函数调用图相似性度量方法——恶意代码函数调用图的相似性距离(SDMFG),并证明了SDMFG从数学意义上讲是图空间上的一个度量。这种度量方法的特点在于应用了恶意代码样本函数调用图中两个方面的信息:函数之间指令序列的相似性以及函数之间调用关系的相似性。2)基于SDMFG度量方法设计了一种恶意代码函数调用图相似性比对算法。该算法首先基于两个恶意代码函数调用图构造一个完全二分图,然后利用函数之间的指令序列的相似性以及函数之间调用关系的相似性计算该二分图各条边的权值并得到一个边权方阵,接着根据边权方阵利用Kuhn-Munkres算法求得该二分图的最大权匹配,最后根据最大权匹配计算两个恶意代码函数调用图的相似性距离。该算法降低了图比对的时间代价,提高了比对算法的适用范围,并在一定程度上保证了比对结果的精确性。3)借鉴生物信息学中的物种系统发生树构建方法,提出了基于恶意代码函数调用图的恶意代码系统发生树构建方法,并利用恶意代码函数调用图的相似性距禺(SDMFG)数据对本方法进行了实验。实验结果验证了算法的有效性和正确性。基于函数调用图的恶意代码同源分析方法在恶意代码防范和计算机犯罪取证等方面具有重要的理论和应用价值。