- 简介源代码漏洞检测旨在识别潜在漏洞,以保护软件系统免受潜在攻击。许多先前的研究忽略了各种漏洞特征,将问题简化为二元(0-1)分类任务,例如确定是否存在漏洞。这对于单个基于深度学习的模型来说是一个挑战,无法有效地学习各种漏洞特征。此外,由于收集大规模漏洞数据所面临的挑战,这些检测器经常过度拟合有限的训练数据集,导致模型的泛化性能降低。 为了解决上述挑战,在这项工作中,我们介绍了一种细粒度漏洞检测器,即FGVulDet。与先前的方法不同,FGVulDet采用多个分类器来区分各种漏洞类型的特征,并结合它们的输出来识别特定类型的漏洞。每个分类器都设计为学习特定类型的漏洞语义。此外,为了解决某些漏洞类型的数据稀缺问题,并增强学习更好漏洞语义的数据多样性,我们提出了一种新的保留漏洞的数据增强技术来增加漏洞数量。受到学习程序语义的图神经网络最近进展的启发,我们将门控图神经网络(GGNN)并将其扩展为边缘感知GGNN以捕获边缘类型信息。FGVulDet在来自GitHub的大规模数据集上进行训练,包括五种不同类型的漏洞。与基于静态分析和基于学习的方法进行的广泛实验证明了FGVulDet的有效性。
- 图表
- 解决问题本论文旨在解决源代码漏洞检测中的挑战,包括多样的漏洞特征、数据集的有限性以及模型泛化性能不佳等问题。
- 关键思路论文提出了一种细粒度漏洞检测器 FGVulDet,采用多个分类器来识别不同类型的漏洞,并结合它们的输出来确定具体的漏洞类型。为了增加数据多样性和学习更好的漏洞语义,论文还提出了一种新的漏洞保留数据增强技术。此外,论文还使用了图神经网络来捕捉程序语义信息。
- 其它亮点论文使用了 GitHub 上的大规模数据集,包括五种不同类型的漏洞。实验结果表明,FGVulDet 的效果优于静态分析和基于学习的方法。此外,论文的数据增强技术和图神经网络的应用也是值得关注的亮点。
- 最近的相关研究包括:《DeepVulnerabilityPredictor: Learning to Predict Vulnerabilities in Software from Code》、《Code Property Graphs》等。
沙发等你来抢
去评论
评论
沙发等你来抢