首页|基于图的恶意代码检测方法研究

基于图的恶意代码检测方法研究

刘俊林

基于图的恶意代码检测方法研究

刘俊林1
扫码查看

作者信息

  • 1. 西南石油大学
  • 折叠

摘要

伴随计算机网络和信息技术的飞速发展,网络规模越来越大并且部署了大量的通信设备,但这些设备容易受到恶意软件的侵害,给人们的生活带来了非常严峻的安全威胁。虽然目前成熟的杀毒软件可以为信息系统提供一定的安全保障,但是传统杀毒软件基于特征码扫描技术,无法及时有效地检测新出现的恶意程序。 虽然恶意代码静态分析技术发展很快,但攻击者可以借助加壳和混淆等技术躲避静态分析,使得静态分析的难度加大。而动态分析技术是将程序样本放置到安全的运行环境中执行,提取行为特征进行分析,能有效降低加壳和混淆等技术干扰。 为了避免恶意软件加壳和混淆技术的干扰,本文对动态分析技术展开研究,主要的研究工作和贡献如下: 首先,对N-GRAM检测方法和原始字节检测方法进行研究,并提出一种集成N-GRAM和原始字节检测方法优点的新静态模型TuningMalconv。N-GRAM检测方法会扫描整个程序,提取程序的字节n元语法进行检测,消耗时间较长。原始字节检测直接通过程序的部分字节序列进行检测,特征提取简单,但遇到较复杂的程序时,检测效果稍差。TuningMalconv利用双层设计结构将原始字节检测和N-GRAM检测结合起来。第一层借助原始字节检测分析容易被识别的程序,将较复杂的程序放到第二层通过N-GRAM检测。通过这样的双层设计融合了N-GRAM检测和原始字节检测的优势,既可以保证检测效率,同时也能提高检测效果。 其次,提出基于API调用依赖图的动态检测模型。程序执行过程中的API调用可以反映其在执行过程中多种多样的运行行为,因此可以通过构造API调用依赖图刻画程序的行为,揭示程序的执行意图,实现有效的恶意检测。目前存在定义依赖、动态污点分析、调用顺序依赖等多种API调用依赖图的构造方法,本文选用顺序调用依赖关系构造API调用依赖图,借助图嵌入技术将图转化为数值矩阵,然后通过卷积神经实现检测判断。 另外,在API调用依赖图的基础上,提出资源依赖图的构造方法。程序运行过程中访问过的资源信息也能够在一定程度上反映程序的执行意图,因此,本文提取程序访问的资源并构造依赖图,将资源依赖图与API调用依赖图结合起来,进一步提高恶意检测效果。 最后,对提出的方法进行实验验证,从假阳性率、真阳性率、检测准确率和F1得分四个方面对模型进行评估。实验表明,本文提出的检测方法是有效的,检测准确率可以达到98%以上,误报率只有1.54%。

关键词

恶意代码检测/卷积神经网络/API调用

引用本文复制引用

授予学位

硕士

学科专业

计算机科学与技术

导师

杨力

学位年度

2021

学位授予单位

西南石油大学

语种

中文

中图分类号

TP
段落导航相关论文