论文部分内容阅读
近年来,反检测技术的发展使恶意代码的数量急剧增加,恶意代码和恶意软件已经成为网络安全的主要威胁之一,各安全厂商都在致力于恶意代码检测方法的研究,其中恶意代码的分类在恶意代码检测领域占据着重要地位,成为当前研究的热点。针对传统分类方法效率低,准确性差,特征提取滞后于病毒数量的发展,且不能检测出未知病毒的一系列问题,本课题基于恶意代码家族之间的同源性提出两种方法对恶意代码家族进行分类。第一种使用“内容+机器学习”算法,提取恶意代码静态文件的特征输入不同的机器学习算法进行分类。特征提取及融合是恶意代码分析及检测研究的重点内容。本文从病毒文件及其灰度图出发进行不同特征的提取及融合,采用机器学习中的随机森林(RF)算法对恶意代码家族分类,特征包括灰度图纹理、操作码指令特征(Opcode N-gram)两种局部特征,并提出以灰度直方图的方法描述恶意代码的全局特征。然而特征需要人工手动提取,耗费大量人力,为了实现自动化提取特征,本文提出了第二种方法,利用深度学习算法对恶意代码分类进行研究,首先利用B2M算法将恶意代码文件转化为灰度图,设计单通道卷积神经网络结构对恶意代码灰度纹理图训练集自动学习和挖掘特征,最后将网络层输出结果通过Softmax实现恶意代码家族分类。本文实验结果表明,第一种方法融合特征+随机森林算法可以有效的对恶意代码家族分类,平均准确率达到了99.59%。第二种方法神经网络训练好模型后用测试集对模型效果进行测试,获得了较好的分类效果,准确率达到90.47%以上,展现了深度学习在安全领域方向巨大的发展潜力。最后本文对两种分类方法进行了深入的对比、分析和总结。