Key points are not available for this paper at this time.
摘要 开源软件社区的蓬勃发展和广泛应用导致软件漏洞大量扩散,给系统安全带来了严峻挑战。近年来,已提出了许多基于深度学习的漏洞检测方法,以帮助工程师高效分析和修复漏洞。然而,这些现有方法在从漏洞代码中提取丰富特征方面仍存在局限性。针对上述问题,我们提出了 VulD-SG,一种基于深度序列与图模型的双通道软件代码漏洞检测方法。VulD-SG 通过引入基于深度序列和基于图的漏洞特征提取模块,增强了源代码语义、句法和结构特征的提取能力。为了解决传统方法检测粒度较粗的问题,VulD-SG 采用一种新型分解算法将代码语句切片为子标记(subtoken),以捕获详细的漏洞信息。同时,在基于图的漏洞特征提取模块中利用 Transformer 风格的编码器聚合程序依赖图(PDG)节点,从而有效学习跨函数代码的长距离依赖关系。最后,我们构建了一个融合模型来合并训练参数并实现细粒度的预测结果。实验结果表明,与七种基于深度学习的漏洞检测模型相比,VulD-SG 在五个不同的漏洞数据集上的 Acc、F1 和 Recall 指标分别提升了 2.6\%~27\%、2\%~29.2\% 和 1\%~30.25\%。
Zhang et al. (Mon,) 研究了该问题。