基于深度学习的二进制程序漏洞分析与检测方法研究
| 致谢 | 第5-6页 |
| 摘要 | 第6-7页 |
| ABSTRACT | 第7-8页 |
| 1 引言 | 第11-17页 |
| 1.1 研究背景及意义 | 第11页 |
| 1.2 国内外研究现状 | 第11-14页 |
| 1.3 本文研究内容 | 第14-15页 |
| 1.4 本文主要贡献 | 第15页 |
| 1.5 论文的组织结构 | 第15-17页 |
| 2 背景知识及相关技术 | 第17-30页 |
| 2.1 软件漏洞的概念 | 第17-18页 |
| 2.2 二进制漏洞分析 | 第18-22页 |
| 2.2.1 静态漏洞分析技术 | 第19-20页 |
| 2.2.2 动态漏洞分析技术 | 第20页 |
| 2.2.3 动静结合的漏洞分析技术 | 第20-22页 |
| 2.3 深度学习 | 第22-29页 |
| 2.3.1 深度学习概述 | 第22页 |
| 2.3.2 神经网络 | 第22-25页 |
| 2.3.3 卷积神经网络 | 第25-27页 |
| 2.3.4 长短时记忆网络 | 第27-29页 |
| 2.4 本章小结 | 第29-30页 |
| 3 数据与数据预处理 | 第30-37页 |
| 3.1 数据 | 第30-34页 |
| 3.1.1 特征提取 | 第30-33页 |
| 3.1.2 获取标签 | 第33-34页 |
| 3.2 数据预处理 | 第34-36页 |
| 3.2.1 向量转化 | 第35-36页 |
| 3.2.2 统一向量维度 | 第36页 |
| 3.3 本章小结 | 第36-37页 |
| 4 基于深度学习的二进制漏洞检测模型的设计与实现 | 第37-50页 |
| 4.1 深度学习和文本分类 | 第37-38页 |
| 4.2 漏洞检测深度学习模型中的关键技术 | 第38-40页 |
| 4.2.1 嵌入层 | 第38-39页 |
| 4.2.2 激活函数 | 第39页 |
| 4.2.3 丢弃层 | 第39-40页 |
| 4.2.4 优化器 | 第40页 |
| 4.3 漏洞检测深度学习模型 | 第40-44页 |
| 4.3.1 卷积神经网络模型 | 第40-42页 |
| 4.3.2 长短期记忆网络模型 | 第42-43页 |
| 4.3.3 双向长短期记忆网络模型 | 第43页 |
| 4.3.4 卷积神经网络—长短期记忆网络模型 | 第43-44页 |
| 4.4 模型实现与性能分析 | 第44-49页 |
| 4.4.1 模型训练 | 第45页 |
| 4.4.2 测试结果及分析 | 第45-49页 |
| 4.5 本章小结 | 第49-50页 |
| 5 总结与展望 | 第50-52页 |
| 5.1 论文总结 | 第50页 |
| 5.2 未来工作展望 | 第50-52页 |
| 参考文献 | 第52-56页 |
| 作者简历及攻读硕士学位期间取得的研究成果 | 第56-58页 |
| 学位论文数据集 | 第58页 |