基于图神经网络的二进制函数相似度检测算法研究及实现
发布时间:2022-07-22 14:08
二进制函数相似度检测是指检测不同平台,不同编译器,不同优化选项,不同软件版本的两个二进制函数是否相似。因其能够在无法获得源码的情况下分析二进制函数,所以常用在网络安全和知识产权保护领域中,例如恶意软件分析,漏洞检测,版权纠纷等问题。现有检测方法一部分依赖于图匹配算法,这种方法时间复杂度高且难以迁移到新任务;另一部分是基于神经网络的图嵌入方法,这种方法将二进制函数转换成属性控制流程图,并将其输入到神经网络转换成高维向量。它通过将图匹配过程转换成向量之间的数值运算,提高了相似度的检测效率。但在当前的图嵌入方法中,对属性流程图的特征抽取方法通常是人工提取,会引入人为偏差,且在转换过程中没有考虑到不同结点的重要性差异,因此降低了转换过程的准确性。为了改进人工提取特征引入人为偏差的缺陷,本文设计并实现了基于标准化的无监督特征提取方法。该方法不仅能够避免产生人为偏差,还能够更好的迁移到不同的应用领域。另外本文基于传统的structure2vec网络,通过引入注意力机制来自动学习函数属性流程图中不同结点之间的影响权重。进一步提高了检测精确度。本文主要工作如下:1.提出通用的二进制函数相似度检测框架F...
【文章页数】:79 页
【学位级别】:硕士
【文章目录】:
摘要
Abstract
第1章 绪论
1.1 课题背景及意义
1.2 国内外研究现状
1.3 本文主要工作与创新点
1.3.1 本文主要工作
1.3.2 本文创新点
1.4 本文的组织结构
第2章 二进制代码相似度相关研究综述
2.1 基于图匹配的相似度检测
2.1.1 SIGMA
2.1.2 discovRE
2.1.3 BinGold
2.2 基于图嵌入的相似度检测
2.2.1 Genius
2.2.2 Gemini
2.2.3 VulSeeker
2.3 基于深度神经网络的相似度检测
2.3.1 αDiff
2.3.2 Zeek
2.3.3 SAFE
2.4 本章小结
第3章 基于图神经网络的相似度检测算法
3.1 FuncSim总体架构
3.2 流程图抽取
3.2.1 控制流程图
3.2.2 数据流程图
3.3 特征抽取
3.3.1 人工特征抽取
3.3.2 无监督特征学习
3.4 语义转换网络
3.4.1 基本structure2vec网络
3.4.2 图注意力机制
3.4.3 改进后的语义转换网络
3.4.4 孪生网络学习参数
3.5 本章小结
第4章 性能评估实验
4.1 实验设置及环境说明
4.2 数据集介绍
4.2.1 数据集一:OpensslBusybox数据集
4.2.2 数据集二:CVE数据集
4.3 基线选择
4.4 评价指标描述
4.4.1 ROC与AUC
4.4.2 精确率与召回率
4.4.3 nDCG
4.5 实验目的说明
4.6 实验一: 超参数选择实验
4.6.1 训练周期数
4.6.2 迭代次数T
4.6.3 多头数量
4.6.4 嵌入维度P
4.7 实验二: 模块性能提升实验
4.7.1 无监督特征抽取的性能提升实验
4.7.2 网络改进的性能提升实验
4.8 实验三: 总体性能提升实验
4.8.1 平台性能提升实验
4.8.2 不同基本块数量的性能提升实验
4.9 实验四: 时间效率实验
4.9.1 特征抽取时间
4.9.2 训练时间
4.10 实验五:函数查找性能实验
4.10.1 实验过程描述
4.10.2 总体查找性能结果及分析
4.11 实验六:漏洞查找性能实验
4.11.1 Heartbleed漏洞查找结果
4.11.2 总体查找性能结果及分析
4.12 实验七:语义转换结果可视化
4.13 本章总结
第5章 总结与展望
5.1 本文工作总结
5.2 未来工作展望
参考文献
攻读硕士学位期间的主要研究成果
致谢
本文编号:3664750
【文章页数】:79 页
【学位级别】:硕士
【文章目录】:
摘要
Abstract
第1章 绪论
1.1 课题背景及意义
1.2 国内外研究现状
1.3 本文主要工作与创新点
1.3.1 本文主要工作
1.3.2 本文创新点
1.4 本文的组织结构
第2章 二进制代码相似度相关研究综述
2.1 基于图匹配的相似度检测
2.1.1 SIGMA
2.1.2 discovRE
2.1.3 BinGold
2.2 基于图嵌入的相似度检测
2.2.1 Genius
2.2.2 Gemini
2.2.3 VulSeeker
2.3 基于深度神经网络的相似度检测
2.3.1 αDiff
2.3.2 Zeek
2.3.3 SAFE
2.4 本章小结
第3章 基于图神经网络的相似度检测算法
3.1 FuncSim总体架构
3.2 流程图抽取
3.2.1 控制流程图
3.2.2 数据流程图
3.3 特征抽取
3.3.1 人工特征抽取
3.3.2 无监督特征学习
3.4 语义转换网络
3.4.1 基本structure2vec网络
3.4.2 图注意力机制
3.4.3 改进后的语义转换网络
3.4.4 孪生网络学习参数
3.5 本章小结
第4章 性能评估实验
4.1 实验设置及环境说明
4.2 数据集介绍
4.2.1 数据集一:OpensslBusybox数据集
4.2.2 数据集二:CVE数据集
4.3 基线选择
4.4 评价指标描述
4.4.1 ROC与AUC
4.4.2 精确率与召回率
4.4.3 nDCG
4.5 实验目的说明
4.6 实验一: 超参数选择实验
4.6.1 训练周期数
4.6.2 迭代次数T
4.6.3 多头数量
4.6.4 嵌入维度P
4.7 实验二: 模块性能提升实验
4.7.1 无监督特征抽取的性能提升实验
4.7.2 网络改进的性能提升实验
4.8 实验三: 总体性能提升实验
4.8.1 平台性能提升实验
4.8.2 不同基本块数量的性能提升实验
4.9 实验四: 时间效率实验
4.9.1 特征抽取时间
4.9.2 训练时间
4.10 实验五:函数查找性能实验
4.10.1 实验过程描述
4.10.2 总体查找性能结果及分析
4.11 实验六:漏洞查找性能实验
4.11.1 Heartbleed漏洞查找结果
4.11.2 总体查找性能结果及分析
4.12 实验七:语义转换结果可视化
4.13 本章总结
第5章 总结与展望
5.1 本文工作总结
5.2 未来工作展望
参考文献
攻读硕士学位期间的主要研究成果
致谢
本文编号:3664750
本文链接:https://www.wllwen.com/kejilunwen/shengwushengchang/3664750.html
最近更新
教材专著