APP下载

基于多维特征的门级硬件木马检测技术

2023-09-25李林源徐金甫严迎建赵聪慧刘燕江

计算机工程与应用 2023年18期
关键词:结构特征木马特征向量

李林源,徐金甫,严迎建,赵聪慧,刘燕江

信息工程大学信息安全重点实验室,郑州450000

近些年来,随着经济全球化趋势的深入发展,为了缩短产品开发周期,降低制造和测试成本,集成电路供应链也迈入全球化进程。Fabless 模式是当下集成电路的主流模式,不同国家、地区的企业和人员协同参与到集成电路的设计与制造过程中,然而分离的供应链在带来便利的同时也引发了严重的安全问题。第三方知识产权核,包括软核、固核和硬核等,大量应用在集成电路设计阶段来缩短产品的开发周期[1]。然而,攻击者容易在第三方核中植入恶意电路,即硬件木马,它可对原始电路进行有目的性的修改,如泄露信息给攻击者,使电路功能发生改变,甚至直接损坏电路[2]。

由硬件木马带来的安全隐患问题隐蔽性高、渗透性强、危害性大且难以防范和根除,严重威胁到信息系统的安全可信水平。因此,开展硬件木马检测技术研究迫在眉睫。在现存的众多检测方法中,基于特征识别的硅前硬件木马检测具有成本低、可扩展性强和检测效率高等优点,且不需要黄金模型作为参考[3],逐渐成为硬件木马检测的主流方法。在以往的研究中,面向门级网表的硬件木马检测技术主要基于信号可测性或网表结构特征,从单一角度描述木马特征存在覆盖率低的问题,导致木马检出率偏低。

本文将信号可测性值和网表结构特征合并为一个特征向量,提高了木马特征的覆盖率。此外,本文改进了信号可测性值和网表结构特征的提取方法,最终实现了网表信号节点的特征提取。最后,利用SMOTE-Tomek算法解决木马特征数据集不平衡问题,通过特征重要性评估和特征筛选,解决特征冗余问题,引入随机森林(random forest,RF)算法建立分类器并检测出门级网表中的硬件木马。

1 硬件木马特征分析及特征集构建

硬件木马可以从多个角度进行分类,不同类型的硬件木马具有各自独有的特点,但是也存在一些共性特征。例如,在植入位置方面,为了躲避传统的功能验证,硬件木马的理想植入点通常都具有较强的隐蔽性;在拓扑结构方面,较大的扇入逻辑单元组合和选择器等结构常见于硬件木马电路。因此,可以通过总结木马电路的共性特征,建立硬件木马特征集,实现对木马信号的检测。

1.1 相关工作分析

已有文献基于硬件木马的特点,从不同的方面构建特征,形成不同的硬件木马特征集,具体如表1所示。

表1 已有文献中的硬件木马特征集Table 1 Hardware Trojan feature set in existing literatures

文献[4-7]基于结构特征建立硬件木马特征集。其中,文献[4]基于门级网表开展硬件木马检测技术研究,提出了LGFi、FFi、FFo、PI、PO 这5 种硬件木马特征,利用支持向量机来训练并识别木马节点。该方法特征集只包含5种特征,维度较小,且训练集分布不平衡,存在较高的误判率。之后,在文献[4]的基础上,文献[5]将硬件木马特征由5种扩充到51种,并根据重要性值选出11个特征组成最优木马特征集,通过优化神经网络获得最佳分类结果。该方法选取特征的角度单一,特征集普适性较弱,平均木马检测率只有68.32%。文献[6]计算待测电路中两级AONN门的分数,通过设置阈值区分木马信号和正常信号。该方法只适用于单触发型硬件木马,对多触发条件的硬件木马无效,且未考虑载荷电路。文献[7]基于门级网表的有向图模型,提出了FAN_IN、FF_IN、FF_OUT、DPI、DPO、MUX 和INV 这7 种硬件木马共性结构特征,建立SVM 分类模型实现硬件木马检测。由于特征集的通用性不强,一些测试电路的检测结果并不理想,例如s35932-T200的木马检出率只有8.33%。

