论文
在预期行为保留转换下将偏差嵌入到代码漏洞模型中
Embedding Drift in Code Vulnerability Models Under Intended Behaviour-Preserving Transformations
摘要
保留程序行为的代码编辑可以跨分类器决策边界转移冻结的代码嵌入,从而导致正确检测到的漏洞被预测为良性漏洞。这种不稳定性是有问题的,因为语义中立的更改(包括注释删除、插入无法访问的代码、变量重命名和循环重写)不应改变模型的安全判断。我们使用来自 Big-Vul 数据集的 15,000 个 C/C++ 函数来调查这个问题,这些函数被组织为 7,500 个漏洞补丁对。四个突变轨迹适用于易受攻击和良性样本:注释删除、无法访问的代码插入、变量重命名、循环重写以及应用所有转换的组合设置。使用带有六个下游分类器的冻结的基于 microsoft/codebert 的嵌入,我们评估了漏洞预测的稳健性,并引入了仅训练的防御,该防御将干净的和变异的表示更紧密地投影在一起,同时保留漏洞类别信息。在组合突变下,基线脆弱翻转率 (VFR) 范围为 35.55% 至 42.15%。所提出的防御将平均公共集 VFR 从 22.60% 降低到 11.32%,并将平均突变准确度从 55.33% 提高到 57.10%。对于 Logistic 回归,VFR 下降了 17.29 个百分点,尽管良性到脆弱的翻转增加了 11.95 个百分点。这些结果表明,防御提高了保留语义的代码转换的鲁棒性,但引入了误报权衡,并且不能完全消除预测的不稳定性。