1、NETINFOSECURITY入选论文2023年第10 期doi:10.39 6 9/j.is s n.16 7 1-112 2.2 0 2 3.10.0 0 7一种基于静态分析的多视图硬件木马检测方法一陈星任,熊焰,黄文超,付贵禄(中国科学技术大学计算机科学与技术学院,合肥2 30 0 2 6)摘要:随着集成电路产业的全球化,大部分设计、制造和测试过程已经转移到了世界各地不受信任的第三方实体,这样可能存在攻击者在硬件设计中插入有恶意行为电路的风险,即硬件木马。在早期发现硬件木马至关重要,若在设计后期或制造后再想移除它将开销很大。文章提出一种基于静态分析的多视图硬件木马检测方法,首先通过分析V
2、erilog代码得出变量数据依赖图和变量控制依赖图,从多个视角深度挖掘硬件设计的语义信息;然后通过多视图表示目标硬件设计不同视角下的行为表示向量;最后利用多视图融合方法进行协同融合,将得出的表示向量送入分类器中,从而检测Verilog代码是否被插入了硬件木马。实验结果表明,文章所提的检测方法在不依赖设计规范和不局限于模式库的情况下,实现了对硬件木马精确且全面的检测以及对Verilog代码的全自动分析。关键词:硬件木马检测;多视图融合;图表示学习;静态分析中图分类号:TP309文献标志码:A文章编号:16 7 1-112 2(2 0 2 3)10-0 0 48-10中文引用格式:陈星任,熊焰,黄
3、文超,等一种基于静态分析的多视图硬件木马检测方法 .信息网络安全,2 0 2 3,2 3(10):48-57.英文引用格式::CHEN Xingren,XIONG Yan,HUANG Wenchao,et al.A Multi-View Hardware Trojan DetectionMethod Based on Static AnalysisJJ.Netinfo Security,2023,23(10):48-57.A Multi-View Hardware Trojan Detection Method Based onStatic AnalysisCHEN Xingren,XIONG
4、 Yan,HUANG Wenchao,FU Guilu(School of Computer Science and Technology,University of Science and Technology of China,Hefei 230026,Chind)Abstract:With the globalization of the integrated circuit industry,a significant portionof the design,manufacturing,and testing processes has been shifted to untrust
5、ed third-partyentities around the world.This has led to the potential risk of malicious circuit insertionin hardware designs by attackers,known as hardware trojans.Early detection of hardwaretrojans is crucial because removing them after the design or manufacturing stages can beextremely costly.Ther
6、efore,this paper presented a static analysis-based multi-view hardware收稿日期:2 0 2 3-0 6-14基金项目:国家自然科学基金 6 19 7 2 36 9,6 2 10 2 38 5,6 2 2 7 2 434,6 2 37 2 42 2 ;国家重点研发计划 2 0 2 1QY2104;安徽省自然科学基金 2 10 8 0 8 5QF262作者简介:陈星任(19 9 9 一),男,江苏,硕士研究生,主要研究方向为硬件安全、漏洞挖掘和静态分析;熊焰(19 6 0 一),男,安徽,教授,博士,CCF会员,主要研究方向为网
7、络安全、漏洞挖掘和形式化建模;黄文超(19 8 2 一),男,湖北,副教授,博士,CCF会员,主要研究方向为网络安全、漏洞挖掘和形式化建模;付贵禄(19 9 5一),男,甘肃,博士研究生,主要研究方向为硬件安全、漏洞挖掘和形式化分析。通信作者:陈星任48NETINFOSECURITY2023年第10 期入选论文trojan detection method.By analyzing Verilog code,variable data dependency graphsand variable control dependency graphs were generated to extrac
8、t semantic informationfrom multiple perspectives in hardware design.Then,this method employed multi-viewrepresentation learning to derive behavioral representation vectors for the target hardwaredesign from different viewpoints.Finally,a multi-view fusion approach was applied tocollaboratively integ
9、rate the obtained representation vectors and feed them into a classifierto detect the presence of hardware trojans in Verilog code.Experimental validationdemonstrated that the presented detection method achieves accurate and comprehensivehardware trojan detection without relying on design specificat
10、ions and without being limitedto pattern libraries,enabling fully automated analysis of Verilog code.Key words:hardware trojan detection;multi-view fusion;graph representation learning;static analysis0引言近年来,随着集成电路工艺的不断发展,芯片设计制造流程日益复杂,整个集成电路产业链正在逐步实现全球化。作为集成电路的核心组成部分,现代芯片集成了众多领域中最先进的技术 2 。随着5G、人工智能等技
11、术的快速发展以及各类应用的开发,芯片的功能越来越复杂,芯片研发周期和研发费用也随之增加。为了解决上述问题,IP(In t e l l e c t u a l Pr o p e r t y)核复用技术迅速崛起。IP核是预先设计好的电路功能模块,专为ASIC(A p p l i c a t i o n Sp e c i f i c In t e g r a t e d Ci r c u i t)和FPGA(Fi e l d Pr o g r a mma b l e G a t e A r a y)设计而创建,可以有效缩短系统级芯片(System onChip,So C)的研发周期,并降低人力成本
12、3。因此,为了提高芯片在市场上的竞争力,许多芯片设计厂商已采用第三方IP核。然而,集成电路产业的全球化和广泛采用第三方IP核也为攻击者提供了多个途径来干扰芯片设计和制造过程,可能会引发严重的安全问题 45。引人第三方IP核可能存在恶意植人木马的风险,甚至在基础设计库由厂商提供的情况下也可能存在木马的潜在植入 6 ,一旦芯片被植入木马,那么攻击者可以通过特定的方法激活木马,从而导致目标芯片失效或敏感信息泄露等严重问题。例如,2 0 12 年在军用级FPGA中使用的Actel/MicrosemiProASIC3芯片中发现了未被记录的硬件木马。该木马通过提取密钥,使攻击者能够修改芯片的配置,从而完全
13、控制芯片。硬件木马不仅对军事领域构成了致命的威胁,而且在民用领域也同样存在风险。例如,企业或个人使用的硬件设备如果受到硬件木马的植入,那么攻击者就能够随时窥探企业的商业机密或个人的隐私信息,甚至对设备进行破坏。随着硬件设计安全性的问题日益严峻,如何有效检测硬件木马已成为全球范围内的重要研究课题。随着硬件木马检测的研究不断发展,各个层级的硬件木马检测方法逐渐被提出。与芯片设计制造流程相对应,硬件木马检测技术可以分为硅前检测和硅后检测 8 两类。硅前检测是指在芯片制造前的阶段对其进行检测,其主要目标是在芯片制造前尽早发现潜在的安全问题,以降低后续风险。硅后检测则作为检测的最后手段,主要在生产制造过
14、程中进行检测。如果硬件木马在设计阶段的早期没有被检测出或处理,一旦硬件设计进入制造和生产阶段,就会涉及供应链、制造工艺和生产设备等多个环节,可能需要重新调整多个环节,甚至是重新设计整个硬件产品,这将带来巨大的时间和金钱成本。因此,在硬件设计的硅前阶段进行硬件木马检测对于确保硬件安全具有重要意义。为了解决上述问题,学术界已经提出了大量的硬件木马检测方法。其中有代表性的方法有测试模式生成、形式验证、代码分析和机器学习方法 9 。测试模式生成方法旨在通过创建测试向量,检测电路的输出是否符合预期。形式验证方法是通过等价性检查或模型检测方法来验证硬件设计的完整性。代码分析方法利用行、语句、转移和有限状态
15、机(Finite-StateMachine,FSM)覆盖等指标,与硬件设计的规范指标49NETINFOSECURITY入选论文2023年第10 期进行比较,从而检测出硬件设计中的可疑变量。机器学习方法大多是通过对硬件设计特征进行提取,利用分类器进行分类检测。尽管已经取得了上述各类研究成果,但目前硅前硬件木马检测领域仍存在硬件设计规模过大、设计规范不可信以及新木马不断出现导致检测方法失效等问题。具体而言,随着集成电路产业的发展,硬件设计规模不断增大,使得测试模式生成方法所创建的测试数量过大且运行困难,因此,形式验证方法面临状态爆炸问题,代码分析方法难以覆盖全部情况;不受信任的第三方IP供应商可能
16、提供含有隐藏硬件木马的源代码和规范,因此基于设计规范的测试模式生成方法可能失效;而机器学习方法在提取代码特征方面虽然在一定程度上缓解了硬件规模过大和规范不可信的问题,但新的硬件木马仍然难以被局限于模式库匹配的机器学习方法检测出来;其他机器学习方法对硬件木马特征的构建过于简单,忽视了许多硬件木马的特征,仅能表达部分信息,无法保证信息的全面性。本文提出一个基于静态分析的多视图硬件木马检测方法。首先,通过分析硬件木马的行为特征,提取变量的特征向量;然后,采用静态分析技术提取硬件设计的变量控制依赖图(Control DependenceGraph,CDG)和变量数据依赖图(Data Dependenc
17、eGraph,DDG);其次,设计一种图表示学习方法,以多个视角深度挖掘硬件设计的语义信息;最后,采用多视图融合的方法对目标硬件设计进行协同表征,实现对硬件木马的精确识别。本文的研究对象是硅前阶段的硬件设计,对RTL(R e g i s t e r T r a n s f e r Le v e l)代码进行检测。主要目的是充分发挥不同方法的检测潜力,自动化学习并利用不同视角下硬件设计的一致性和互补性,综合刻画硬件设计的恶意性。实验结果表明,本文所提方法能够全面且精确地分析和检测硅前阶段的硬件设计Verilog代码,无需依赖硬件设计的设计规范且不局限于模式库。1相关工作目前,国内外对于硅前阶段硬
18、件木马检测的方法主要有测试模式生成、形式验证和代码分析等。CHAKRABORTYI10)和SAHA等人提出了自动测试模式生成(Design-for-Test Automatic Test Pattern Generation,A T PG)方法,通过识别内部节点的稀有输人逻辑来创建有效的测试向量。然而,硬件木马通过组合多个稀有变量并让触发条件在多个步骤中发生,来逃避ATPG的检测。LYU12等人提出了一种测试生成方法,将触发条件激活问题映射到团覆盖问题,以检测极其罕见的触发条件。然而,该方法存在覆盖性能不稳定的问题。大多数硬件木马仅在特定的罕见事件下被激活,使得传统的测试生成方法很难以极低的激
19、活概率触发硬件木马。形式化验证依赖于系统级规范中定义的安全和信任策略,使用等价性检查和模型检测来验证设计的完整性。SUBRAMANYANI13等人制定了污点传播属性,验证SoC设计中模块之间的数据流,来识别无意的设计错误。然而,硬件木马通常会针对检测标准进行设计,传统的错误检测方法并不能直接应用于硬件木马的检测。此外,一些类似的方法能够通过将应用信息泄露和寄存器修改的相关特征作为安全属性来检测信息泄露和对寄存器的恶意修改 1415。虽然在第三方IP上使用形式验证证明了预定义的安全属性,但其检测范围仅限于系统级规范中规定的属性,并且只能检测特定类型的硬件木马。RAJENDRANI14等人定义了无
20、关键数据损坏,只能检测数据损坏的硬件木马;随后,他们将安全标准从数据损坏修改为数据泄露 15。这两种方法都采用模型检测的方式,但由于受到状态爆炸问题的影响,因此无法扩展到大型设计。为了缓解这一问题,GUO16等人在模型检测的基础上引入定理证明的方法,有效解决了模型检测中常见的状态爆炸问题,但仍然存在范围有限和人工参与过多的问题。NAHIYAN17等人利用信息流跟踪对门级硬件设计的安全属性进行建模。然而,第三方IP供应商仍有可能依据证明和安全属性来规避检测,这使得形式化方法的50NETINFOSECURITY2023年第10 期入选论文有效性可能受到影响。NAHIYAN18等人使用代码分析的方法
21、从门级网表中提取状态转移图,并从中找出易受硬件木马植入影响的状态转移。然而,这种方法给设计人员增加了手动分析可疑区域以识别硬件木马的负担,并且在设计的组合逻辑方面存在一定限制。WAKSMAN19等人提出了一种控制值度量,衡量给定输人对电路运行和输出的影响程度,并通过在代码中寻找控制值较低的网络,将其标记为可疑网络。ZHANG20等人则返回不受功能输入驱动的网络并将其作为硬件木马的潜在触发条件。ZHANG21等人提出了一种攻击方法,利用FANCI和VeriTrust的漏洞,通过使用隐式触发条件修改硬件木马。这些硬件木马的触发逻辑分布在多个阶段,结合了时序逻辑和组合逻辑,这使得它们更难被检测。为了
22、覆盖所有的代码行,代码分析需要一个有效的测试平台来覆盖设计的所有执行场景。然而,与测试模式生成相同,即随着设计和验证时间的增加,所需的测试模式数量将增长到不可执行的数量。近年来,随着机器学习的快速发展和广泛应用,越来越多基于机器学习的方法被提出,用于硬件木马检测。PICCOLBONI22等人提出了一种基于RTL级代码控制流图的硬件木马检测方法,该方法通过静态分析代码控制数据流图(Control and Data-Flow Graph,CD FG),得出其分支概率,从而将检测过程转化为子图同构匹配。DEMROZ23等人在基于控制流图匹配的基础上,引入了概率神经网络来实现自动检测。然而,上述两种方
23、法并未考虑不产生控制流图分支的代码块,这导致在硬件木马的信息泄露检测方面效果有所降低。HAN/24等人利用梯度提升算法,通过RTL代码的抽象语法树(Abstract SyntaxTree,A ST)数据库对硬件设计进行检测。然而,该方法依赖于模式库,很难拓展至新型硬件木马。HASEGAWA25等人使用多层神经网络分析门级网表的Trojan-net特征,如果目标系统的规模较大,包含大量的门级网表,那么分析和处理的复杂性将增加。在大规模系统上应用多层神经网络进行分析可能会面临计算资源和时间的挑战。FARHATH26等人通过机器学习技术,利用CDFG对RTL级代码进行硬件木马检测。但是其对于图的构建
24、过于简单,忽视了硬件木马的特征。YASAEI27等人提出了一种基于数据流图(DataFloWGraph,D FG)的检测方法,实现了对于RTL级硬件设计的自动特征提取的硬件木马检测。然而,这些基于单一视图进行可视化与特征提取的方法,仅能表达硬件设计的某一部分信息,无法保证信息的全面性,与文献 2 6 方法存在同样的问题。在目前 RTL级设计过程中,Verilog 和 VHDL(VHSICHardwareDescription Language)主要使用的是硬件描述语言(Hardware Design Language,H D L)。随着集成电路产业的不断发展,越来越多的设计人员选择使用Veri
25、log作为开发语言,并且大多数第三方供应商提供的IP核也是基于Verilog语言的。因此,本文使用Verilog代码进行基于静态分析的多视图硬件木马检测,实现对RTL级硬件设计的安全检测。2基于静态分析的多视图硬件木马检测方法架构本文利用Verilog代码的变量特征,基于静态分析从数据依赖和控制依赖的角度对特征进行综合建模,旨在为机器学习方法提供全面且准确的特征,实现对Verilog代码可扩展的全自动硬件木马检测。检测方法架构主要由变量特征提取、代码变量DDG和CDG构建、多视图表示学习以及融合检测4个模块组成,如图1所示。2.1威胁模型本文的目的是检测RTL代码中是否存在恶意木马电路。为了实
26、现这一目标,本文研究了3种可能在设计阶段插入硬件木马的不同攻击场景:1)设计人员故意操纵RTL设计;2)通过EDA(El e c t r o n i c s D e s i g nAutomation)工具将硬件木马自动插人生成的RTL代码中进行设计/逻辑综合和分析;3)不可信的第三方IP制造商在IP中存在恶意电路。本文的方法不对硬件木马的类型或其触发条件的设计做出假设,这些硬件木马的有效载荷可能会引起改变功能、降低性能或泄露数据等危险行为。51NETINFOSECURITY入选论文2023年第10 期度切入等,对RTL级硬件代码行为进行综合建模,基于Pyverilog实现一个特征提取器,在前
27、文收集的数据代码变量特征提取模块变量特征提取与量化变量1(1,.0.2,.0,6,0)变量2(0,4,1;6,7,Verilog代码变量3变量4(0,5,2,0,1,.0)融合检测模块Verilog代码检测模型未插入已插入硬件木马硬件木马图1硬件木马检测架构2.2变量特征提取本模块主要用于完成前期的数据收集以及特征提取工作。具体而言,本文实现了一个静态变量特征提取器,以提取Verilog代码变量的特征向量,这些特征是本文方法所需的关键信息。在特征提取前,首先需要对未插人和已插人木马的Verilog代码进行观察,总结变量的关键行为特征。后续模块工作均基于前期提取的特征进行,在总结出Verilog
28、代码的变量特征后,本模块根据后续多视图表示的实际需要,对Verilog代码的变量进行静态特征提取。即通过静态分析的方法,针对每个变量,提取其相应的特征向量。这些特征向量将用于建立多视图表示和分类检测。2.3数据依赖图和控制依赖图构建硬件木马的触发条件通常由复杂的触发逻辑实现,因此变量之间的控制依赖关系对于检测硬件木马非常重要。然而,也存在没有触发条件的硬件木马,但是如果没有触发条件,硬件木马就不会引起性能降低或功能修改,这是由于在测试过程中很容易被发现。因此,硬件木马通常会被设计成信息泄露的形式。综上所述,本模块从变量数据依赖和变量控制依赖两个角变量依赖图构建模块Verilog代码代码静态分析
29、变量1数据依赖一变量2视图1变量1控制依赖一变量2视图2变量依赖图生成多视图表示学习模块图嵌入生成数据依赖图向量视图融合二集中提取出上述两个检测视角的相关特征。具体来说,本提取器基于静态分析方法,得出Verilog代码对应的AST,并通过分析AST得出Verilog代码中每个变量对应的DDG和CDG。数据依赖图表示为DDG(g)-(X,Ea),其中X=xo,xi,xn),表示Verilog代码中变量的有限集合;EaXX,表示相连变量的边的集合,如果变量xo和xi之间存在赋值等数据依赖关系,则(xo,xi)Ed o而 CDG表示为 CDG(g)-(X,E),其中X=xo,x1,xn),表示变量的
30、有限集合;EcXX,表示相连节点的图卷积神经网络控制依赖图向量边的集合,若变量xo和xi之间存在if条件等控制依赖关系,则(xo,xi)Ec。这样的综合建模方法能够有效捕捉到硬件设计中变量之间的数据依赖和控制依赖关系,为后续的硬件木马检测提供重要特征。2.4多视图表示学习模块多视图表示学习模块采用图表示学习方法来获取中间结果,并将其应用于后续的分类检测任务,这样的设计旨在更充分地利用硬件木马领域的先验知识。通过这种方法得到的表征结果相较于采用端到端的图神经网络(GraphNeural Networks,G NN)方式具有更丰富的语义信息,能够更好地区分正常硬件代码和硬件木马,也更有利于实现硬件
31、木马检测任务。具体而言,本模块首先通过图表示学习从结构化为图的数据中提取,然后在读出阶段使用聚合操作对图卷积层获取的节点嵌人XGrophSAGE进行聚合,得出图的嵌人向量V,其中V=POOLOUT(XGraphSAGE),POOLOUT操作可以是对所有节点嵌入的每个特征维度的求和、平均或最大值。2.5融合检测模块通过对多视图表示学习模块中代表硬件设计行为语义的向量表示进行融合,融合检测模块得到了一个包含所有视图语义信息的硬件设计向量表示,将该向量表示送人分类器进行检测,判断其是否含有硬件木马代码。具体来说,本文将硬件设计的DDG和CDG52NETINFOSECURITY2023年第10 期入选
32、论文下的相关结构和语义信息分别表示为一个易于训练且含义丰富的低维向量,它反映了硬件设计在具体视图下的行为特征。由于这些视图在表示学习后会得到不同的节点表征,需要一种多视图融合方法来对不同的表示向量进行融合,以获得硬件设计的最终表示结果。这样的向量融合对硬件设计在不同观察角度得到的信息进行整合,进一步提高低维向量表示的信息丰富度。本模块采用分权重融合的方式将两个视图的表示向量融合为一个包含丰富结构和语义信息的低维表示,并将其送人深度神经网络(Deep Neural Networks,D NN)模型训练,得到最终的Verilog代码分类器。这种多视图融合的方法能够更好地综合不同视图的信息,提高分类
33、器对硬件设计恶意性的判别能力。3基于静态分析的多视图硬件木马检测方法实现3.1特征选择及提取变量行为特征提取主要是提取节点内各语句中与变量相关的行为特征。这些行为特征包括5类算术运算操作、4类位运算、2 类移位运算以及拼接运算。本文将每类运算作为一个行为特征,统计变量与各类运算相关的次数作为该特征的值,如果没有相关运算,那么将该特征值设为O。以Trust-Hub的AES-T500基准中的触发条件变量Tjstate为例,攻击者在设计硬件木马时为了增加硬件木马触发条件的复杂度使用了多个条件,并通过逻辑与(&)操作连接起来,如图2 a)所示。同样地,在Trust-Hub的AES-T100基准中的有效
34、载荷变量Tjload中,硬件木马在设置有效载荷时为了提高隐蔽性,使用了多个位操作来进行信息泄露,如图2 b)所示。因此,变量在各种操作中出现的数量可以反映其行为特征,这对于硬件木马检测非常重要。本文通过统计变量与不同操作之间的关联次数,获得变量的行为特征,用于硬件木马的检测。由于硬件木马通常通过触发电路来实现隐藏,其有效载荷电路的结构通常设计为if判断分支或case子分支。因此,变量是否存在于这些结构中成为一个重要的特征,以判断变量是否与硬件木马相关。本文为always(Tjstate)beginif(Tjrst=1)beginTjStateo=0;TjStatel-0;TjState2=0;
35、TjState3=0;end else if(Tjstate=128h3243f6a8885a308d313198a2e0370734)beginTjStateo=1;endelseif(Tjstate=128h00112233445566778899aabbccddeeff)&(TjState0=1)beginend else if(Tjstate=-128ho)&(TjStatel=1)beginTjState2=l;end else if(Tjstate=-=128hl)&(TjState2=1)beginTjState3=1;endenda)A ST-50 0 触发器代码示例alway
36、s (posedge Tjclk)beginTjload0=Tjkey0 Tjcounter0;Tjload1=Tjkey0 Tjcounter0;Tjload2=Tjkey0 Tjcounter0;Tjload3=Tjkey0 Tjcounter0;Tjload4=Tjkey0 Tjcounter0;Tjload5=Tjkey0 Tjcounter0;Tjload6=Tjkey0 Tjcounter0;b)A ST-10 0 有效载荷代码示例图2 硬件木马示例每个变量添加3个行为特征,分别是所属if分支个数、所属case分支个数和所属循环结构个数。通过对变量所属结构进行说明,实现变量的特征提
37、取。依据变量的定义信息还能得出变量的敏感性特征。由于硬件木马在未触发时不会影响正常操作,使用的变量会独立于模块的输人和输出,具有隐蔽性的特点,因此通过变量是否属于所在模块的输人输出可以判断变量的敏感性。即通过变量的定义信息可以分析出该变量是否是所在模块的输入输出,并给出变量的敏感性特征。例如,若变量不是模块的输人输出,则敏感性为0;反之,则为1。综上所述,变量的特征如表1所示,包括11类运算操作、所属if分支个数、所属case分支个数、所属循环结构个数和敏感性特征,共15个特征。通过对这些特征的提取和分析,能够更好地理解和表示Verilog代码中变量的行为,较为全面地反映变量在Verilog代
38、码中的特征,为硬件木马检测提供关键的特征向量,为进一步的分析和检测提供重要线索。TjStatel-1;53NETINFOSECURITY入选论文2023年第10 期表1变量特征及其说明特征名称提取方法Add统计变量相关的加法的次数Minus统计变量相关的减法的次数Multip统计变量相关的乘法的次数Divide统计变量相关的除法的次数Mod统计变量相关的取模的次数Not统计变量相关的取反的次数Or统计变量相关的或运算的次数And统计变量相关的与运算的次数Xor统计变量相关的异或运算的次数Shift统计变量相关的移位操作的次数Cat统计变量相关的拼接操作的次数Ifn统计变量所属if分支的次数Ca
39、n统计变量所属case分支的次数Loopn统计变量所属循环结构的次数Sensitivity变量敏感性3.2硬件木马检测根据变量特征提取模块提取特征,依据Verilog代码对应的AST构建包含丰富结构和语义关系的变量CDG和变量DDG。但如何在充分利用特征图且不丢失其丰富语义信息的前提下表示为机器可读的向量形式,是一个重要且具有承接性的工作。为解决这一关键问题,本文采用图表示学习方法GraphSAGE和多视图融合技术,将高维图结构表示为一个低维向量。由于硬件设计模块数量多,其生成的图中包含的节点数量集较大。为了解决上述问题对计算效率和性能的影响,本文通过采样邻居的策略,将训练方式改为以节点为中心
40、的小批量训练方式,有效减小了图大小对训练过程的影响。这一方法在提高计算效率的同时,仍能保持较高的训练准确性和性能。为了将高维图表示为低维向量,给分类器提供关键信息,本文在读出阶段使用平均池化聚合从图卷积层获取的节点嵌入XGrphSAGE,得出图的嵌人向量V,即V=MEANPOOLING(GraphSAGE)。通过上述方式,本文将复杂的图结构转化为机器可读的向量形式,并为后续的分类器提供关键的信息。基于两种视图的表示学习,本文分别得到Verilog代码的两种不同低维向量表示,它们描述了不同语义下的硬件设计行为。由于这些视图在表示学习后会得到不同的节点表征,因此需要一种多视图融合方法对不同的表示向
41、量进行融合,以获得基于Verilog的硬件设计的最终表示结果。具体步骤如下:首先,基于m重视图表示学习后获得m种节点表示,记为Y(i=1,m),则合并后的节点表示记为Y=2(;xY),其中;(i=1,m)是Y,的权重;然后,通过实验确定各视图的权重,即确定每个低维向量Yi的权重i;最后,将融合表示向量送人训练好的DNN分类模型,完成对Verilog代码变量的检测。通过以上步骤,能够将Verilog代码的相关结构和语义信息表示为易于训练且有意义的低维向量,这些向量反映了Verilog代码多方面的行为特征。4实验与分析4.1数据集为了全面评估本文所提方法的性能,本文基于Trust-Hub28 的基
42、准提取了一个数据集,包括AES、PIC和RS232三个基本电路,该基准目前在硬件木马检测领域被广泛使用。Trust-Hub基准在3个基本电路中插人34种不同类型的硬件木马。由于负样本偏多,为了平衡数据集,本文添加了DET、R C6、SPI、SYN-SR A M、VGA和XTEA等新的开源电路,以增加未感染硬件木马样本的数量。4.2有效性本文选择了一些同类、有代表性的方法作为对比方法,用于评估本文方法的检测能力。选择的对比方法通过让模型学习硬件木马的相应特征,实现对硬件木马的检测。例如,FARHATH2等人提出一种基于RTL级硬件设计的CDFG检测方法,该方法利用机器学习技术对硬件设计进行分类,
43、以检测由于插人硬件木马而导致的恶意行为;YASAEI27等人提出一种基于DFG的检测方法,实现了对于RTL级硬件设计的自动特征提取的硬件木马检测。本节旨在探究和比较其他方法与本文所提方法在硬件木马检测方面的性能和效果。为评估本文方法在未知电路上检测未知硬件木马的性能,本文使用一种变体的留一交叉验证方法进行实验。首先,每次实验选择一种基本电路基准进行测试,然后使用其他基准训练模型,最后对评估每个54NETINFOSECURITY2023年第10 期入选论文基本电路获得的结果进行平均。该实验中,测试电路以及硬件木马对于检测模型是未知的。本文将上述方法和本文方法在3个指标上进行比较,分别为精确率Pr
44、ecision、F1值和准确率ACC。精确率反映了模型对于假正例的控制能力。F1值是准确率和召回率的加权平均值,综合考虑了模型的性能。准确率反应了对模型整体分类准确性的评估。F1值和精确率是衡量二分类模型性能的重要指标,它们与准确率一起提供了对模型在不同方面性能的综合评估。具体结果如表2 所示。表2 不同方法的检测效果对比方法Precision本文方法88.7%文献 2 6 方法79.4%文献 2 7 方法88.1%实验结果表明,本文的检测方法整体上优于其他两种方法。具体而言,本文的检测方法在Precision方面达到8 8.7%,F1值方面达到9 3.9%,ACC值达到8 8.7%。相比之下
45、,文献 2 6 方法在3个基本电路上的Precision为7 9.4%,F1值为8 3.8%,ACC值为8 2.9%;文献 2 7 方法的对应数值的Precision和F1值分别为8 8.1%和92.1%(未给出ACC值)。以上实验结果表明,与其他基于图的方法相比,本文方法所得到的表示向量能够更深人挖掘语义层面的信息,并且会对最终表示向量的语义丰富程度产生重要影响。与文献 2 6 方法相比,本文采用了一种新的融合方式,将CDG和DDG通过设置权重进行结合,这是由于考虑这两种视图在硬件木马检测中的不同影响程度,旨在获得更好的效果。此外,与本文方法相比,上述两种方法在建图时选择的实体节点类型较单一
46、或不够深入,限制了其性能表现。本文方法在提取硬件设计特征时考虑更全面深入,因此检测的准确性和综合性能更好。此外,在进行变体的留一交叉验证的过程中,本文所提方法在3个基本电路上都展现出了良好的效果,表明该方法在应对不同的电路时具有较强的适应能力。具体结果如图3所示。上述实验将通过学习硬件木马的相应特征来实现硬件木马检测的3种方法进行了比较,结果表明本文100%90%80%70%60%50%40%30%20%10%0PrecisionF1值ACC所提方法表现更为优异。为了进一步评估本文方法的F1值ACC93.9%88.7%83.8%82.9%92.1%一AES95.2%97.6%95.2%图3不同
47、基本电路中的检测结果优势,本文通过案例分析研究了这些方法是否能够检测不同类型的硬件木马,主要分析了基于模式库匹配的检测方法(PICCOLBONI2 等人提出的方法)基于形式化验证的检测方法(NAHIYAN17)等人提出的方法)与本文方法在特定类型的硬件木马中的检测效果。第一个硬件木马基准是基于模式库匹配方法已知的,即存在于模式库中的,而其他两个硬件木马是未知的。表格中和分别表示依据文章所述该方法应该能够被检测或不能被检测,具体如表3所示。表3在案例研究中比较硬件木马检测方法基准触发方式有效载荷本文方法文献 2 2 方法文献 17 方法AES-T1900定时炸弹性能下降R.S232-T700作码
48、信息泄露AES-T1800作码性能下降结果表明,基于模式库匹配的方法受限于模式库的范围,无法识别库外的硬件木马;而形式化验证方法依赖于预定义属性,难以识别新类型的硬件木马。相比之下,本文方法能够学习硬件木马的行为,并且能够检测不同类型的硬件木马,甚至是未知类型的硬件木马。4.3不同视图的表征能力对比为了评估本文所提方法的有效性和可行性,本文使用GNN方法对Verilog代码的DDG和CDG进行表征,并基于每个视图的RTL级代码取得硬件设计的潜在低维向量表示;然后,采用本文提出的多视图融合方法,通过融合不同视图的表示来获得硬件设计表示向量;最后,将经过训练的DNN模型用于二元分类任务,以RS23
49、2检测方法90.0%95.2%90.9%PIC80.0%88.9%80.0%55NETINFOSECURITY入选论文2023年第10 期评估每种方法的表示能力。实验结果如表4所示,表4不同视图的检测效果视图ACCDDG84.4%CDG68.8%融合视图90.6%实验结果显示,本文方法使用的不同视图在检测硬件木马设计方面展现出不同的性能。即每个视图都能捕获不同的语义信息,丰富了本文对硬件设计行为的理解。此外,通过实验还得出以下结论。1)多视图融合通常比单个视图能够产生更好的表示结果。将不同视图的信息融合在一起能够综合利用它们的优势,提高表示向量的表达能力。2)尽管CDG在单独使用时可能表现不如
50、DDG,但是将它们融合能够产生更全面的语义信息,提高表示向量的整体性能。同时,该方法也可以更好地捕捉硬件设计中的关键特征,提高检测硬件木马的准确性。4.4融合权重选择实验在融合分类模块中,本文提出了一种通过为每个视图分配不同权重来融合向量的方法。然而,两种视图融合对硬件木马检测的影响是未知的,为确定权重以实现较好的硬件木马检测效果、探索两种视图的重要性,融合权重选择实验是必要的。具体实验结果如表5所示。表5融合权重参数选择实验结果DDG权重CDG权重11311323324114实验结果表明,将权重比例设置为3:1能够更好地实现硬件木马检测和分类性能;DDG对结果的影响较显著,因此为其分配较大权