文献[8-10]基于信号特征建立硬件木马特征集。其中,文献[8]提出一种基于组合可测试性的硬件木马检测方法,使用k-mean 聚类算法进行分析。该方法仅适用于组合触发型木马,对时序触发型木马的检测效果并不理想。文献[9]针对时序触发型硬件木马,建立包含时序可控性和时序可观察性的3维硬件木马特征集,通过模型检查和信号跟踪逐步实现木马电路的检测。该方法仅用6个自主设计的小规模电路进行测试,不具有代表性。文献[10]在组合可测性的基础上,添加了信号的时序可测性,使用6 个信号特征组成特征集,并采用Bagged Trees 算法对木马信号和正常信号进行分类。该方法只关注硬件木马的信号特征,忽略结构特征,导致检测效果并不理想。

综上所述:现有研究单方面选取结构特征或信号特征建立硬件木马特征集,导致特征集包含的信息不充分,木马检出率并不理想。同时,涵盖的木马种类少、范围小,在现实应用中的价值不大。因此,建立包含信息更充分、涵盖范围更广的硬件木马特征集,以提高木马信号检出率,扩大检测范围,将是本文研究的重点。

1.2 特征集构建

本文对已知电路中植入的木马展开研究,通过分析触发电路和载荷电路的典型结构,并结合现有的文献资料,总结了7 个和硬件木马密切相关的结构特征,具体分析如下:

特征1(fan_in_4):距离目标节点4级逻辑门的扇入信号总数。对于组合型木马,其触发信号仅在输入特定序列时才被激活,为了保证低触发概率,触发电路需要组合多个逻辑门,导致其扇入总数较大。在正常电路中,该结构特征很少出现。

特征2,3(ff_in_4,ff_out_4):从输入、输出方向距离目标节点4级逻辑门的触发器数目。对于时序型木马,其隐蔽性取决于时钟周期计数值[11],因此,木马内部计数器的深度较大,导致时序木马包含的触发器数量较多。

特征4,5(dpi,dpo):目标节点距离最近的主输入、主输出的级数。经研究发现,母本电路的主输入经常被用作硬件木马触发部分的输入。为了达到泄露内部信号的目的,木马载荷部分需要被放置在母本电路的主输出附近。因此,本文选择主输入和主输出的逻辑单元深度作为识别硬件木马的结构特征。

特征6(mux_4):目标节点前后4级包含的多路选择器数量。一些硬件木马具有多路选择器,用以接收触发信号,并切换输出信号以实现恶意功能。例如,泄露信息型木马被激活后,通过多路选择器将内部信号连接到主输出,以泄露内部信息。

特征7(inv_4):目标节点前后4 级包含的反相器数量。环形振荡器经常被用于硬件木马的载荷部分,以实现降低电路性能或经侧信道泄露内部信息的恶意功能[12]。因此,路径上的反相器链可以作为硬件木马的结构特征。

为解决选取木马特征角度单一问题,建立包含信息更丰富,涵盖范围更广的木马特征集,本文加入信号节点的可测性值,共选取13 种和木马电路紧密相关的特征构建硬件木马特征集,其具体描述如表2所示。

表2 本文建立的硬件木马特征集Table 2 Hardware Trojan feature set in this paper

2 基于多维特征的硬件木马检测架构

图1为本文提出的检测方法的整体架构,首先,根据Trust_Hub[13]网站提供的硬件木马库,提取电路节点的信号特征和结构特征,形成13维特征向量。其次,利用SMOTETomek 算法平衡数据集。再次,对特征进行筛选,优化特征向量。最后,利用最优特征向量训练随机森林分类器,通过对待测电路进行检测,验证分类器的性能。检测架构所涉及的技术或步骤将在下面的小节中进一步解释。

图1 硬件木马检测架构Fig.1 Framework of hardware Trojan detection

2.1 特征提取

本文基于Trust_Hub 木马库中的基准电路展开研究,通过对门级网表进行可测性分析,提取电路节点的信号特征;通过建立门级网表的有向图模型,基于广度优先搜索算法提取电路节点的结构特征。最终,形成13维特征向量。

2.1.1 信号特征提取

SCOAP(sandia controllability/observability analysis program)算法[14]用统计方法来度量电路的可测试性,是目前广为接受的可测性算法。通过SCOAP包含的一组方程式,可以得到6 个参量以确定信号节点的可测试性,即CC0、CC1、CO、SC0、SC1、SO。与正常节点相比,木马节点可测试性更低,SCOAP 值更大[15]。因此,本文选择上述6个参量作为信号特征,用以区分木马节点和正常节点。

