Page 223 - 《软件学报》2025年第7期
P. 223

3144                                                       软件学报  2025  年第  36  卷第  7  期


                 Debian  数据集上略高于    VulBG  之外, 相较于其他方法降低了        33.5%–76.0%、14.8%–26.6%  和  6.3%–36.8%, 其低
                 FNR  体现了其减少漏报的能力. 在        Precision  方面, CSFF-VD  在  3  个数据集上的值分别为  55.0%、55.5%  和  44.4%.
                 这些值相较于其他方法提高了           0.2%–8.7%、0.5%–22.8%  和  68.2%–94.7%, 其高  Precision  突显了其减少误报的能
                 力. 在  Recall 方面, CSFF-VD  在  3  个数据集上的值分别为  88.3%、65.0%  和  54.1%. 除了在  Chrome+Debian  数据集
                 上略低于   VulBG  之外, 相较于其他方法提高了         7.2%–72.4%、10.4%–24.3%  和  6.1%–97.4%. 尽管如此, CSFF-VD
                 的  Recall 和  FNR  依然具有竞争力, 能够有效地检测出漏洞, 确保检测过程中较少的漏报.

                                        表 2 CSFF-VD  与其他漏洞检测方法的性能比较 (%)

                                    FFmpeg                     Qemu                   Chrome+Debian
                    方法
                          F-measure Precision Recall  FNR  F-measure Precision Recall  FNR  F-measure Precision Recall  FNR
                            51.9    52.2  52.1  47.9   53.7   53.1   53.4  46.6  28.4    24.1  28.7  71.3
                   Devign
                            +15.9   +2.8  +36.2 −36.2  +6.1   +2.4  +11.6 −11.6  +20.4  +20.3  +25.4 −25.4
                            53.0    54.9  51.2  48.8   54.1   55.2   52.3  47.7  25.4    23.7  27.4  72.6
                 CodeBERT
                            +14.8   +0.1  +37.1 −37.1  +5.7   +0.3  +12.7 −12.7  +23.4  +20.7  +26.7 −26.7
                            62.6    50.6  82.4  17.6   49.3   45.2   54.0  46.0  26.3    24.4  28.6  71.4
                   Reveal
                            +5.2    +4.4  +5.9  −5.9  +10.5   +10.3  +11.0 −11.0  +22.5  +20.0  +26.1 −26.1
                            54.2    51.2  57.7  42.3   55.1   52.3   58.2  41.8  31.5    22.8  51.0  49.0
                  VulCNN
                            +13.6   +3.8  +30.6 −30.6  +4.7   +3.2   +6.8  −6.8  +17.3  +21.6  +3.1  −3.1
                            57.5    52.8  62.1  37.9   55.9   53.2   58.9  41.1  36.5    26.4  59.3  40.7
                   VulBG
                            +10.3   +2.2  +26.2 −26.2  +3.9   +2.3   +6.1  −6.1  +12.3  +18.8  −5.2  +5.2
                  CSFF-VD   67.8    55.0  88.3  11.7   59.8   55.5   65.0  35.0  48.8    44.4  54.1  45.9
                   W/T/L    5/0/0   5/0/0  5/0/0  5/0/0  5/0/0  5/0/0  5/0/0  5/0/0  5/0/0  5/0/0  4/0/1  4/0/1

                    表  2  的最后一行总结了     Win/Tie/Loss (W/T/L) 结果, 即  CSFF-VD  在每个数据集的各个指标上与每种基准方
                 法的比较. 例如, FFmpeg   数据集上    F-measure 值的  W/T/L  结果  5/0/0  表明, CSFF-VD  在所有  5  种基准方法中表现
                 最佳, 没有平局或失利. 总体而言, CSFF-VD        在大多数漏洞检测任务中表现优越, 多个指标上取得了                 5/0/0 的  W/T/L
                 结果, 仅在两个指标上略低        (4/0/1). 这些在不同指标和数据集上的一致胜利进一步证明了                CSFF-VD  的稳健性和有
                 效性. 综上所述, CSFF-VD   在漏洞检测任务中不仅在          F-measure 值上表现出色, 而且有效降低了模型的          FNR, 同时
                 在  Precision  和  Recall 上也均有显著提升, 显示出其在减少误报和漏报方面的强大能力. 这些结果充分证明了
                 CSFF-VD  作为一种漏洞检测方法的优越性.

                 5.2   RQ2: CSFF-VD  中函数间的结构特征相似关联如何影响漏洞检测的性能?
                    为了探究这一研究问题, 我们研究了函数间特征相似性对漏洞检测方法性能的贡献. 本文比较了两组漏洞检
                 测方法. 具体来说, 我们选择了        4  种现有基于函数独立结构特征的漏洞检测方法: Devign、CodeBERT、Reveal 和
                 VulCNN  以及  CSFF-VD  的独立特征提取模块, 总共        5  种函数独立结构特征提取方法作为第             1  比较组, 表示为
                 “Base”. 然后, 我们通过构建函数间相似关联来提取关联特征对这些方法进行扩展, 形成第                        2  比较组, 表示为“+FG”
                 (例如 Devign+FG).
                    图  4  展示了  3  组柱状图, 直观地展示了独立结构特征方法“Base”及其“+FG”扩展在              3  个数据集上的    F-measure
                 值的比较结果. 如图      4  所示, 针对现有方法的局限性, 本文提出构建函数间的相似关联挖掘关联特征以进一步增强
                 漏洞检测. 结果表明, 我们的方法显著改进了              5  种独立结构特征提取方法, 在        FFmpeg  上提高了   1.6%–9.4%, 在
                 Qemu  上提高了  2.9%–7.3%, 在  Chrome+Debian  上提高了  3.2%–13.5%.
                    此外, 为了进一步验证“+FG”的性能提升是源自函数特征间的相似性关联构建, 而不是随机信息量的增加, 我
                 们设计了一组对比实验. 具体而言, Intra 方法代表仅依赖独立结构特征提取模块进行检测的基准方法; RandomK
                                    K  个样本构建图关联的方法                        K  个样本带来的效果差异, 我们进行了
                 方法表示通过随机选取                               (为了避免随机选取
                 50  次的随机选择并取平均值作为比较); CSFF-VD          则为本文提出的创新方法, 通过结构特征相似性构建关联图以
                 挖掘更丰富的漏洞信息. 表        3  列出了上述   3  种方法的  F-measure 值. 可以观察到, RandomK   方法的   F-measure 值
   218   219   220   221   222   223   224   225   226   227   228