
1. 硬件木马检测的技术演进与挑战在集成电路设计领域硬件木马Hardware Trojan已成为供应链安全的主要威胁之一。这些恶意电路修改通常被插入到寄存器传输级RTL代码中具有隐蔽性强、触发条件苛刻的特点。传统检测方法主要依赖两种技术路线1.1 基于图表示的检测方法门级网表分析通过逻辑综合将RTL转换为门级网表再使用图神经网络GNN进行分析。典型代表如TrojanSAINT框架其优势在于能捕捉底层电路结构特征但存在三个显著缺陷综合过程导致原始RTL语义丢失例如一个always块可能展开为数千个逻辑门需要完整的标准单元库和综合流程引入额外工具链依赖检测粒度受限难以精确定位到RTL代码行数据流图(DFG)分析直接从RTL生成数据流图如GNN4TJ框架。这种方法避免了综合开销但仍面临图转换过程丢弃了代码上下文信息如注释、变量命名风格浅层GNN的感知野有限难以捕获跨模块的恶意模式对不完整模块定义敏感约14%设计无法处理1.2 直接提示LLM的检测方法最新研究尝试直接向通用大语言模型如GPT-4提供RTL代码并询问是否存在木马。虽然这种方法在简单案例中能达到0.94准确率但存在明显局限对干净类别的识别能力弱F1-score仅0.87无法提供细粒度的行级定位每次推理都需要完整的前向计算成本高昂关键问题现有方法在语义保留、检测粒度和计算效率三者间难以兼顾亟需能直接处理RTL代码的端到端解决方案。2. TrojanLoC框架设计原理2.1 整体架构创新TrojanLoC的核心突破在于采用RTL微调的LLM作为语义提取器构建了多层次检测流水线[原始RTL代码] → [LLM模块级嵌入] → [自编码器降维] → 模块检测分类器清洁/木马 → [LLM行级嵌入] → [自编码器降维] → 行级定位分类器2.1.1 模块级处理流程完整模块代码输入RTL微调的LLM获取最终层所有token的嵌入向量{e(L)1,...,e(L)t}通过平均池化得到模块级嵌入zmod∈R^dmodel经自编码器压缩到hmod∈R^128输入XGBoost/LightGBM分类器进行二元判断2.1.2 行级处理流程将模块拆分为独立代码行{ℓ1,...,ℓn}每行代码单独输入LLM获得行嵌入zline,i拼接对应模块嵌入得到[xline,i; zmod]∈R^2dmodel自编码器降维至hline,i∈R^128结合上下文窗口默认p3构建增强特征分类器输出各行是否为木马代码2.2 关键技术实现2.2.1 RTL专用LLM微调框架支持三种经过RTL专项微调的LLM作为嵌入骨干CL-Verilog 13B基于CodeLlama架构在400万Verilog文件上微调CodeV-QW 7B专注硬件描述语言的变体支持Verilog/SystemVerilogHaVen-CodeQWen 7B强化对电路结构和时序语义的理解微调策略采用两阶段方法通用代码适应在开源硬件项目如OpenTitan、RISC-V核心上进行指令微调对抗性增强插入人工构造的触发条件模式如非常规状态转移、隐蔽数据通路2.2.2 注意力掩码优化为高效处理多行代码采用特殊的注意力掩码机制# 示例处理3行代码时的掩码矩阵 mask [ [1,0,0], # 行1只能看到自己 [1,1,0], # 行2能看到行1-2 [1,1,1] # 行3能看到所有行 ]这种设计既保持了行间独立性又允许模型捕获局部上下文相比逐行处理提速3.2倍。3. TrojanInS数据集构建3.1 基础数据准备数据集源自VeriGen项目的4000清洁设计经过严格筛选仅保留包含单一顶层模块的设计覆盖组合逻辑如ALU、时序控制如FSM和混合结构移除所有与厂商相关的IP核代码数据分布特征设计类型比例典型规模数据通路42%50-200行控制逻辑33%30-150行混合结构25%100-500行3.2 木马注入策略通过GPT-4.1实现自动化木马插入确保语义一致性触发条件设计稀有输入组合如特定调试模式数据值低活跃度信号如未充分验证的状态位时间延迟触发如计数器达到特定值载荷类型分类graph LR T1[功能修改] --|篡改运算结果| ALU T2[信息泄露] --|侧信道建立| 寄存器 T3[拒绝服务] --|死锁注入| 状态机 T4[性能降级] --|关键路径延长| 时序逻辑隐蔽性保障保持原始代码风格缩进、注释习惯使用与上下文一致的变量命名控制修改行数平均3-5行/木马3.3 标注与验证三级验证体系语法检查通过Synopsys VCS验证代码可综合性功能测试确保正常模式下行为与原始设计一致触发验证在特定条件下验证恶意行为激活最终数据集包含17,658个训练样本80%4,407个测试样本20%1:4的清洁:木马比例模拟实际场景4. 实验分析与工程实践4.1 模块级检测性能在测试集上的对比实验结果模型准确率木马F1清洁F1推理时延(ms)GNN4TJ0.270.310.23120TrojanSAINT0.800.880.47350GPT-4o0.940.960.872100TrojanLoC0.990.990.9685关键发现RTL微调使LLM对硬件语义的理解深度显著提升自编码器降维有效去除冗余特征维度从4096→128LightGBM在类型分类任务上表现更优macro-F1高2%4.2 行级定位实战技巧4.2.1 上下文窗口选择通过网格搜索确定最优参数# 搜索空间定义 param_grid { window_size: [1, 3, 5, 7], use_module_ctx: [True, False] } # 最优配置 best_params { window_size: 3, # 覆盖典型触发-载荷模式 use_module_ctx: True # 保留全局上下文 }4.2.2 可疑度排序策略实际部署时采用两阶段过滤初步筛选分类器得分0.7的行精细审查按上下文相关性排序前1%的行典型定位案例// 原始代码 always (posedge clk) begin if (reset) begin state IDLE; end else begin state next_state; end end // 木马注入GPT-4.1生成 always (posedge clk) begin if (reset || (debug_mode counter[7:0]8hFF)) begin // 触发行 state (debug_mode) ? MALICIOUS_STATE : IDLE; // 载荷行 end else begin state next_state; end endTrojanLoC成功标记出触发条件debug_mode检查和状态篡改行而传统方法可能漏报。4.3 工业部署建议4.3.1 计算资源优化嵌入式场景使用7B模型8bit量化8GB显存云端部署13B模型动态批处理吞吐量提升3倍4.3.2 持续学习机制建立反馈闭环[新检测样本] → [人工验证] → [困难样本筛选] → [增量微调]每季度更新模型保持对新型木马的识别能力。5. 局限性与未来方向当前框架存在两个主要限制多模块设计支持对层次化设计的跨模块分析能力有待加强动态行为检测难以捕获依赖运行时状态的触发条件正在探索的改进路径引入程序分析技术增强上下文感知结合形式化验证方法验证触发可达性开发面向SystemVerilog Assertion的专项检测模块在实际芯片设计流程中建议将TrojanLoC集成在RTL冻结阶段与传统的逻辑等价性检查形成互补防护。对于安全关键型设计可结合本框架的行级定位功能与手动代码审查构建多层次防御体系。