在以往的研究中,大都使用Synopsys公司的TetraMAX工具提取电路节点的SCOAP值。该工具专门用于ATPG(automated test pattern generation)[16],所生成的SCOAP值只能粗略地描述每个节点的可测试性。当电路节点可测性值大于254时,TetraMAX无法将其具体值输出,而是使用星号“*”表示。然而,在大型电路中,正常节点的可测性值也很容易达到254,可测试性值区分木马节点和正常节点的能力将被大幅降低。

为解决上述问题,本文使用开源工具Testability Measurement Tool[17]提取电路节点的可测性值。使用该工具进行数据提取时可自行设定阈值,较大的阈值将使木马节点和正常节点的可测性值差异更加明显,从而能够获取更为详细的信息来进行分类模型的训练,使分类边界更加清晰,有助于提升硬件木马检出率,减少假阳性分类。

2.1.2 结构特征提取

本文基于文献[7],对门级网表进行结构特征的提取。提取过程主要包括三个步骤,即有向图模型的建立,基于十字链表的有向图数据存储和基于广度优先搜索的木马特征得分量化。文献[7]中提出的结构特征模型描述的是器件单元的相关属性,然而本文需要对信号节点的结构特征进行提取。因此,本文对文献[7]中门级网表的有向图模型进行调整,将电路中所有的输入、输出端口以及节点映射为有向图的顶点,将器件单元映射为有向图的边。按此映射规则得到文献[7]中门级网表等效电路图(如图2 所示)的有向图模型,如图3 所示。根据调整后的有向图模型,可以对信号节点的结构特征进行提取。

图2 文献[7]中的等效电路图Fig.2 Circuit diagram in Literature [7]

图3 调整后的有向图模型Fig.3 Directed graph by adjustment

2.2 SMOTETomek平衡数据集

为了使硬件木马不易被检测,攻击者植入的木马模块在整个电路中的占比非常小,从而导致基准网表中可获取的木马数据十分有限。本文选择Trust_Hub库中的21 个基准电路开展研究,如表3 所示,基准电路共包含555 962 个信号节点,其中木马节点1 487 个,仅占节点总量的0.267%,这将导致训练集中的木马类信息严重缺失。如果使用该不平衡数据集训练分类器,将产生正常类的过拟合问题。因此,需要对数据集进行扩展,以获得正常类和木马类样本数量1∶1的平衡训练集,从而建立更加完善的硬件木马分类模型。

表3 基准电路的节点信息Table 3 Net information of benchmark netlists

本文采用由SMOTE过采样技术和Tomek Links欠采样技术相结合的SMOTETomek算法[18]对训练数据集进行扩展处理。SMOTETomek 是一种综合采样技术,先通过SMOTE 算法生成木马类样本,再利用Tomek Links 进行数据清洗,删除噪声样本或者处于边界位置的样本。该技术解决了采样过程中的过拟合和边界模糊问题,有利于增强分类器的性能。

2.3 特征向量优化

通过提取网表节点的信号特征和结构特征,本文获得了13 维特征向量。考虑到可能存在的特征冗余问题,需要对特征进行筛选,在检测效率和检测精度两个方面进行权衡,选出最优的特征向量,以实现高效率、高精确度的硬件木马检测。

本文通过特征重要性评估和分类器模型评分,实现特征向量的优化。首先,使用随机森林算法获得每个特征的重要性值,并按照重要性值由高到低对13 个特征进行排序。其次,根据重要性排序,依次将特征数据添加至训练集,分别使用1 个、2 个直到13 个特征进行RF分类器的训练,应用Python自带的模型评估函数对分类结果进行评分,采用五折交叉验证,取平均值作为最终结果。由表4 可知,当特征数增加至11 个时,模型得分达到最高。因此,将重要性值排在最后的两个特征dpo和ff_in_4删除,得到最优特征向量。

表4 特征重要性排序及模型评分Table 4 Features importance ranking and model scoring

2.4 基于RF的分类器训练

