Vulnerability Detection in C/C++ Code with Deep Learning

2024年05月20日
  • 简介
    深度学习已被证明是检测软件漏洞的一种有前途的工具。本文使用从C/C++程序源代码中提取的程序片段来训练神经网络以检测软件漏洞。程序片段捕捉了与漏洞相关的程序构造的语法和语义特征,包括API函数调用、数组使用、指针使用和算术表达式。为了实现对易受攻击代码和非易受攻击代码的强大预测模型,我们比较了不同类型的训练数据、不同的优化器和不同类型的神经网络。我们的结果表明,结合源代码的不同特征并使用平衡数量的易受攻击程序片段和非易受攻击程序片段可以在预测易受攻击代码和非易受攻击代码方面产生平衡的准确性。在不同的神经网络中,使用ADAM优化器的BGRU在检测软件漏洞方面表现最佳,准确率为92.49%。
  • 作者讲解
  • 图表
  • 解决问题
    使用神经网络检测C/C++程序中的软件漏洞
  • 关键思路
    使用从程序片段中提取的语法和语义特征训练神经网络,以检测软件漏洞
  • 其它亮点
    论文比较了不同类型的训练数据、不同的优化器和不同类型的神经网络,发现使用平衡数量的漏洞程序片段和非漏洞程序片段以及结合不同类型的源代码特征可以获得更好的预测效果。实验结果表明,使用BGRU和ADAM优化器的神经网络在检测软件漏洞方面具有92.49%的准确率。
  • 相关研究
    最近的相关研究包括《使用深度学习检测软件漏洞:现状和未来》、《基于神经网络的软件漏洞检测综述》等。
许愿开讲
PDF
原文
点赞 收藏
向作者提问
NEW
分享到Link

提问交流

提交问题,平台邀请作者,轻松获得权威解答~

向作者提问