从通用到专用:探索 CWE 特定漏洞检测
密码学与安全
2024-08-06 v1 软件工程
摘要
使用机器学习进行漏洞检测 (VD) 面临一个显著挑战:漏洞类型的广泛多样性。每个 Common Weakness Enumeration (CWE) 代表一种独特的漏洞类别,具有不同的特征、代码语义和模式。将所有漏洞视为单一标签的二元分类方法可能过于简化,因而无法捕捉每种 CWE 特有的细微差别和情境。结果是,单一的二元分类器可能仅依赖浅层文本模式,而非理解每种漏洞类型的细微差别。近期报告表明,即便是参数数十亿的领先大语言模型 (LLM),在检测漏洞方面也难以有效泛化。我们的工作探索了一种不同的方法,利用 CWE 特定分类器来解决漏洞类型的异构性问题。我们假设为每种 CWE 训练独立的分类器可使模型捕捉到每种漏洞类别所特有的特征和代码语义。为确认这一假设,我们通过为每个 CWE 训练独立分类器并独立评估其性能进行消融实验。我们的实验结果表明,CWE 特定分类器优于在所有漏洞上训练的单一二元分类器。基于此,我们进一步探索了将其组合成统一漏洞检测系统的策略,采用多类方法。即便缺乏大规模高质量漏洞检测数据集仍是主要障碍,但我们的实验结果表明,多类检测可是通往实用漏洞检测的更好路径。我们的所有模型和代码均已开源。
引用
@article{arxiv.2408.02329,
title = {From Generalist to Specialist: Exploring CWE-Specific Vulnerability Detection},
author = {Syafiq Al Atiiq and Christian Gehrmann and Kevin Dahlén and Karim Khalil},
journal= {arXiv preprint arXiv:2408.02329},
year = {2024}
}