半监督学习与相关性感知增强:应对硬件木马检测的数据稀缺挑战

发布时间:2026/5/26 19:53:31

半监督学习与相关性感知增强:应对硬件木马检测的数据稀缺挑战 1. 项目概述当硬件不再可信我们如何为芯片“体检”在万物互联的时代从你口袋里的智能手机到城市交通的智能信号灯再到工厂里的自动化产线其核心都离不开一枚枚精密的集成电路芯片。我们通常认为只要软件没有漏洞系统就是安全的。但一个更隐蔽、更底层的威胁正悄然浮现硬件木马。想象一下你精心设计的芯片在某个海外代工厂生产时被恶意植入了只有几个逻辑门大小的额外电路。平时它完全隐形一旦满足特定条件如接收到某个特定序列的信号它就可能泄露加密密钥、导致系统宕机甚至物理损毁设备。这就是硬件木马一种在芯片设计或制造的任何环节都可能被植入的恶意电路。传统的硬件木马检测方法无论是依赖固定规则集的静态分析还是需要施加大量测试向量的动态测试在面对日益复杂和隐蔽的新型木马时都显得力不从心。它们就像用固定的筛子去捞鱼一旦攻击者知道了筛孔的大小就能设计出刚好“漏网”的木马。机器学习特别是监督学习为这个问题带来了曙光。通过让算法学习大量“正常电路”和“含木马电路”的特征模型可以学会识别更细微、更通用的异常模式。然而这条路有个致命前提你需要大量高质量、已标注的“含木马电路”数据作为教材。在现实中获取这样的“黄金参考电路”极其困难且成本高昂木马样本本身就稀少标注工作更是需要深厚的领域知识这成了监督学习落地的一道高墙。于是我们的目光转向了半监督学习。它就像一位经验丰富的侦探不需要看到所有案件的完整卷宗全标注数据而是利用手头有限的几个确凿案例少量标注数据结合大量未破案的现场痕迹大量未标注数据通过分析这些痕迹之间的内在联系数据分布的结构来推理出更多潜在嫌疑犯生成伪标签。本文要探讨的正是这样一套融合了标签传播算法与相关性感知数据增强的半监督学习框架。它不依赖海量标注却能有效应对数据严重不平衡正常网络远多于木马网络的挑战为在资源受限的边缘计算和物联网设备上实现高效、自适应的硬件木马检测提供了一条切实可行的技术路径。2. 核心思路拆解为何是“半监督数据增强”这条技术路线在深入代码和实验细节之前我们必须先理解选择这条技术路线背后的深层逻辑。硬件木马检测不是一个单纯的模式识别问题它面临着几个独特的、相互交织的挑战而本文提出的方法正是针对这些痛点进行的系统性设计。2.1 核心挑战与应对逻辑挑战一标注数据稀缺与“未知木马”威胁。在真实世界中我们不可能为每一种可能出现的木马变体都准备好标注数据。监督学习模型在训练时没见过的新型木马其检测性能会急剧下降。而无监督学习如聚类虽然不需要标注但在木马样本极少、特征与正常电路高度重叠的情况下很难形成有效的聚类簇极易产生大量误报。应对逻辑拥抱“直推式学习”。本文没有采用常见的基于生成模型或一致性正则化的半监督方法而是选择了标签传播和标签扩散这类基于图的直推式学习算法。其核心思想是“物以类聚”。我们将每个电路网络Net的特征向量视为图中的节点根据特征相似度如欧氏距离构建节点之间的边。少量已标注的节点已知的正常或木马网络就像几个染了色的种子颜色标签会沿着边根据图的拓扑结构逐渐“传播”或“扩散”到未标注的节点上。这种方法不试图学习一个泛化到任意新数据的全局决策边界而是专注于对当前这批特定的未标注数据做出最优推断。这对于处理“已知正常电路未知木马”的混合数据场景特别有效因为它利用了数据内在的流形结构。挑战二极端的数据不平衡。在一个芯片设计中木马电路通常只占整个电路的极小部分可能只有几个到几十个逻辑门而整个电路有数万甚至数百万门。这导致在提取的特征数据集中“木马”类样本的数量可能不到“正常”类样本的1%。直接用这样的数据训练任何机器学习模型模型都会倾向于将所有样本都预测为“正常”因为这样就能获得99%以上的准确率——但这对于木马检测而言是彻底失败的。应对逻辑从“盲目过采样”到“相关性感知”的数据增强。直接复制少数类样本简单过采样会导致过拟合。常用的SMOTE合成少数类过采样技术及其变种ADASYN通过在特征空间中为少数类样本插值来生成新样本。但这里有一个陷阱在电路特征空间中盲目插值可能会生成一些在电路拓扑或电气特性上“不合理”的合成样本这些样本会误导模型。本文的关键改进在于相关性感知过滤。在利用ADASYN生成合成木马样本后会计算每个合成样本与原始真实样本在多个特征维度上的相关性如皮尔逊相关系数、斯皮尔曼相关系数。只保留那些与原始数据分布高度相关例如相关系数在0.7-0.9之间的合成样本剔除“不合群”的噪声点。这确保了增强后的数据集既平衡了类别又保持了数据分布的真实性。挑战三高维特征中的噪声与冗余。为了全面捕捉木马特征我们通常会提取数十甚至上百个特征如网络层级、扇入扇出数、邻近触发器数量、组合逻辑功耗等。但这些特征之间可能存在高度相关性且并非所有特征都对识别木马有贡献。冗余特征不仅增加计算开销还可能引入噪声淹没那些真正重要的微弱信号。应对逻辑融合全局与局部信息的特征选择——PI-PCA。单纯使用主成分分析PCA进行降维是基于全局方差最大化可能会丢失对分类至关重要的局部判别信息。本文提出了基于置换重要性的PCAPI-PCA。首先用PCA获取去相关且保留主要全局信息的主成分。然后引入“置换重要性”这一概念来评估每个特征的局部贡献随机打乱某个特征的值观察模型性能如准确率下降的程度下降越多说明该特征越重要。通过迭代这个过程筛选出那些既在全局上方差显著PCA贡献大又在局部上对模型预测至关重要置换重要性高的特征子集。这好比先通过PCA筛选出“大体格健壮”的候选人再用置换重要性测试他们的“专项技能”最终组建一支精干高效的团队。挑战四模型超参数调优的复杂性。XGBoost是一个强大的集成学习模型但其性能高度依赖于学习率、树深度、子采样率等超参数。手动网格搜索耗时耗力且容易陷入局部最优。应对逻辑遗传算法全局寻优。本文采用遗传算法GA对XGBoost的7个关键超参数进行优化。将一组超参数编码为一条“染色体”通过选择、交叉、变异等模拟生物进化的操作在复杂的参数空间中寻找能使评估指标如F1分数最大化的最优“染色体”。遗传算法的全局搜索能力有助于找到更优的超参数组合避免过拟合或欠拟合从而提升模型在未知数据上的泛化能力。3. 从网表到特征硬件木马检测的“数据化”实战理论再完美也需要落地到具体的操作流程。本节将详细拆解如何将一个原始的电路设计以Verilog/VHDL描述转化为机器学习模型可以“理解”的特征矩阵。这是整个流程的基石也是最体现硬件安全领域知识的一环。3.1 工具链与数据准备我们的起点是电路的门级网表。这是将高级硬件描述语言HDL经过逻辑综合后得到的、由标准逻辑门如与门、或门、非门、触发器等及其连接关系构成的网络。我们使用业界标准的Synopsys Design Compiler (DC)工具配合一个特定的工艺库文中使用的是SMIC 90nm SOI库将基准电路如RS232、S38417等来自Trust-HUB的电路综合出门级网表。接下来需要一个“干净”的版本Golden Model和一个“被感染”的版本插入了一种或多种已知的木马。Trust-HUB基准库提供了这些资源。木马类型通常包括功能篡改在特定条件下改变电路的正常输出。性能降级例如在关键路径上插入延迟单元。拒绝服务在特定条件下使电路功能瘫痪。信息泄露通过侧信道如功耗、电磁辐射或直接附加输出引脚泄露敏感信息。3.2 特征工程提取电路的“DNA”特征提取的目标是为网表中的每一个“网络”Net即连接各个逻辑门引脚的电线节点打上一组数字标签用以描述其结构性和功能性属性。本文共提取了78维特征主要分为两大类1. 基于网络的结构特征这类特征描述单个网络在其局部环境中的拓扑属性是识别异常连接的关键。层级该网络在电路逻辑深度中的位置。连接性驱动该网络的源单元类型以及它驱动的负载单元列表。扇入/扇出在特定距离如1到5级逻辑门距离内该网络的扇入和扇出数量。邻近单元统计在X级距离内该网络所连接的触发器、多路选择器、各种逻辑门的数量。例如in_flipflop_3表示距离该网络3级逻辑门范围内的输入方向触发器数量。2. 基于电路的全局特征这类特征描述整个电路或电路块的宏观属性有助于缓解因不同电路设计风格设计特异性偏差带来的干扰。它们从综合报告中提取例如规模指标单元总数、端口总数、网络总数。功耗指标组合逻辑开关功耗、总开关功耗、总功耗、时钟网络漏电功耗等。面积指标组合逻辑单元总面积、黑盒单元面积等。实操心得为什么需要两类特征假设一个完全相同的8输入组合触发木马被插入到一个小型串口电路RS232和一个大型加密电路S38417中。在RS232中这个木马可能因为电路规模小、逻辑简单而相对容易被测试向量激活。但在规模庞大、逻辑复杂的S38417中同样的木马可能深藏在逻辑深处其触发条件极难满足。如果只使用网络特征模型可能会错误地认为在S38417中的这个木马“不像木马”。而引入电路级的全局特征如总单元数、总功耗模型就能感知到电路的整体规模与复杂度从而结合网络特征做出更准确的判断。这相当于给模型提供了“作案现场”的全局背景信息。3.3 特征提取脚本的核心逻辑虽然论文未提供完整代码但我们可以勾勒出特征提取脚本通常用Python或Tcl调用DC命令的核心步骤网表解析使用read_verilog读入网表用DC或自定义脚本遍历所有网络get_nets和单元get_cells。网络特征计算对每个网络通过get_pins,get_connected_pins,get_cells等命令追溯其前后级计算扇入扇出、统计特定距离内的单元类型和数量。这需要递归或广度优先搜索算法。电路特征提取在综合完成后使用report_power,report_area,report_cell等DC命令获取全局指标并将这些值赋给该电路中的每一个网络样本因为它们是电路级属性。标签标注对于Golden Model所有网络标记为“正常”0。对于被感染的网表通过对比工具或事先已知的木马网表位置将属于木马部分的网络标记为“木马”1。数据整合将每个网络及其78维特征、1个标签组合成一个样本最终形成特征矩阵X和标签向量y。至此我们完成了从硬件领域到数据领域的跨越得到了一个标准的、但极不平衡的机器学习数据集。4. 方法论实现四步构建鲁棒的半监督检测模型有了特征数据我们就进入了模型构建的核心环节。整个流程可以清晰地分为四个阶段如下图所示注此处为文字描述流程不生成图表数据预处理 - 伪标签生成 - 模型训练与优化 - 评估与验证。4.1 第一阶段数据预处理——提质与平衡这是提升模型性能的基础包含特征选择和数据集平衡两大关键操作。步骤一基于PI-PCA的特征选择PCA降维对78维的原始特征矩阵X进行标准化后应用PCA。我们设定方差解释率例如95%或直接指定保留21个主成分将数据投影到新的低维空间消除特征间的线性相关性。置换重要性评估在降维后的特征子集上训练一个初始的XGBoost模型。对于第i个特征记录模型在验证集上的基准性能得分N_acc。随机打乱该特征在验证集中的所有值破坏该特征与标签的关系。用打乱后的数据再次评估模型得到新得分N_new_acc。计算该特征的重要性得分I_vi N_acc - N_new_acc。得分越高说明该特征对模型预测越重要。迭代筛选计算所有特征重要性得分的平均值m作为阈值。丢弃重要性低于m的特征。重复步骤2-3直到模型性能不再提升。最终我们从78维中筛选出最具判别力的7个核心特征。这个过程大幅降低了数据维度去除了噪声为后续训练一个轻量且高效的模型奠定了基础。步骤二相关性感知的数据增强应用ADASYN针对数量极少的“木马”类样本应用ADASYN算法。ADASYN会根据每个少数类样本周围多数类样本的密度来动态决定需要生成多少合成样本对“更难学习”周围多数类样本多的样本生成更多数据。相关性过滤对ADASYN生成的每一个合成样本计算其与所有原始木马样本在各个特征上的相关性皮尔逊相关系数衡量线性关系斯皮尔曼相关系数衡量单调关系。设定一个相关性阈值范围如0.7-0.9。样本保留仅保留那些与原始木马样本平均相关性落在阈值范围内的合成样本。剔除相关性过低或过高的“离群”样本。这一步是本文的精华之一它确保了增强数据与真实数据分布的一致性避免了引入虚假模式。4.2 第二阶段伪标签生成——利用未标注数据假设我们有一个数据集其中只有10%的网络有真实标签来自已知的小型木马库或部分人工标注其余90%未标注来自新的、未知的电路设计。构建相似度图将所有样本包括已标注和未标注视为节点。计算每对样本特征向量之间的欧氏距离使用K近邻或高斯核函数来构建边的权重。距离越近权重越大。标签传播/扩散标签传播将已标注节点的标签视为“吸收态”。通过随机游走算法模拟标签在图上传播的过程。最终每个未标注节点被分配以它最常访问的“吸收态”的标签。标签扩散这是本文主要采用的方法它比标签传播更“平滑”。它通过一个正则化参数alpha来平衡来自初始标签的信息和来自图结构的信息。alpha接近1时更信任初始标签接近0时更依赖图结构。通过迭代求解一个优化问题使相邻节点的标签尽可能相似同时与初始标签的差异不要太大最终得到所有节点的软标签或硬标签。生成伪标签数据集将标签扩散算法为未标注数据预测出的“伪标签”与原有的真实标签数据合并形成一个“全标注”的数据集用于后续的监督训练。4.3 第三阶段模型训练与超参数优化遗传算法优化XGBoost编码将需要优化的7个XGBoost超参数如learning_rate,max_depth,n_estimators等编码成一条实数向量染色体。初始化随机生成一个包含N条染色体的种群。评估用每条染色体对应的参数配置训练XGBoost模型在验证集上计算F1分数为应对不平衡F1比准确率更合适作为适应度。进化进行选择保留高适应度个体、交叉交换染色体片段、变异随机改变某些基因值操作产生新一代种群。迭代重复评估和进化直到达到最大迭代次数如30代或适应度收敛。输出选择最终种群中适应度最高的染色体其基因值即为最优超参数组合。模型训练使用经过PI-PCA筛选的特征、相关性感知增强并平衡后的数据集、以及由标签扩散生成的伪标签采用遗传算法找到的最优超参数训练最终的XGBoost分类器。4.4 第四阶段评估与验证采用“留一电路出”的交叉验证策略以确保评估的严格性。具体步骤如下从多个基准电路如RS232-T100, RS232-T1500, S38417等中每次选择一个电路作为测试集。剩余的所有其他电路数据包括其增强和伪标签数据作为训练集。用训练集训练模型在独立的测试电路上进行预测。重复此过程使每个电路都有一次作为独立测试集的机会。汇总所有测试结果计算宏观平均的性能指标。关键评估指标由于数据极端不平衡准确率是无效的。我们关注真正例率在所有真实木马网络中被模型正确识别为木马的比例。这是我们最关心的核心指标。真负例率在所有真实正常网络中被模型正确识别为正常的比例。过高可能会牺牲TPR。精确率在所有被模型预测为木马的网络中真正是木马的比例。高精确率意味着低误报。F1分数精确率和召回率的调和平均数是衡量不平衡数据分类性能的综合指标。ROC-AUC受试者工作特征曲线下面积衡量模型整体区分能力。PR-AUC精确率-召回率曲线下面积在不平衡数据中比ROC-AUC更具参考价值。5. 结果分析与避坑指南从论文数据到工程实践根据论文在Trust-HUB基准电路上的实验结果该方法平均达到了88.48%的TPR和95.77%的TNR这是一个非常出色的权衡。特别是在RS232-T1500电路上通过相关性感知数据增强F1分数从35.3%提升至42.6%ROC-AUC提升了7%这直观地证明了我们每一步设计的价值。5.1 关键参数的经验之谈在实际复现和应用中以下几个参数需要仔细调试它们直接决定了伪标签的质量和最终模型的性能标签扩散中的alpha参数这个参数控制着模型对初始标签的信任程度。论文发现alpha设置在0.8-0.9之间能取得最高的真负例率。这意味着在硬件木马检测场景中我们应该相对更多地信赖已有的少量真实标签占80%-90%的权重同时用图结构信息占10%-20%的权重去平滑和传播这些信息。如果alpha过低过于依赖图结构在木马样本特征与正常样本有局部重叠时容易产生错误的标签传播。相关性过滤的阈值皮尔逊和斯皮尔曼相关系数的阈值范围如0.7-0.9需要根据具体的数据分布进行验证。阈值设得太高如0.95可能会过滤掉过多有用的合成样本导致数据增强效果不明显阈值设得太低如0.5则会让一些与原始分布不一致的“怪异”样本混入污染训练集。建议的做法是绘制合成样本与原始样本的特征分布直方图或散点图观察合成数据的边界通过交叉验证来确定一个能稳定提升验证集F1分数的阈值范围。遗传算法的种群大小与迭代次数论文设置最大迭代代数为30。对于超参数搜索空间不大的情况这可能足够。但如果要调优的参数更多或范围更广可能需要更大的种群规模如50-100和更多的迭代次数50-100。同时交叉概率和变异概率也需要调整典型值分别在0.7-0.9和0.01-0.1之间。一个实用的技巧是可以先用随机搜索或贝叶斯优化进行粗调缩小范围后再用遗传算法进行精细搜索。5.2 常见问题与排查思路在实践这套流程时你可能会遇到以下典型问题问题一伪标签质量极差导致模型性能反而下降。可能原因1特征质量差或图构建不当。如果原始特征无法有效区分正常与木马网络那么基于特征相似度构建的图就是混乱的传播自然错误。排查检查特征提取是否正确特别是那些电路级全局特征是否被正确赋值。可以先用有监督学习在少量标注数据上测试一下特征的区分度如查看特征重要性排名。可能原因2已标注数据太少或代表性不足。如果初始的10%标注数据本身就有偏差或者木马类型过于单一那么传播出去的伪标签也会带有这种偏差。排查确保初始标注数据尽可能覆盖已知的木马类型和不同的电路模块。解决思路可以尝试使用更复杂的图构建方法如使用基于k近邻的相似度而不是全连接或者引入度量学习来学习一个更适合区分木马的特征空间距离。问题二数据增强后模型过拟合到合成样本的特征上。可能原因相关性过滤的阈值设置过宽或者ADASYN生成的样本虽然数值上相关但产生了不现实的特征组合。排查观察在验证集上模型在增强前后的性能变化。如果训练集指标持续上升但验证集指标很快下降就是过拟合的迹象。解决思路除了相关性过滤可以引入更严格的验证例如使用隔离森林或局部离群因子算法来检测并剔除合成数据中的异常点。也可以在训练时对合成样本施加较小的权重。问题三PI-PCA筛选后特征数过少如只剩2-3个模型性能瓶颈明显。可能原因置换重要性的阈值m设置过高或者PCA保留的方差比例太低丢失了关键信息。排查绘制特征重要性排序图观察是否存在一个明显的“拐点”。可以尝试逐步放松阈值观察验证集性能的变化曲线选择一个性能开始平台化的点作为阈值。解决思路PI-PCA是一个迭代过程。如果最终特征数太少可以回到第一步增加PCA保留的主成分数量例如从解释95%方差提升到98%然后再进行置换重要性筛选。问题四对于超大规模电路图构建和标签扩散计算耗时过长。可能原因电路网络数可能达到百万级构建全连接图或大k值的k近邻图内存和计算开销巨大。排查这是本方法的一个固有挑战论文中也提到了计算复杂度随电路规模线性增长的问题。解决思路电路分区先将大型电路按功能模块或物理布局进行分区在每个分区内分别应用半监督学习最后再合并结果。近似最近邻使用Faiss、Annoy等近似最近邻搜索库来高效构建稀疏的k近邻图替代精确的全距离计算。采样对于未标注数据可以先使用一些简单的无监督方法如基于密度的聚类进行初步筛选只对高可疑区域的网络进行精细的标签传播。这套基于半监督学习和数据增强的硬件木马检测框架其强大之处在于它模拟了安全专家的工作模式利用有限的已知知识标注数据结合对大量未知对象内在规律的分析图结构并不断净化自己的训练材料相关性感知增强最终形成一个能应对未知威胁的检测系统。它降低了对昂贵标注数据的依赖为在芯片设计流程中集成自动化、智能化的安全筛查工具提供了新的可能性。当然没有银弹其计算开销和对特征工程质量的依赖仍然是工程化道路上需要持续优化的方向。

相关新闻