史江义 温 聪 刘鸿瑾 王泽坤 张绍林 马佩军* 李 康
①(西安电子科技大学 西安 710000)
②(北京轩宇空间科技有限公司 北京 100190)
随着现代集成电路设计的规模和复杂度快速增加,芯片供应商在芯片设计、制造和测试方面面临着日益增长的成本压力、紧迫的上市时间压力以及资源限制。由于使用第三方知识产权(Third-Party Intellectual Property, 3PIP)具有可重用性和高的成本效益,设计者可以将资源专注于应对新的市场需求。然而,这样增大了产品通过3PIP的形式被植入硬件木马的风险。硬件木马(Hardware Trojan, HT)是指故意或恶意修改集成电路(Integrated Circuit, IC)的设计,通常具有信息泄露、功能更改、降低芯片性能或拒绝芯片服务等危害[1]。由于集成电路在军事系统、关键基础设施、医疗设备等领域的广泛应用,硬件木马引发的安全事故将非常致命。而随着集成电路的市场连年增长,不可信的3PIP将成为国家信息安全、消费电子领域的巨大隐患。
3PIP很难获取其黄金IC模型(黄金IC模型,经验证没有硬件木马植入的IC),因此需要黄金模型的方式具有很大的局限性。同时在物理实现前找出硬件木马是非常关键的,因为在项目后期移除硬件木马的成本将成倍增加。在一个大规模工业级3PIP中检测仅有几十个乃至几个门构成的硬件木马逻辑是一项极具挑战性的工作,因为现有通过逻辑验证[2]、形式验证[3]、手动的代码检查等硬件木马检测方式非常耗时,而且不具备拓展性[4]。因此,目前迫切需要一种可拓展且不需要黄金模型的方案来提高硬件木马的检测效率。
鉴于上述挑战,本文提出一种应用图神经网络(Graph Neural Network, GNN)的硅前硬件木马检测方式,本方法可以在没有黄金参考电路的情况下准确定位网表级电路中植入的硬件木马。由于门级网表是一种非欧的图结构,因此本文应用更适用的图神经网络来学习门级电路行为,用于检测网表中的异常存在。本文提供了一个全自动的硬件木马检测流程,通过自动解析网表构建图结构、自动提取网表中门的本征特征以及相关图特征用于节点表征,用于图神经网络的训练及硬件木马检测。本文使用两个数据集[5](基于新思90 nm通用库(Synopsys 90 nm generic library, SAED)以及基于系统250 nm库(LEDA))来评估检测模型,在SAED中实现了92.9%的平均召回率以及86.2%的平均F1分数,相比目前最先进的学习模型F1分数提高了8.4%。而在基于LEDA的数据集上,分别在组合逻辑类型硬件木马检测中获得平均83.6%的召回率、70.8%的F1,在时序逻辑类型硬件木马检测工作中获得平均95.0%的召回率以及92.8%的F1分数。
本文实现了一种无需黄金参考模型的门硬件木马检测方式,应用先进的有监督图神经网络构建检测模型,具有鲁棒的硬件木马和正常电路的区分能力。由于将硬件木马检测问题转换成图节点二分类问题,因此不需要和IC的黄金模型进行对比。并通过两个数据集来评估模型检测能力,在数据量较小的SAED上进行方法的调优,并在大数据量上的LEDA数据集上进行模型有效性的评估。主要贡献如下:
(1) 本模型不依赖IC设计的黄金参考模型,不需要生成高覆盖率的测试向量,可以显著提高检测效率。
(2) 本文应用节点特征为节点本征特征以及图结构特征,不涉及硬件木马的启发式特征,具有更高的灵活性、拓展性和更强的模型泛化能力。
(3) 构建了一个全自动的硅前硬件木马检测流程,其中包括门级网表的解析、门级图结构的生成、门特征提取以及图神经网络训练和检测。
近年来,深度学习在计算机视觉、自然语言处理等领域具有广泛应用,并逐渐应用于硬件木马检测的问题上。电路的结构和功能特征为深度学习模型提供了重要数据[6]。Shen等人[7,8]使用基于自然语言处理的方法,使用统计门序列的方式获取节点嵌入,之后采用循环神经网络(Recurrent Neural Network, RNN)进行检测模型的训练,结果显示[8]获得82%的平均召回率以及96%的真负类率(True Negative Rate, TNR)。文献[9]建立多维度的硬件木马特征库,并使用最近邻不平衡数据分类算法均衡硬件木马特征分布,最终通过支持向量机训练检测模型获得97.02%的硬件木马检测准确率。文献[10]使用极度梯度提升树(eXtreme Gradient Boosting,XGBoost)的混合模式,结合硬件木马静态特征、结构特征以及动态特征,实现了94.0%的平均召回率。这些特征相关的工作都极度依赖启发式特征来表征硬件木马的特性,虽然在已有的数据集中有效,但随着硬件木马设计的对抗升级[11],检测模型极有可能失去当前的检测精度。此外硬件木马边缘节点的特征与正常节点特征相近[12,13],导致检测模型很容易将其识别为正常节点。在传统的机器学习范式中,特征一旦提取就不会改变,这也是它在硬件木马检测工作上的天然劣势。
门级网表是非欧图结构,可以被图神经网络天然兼容,因此图神经网络也被应用到硬件木马相关工作中。由于图神经网络具有消息传递机制以及能够聚合图结构特征和节点自身特征,因此基于图学习的硬件木马检测方式对特征的依赖大大减小。文献[14]是一项应用于寄存器传输级硬件木马检测的工作,该模型能够判断代码中是否植入硬件木马。该方法将寄存器传输级代码转换成数据流图,并建立图神经网络模型对数据流图进行图分类。不过该工作只能识别设计中是否植入HT,可以用于锁定硬件木马的检测范围,但无法找到硬件木马节点。文献[15]通过对比学习和图卷积神经网络结合的方式构建硬件木马触发器的检测模型,能准确识别硬件木马触发器。文献[16]是一种采用图神经网络寻找状态寄存器的工作可以协助硬件木马检测工作。
本文的威胁模型是在假设不可信的第三方IP供应商在布局布线前的阶段植入硬件木马的前提下进行的。威胁模型的对象是可以综合成门级网表的软核或者是门级网表级IP,并被最终的电路设计使用。而硬件木马的植入方式可以有以下场景:
(1) 可信的第三方通过不可信的电子设计自动化工具(Electronic Design Automation, EDA)无意插入HT;
(2) 不可信的第三方直接在交付设计上植入硬件木马;
(3) 在扫描链上植入硬件木马;
(4) 外包设计的不可信第三方设计师或者团队中潜在的恶意设计师。
本节概述一些用于全文的背景知识。
图是一种非欧几里得数据结构,图论(graph theory)中的图是通过若干个点及连接两点之间的线所构成的。其中的点代表某个实体,而其中连接点之间的线代表两个点(即这两个实体)之间所具有的特定关系。类似地,硬件设计根据电路元件及其连接来描述电路。
在图神经网络中,图数据结构通常表示为G={V,E,A}, 其中,V代表节点的集合,即点集,E代表两点之间的线的集合,即边集,A代表节点属性的集合。
图神经网络(GNN)是非欧图学习范式,其实质是迭代集合邻居特征的过程,而从计算机数学视角来看则是某个空间结构上的映射过程[17]。GNN擅长于将复杂的高维图信息解码成低维特征嵌入。特征嵌入将结合节点的图上位置信息、节点自身属性、相邻节点信息以及结构信息。为此,GNN设计了消息传递机制,可以实现消息在图上节点的传播,并通过神经网络完成消息的更新。下面将通过公式来了解GNN的细节。
在第k层图神经网络消息传递阶段,节点u将接受其相邻节点N(u)的信息并进行自身特征的更新,可以表达为
其中,AGG和UP均属于可微的函数,可用于反向传播算法更新权重矩阵。m(u)为消息传递函数,它实现了将周围节点特征聚合的功能。h是将消息传递和自身上一层GNN合成的节点特征h-1进行更新。总之,GNN就是通过上述消息传递范式实现了将图上特征和自身节点特征的聚合更新。一旦得到节点特征嵌入,则可以使用端到端的方式应用于一系列学习任务中,例如节点分类、图分类、机器视觉等工作。在这项工作中,本文将门级网表中的逻辑门作为图节点,使用有监督的方式训练GNN对硬件木马门和正常逻辑门进行二分类,将问题转化为节点分类。
图1阐释了本文门级硬件木马检测方法全自动流程的框架。主要思路是使用基准训练集训练图神经网络模型,之后用已经训练好的模型对待测网表进行推理。第1步是对网表进行格式化并解析,之后构建有向无环图用于图神经网络的输入,自动提取相关特征并与节点进行关联。第3步是将特征和图输送给3层GraphSAGE管道生成节点嵌入,最后经过多层感知机和Softmax激活函数输出预测结果,即该嵌入对应的节点是否为硬件木马。接下来将具体介绍上述内容。
图1 基于GraphSAGE的硬件木马检测框架
本文将门级网表转化为一种通用的图数据结构,其中包含着网表中存在的所有逻辑门的连接关系以及对应门的相应特征向量,其中逻辑门是节点,而连接线为边。本文将门的类型进行模糊处理,仅对门逻辑功能进行大体分类,不在意逻辑门扇入、扇出大小的差异,尽可能避免过多门类型对特征的稀释。同时将图中的环进行拆解,生成有向无环图。图2中将显示特征的具体表现。本文采用的节点特征向量包含以下信息:节点类型的独热码、节点入度、节点出度、节点与主输入的最小距离PI、节点与主输出的最小距离PO。
图2 本文特征向量表示以及GNN模型架构
如上所述,节点的类型由独热码构成,由于对门类型进行处理,本文从Trusthub测试集中归纳出18种基本门类型,因此独热码的维度为18。节点入度是对应节点输入端连接节点的数量,该特征补充所在门的扇入大小信息。出度则是对应节点输出端连接节点的个数。节点与主输入与主输出的最小距离将揭示节点在组合逻辑链上的位置信息(由于图神经网络限定了深度,因此无法应对于长的组合逻辑链)。上述特征都可以根据节点信息和图上连接关系快速得到,提取所需要的算法复杂度低,与硬件木马相关的先验特性耦合度小,极大提高了检测模型的泛化能力。
在网表的图结构、图上节点特征以及标签得到后,将归一化后的节点特征放入图采样聚合算法(Graph Sample and AGgrEgate, GraphSAGE)模型中进行节点嵌入生成及模型训练。本文使用的GraphSAGE[17]是一个基于空域卷积算法的归纳式(Inductive)图神经网络。GraphSAGE能实现批次训练方案,不仅使训练过程更高效,也能很好地泛化到推理中,在大规模图的准确性、泛化能力和可扩展性方面展示出极大的优势。实验中的GraphSAGE算法流程如图3所示:
图3 GraphSAGE算法流程
(1) 对节点图中的每一个顶点的邻居节点进行采样;
(2) 通过模型的聚合函数聚合各邻居节点的信息;
(3) 将各节点的信息转换为模型训练所需的图向量;
其中,Wk为第k层神经网络可训练的权重矩阵,σ为非线性激活函数,例如常用的ReLU。N(v)是采样到节点v相邻节点的集合。AGG是Graph-SAGE的聚合方式,一般有3种形式:平均聚合(mean)、池化聚合(pool)以及长短期记忆(Long Short-Term Memory, LSTM)聚合。本文对这3种聚合方式都进行了实验,并采用效果最好的聚合方式作为最终检测模型的方案。在通过GNN的管道后,使用多层感知机(MultiLayer Perceptron,MLP)和Softmax函数输出2维概率向量,分别表示为硬件木马和正常逻辑门的概率,最终完成分类任务。
本节将对本检测模型性能进行一个详细的评估,介绍本次评估的平台集测试集信息,并与基于支持向量机(Support Vector Machine, SVM)的基准测试和目前最新的3种方法进行比较:Grams-Det[8]、随机森林[18]和对抗训练[19]。最后应用于基于LEDA的大数据集来验证本方法的有效性。
本实验从Trust-Hub[5,20]中选取了两组使用不同标准单元库的网表,其中之一采用SAED库,另外一组采用LEDA系统250 nm库。数据集信息如表1所示。由于SAED数据集相对较小,并且现有工作大部分在SAED数据集上实现,因此本文将通过SAED数据集进行模型寻优以及结果比对。而LEDA数据集包含大量网表,本文随机选取其中80个网表进行本方法有效性的验证。
表1 Trust-Hub数据集
对于实验的检测结果,在本文中选用以下3个指标作为评价实验结果的指标,它们分别是:TPR(recall), TNR, F1。其中F1可以综合评估检测模型的分类能力,对于硬件木马检测这种数据集极端不平衡的任务来说是严苛的指标。这3个评价指标的公式以及相关含义如表2所示。
表2 实验评价指标
本实验的模型算法由pytorch以及深度图学习库(Deep Graph Library, DGL)[21]搭建,其中DGL是面向图神经网络的开源框架,帮助用户更容易在现有深度学习框架的基础上高效地执行相应的图算法。实验运行的硬件为NVIDIA GeForce RTX 2080ti, Intel(R) Xeon(R) W-2123 CPU @3.60 GHz和16 GB运行内存。
在GraphSAGE模型的聚合算法中,本文分别采用了3层GraphSAGE以及1个MLP用于分类。本文将调查mean, pool, lstm这3种不同聚合方式对硬件木马检测结果的影响。相关模型参数以及训练参数如表3所示。
表3 图神经网络配置参数以及训练参数
同时,由于硬件木马检测属于极端不平衡的分类任务,本文采用带权重的交叉熵作为模型的损失函数来平衡数据,权重为网表中正常逻辑门数量与硬件木马数量的比值,具体表达式为
本节通过SAED数据集和留一法的交叉验证来训练模型并研究不同优化方法对模型检测能力影响,最后使用最佳方案的结果与现有文献进行对比。通过将提取出的待测电路特征数据放入到GraphSAGE模型中,统计计算得出对应网表的TPR, TNR和F1-score。
表4展示了SAED数据集中网表的部分信息。该数据集为基于6个宿主电路的10个组合逻辑硬件木马嵌入网表以及11个时序逻辑硬件木马嵌入网表。其中硬件木马种类比较全面,从组合逻辑到时序逻辑乃至环形振荡器都有涉及。硬件木马的门数相对于整个网表的比例低至0.24%,属于极端非平衡的数据集。
表4 SAED数据集门级木马电路信息
4.4.1 权重以及聚合方式的研究
在该实验中,主要研究损失添加权重以及不同聚合方式对检测结果的影响。为了能够对各个方式提供一个公平的评估,训练方式、超参数设置以及训练轮数都固定。最终结果如图4所示。
图4 权重平衡方式结果对比
从F1分数图可知,采用平均聚合以及权重平衡的方式在SAED数据集上得到了最佳的检测结果,而使用权重平衡的方式都比同聚合方式的普通方法高。从TPR和TNR图来看,使用带权重的损失函数相比于不带权重的方式,能够在小幅降低TNR(小于0.3%)的情况下大幅提高(大于10%)检测模型的TPR,从而提高检测模型的F1分数。
考虑在同时使用权重平衡的方式的情况下,对比不同聚合方式对结果的影响。可以发现采用mean的聚合方式在F1分数和TPR都获得最好效果,而pool聚合方式在TNR上获得最好结果,但LSTM的方式结果是最差的。
4.4.2 比较
最后采用平均聚合以及权重平衡的方式在SAED数据集上得到了最佳的检测结果,测结果如表5所示。本文为了比较图神经网络与传统机器学习的硬件木马检测能力,添加了基于SVM的硬件木马检测方法作为基准,具体实施方式是将上述节点特征放入SVM中进行训练获得硬件木马检测模型并得到基于SVM的硬件木马检测结果。
表5 SAED采用MEAN聚合的检测结果
由表5可知,对于RS232系列网表来说,本模型成功实现了100%识别。而对于其他大网表来说,除了s15850-T100, s38417-T100和s38584-T100的F1不高,其余网表的F1都能到达85%以上。同时针对EthernetMAC10GE这类10 000门的大网表,本方案同样获得了96.2%的平均Recall和98%的平均F1,具有对大型网表的硬件木马检测能力。总体来看,本方案可以实现92.9%的平均Recall以及99.8%的平均TNR,整体的F1也到达了86.2%,可以说本模型能够精确地分别出基本上所有硬件木马和正常逻辑门。不过存在少数正常逻辑门被错误识别,但这对于硬件木马检测来说是完全可以接受的,因为硬件木马检测的目的是尽可能找全所有硬件木马,出现遗漏的情况比将正常门识别为硬件木马影响更严重。最后是将两种聚合方式的模型检测结果与SVM基准测试以及现有先进的硬件木马检测方式进行对比。结果如表6所示。
表6 本文结果与文献对比(%)
从实验结果可以看出,图神经网络的方式TPR和F1都要高于SVM基准中的检测结果,TNR都接近100%,说明在使用相同特征的情况下,图神经网络的非线性表达能力大幅度强于传统机器学习方法。下文都以结果最好的平均聚合方式与现有文献进行对比。对比采用自然语言处理技术的Grams-Det,本文TPR提高10.8%,TNR提高2.8%,F1更是提升多达40.1%。文献[18]则是一种基于随机森林的硬件木马检测方式,能够识别出硬件木马的情况下不误识别正常逻辑门,因此其F1分数较高。不过随机森林的TPR仅为63.6%,限制了其F1分数,而本文能够在牺牲0.2%TNR的情况下提高接近29.3%的TPR, F1分数也提高了8.4%,进一步体现了图神经网络模型在处理节点分类的优势。文献[19]是一种引入对抗训练来提高模型鲁棒性的硬件木马检测方法,该方法以牺牲TNR的方式提升TPR,因此TPR较高而F1低至59.9%,意味着大量正常逻辑门被误认为硬件木马,与本文的F1相比落后26.3%。总之,基于特征的深度学习方法检测上限被特征的选取所约束,相对地,基于图神经网络的检测方式可以在训练过程中将节点信息根据图上结构进行传递更新,不断增强所在节点的相应特征,极大缓解特征选取带来的低检测精度问题。
基于上述实验,聚合方式以及权重平衡的方式对本文硬件木马检测模型的影响已经调查清楚。尽管目前大部分论文的工作都是针对SAED数据集,但该数据集的宿主电路的数量以及硬件木马的类型都非常有限,无法提供一个综合的实验结果以及评估标准。同时由于数据集的规模小,无法提供足够的样本训练一个鲁棒的检测模型。因此本节将采用LEDA库的网表对检测模型的性能进行更严苛的评估。
为了能够实现一个公平的评估,上述超参数都不变,且对应的聚合方式以及平衡方式都以上文最佳的方式进行。本节将采用40个组合逻辑硬件木马植入网表以及40个时序逻辑硬件木马植入网表作为数据集,其中80个网表都随机选择LEDA库的914个网表。对于训练以及测试来说,本实验将组合逻辑硬件木马以及时序逻辑硬件木马分别当作两组数据集,对于这两组数据集都采用2折交叉验证(即20个网表作为训练集,剩下20个网表作为数据集)的方式评估实验结果。
表7展示了采用上述设置的硬件木马检测结果。表7中提供了各个网表的TP, FN, TN以及FP,最下面一栏提供了最终平均后的TPR, TNR以及F1。通过结果可以知道,本方案对于组合逻辑硬件木马来说达到了平均83.6%的TPR以及70.8%的F1分数,而对于时序逻辑的硬件木马数据集中则是获得了平均95.0%的TPR以及92.8%的F1。因此,本方案对于组合逻辑硬件木马的检测能力是低于时序逻辑硬件木马的,这与文献[22]中的结果相符。总体来看,本模型在基于LEDA库的数据集上以较低的误识率实现了接近90%的硬件木马识别率。
表7 LEDA数据集结果
本文提出一种基于GraphSAGE的门级硬件木马检测方法,用于实现门级硬件木马的精确定位。本文实现了一个全自动化的硬件木马检测流程,包括门级网表解析、门级特征提取以及图神经网络的训练预测,能够实现高精度的硬件木马检测,在大网表中的硬件木马检测中依旧能够有较高的识别能力。使用的GNN模型能够快速更新迭代,无需从头训练。本文针对3种基于不同聚合函数、不同数据平衡方式进行研究,其中最佳配置结果与目前先进的硬件木马检测模型相比具有更高的F1精度以及更强的硬件木马检测能力。最后,将本文方案应用于基于LEDA库的大数据量数据集时,分别在组合逻辑类型硬件木马检测中获得平均83.6%的TPR、70.8%的F1,在时序逻辑类型硬件木马检测工作中获得平均95.0%的TPR以及92.8%的F1分数。今后的工作将围绕解决有向图对GNN的兼容性以及图神经网络中的数据增强两个方向进行。