Page 224 - 《软件学报》2025年第7期
P. 224
邱少健 等: 基于函数间结构特征关联的软件漏洞检测方法 3145
在 3 个数据集中分别为 61.2%、48.9% 和 32.3%, 比 Intra 方法分别下降 3.4%、15.8% 和 24.9%, 基于该对比结果,
RandomK 方法引入的随机关联样本, 可能会带来噪声信息, 反而降低了代码特征提取的有效性; 而 CSFF-VD 相较
于 Intra 分别提升了 6.9%、2.9% 和 13.5%, 与 RandomK 方法效果截然相反, 说明 CSFF-VD 带来的性能提升是源
于结构特征相似关联信息的增益而不是随机信息量的增加. 总的来说, 整合函数间相似关联样本信息可以提升模
型的检测效果.
70.0 Base FG 67.8 Base FG 50.0 Base FG 48.8
60.0 57.6 57.1 56.9 58.1 59.8 45.0 43.0
65.0
63.4
63.6
F-measure (%) 60.0 51.9 54 53 56.4 54.2 59.3 F-measure (%) 55.0 53.7 54.1 52.3 55.1 F-measure (%) 40.0 29.2 30.9 29.7 31.5 32.5
62.6
35.0
55.0
49.3
30.0
50.0
50.0
25.0 25.4 27.5 26.3
45.0 45.0 20.0
Devign CodeBERT Reveal VulCNN Ours Devign CodeBERT Reveal VulCNN Ours Devign CodeBERT Reveal VulCNN Ours
(a) FFmpeg 数据集上的 RQ2 实验结果 (b) Qemu 数据集上的 RQ2 实验结果 (c) Chrome+Debian 数据集上的 RQ2 实验结果
图 4 基于函数间特征相似性提取关联特征对漏洞检测性能的提升
表 3 3 种对比方法在漏洞检测任务中的 F-measure 值 (%)
对比方法 FFmpeg Qemu Chrome+Debian
Intra 63.4 58.1 43.0
RandomK 61.2 48.9 32.3
CSFF-VD 67.8 59.8 48.8
6 拓展讨论
6.1 CSFF-VD 对最具威胁性漏洞的检测效果
为了评估 CSFF-VD 在现实世界漏洞检测中的有效性, 我们在国际上公开的最具威胁性漏洞榜单 (common
weakness enumeration top, CWE Top) 中进行了实验. 这些漏洞可被攻击者利用从而进行未经授权的系统访问、窃
取敏感数据甚至破坏系统. 我们从 BigVul 数据集 [34] 中选择属于 CWE Top 的函数, 并按 CWE ID 对它们进行分组,
构建测试数据集. 如表 4 所示, 我们收集了 15 种不同的 CWE 类型相关的函数. 该表总结了每种 CWE 类型漏洞的
描述以及我们收集到的函数数量.
表 4 CWE Top 类型漏洞描述检测结果
CWE排名 ID 官方漏洞描述 VulBG CSFF-VD Vuln
1 CWE-787 Out-of-bounds Write 80 91 136
2 CWE-79 Improper Neutralization of Input During Web Page Generation 1 0 1
3 CWE-89 Improper Neutralization of Special Elements used in an SQL Command 1 1 5
4 CWE-416 Use After Free 109 117 190
5 CWE-78 Improper Neutralization of Special Elements used in an OS Command 5 4 11
6 CWE-20 Improper Input Validation 291 341 658
7 CWE-125 Out-of-bounds Read 231 259 535
9 CWE-352 Cross-site Request Forgery 0 1 1
11 CWE-862 Missing Authorization 1 2 3
12 CWE-476 NULL Pointer Dereference 113 132 207
15 CWE-502 Deserialization of Untrusted Data 0 1 1
16 CWE-77 Improper Neutralization of Special Elements used in a Command 4 3 10

