SCALE: Constructing Structured Natural Language Comment Trees for Software Vulnerability Detection

2024年03月28日
  • 简介
    最近,自动软件漏洞检测引起了越来越多的关注。预训练模型为基础的方法在检测漏洞方面表现优于其他基于深度学习的方法。然而,现有的预训练模型方法通常在预测过程中采用代码序列作为输入,可能忽略与漏洞相关的结构信息,表现在以下两个方面:首先,它们往往无法推断包含多个运算符和指针的复杂逻辑代码语句的语义;其次,它们难以理解各种代码执行序列,这对于精确检测漏洞至关重要。为了解决这些挑战,我们提出了一个基于预训练模型的结构化自然语言注释树的漏洞检测框架,称为SCALE。所提出的结构化自然语言注释树(SCT)基于抽象语法树(AST)将代码语句的语义与代码执行序列相结合。具体而言,SCALE包括三个主要模块:(1)注释树构建,旨在通过首先将大型语言模型用于注释生成,然后将注释节点添加到AST中来增强模型推断代码语句语义的能力;(2)结构化自然语言注释树构建,旨在通过将代码语法模板与注释树相结合来明确涉及代码执行序列;(3)SCT增强表示,最终将构建的SCT纳入其中,以很好地捕捉漏洞模式。
  • 作者讲解
  • 图表
  • 解决问题
    提出了一个名为SCALE的基于预训练模型的结构化自然语言注释树的漏洞检测框架,旨在解决现有预训练模型方法在预测过程中忽略漏洞相关的结构信息的问题。
  • 关键思路
    SCALE框架中的关键思路是将结构化自然语言注释树与抽象语法树相结合,以增强模型推断代码语句语义的能力,并明确涉及代码执行顺序的信息。
  • 其它亮点
    论文提出的SCALE框架在多个数据集上进行了实验,结果表明其比其他深度学习方法更准确地检测漏洞。此外,论文还提供了开源代码和数据集,以便其他研究人员进行进一步研究。
  • 相关研究
    最近在这个领域中,还有一些相关的研究,如《DeepVulnerabilityDetection: A Neural Approach to Vulnerability Detection》和《CodeBERT: A Pre-Trained Model for Programming and Natural Language Processing》。
许愿开讲
PDF
原文
点赞 收藏
向作者提问
NEW
分享到Link

提问交流

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

向作者提问