源代码软件漏洞自动挖掘关键技术研究
发布时间:2023-06-02 21:28
随着信息技术的发展,软件已成为与世界经济、文化、科技、教育和军事发展息息相关的重要元素,广泛地应用于通信、金融、医疗等众多领域。无论是商业软件还是程序员自行开发的小程序,开源代码/组件的使用已经变得越来越普遍,开源已经成为了一种趋势。源代码软件漏洞的影响越来越大,基于开源软件漏洞的网络攻击活动数量在逐年增长。源代码软件漏洞挖掘技术能够针对性的对开源软件进行挖掘,掌握开源软件的漏洞挖掘技术对我国、我军的信息安全具有重大战略意义。论文围绕源代码软件漏洞挖掘中的关键技术展开研究。通过梳理发现,现有的源代码漏洞挖掘方法还不够完善。在静态分析方面,现有方法存在支持的漏洞类型少、挖掘精度低的问题。在动态测试方面,符号执行和模糊测试技术虽然都能挖掘漏洞,但是符号执行存在路径爆炸问题,模糊测试存在覆盖率低、不具备导向性等问题。据此,结合源代码的直接或者间接信息、形式化方法,论文在漏洞静态分析、符号执行以及模糊测试方面展开了研究,主要工作和创新如下:针对多种类源代码软件漏洞静态挖掘问题,论文提出了一种基于程序性质图的源代码软件漏洞挖掘方法。首先利用语法解析器解析源代码,依次生成语法分析树、抽象语法树、控...
【文章页数】:126 页
【学位级别】:博士
【文章目录】:
摘要
ABSTRACT
第一章 绪论
1.1 研究背景与意义
1.2 源代码软件漏洞挖掘研究现状
1.2.1 软件漏洞挖掘方法分类
1.2.2 源代码软件静态分析技术
1.2.3 源代码软件动态分析技术
1.3 源代码软件漏洞挖掘的关键问题
1.4 论文的研究思路与主要研究内容
1.5 论文的组织结构
第二章 源代码软件漏洞挖掘基础知识
2.1 源代码中间表示形式
2.1.1 语法分析树
2.1.2 抽象语法树
2.1.3 控制流图
2.1.4 数据流图
2.2 源代码漏洞描述
2.2.1 基于抽象语法树的源代码漏洞描述
2.2.2 基于控制流的源代码漏洞描述
2.2.3 基于污染传播的源代码漏洞描述
2.3 静态程序分析基础
2.3.1 程序可达状态空间语义
2.3.2 程序不动点语义
2.4 动态符号执行技术
2.5 本章小结
第三章 基于程序性质图的源代码软件漏洞挖掘方法研究
3.1 程序性质图生成
3.1.1 性质图
3.1.2 鲁棒的源代码中间表示生成
3.1.3 程序性质图
3.1.4 程序性质图的基本遍历方式
3.2 基于程序性质图的源代码漏洞挖掘方法研究
3.2.1 缓冲区溢出漏洞挖掘方法研究
3.2.2 格式化字符串漏洞挖掘方法研究
3.2.3 UAF漏洞挖掘方法研究
3.2.4 实验与分析
3.3 基于机器学习的缓冲区溢出漏洞挖掘方法研究
3.3.1 基本框架
3.3.2 程序静态属性与映射规则
3.3.3 扩展的程序性质图
3.3.4 实验与分析
3.4 本章小结
第四章 基于细粒度变异的导向模糊测试技术研究
4.1 反馈式模糊测试技术介绍
4.2 基本框架研究
4.3 基于LSTM的关键字段获取与权重计算
4.3.1 距离测度
4.3.2 距离的获取方式
4.3.3 训练过程
4.4 基于细粒度变异的动态测试
4.4.1 细粒度变异的测试用例生成过程
4.4.2 细粒度变异能量分配策略
4.5 实验与分析
4.5.1 实验设计
4.5.2 结果分析
4.6 本章小节
第五章 结合静态程序分析的高效符号执行技术研究
5.1 问题描述
5.2 技术方案研究
5.3 基于抽象解释的静态程序分析技术研究
5.3.1 抽象解释理论框架
5.3.2 基于抽象解释的静态程序分析
5.4 结合静态程序分析的高效符号执行算法
5.4.1 核心技术思想
5.4.2 高效符号执行算法
5.5 实验与分析
5.5.1 实验设计
5.5.2 结果分析
5.6 本章小结
第六章 总结与展望
6.1 论文主要工作总结
6.2 下一步工作展望
致谢
参考文献
作者在学期间取得的学术成果
本文编号:3828061
【文章页数】:126 页
【学位级别】:博士
【文章目录】:
摘要
ABSTRACT
第一章 绪论
1.1 研究背景与意义
1.2 源代码软件漏洞挖掘研究现状
1.2.1 软件漏洞挖掘方法分类
1.2.2 源代码软件静态分析技术
1.2.3 源代码软件动态分析技术
1.3 源代码软件漏洞挖掘的关键问题
1.4 论文的研究思路与主要研究内容
1.5 论文的组织结构
第二章 源代码软件漏洞挖掘基础知识
2.1 源代码中间表示形式
2.1.1 语法分析树
2.1.2 抽象语法树
2.1.3 控制流图
2.1.4 数据流图
2.2 源代码漏洞描述
2.2.1 基于抽象语法树的源代码漏洞描述
2.2.2 基于控制流的源代码漏洞描述
2.2.3 基于污染传播的源代码漏洞描述
2.3 静态程序分析基础
2.3.1 程序可达状态空间语义
2.3.2 程序不动点语义
2.4 动态符号执行技术
2.5 本章小结
第三章 基于程序性质图的源代码软件漏洞挖掘方法研究
3.1 程序性质图生成
3.1.1 性质图
3.1.2 鲁棒的源代码中间表示生成
3.1.3 程序性质图
3.1.4 程序性质图的基本遍历方式
3.2 基于程序性质图的源代码漏洞挖掘方法研究
3.2.1 缓冲区溢出漏洞挖掘方法研究
3.2.2 格式化字符串漏洞挖掘方法研究
3.2.3 UAF漏洞挖掘方法研究
3.2.4 实验与分析
3.3 基于机器学习的缓冲区溢出漏洞挖掘方法研究
3.3.1 基本框架
3.3.2 程序静态属性与映射规则
3.3.3 扩展的程序性质图
3.3.4 实验与分析
3.4 本章小结
第四章 基于细粒度变异的导向模糊测试技术研究
4.1 反馈式模糊测试技术介绍
4.2 基本框架研究
4.3 基于LSTM的关键字段获取与权重计算
4.3.1 距离测度
4.3.2 距离的获取方式
4.3.3 训练过程
4.4 基于细粒度变异的动态测试
4.4.1 细粒度变异的测试用例生成过程
4.4.2 细粒度变异能量分配策略
4.5 实验与分析
4.5.1 实验设计
4.5.2 结果分析
4.6 本章小节
第五章 结合静态程序分析的高效符号执行技术研究
5.1 问题描述
5.2 技术方案研究
5.3 基于抽象解释的静态程序分析技术研究
5.3.1 抽象解释理论框架
5.3.2 基于抽象解释的静态程序分析
5.4 结合静态程序分析的高效符号执行算法
5.4.1 核心技术思想
5.4.2 高效符号执行算法
5.5 实验与分析
5.5.1 实验设计
5.5.2 结果分析
5.6 本章小结
第六章 总结与展望
6.1 论文主要工作总结
6.2 下一步工作展望
致谢
参考文献
作者在学期间取得的学术成果
本文编号:3828061
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3828061.html