一句话:提出 Snopy,将样本去噪与因果图学习结合,从含噪声的漏洞样本中学习真实漏洞模式以提升检测效果。
现有基于深度学习的漏洞检测方法难以聚焦漏洞函数中与漏洞相关的代码部分,容易利用伪相关进行预测,从而削弱实际效果。本文提出 Snopy,将样本去噪与因果图学习桥接起来,从含有大量噪声的漏洞样本中捕获真实漏洞模式。具体而言,Snopy 采用基于变更的样本去噪方法,在不牺牲标签准确性的前提下自动剔除漏洞函数中与漏洞无关的代码元素;随后构建新颖的因果感知图注意力网络(CA-GAT)并配合特征缓存方案(FCS),在保持高效的同时学习因果漏洞特征。在三个公开基准数据集上的实验表明,Snopy 在 F1 分数上分别平均超越最先进基线 27.22%、85.89% 和 75.50%。
Deep Learning (DL) has emerged as a promising means for vulnerability detection due to its ability to automatically derive features from vulnerable code. Unfortunately, current solutions struggle to focus on vulnerability-related parts of vulnerable functions, and tend to exploit spurious correlations for prediction, thus undermining their effectiveness in practice. In this paper, we propose Snopy, a novel DL-based approach, which bridges sample denoising with causal graph learning to capture real vulnerability patterns from vulnerable samples with numerous noise for effective detection. Specifically, Snopy adopts a change-based sample denoising approach to automatically weed out vulnerability-irrelevant code elements in the vulnerable functions without sacrificing the label accuracy. Then, Snopy constructs a novel Causality-Aware Graph Attention Network (CA-GAT) with Feature Caching Scheme (FCS) to learn causal vulnerability features while maintaining efficiency. Experiments on the three public benchmark datasets show that Snopy outperforms the state-of-the-art baselines by an average of 27.22%, 85.89%, and 75.50% in terms of F1-score, respectively.
DOI 原文 ·
@inproceedings{paperbot8314,
title = {Snopy: Bridging Sample Denoising with Causal Graph Learning for Effective Vulnerability Detection},
author = {Sicong Cao and Xiaobing Sun and Xiaoxue Wu and David Lo and Lili Bo and Bin Li and Xiaolei Liu and Xingwei Lin and Wei Liu},
booktitle = {ASE},
year = {2024},
doi = {10.1145/3691620.3695057}
}