中文

学习量化漏洞模式并匹配以定位语句级漏洞

密码学与安全 2023-06-13 v1 人工智能 机器学习

摘要

深度学习(DL)模型在识别软件漏洞方面日益流行。先前研究发现,不同漏洞程序中的漏洞可能表现出相似的漏洞范围,隐式形成可由 DL 模型通过监督训练学习的可辨漏洞模式。然而,漏洞范围在程序内仍呈现于多样的空间位置与格式,给模型准确识别漏洞语句带来挑战。尽管存在此挑战,最先进的漏洞检测方法未能利用漏洞程序中出现的漏洞模式。为充分利用漏洞模式并释放 DL 模型能力,本文受基于预定义模式定位漏洞的程序分析工具启发,提出一种新颖的漏洞匹配方法。具体而言,学习一个漏洞码本,其由表示各类漏洞模式的量化向量组成。推理时,迭代码本以匹配所有已学模式并预测给定程序内潜在漏洞的存在。我们的方法在包含超 18.8 万 C/C++ 函数的真实数据集上进行了广泛评估。评估结果显示,我们的方法在函数级与语句级漏洞识别上分别取得 94%(较先前最佳高 6%)与 82%(较先前最佳高 19%)的 F1 分数。这些显著提升凸显了我们方法识别漏洞的有效性。训练代码与预训练模型见于 https://github.com/optimatch/optimatch。

关键词

引用

@article{arxiv.2306.06109,
  title  = {Learning to Quantize Vulnerability Patterns and Match to Locate Statement-Level Vulnerabilities},
  author = {Michael Fu and Trung Le and Van Nguyen and Chakkrit Tantithamthavorn and Dinh Phung},
  journal= {arXiv preprint arXiv:2306.06109},
  year   = {2023}
}