基于深度学习的代码漏洞检测
发布时间:2021-04-26 13:42
软件安全是软件开发工作的重中之重,因为软件安全漏洞不仅会损耗不必要的资源,还会给公司或组织带来严重的经济财产损失。然而对于开发者而言,发现漏洞并不是一件容易的事,因为漏洞代码和安全代码并没有明显的差异。对于代码分析这类时序任务,循环神经网络经大量科研工作者的验证,已经是成熟的应用方案。但是最近有不少的研究将卷积网络用于音频合成和机器翻译等时序任务中,取得了比循环网络更好的效果。在使用机器学习检测代码漏洞的任务中,代码的预处理和神经网络的选择是影响检测精度的关键因素。论文首先提出了一种将程序代码转换为单词向量序列的方法,该方法可以兼顾保留程序语义和处理的简洁性,包含了代码切割、单词编码等过程。然后建立了一个基于卷积神经网络的代码漏洞检测模型,不同于其他基于循环网络的方法,该模型使用卷积神经网络对单词级的函数对象进行分析。模型结合了多种有效的技术,包括因果卷积、扩张卷积以及残差单元等,并尽量保证网络的简洁。最后,在使用多种超参数对模型的性能进行测试后,给出了兼顾效率与准确度的卷积网络超参数调整原则,为模型处理更多的数据集预留了扩展性。实验用三种数据集来测试模型性能,代码漏洞检测模型在精确率...
【文章来源】:华中科技大学湖北省 211工程院校 985工程院校 教育部直属院校
【文章页数】:59 页
【学位级别】:硕士
【文章目录】:
摘要
Abstract
1 绪论
1.1 课题背景及研究意义
1.2 研究概况
1.3 研究内容
1.4 论文组织结构
2 相关理论和技术
2.1 传统代码异常检测
2.2 自然语言处理
2.3 循环神经网络
2.4 卷积神经网络
2.5 本章小结
3 基于深度学习的代码漏洞检测模型
3.1 模型总体架构
3.2 代码编码预处理
3.3 时序卷积神经网络
3.4 时序卷积神经网络调参准则
3.5 本章小结
4 代码漏洞检测模型的实现
4.1 代码编码预处理
4.2 时序卷积神经网络
4.3 本章小结
5 模型测试与结果分析
5.1 实验环境
5.2 实验数据
5.3 实验结果及分析
5.4 本章小结
6 总结与展望
6.1 工作总结
6.2 工作展望
致谢
参考文献
本文编号:3161512
【文章来源】:华中科技大学湖北省 211工程院校 985工程院校 教育部直属院校
【文章页数】:59 页
【学位级别】:硕士
【文章目录】:
摘要
Abstract
1 绪论
1.1 课题背景及研究意义
1.2 研究概况
1.3 研究内容
1.4 论文组织结构
2 相关理论和技术
2.1 传统代码异常检测
2.2 自然语言处理
2.3 循环神经网络
2.4 卷积神经网络
2.5 本章小结
3 基于深度学习的代码漏洞检测模型
3.1 模型总体架构
3.2 代码编码预处理
3.3 时序卷积神经网络
3.4 时序卷积神经网络调参准则
3.5 本章小结
4 代码漏洞检测模型的实现
4.1 代码编码预处理
4.2 时序卷积神经网络
4.3 本章小结
5 模型测试与结果分析
5.1 实验环境
5.2 实验数据
5.3 实验结果及分析
5.4 本章小结
6 总结与展望
6.1 工作总结
6.2 工作展望
致谢
参考文献
本文编号:3161512
本文链接:https://www.wllwen.com/kejilunwen/zidonghuakongzhilunwen/3161512.html