基于图神经网络的漏洞检测:一种反事实解释
软件工程
2024-07-16 v2 人工智能
密码学与安全
摘要
漏洞检测对于确保软件系统的安全性和可靠性至关重要。最近,图神经网络(GNNs)作为一种突出的代码嵌入方法在漏洞检测中屈居于上,因其能够捕捉源代码的底层语义结构。然而,GNNs在可解释性方面面临重大挑战,因其本质上是黑箱模型。为此,已提出几种基于事实推理的解释器。这些解释器通过分析贡献于结果的关键特征,为GNNs的预测提供解释。我们认为,这些基于事实推理的解释无法回答关键的假设问题:如果我们将代码图转换为 alternative 结构,GNN的决策会发生什么?灵感来自人工智能中反事实推理的进展,我们提出CFExplainer,这是一种用于GNN-based漏洞检测的新型反事实解释器。与基于事实推理的解释器不同,CFExplainer寻求使输入代码图发生最小扰动,以导致预测改变,从而为漏洞检测解决假设问题。我们将这种扰动称为反事实解释,可指示检测到的漏洞的根本原因,并为开发人员提供实施适当操作以修复漏洞的宝贵见解。在四个GNN-based漏洞检测模型上的大量实验表明,CFExplainer相对于现有SOTA基于事实推理的解释器具有有效性。
引用
@article{arxiv.2404.15687,
title = {Graph Neural Networks for Vulnerability Detection: A Counterfactual Explanation},
author = {Zhaoyang Chu and Yao Wan and Qian Li and Yang Wu and Hongyu Zhang and Yulei Sui and Guandong Xu and Hai Jin},
journal= {arXiv preprint arXiv:2404.15687},
year = {2024}
}
备注
This paper was accepted in the proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2024)