Page 225 - 《软件学报》2025年第7期
P. 225
3146 软件学报 2025 年第 36 卷第 7 期
表 4 CWE Top 类型漏洞描述检测结果 (续)
CWE排名 ID 官方漏洞描述 VulBG CSFF-VD Vuln
19 CWE-918 Server-side Request Forgery 1 1 2
23 CWE-94 Improper Control of Generation of Code 1 1 3
24 CWE-863 Incorrect Authorization 2 1 4
- - 合计 840 956 1 767
我们使用 Chrome+Debian 数据集作为训练数据集, 因为其缺陷率与 BigVul 类似. 为了保证实验的公平性, 测
试数据集去除了与 Chrome+Debian 中重叠的数据. 然后, 我们使用本次训练中具有最高 F-measure 值的模型来评
估其准确性. 由于在之前的实验结果中, CSFF-VD 的 Recall 性能略微低于 VulBG, 因此我们也对 VulBG 进行评估
作为额外一组比较方法, 最佳结果用粗体标出. 实验结果表明, 在属于 CWE Top 的 1 767 个漏洞中, CSFF-VD 检测
到了 956 个, 检测率达到 54.1%, 与 VulBG 相比提高了 13.9%. 检测 top-1 和 top-5 CWE 漏洞的准确率分别为
66.9% 和 62.4%, 也比 VulBG 显示出显著的优势. 表中的最佳结果以粗体显示, 表明 CSFF-VD 在检测大多数现实
项目漏洞方面表现更好. CSFF-VD 针对 CWE Top 漏洞的综合评估显示了其处理现实安全威胁的卓越能力.
6.2 CSFF-VD 在最新发布漏洞上的检测效果
为了评估 CSFF-VD 在最新发布漏洞中的检测效果, 我们针对 FFmpeg Security [35] 发布的 2023–2024 年新增漏
洞案例进行实验. 这些案例来自 FFmpeg 开源项目, 类型涵盖堆缓冲区溢出、越界读取等实际场景中常见的漏洞
类型, 详细信息如表 5 前 4 列所示.
表 5 2023–2024 年 FFmpeg 项目新增漏洞及各方法检测情况
是否检出
漏洞编号 漏洞类型 补丁Commit号前8位 文件名
CodeBERT VulCNN CSFF-Base CSFF-VD
CVE-2024-28661 堆缓冲区溢出 66b50445 speexdec.c - √ √ √
CVE-2024-7055 越界访问 d0ce2529 pnmdec.c √ √ √ √
CVE-2024-7272 越界访问 a937b3c5 swresample.c - - √ √
CVE-2023-47342 越界访问 e4d5ac8d rtsp.c - - - -
CVE-2023-47343 非法内存读取 0f6a3405 mov.c - - - √
CVE-2023-47344 越界访问 f7ac3512 jpegxl_parser.c √ √ √ √
本节中, 我们使用 RQ1 中所构建的 CodeBERT 方法 (基于令牌) 与 VulCNN 方法 (基于程序依赖图和卷积神
经网络)、RQ2 中所构建的 Intra 方法 (基于代码属性图的独立结构特征) 以及本文提出的 CSFF-VD 方法, 对表 5
中 FFmpeg 的新漏洞案例进行检测. 检测结果如表 5 的后 4 列所示, CodeBERT 仅检出 2 个越界访问漏洞;
VulCNN 检出 2 个越界访问和 1 个堆缓冲区溢出漏洞, Intra 检出 3 个越界访问、1 个堆缓冲区溢出漏洞; 本文提
出的 CSFF-VD 可检出 5 个漏洞, 其在前 3 个方法检出漏洞的基础上, 额外发现了 1 个因整数溢出导致的非法内存
读取漏洞. 上述结果表明, CSFF-VD 在 FFmpeg 最新漏洞案例上的检测能力优于其他方法. 我们认为, CSFF-VD 方
法通过函数间结构特征关联的构建, 增强了代码特征提取的有效性, 进而提升了模型的漏洞检测能力.
6.3 模型训练时间和推理成本分析
在本节中, 我们讨论 CSFF-VD 的训练时间、推理时间以及模型参数量. 表 6 列出了 CSFF-VD 与其他 5 种
漏洞检测方法的比较结果, 为了保证实验的公平性, 所有比较实验均在同一台高性能计算机上进行. 结果显示,
CSFF-VD 的训练时间约为 20 min, 推理时间不到 5 s, 相较于 CodeBERT 模型, 训练时间和推理时间约是原来的
1/40, 与 Devign、Reveal、VulCNN 和 VulBG 方法相比, 训练时间和推理成本也得到显著提升. 此外, CSFF-VD
的模型参数量较少, 因此它适合部署在计算资源有限的平台, 例如无法使用大参数量模型的计算机和边端设
备等.

