博弈奖励漏洞:基于零和博弈与原型学习的软件漏洞检测
软件工程
2024-01-17 v1 密码学与安全
摘要
近年来,自动化软件漏洞检测受到越来越多的关注。值得注意的是,基于深度学习(DL)的方法利用源代码隐式获取漏洞模式,与其他方法相比展现出了卓越的性能。然而,基于 DL 的方法仍然难以从整个代码片段中捕获与漏洞相关的信息,因为易受攻击的部分通常只占很小比例。正如我们的实验所证明的那样,这些方法往往过度强调语义信息,可能导致在实际场景中的漏洞检测性能受限。首先,由于代码更改极小,它们无法很好地区分开发者修复前(即易受攻击代码)和修复后(即非易受攻击代码)的代码片段。此外,用占位符(例如“VAR1”和“FUN1”)替换用户定义的标识符会导致 F1 分数下降高达 14.53%。为了缓解这些问题,我们提出利用易受攻击的及相应的修复后的代码片段,其中最小的更改可以为漏洞检测提供关于语义无关特征的提示。在本文中,我们提出了一个结合零和博弈与原型学习的软件漏洞检测框架,命名为 RECON。在 RECON 中,我们提出了一个零和博弈构建模块。将易受攻击代码与相应的修复代码区分开来被视为一个玩家(即 Calibrator),而传统的漏洞检测是零和博弈中的另一个玩家(即 Detector)。目标是为第一个玩家捕获语义无关特征,以增强第二个玩家在漏洞检测中的性能。在公共基准数据集上的实验表明,RECON 在 F1 分数上比最先进的基线高出 6.29%。
引用
@article{arxiv.2401.08131,
title = {Game Rewards Vulnerabilities: Software Vulnerability Detection with Zero-Sum Game and Prototype Learning},
author = {Xin-Cheng Wen and Cuiyun Gao and Xinchen Wang and Ruiqi Wang and Tao Zhang and Qing Liao},
journal= {arXiv preprint arXiv:2401.08131},
year = {2024}
}
备注
17 pages, 8 figures