Page 62 - 《软件学报》2026年第6期
P. 62

芮志清 等: MARC: 基于多智能体协同的硬件安全缺陷早期检测方法                                              2381



                                              表 2 数据集中的     IP  核及其设计规模

                                                                        设计       设计       文档      文档
                   IP模块                     功能描述
                                                                       文件数     代码行数      文件数      字符数
                   adc_ctrl       用于双通道模数转换器的低功耗控制器                      7       5 679     8      78 491
                    aes       具备侧信道对抗和故障注入对抗能力的AES加速器                    37     14 742     8     121 870
                   csrng               密码学安全随机数生成器                       12      7 820     9     127 943
                          对来自随机噪声源的原始熵比特进行过滤与校验, 并将其转发
                 entropy_src                                             18     10 511     8     183 955
                                      至密码学安全随机数生成器
                    gpio      通用输入输出通信模块, 允许软件通过I/O引脚通信                  3       1 326     8      60 220
                   hmac          SHA-2密钥散列消息认证码及哈希加速器                    4       4 595     8      98 103
                          密钥管理器, 可以管理身份标识与根密钥, 保护机密资产免受软
                   keymgr                                                14      7 606     8     131 282
                                      件访问, 提供密钥派生接口
                          管理设备的生命周期状态与状态转换, 并控制对密钥管理器、
                   lc_ctrl                                               10      5 403     8     151 664
                               闪存、一次性可编程存储器以及调试接口的访问
                 lowrisc_ibex      兼容RV32指令集的RISC-V CPU核心                30     18 939     8      56 700
                    otbn            非对称密码学的可编程协处理器                       24     12 033    21     269 330
                   otp_ctrl          一次性可编程存储器的控制器                       15     11 997     9     203 156
                    prim           一组可复用的底层硬件组件的集合                      157     22 843    12      55 971
                  spi_device      负责通过 SPI 总线进行命令和数据交互                   17     31 983     5     164 122

                    基于此判定方式, 我们将检测结果分为以下              4  种情况: 1) 真阳性  (true positive, TP): 检测工具报告了一个缺陷,
                 且该缺陷与真实缺陷集中的一个条目成功匹配. TP                 的数量表示被正确检出的真实缺陷数量. 2) 假阳性                 (false
                 positive, FP): 检测工具报告了一个缺陷, 但在真实缺陷集中不存在与之匹配的条目. FP                 的数量表示被错误报告的
                 非缺陷代码, 即误报. 3) 假阴性      (false negative, FN): 真实缺陷集中的某个缺陷, 没有被检测工具报告. FN        的数量表
                 示被遗漏的真实缺陷, 即漏报. 4) 真阴性         (true negative, TN): 在代码缺陷检测的场景中, TN  代表未被报告的、非缺
                 陷的广大代码片段. 由于其数量极其庞大且难以界定, 该指标在本文的性能计算中不被直接使用.
                    本文选取漏报率 (false negative rate, FNR)、误报率 (false discovery rate, FDR)、F1  分数作为评估模型的检测
                 准确程度的核心指标. FNR、FDR        和  F1  的计算方法如下:

                                                              FN
                                                       FNR =                                          (1)
                                                            TP+FN

                                                              FP
                                                       FDR =                                          (2)
                                                            FP+TP

                                                             2·TP
                                                    F1 =                                              (3)
                                                         2·TP+FP+FN
                    漏报率衡量所有真实存在的缺陷中被遗漏的比例, 是评估安全缺陷检测工具能力的关键负向指标, 漏报率越
                 低则模型检测效果越理想. 误报率衡量的是所有被检测工具判定为存在缺陷的结果中, 实际上并不存在缺陷的比
                 例, 直接反映了检测结果的可靠性与实用价值, 误报率越低则意味着工具产生的噪音越少, 使用者需要付出的额外
                 审计成本也越低. F1     分数作为查准率与查全率的调和平均值, 是一个用于综合评估模型整体性能的平衡指标, 能
                 够同时量化模型对误报与漏报的抑制效果, 提供一个更为鲁棒的性能评判基准.
                  4.3   实验方法与结果分析
                    为了系统性地评估       MARC  方法在硬件安全缺陷早期检测方面的整体有效性                  (RQ1), 本文将其与业界主流的
                 传统静态分析工具       Verilator、仅基于大模型的    LLMOnly  方法进行了全面的量化比较. LLMOnly         方法直接向大语
                 言模型提供待测      RTL  源代码并要求其找出其中存在的安全缺陷. 参与对比的                 3  种方法均在同一数据集上进行实
                 验. 其中, 本文提出的    MARC  与  LLMOnly  方法分别使用了     DeepSeek-Chat、Gemini-2.5-Pro  和  GPT-5  这  3  款不同
                 能力层级的大语言模型进行测试. Verilator 作为传统静态             Linter 工具的代表, 其检测结果为本研究提供了对比传
   57   58   59   60   61   62   63   64   65   66   67