随机森林是一种基于集成学习的分类回归算法[19],具有训练速度快、精度高、抗过拟合能力强、适合处理高维度数据等优点[20],相比于其他算法,更适用于本文的特征向量。因此,本文使用该算法建立硬件木马分类模型。本文将数据集按照60%/40%的比例随机划分为训练集和测试集,以进行分类器的训练,并基于网格搜索技术对分类器的参数进行调节。最后,用训练出的模型对所有电路进行检测,得到木马信号集和正常信号集。

3 实验验证与结果分析

为了验证检测方法的有效性,本文选取Trust_Hub库中的21个硬件木马电路展开研究,具体信息如表5所示,详细地介绍了硬件木马的触发电路类型、触发概率以及功能。本文选取的测试电路涵盖的硬件木马类型多样,电路规模从几百门到十万门等不同数量级均有所涉及,对于验证本文方法的有效性提供了有力支撑。

表5 木马电路具体描述Table 5 Description of hardware trojan

为了评估本文所提出的硬件木马检测方法的有效性,本文选取3 个性能指标,即TPR、TNR 和ACC[21],计算方法如式(1)、式(2)和式(3)所示。其中,TP 指被检测出的木马信号数量,FN 指没有被检测出的木马信号数量,TN 指被检测出的正常信号数量,FP 指被错判为木马的正常信号数量。

为了进一步研究不同特征向量对检测结果的影响,本文分别使用信号特征向量、结构特征向量和2.3 节中得到的最优特征向量进行分类器的训练,并对测试电路进行检测,结果如表6所示。由表6可知,在对信号特征和结构特征进行组合后,分类器的性能有了显著的改善,TPR平均值分别增加了8.75%和4.58%。因此,本文对硬件木马特征的组合和优化是必要且有意义的。

表6 不同特征向量的分类结果Table 6 Results of different feature vectors单位:%

在完成特征向量优化和RF 分类器训练后,对测试电路一一进行检测,以验证本文方法的有效性,最终的实验结果如表7所示。根据分类结果可知,共有16个测试电路的TPR、TNR 和ACC 值达到100%,即不仅检测出全部的木马节点,且不存在误判的情况。本文在所选的21个基准电路检测中实现了99.22%的平均硬件木马检出率和99.99%的分类准确率,误判率仅为0.01%,实现了高精确度的硬件木马检测。

表7 测试电路分类结果Table 7 Detection results of gate-level netlists

本文与现有方法的比较如表8所示,文献[5]和[7]的研究基于硬件木马的结构特征,文献[10]和[22]的研究基于硬件木马的信号特征,而本文结合硬件木马的结构特征和信号特征,通过优化特征向量,实现对木马信号的检测。与文献[5]、[7]和[10]相比,本文的TRP、TNR和ACC值均有提升,其中TPR的提升尤为明显,分别增长了30.9%、21.47%和19.76%,这表明本文方法的硬件木马检测能力大幅增长。相比于文献[22],虽然本文在检测效果方面仅有小幅度的提升,但是文献[22]用于测试的基准电路规模较小,涵盖范围偏窄。本文对较大规模的vga_lcd、wb_conmax 和EthernetMAC10GE 电路展开实验验证,并取得了理想的检测结果。综上所述,本文方法在现有方法的基础上进一步提升了硬件木马检出率,是一种精度更高、覆盖范围更广的硬件木马检测方法。

表8 与现有方法的比较Table 8 Comparison of hardware Trojan detection methods单位:%

4 结束语

本文提出了一种基于多维特征的门级硬件木马检测方法,对结构特征和信号特征进行组合,使用优化后的特征向量训练随机森林分类器,实现硬件木马的检测。实验结果表明,本文方法在21个测试电路中,19个的TPR达到了100%,所有测试电路的平均TNR和ACC分别为99.99%和99.99%,大幅提升了硬件木马检出率。与现有方法相比,本文方法覆盖范围更广,检测准确率更高,是一个更具有实际应用价值的硬件木马检测方法。

猜你喜欢

结构特征木马特征向量
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
克罗内克积的特征向量
小木马
骑木马
小木马
旋转木马
一类特殊矩阵特征向量的求法
EXCEL表格计算判断矩阵近似特征向量在AHP法检验上的应用
结构特征的交互作用对注塑齿轮翘曲变形的影响
特殊环境下双驼峰的肺组织结构特征