论文部分内容阅读
随着各种系统漏洞被不断发现,恶意程序种类及其变种数量呈指数级上升,怀有不同目的的大规模APT攻击不断出现,针对个人计算机及企业服务器的攻击呈现出规模化、体系化、智能化、复杂化等特点,网络攻击方式层出不穷,手段日渐丰富,给传统的恶意程序分析检测带来了极大的挑战。由于恶意程序自我保护能力不断提升,传统静态分析算法不能穷尽恶意程序所有可能执行路径,很多行为获取不到,越来越不能满足恶意程序分析的要求。同时,加壳及变种恶意程序的不断增多也对恶意程序的动态分析提出了新的挑战,需要研制通用高效的恶意程序动态分析系统平台,来捕获恶意程序的不同行为,并进行行为抽象获得行为特征。另外,为了处理捕获的海量恶意程序样本,需要建立精确的恶意程序分类模型,对可疑程序进行分析研判,识别恶意特征,并完成精准分类的任务。针对恶意程序分析检测中存在的问题,本文充分分析了恶意程序静态和动态分析优缺点,设计基于Cuckoo的恶意程序动态分析系统,为恶意程序运行创造“模拟的真实环境”,让恶意行为充分暴露,捕获其运行过程中的全部API序列以及对应的参数,并对其进行行为抽象。在此基础上,本文通过对基于自注意力机制的深度残差网络、基于最小行为图的匹配算法,以及多层语义聚合的递归神经张量网络的深入研究,对恶意程序行为进行精准分类,以期提高恶意程序的检测准确率。本文的主要研究成果有:(1)针对现有分析工具对恶意程序行为捕获及分析能力不足的问题,提出了基于行为的抽象方法。通过沙盒构造程序运行时所需的环境,将程序运行时的API序列及参数信息全部捕获到,通过构造辅助表,分析API之间的依赖关系,根据程序运行时调用的系统资源,提出了基于恶意行为的抽象方法,完成对API序列的行为抽象,构建该序列的行为特征向量。实验结果表明,通过对4个典型API的测试和验证,基于行为的抽象方法分析出的行为抽象结果与实际数据完全吻合,其捕获的行为能够有效表征测试程序的行为。(2)针对现有恶意程序分析中不易精确获取恶意行为特征的问题,提出了基于自注意力机制的深度残差神经网络恶意程序分类算法。该算法借鉴图像识别领域用深度残差网络模型进行训练的思路,引入自注意力机制,通过对大量样本的训练,学习同类样本之间的相似度,自动获得能够表征不同类别差异的特征。实验结果表明,深度残差神经网络模型的检测率比传统机器学习算法检测率有明显提升,达到91.5%;特别是引入自注意力机制后,和ResNet-50相比,准确率提升了2.5%,误检率下降了3%,表明自注意力机制有助于提取更加精确的分类特征,有助于提升算法的分类准确率。(3)针对传统的行为特征描述无法直观反映恶意程序真实攻击意图的问题,提出基于最小行为图匹配的分类算法。该算法基于沙盒系统捕获的恶意程序行为序列,建立以“最小行为”为基础的行为图,提出了行为图匹配算法,并构建了82个常见恶意行为的“最小行为”图,从而对恶意行为进行了直观的描述。实验结果表明,采用“最小行为”图匹配算法,能够检测大部分的恶意行为,在捕获能力上要高于常见沙盒系统。用四大类别的恶意程序样本进行识别率的实验,除AutoRun类外,对其他类别恶意程序的识别率都在90%以上,具有较高的检测准确率。(4)针对一般的机器学习恶意程序分类算法以程序特征为基础,未考虑实际语义的问题,提出了基于多层语义聚合与递归神经张量网络相结合的恶意程序分析模型。通过研究恶意程序语义的聚合关系,提出一种多层语义聚合模型。借鉴递归神经张量网络自底向上逐层计算的特点,以减少参数计算为目的,构建了多层语义聚合与递归神经张量网络相结合的恶意程序分析模型。为检测模型的实际性能,实验中搭建了基于多层语义聚合的RNTN网络恶意程序分析系统。实验结果表明,该模型的检测指标要优于机器学习算法,能够提升恶意程序的分析检测性能,为恶意程序分析提供了一种好的解决方案。