CN114065307A - 一种基于双向图卷积神经网络的硬件木马检测方法与系统 - Google Patents
一种基于双向图卷积神经网络的硬件木马检测方法与系统 Download PDFInfo
- Publication number
- CN114065307A CN114065307A CN202111367369.2A CN202111367369A CN114065307A CN 114065307 A CN114065307 A CN 114065307A CN 202111367369 A CN202111367369 A CN 202111367369A CN 114065307 A CN114065307 A CN 114065307A
- Authority
- CN
- China
- Prior art keywords
- graph
- gate device
- gate
- hardware trojan
- neural network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 title claims abstract description 112
- 238000001514 detection method Methods 0.000 title claims abstract description 49
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 19
- 238000013145 classification model Methods 0.000 claims abstract description 39
- 238000010586 diagram Methods 0.000 claims abstract description 33
- 230000006870 function Effects 0.000 claims abstract description 30
- 238000013528 artificial neural network Methods 0.000 claims abstract description 20
- 238000000034 method Methods 0.000 claims abstract description 10
- 238000007781 pre-processing Methods 0.000 claims abstract description 4
- 238000000605 extraction Methods 0.000 claims description 32
- 239000011159 matrix material Substances 0.000 claims description 32
- 238000012549 training Methods 0.000 claims description 24
- 230000002441 reversible effect Effects 0.000 claims description 20
- 239000013598 vector Substances 0.000 claims description 19
- 230000002457 bidirectional effect Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 11
- 230000004913 activation Effects 0.000 claims description 10
- 239000006185 dispersion Substances 0.000 claims description 10
- 238000002372 labelling Methods 0.000 claims description 9
- 238000013461 design Methods 0.000 claims description 8
- 230000009466 transformation Effects 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 238000010845 search algorithm Methods 0.000 claims description 3
- 230000003595 spectral effect Effects 0.000 claims description 3
- 238000012360 testing method Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 2
- 239000010931 gold Substances 0.000 description 2
- 229910052737 gold Inorganic materials 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 241000283086 Equidae Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000007943 implant Substances 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于双向图卷积神经网络的硬件木马检测方法与系统。该方法首先对网表文件进行预处理,创建对应的有向图表示,并对门器件信息进行编码作为特征表示X,构建电路有向图数据;然后分别创建描述电路信号传播结构的正向电路图和描述电路信号分散结构的反向电路图,并分别构造对应的图神经网络特征提取器提取结构特征,组合为最终的门器件特征;构造多层感知机分类模型,与图神经网络特征提取器构成硬件木马门分类模型,并使用加权交叉熵损失函数来学习模型参数,得到训练好的硬件木马门分类模型;将待检测的网表转换为有向图,输入到训练好的硬件木马门分类模型中进行检测,输出可疑的门器件列表。本发明可以有效地检测出门级硬件木马。
Description
技术领域
本发明涉及硬件木马检测领域,具体涉及一种基于双向图卷积神经网络的硬件木马检测方法与系统。
背景技术
芯片是物理网络系统的基础,随着网络的快速发展,电子设备的普及程度越来越高,芯片被广泛的用于不同的领域中。然而由于高昂的成本与激烈竞争压力,芯片的生产过程通常需要由多个制造商共同参与,导致大规模集成电路设计中很容易被攻击者植入硬件木马,以执行特定的恶意操作,造成重大的安全隐患和破坏。硬件木马主要在芯片的设计阶段被植入,同时芯片制造后的检测代价往往是非常昂贵的,所以在芯片设计阶段检测到硬件木马是十分重要的。
传统的硬件木马检测技术主要包括侧信道分析、逻辑测试和逆向工程。其中,侧信道分析通过测量电路的物理特性,如电压、电流和温度等特征,并与无木马的“黄金芯片”进行比较来判断硬件木马;逻辑测试通过产生不同的测试输入向量以尽可能的激活触发条件罕见的硬件木马达到检测目的。侧信道分析和逻辑测试通常需要运行或模拟电路,需要较多的人力物力开销。逆向工程对芯片进行解构,逐层扫描以获得布局图像,通过分析图像并与“黄金芯片”进行比较来检测木马,但其需要破坏芯片,对待测芯片造成不可逆的伤害。总的来说,传统的硬件木马检测技术通常需要高精度的检测设备,耗费过多的时间触发硬件木马和测量特性。近年来,基于机器学习的静态检测方法受到了许多研究者的关注,其通常由人工定义并提取相关特征,通过机器学习方法对特征进行学习以获得对硬件木马的分类模型。相比传统的检测方法,基于机器学习的静态检测不需要运行或模拟电路,无需额外的开销,容易扩展到大规模集成电路上同时保持高效的检测,但是目前的静态检测方法依旧过度依赖人工特征的定义,针对不同类型的硬件木马找到有效的特征是困难的。
此外,根据设计阶段的不同,按抽象级别由高到低,硬件木马的检测级别又可以分为系统级、寄存器传输级、门级和物理布局级。由于每一级的跨越都有可能被植入硬件木马,越靠近制造阶段的检测越具有防御效果,但是抽象级别越低,设计细节就越多,伴随着复杂度的增长。目前的检测工作大多集中在寄存器传输级上,并且难以在大规模集成电路中检测并定位相关木马结构。总的来说,对于门级还没一套高效、自动且易于拓展的硬件木马检测方法与系统。
发明内容
本发明的目的在于提供一种基于双向图卷积神经网络的硬件木马检测方法与系统,该方法及系统可以有效地检测出门级硬件木马,给出相关的可疑结构,为专业人员提供审查便利,并且具有较高的检测效率和准确度,摆脱了人工定义和提取相关特征的负担。
为实现上述目的,本发明的技术方案是:一种基于双向图卷积神经网络的硬件木马检测方法,包括以下步骤:
步骤A、对收集的网表文件进行预处理,收集网表中的门器件集合V,并生成器件间连接边集合E,创建对应的有向图表示G=(V,E),并对门器件信息进行编码作为特征表示X,同时对每个门器件标注硬件木马标签Y,构建电路有向图数据;
步骤B、基于步骤A构建的电路有向图G,分别创建用于描述电路信号传播结构的正向电路图GFW和用于描述电路信号分散结构的反向电路图GBW,并分别构造对应的图神经网络特征提取器提取正向图GFW和反向图GBW的特征,组合为最终的门器件特征HC;
步骤C、构造多层感知机分类模型,与步骤B中构造的图神经网络特征提取器构成硬件木马门分类模型,将图神经网络特征提取器的输出特征HC作为多层感知机模型的输入进行训练,计算每个门器件属于正常门器件和木马门器件的概率,并使用加权交叉熵损失函数来学习硬件木马门分类模型的参数,当达到最大迭代次数,则终止模型的训练,得到训练好的硬件木马门分类模型;
步骤D、将待检测的网表转换为有向图,输入到训练好的硬件木马门分类模型中进行检测,输出可疑的门器件列表。
在本发明一实施例中,所述步骤A具体包括以下步骤:
步骤A1、收集所有网表中的门器件类型,形成门器件类型库;
步骤A2、从网表中获取门器件集合V={v0,v1,...,vn-1}和线网集合W={w0,w1,...,wh},并定义任意一个门器件vi的输入输出线网信息Ri=(wij,wik);
步骤A3、以门器件集合V作为顶点集,根据每个门器件的输入输出线网信息Ri,使用深度优先搜索算法收集与主输入和主输出线网连接的门器件,保存为对应集合SMI,SMO,收集具有SI、SE、SN和RN类型的端口的门器件,分别保存为对应集合SSI,SSE,SSN,SRN,同时构建边集E={est|s,t=0,1,...,n-1}来表示逻辑门间的连接关系,如果逻辑门vs的输出端口连接到逻辑门vt的输入端口,则存在边est∈E;
步骤A4、用有向图G=(V,E)表示网表的电路拓扑结构,进一步将图表示转换为邻接矩阵A,如果边est存在于边集E中,则邻接矩阵中的对应元素ast=1,否则为0;
步骤A5、根据门器件类型库,对门器件的类型进行One-Hot编码,作为门器件节点的初始特征;根据门器件集合SSI,SSE,SSN,SRN对门器件的端口信息进行编码,若门器件包含SI、SE、SN和RN类型的端口,则在对应特征位上编码为1,否则为0;若门器件连接主输入或主输出,即门器件在对应集合SMI,SMO中,则在对应特征位上编码为1,否则为0;最终以65位的One-Hot编码、4位特殊端口信息编码和2位主输入输出编码组合为71位的表示向量作为门器件的特征表示X={x0,x1,...,xn-1};
步骤A6、解析网表中的木马网表段,对相应的木马逻辑门标注木马标签,正常门器件标注为正常标签,形成标签信息Y;由有向图结构表示G=(V,E),门器件特征表示X和标签信息Y构成电路有向图数据。
在本发明一实施例中,所述步骤B具体包括以下步骤:
步骤B1、将步骤A构建的电路有向图G=(V,E)当作是描述电路信号传播结构的正向图GFW,通过翻转所有边的方向得到反向边集EBW={est|ets∈E},构建描述电路信号发散结构的反向图GBW=(V,EBW),同时获得描述反向图的邻接矩阵ABW=AT,正向图GFW和反向图GBW使用相同的门器件节点特征X;
步骤B2、构建两个独立的两层图卷积层分别作为正向图GFW和反向图GBW的特征提取器,对正向图GFW的特征提取器的两层的图卷积运算如下:
其中,M(·)表示图卷积运算,和分别表示正向图GFW经过第一层和第二层图卷积运算的输出,分别表示两层图卷积运算的学习权重,第一层图卷积的输入是门器件特征矩阵X,第二层图卷积的输入是第一层图卷积的输出同样的,反向图GBW经过其两层图卷积运算得到相应的输出特征和两个特征提取器的最终输出和分别作为电路信号传播结构和分散结构的特征表示;
在本发明一实施例中,所述的图卷积运算M具体计算公式如下:
其中,Hk表示通过第k个图卷积层运算得到的隐藏层特征矩阵,A表示图结构的邻接矩阵,Wk-1为对应层的可学习参数;图卷积运算M使用了谱域卷积的一阶切比雪夫近似形式,其中A=A+IN表示添加自连接的邻接矩阵,IN表示N阶单位矩阵,是由邻接矩阵计算出的度矩阵,σ(·)为激活函数,图卷积运算使用ReLU函数作为激活函数。
在本发明一实施例中,所述步骤C具体包括以下步骤:
步骤C1、构造多层感知机MLP分类模型,与步骤B中构造的图神经网络特征提取器构成硬件木马门分类模型,将组合的门器件特征HC输入到多层感知机模型中,计算逻辑门所属类别的概率,并用一个softmax层对概率进行归一化,来学习预测标签运算公式如下:
p=MLP(HC)
步骤C2、用加权的交叉熵作为损失函数,利用反向传播迭代更新硬件木马门分类模型的参数,以最小化损失函数来训练模型,当达到最大迭代次数,则终止模型的训练,得到训练好的硬件木马门分类模型。
在本发明一实施例中,所述多层感知机模型的具体计算流程如下:
使用的多层感知机模型由两层神经网络全连接层组成,每一层的计算公式如下:
y=f(WFC*x+bFC)
其中,WFC为全连接层权重矩阵,bFC为偏置项,f为激活函数,使用ReLU函数作为多层感知机的激活函数,y为逻辑门特征向量x经过全连接层非线性变换得到的向量;最后一个全连接层输出单元数规定为2,用于对硬件木马二分类的预测。
在本发明一实施例中,所述加权交叉熵损失函数计算公式如下:
其中,N为逻辑门的总个数,wp为正常门数量所占的比例,wn为木马门数量所占的比例,是门器件特征通过硬件木马门分类模型输出的预测标签概率,yi为逻辑门的实际标签,当损失值迭代轮次达到预设值时终止模型的训练。
本发明还提供了一种基于双向图卷积神经网络的硬件木马检测系统,所述检测系统应用权利要求1至7任一项所述的基于双向图卷积神经网络的硬件木马检测方法,包括图数据建模模块、门特征提取模块、硬件木马检测模块:
所述图数据建模模块:用于创建网表的图表示数据样本,包括图结构建模子模块和门特征编码子模块;图结构建模子模块将网表中的电路拓扑结构建模为有向图表示,门特征编码子模块将门器件的类型信息、特殊端口信息和主输入输出信息编码为门器件的三类特征信息;
所述门特征提取模块:针对创建的网表图表示数据提取出门器件的三种不同图结构特征,包括正向图特征提取子模块、反向图特征提取子模块和双向图特征提取子模块;首先,创建用于描述电路信号传播结构的正向电路图GFW和用于描述电路信号分散结构的反向电路图GBW,正向图特征提取子模块只创建一个两层的图卷积网络来提取正向图GFW的结构特征;反向图特征提取子模块只创建一个两层的图卷积网络来提取反向图GBW的结构特征;双向图特征提取子模块对正向图GFW和反向图GBW分别应用两个独立的图神经网络特征提取器进行特征提取,并进行组合作为最终的门器件特征;
所述硬件木马检测模块:用于检测网表中的木马门器件,包括模型训练子模块和木马门分类子模块;模型训练子模块用于训练硬件木马门分类模型,得到性能优秀的模型参数并保存;木马门分类子模块自动执行网表的图建模与门器件的分类,列出分类为硬件木马的门器件为可疑结构,为后续的审查和设计修改提供便利。
相较于现有技术,本发明具有以下有益效果:
(1)首先本发明对网表进行有向图建模,并提出了一种结合门器件的类型信息、特殊端口信息和主输入输出信息进行门器件特征信息编码的方法,为使用图方法解决木马检测问题扩展了图数据建模方法,图数据极大的保留了网表电路的结构信息。
(2)本发明提出一种基于双向图神经网络模型的门器件特征提取框架,可以自动的同时提取了门器件的电路信号传播结构和分散结构的特征,摆脱了人工定义和提取特征的负担,同时避免了手工提取特征不易拓展的风险。
(3)本发明使用了多层感知机作为硬件木马门分类模型,并使用加权交叉熵损失函数来训练模型,缓解了硬件木马门与正常门样本之间的不平衡问题,与传统硬件木马检测方法相比检测效率和准确率更高,同时对门器件进行分类,可以有效的根据木马门器件输出可疑结构,实现木马结构的定位。
(4)本发明系统可用于网表电路图数据的生成、门器件结构特征的自动提取和木马门器件检测。
附图说明
图1为本发明实施例的方法流程图。
图2是本发明实施例的步骤A的实现流程图。
图3是本发明实施例的系统结构示意图。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
如图1-2所示,本发明提供一种基于双向图卷积神经网络的硬件木马检测方法,包括以下步骤:
步骤A、对收集的网表文件进行预处理,收集网表中的门器件集合V,并生成器件间连接边集合E,创建对应的有向图表示G=(V,E),并对门器件信息进行编码作为特征表示X,同时对每个门器件标注硬件木马标签Y,构建电路有向图数据;
步骤A1、收集所有网表中的门器件类型,形成门器件类型库;
步骤A2、从网表中获取门器件集合V={v0,v1,...,vn-1}和线网集合W={w0,w1,...,wh},并定义任意一个门器件vi的输入输出线网信息Ri=(wij,wik)。
步骤A3、以门器件集合V作为顶点集,根据每个门器件的输入输出线网信息Ri,使用深度优先搜索算法收集与主输入和主输出线网连接的门器件,保存为对应集合SMI,SMO,收集具有SI、SE、SN和RN类型的端口的门器件,分别保存为对应集合SSI,SSE,SSN,SRN,同时构建边集E={est|s,t=0,1,...,n-1}来表示逻辑门间的连接关系,如果逻辑门vs的输出端口连接到逻辑门vt的输入端口,则存在边est∈E。
步骤A4、用有向图G=(V,E)表示网表的电路拓扑结构,进一步将图表示转换为邻接矩阵A,如果边est存在于边集E中,则邻接矩阵中的对应元素ast=1,否则为0。
步骤A5、根据门器件类型库,对门器件的类型进行One-Hot编码,作为门器件节点的初始特征;根据门器件集合SSI,SSE,SSN,SRN对门器件的端口信息进行编码,若门器件包含SI、SE、SN和RN类型的端口,则在对应特征位上编码为1,否则为0;若门器件连接主输入或主输出,即门器件在对应集合SMI,SMO中,则在对应特征位上编码为1,否则为0。最终以65位的One-Hot编码、4位特殊端口信息编码和2位主输入输出编码组合为71位的表示向量作为门器件的特征表示X={x0,x1,...,xn-1}。
步骤A6、解析网表中的木马网表段,对相应的木马逻辑门标注木马标签,正常门器件标注为正常标签,形成标签信息Y。由有向图结构表示G=(V,E),门器件特征表示X和标签信息Y构成电路有向图数据。
步骤B、基于步骤A构建的电路有向图G,分别创建用于描述电路信号传播结构的正向电路图GFW和用于描述电路信号分散结构的反向电路图GBW,并分别构造对应的图神经网络特征提取器提取正向图GFW和反向图GBW的特征,组合为最终的门器件特征HC;
步骤B1、将步骤A构建的电路有向图G=(V,E)当作是描述电路信号传播结构的正向图GFW,通过翻转所有边的方向得到反向边集EBW={est|ets∈E},构建描述电路信号发散结构的反向图GBW=(V,EBW),同时获得描述反向图的邻接矩阵ABW=AT,正向图GFW和反向图GBW使用相同的门器件节点特征X;
步骤B2、构建两个独立的两层图卷积层分别作为正向图GFW和反向图GBW的特征提取器,对正向图GFW的特征提取器的两层的图卷积运算如下:
其中,M(·)表示图卷积运算,和分别表示正向图GFW经过第一层和第二层图卷积运算的输出,分别表示两层图卷积运算的学习权重,第一层图卷积的输入是门器件特征矩阵X,第二层图卷积的输入是第一层图卷积的输出同样的,反向图GBW经过其两层图卷积运算得到相应的输出特征和两个特征提取器的最终输出和分别作为电路信号传播结构和分散结构的特征表示。
进一步的,所述的图卷积运算M具体计算公式如下:
其中,Hk表示通过第k个图卷积层运算得到的隐藏层特征矩阵,A表示图结构的邻接矩阵,Wk-1为对应层的可学习参数;图卷积运算M使用了谱域卷积的一阶切比雪夫近似形式,其中A=A+IN表示添加了自连接的邻接矩阵,IN表示N阶单位矩阵,是由邻接矩阵计算出的度矩阵,σ(·)为激活函数,本专利中图卷积运算使用ReLU函数作为激活函数。
步骤C、构造多层感知机分类模型,与步骤B中构造的图神经网络特征提取器构成硬件木马门分类模型,将图神经网络特征提取器的输出特征HC作为多层感知机模型的输入进行训练,计算每个门器件属于正常门器件和木马门器件的概率,并使用加权交叉熵损失函数来学习硬件木马门分类模型的参数,当达到最大迭代次数,则终止模型的训练,得到训练好的硬件木马门分类模型;
步骤C1、构造多层感知机分类模型,与步骤B中构造的图神经网络特征提取器构成硬件木马门分类模型,将组合的门器件特征HC输入到多层感知机模型中,计算逻辑门所属类别的概率,并用一个softmax层对概率进行归一化,来学习预测标签运算公式如下:
p=MLP(HC)
步骤C2、用加权的交叉熵作为损失函数,利用反向传播迭代更新硬件木马门分类模型的参数,以最小化损失函数来训练模型,当达到最大迭代次数,则终止模型的训练,得到训练好的硬件木马门分类模型;多层感知机模型由两层神经网络全连接层组成,每一层的计算公式如下:
y=f(WFC*x+bFC)
其中,WFC为全连接层权重矩阵,bFC为偏置项,f为激活函数,本专利中使用ReLU函数作为多层感知机的激活函数,y为逻辑门特征向量x经过全连接层非线性变换得到的向量;最后一个全连接层输出单元数规定为2,用于对硬件木马二分类的预测。
所述加权交叉熵损失函数计算公式如下:
其中,N为逻辑门的总个数,wp为正常门数量所占的比例,wn为木马门数量所占的比例,是门器件特征通过硬件木马门分类模型输出的预测标签概率,yi为逻辑门的实际标签,当损失值迭代轮次达到预设值时终止模型的训练。
步骤D、将待检测的网表转换为有向图,输入到训练好的硬件木马门分类模型中进行检测,输出可疑的门器件列表。
本发明还提供了一种基于双向图卷积神经网络的硬件木马检测系统,如图3所示,包括:
图数据建模模块,用于创建网表的图表示数据样本,包括图结构建模子模块和门特征编码子模块;图结构建模子模块将网表中的电路拓扑结构建模为有向图表示,门特征编码子模块将门器件的类型信息、特殊端口信息和主输入输出信息编码为门器件的三类特征信息;
门特征提取模块,针对创建的网表图表示数据提取出门器件的三种不同图结构特征,包括正向图特征提取子模块、反向图特征提取子模块和双向图特征提取子模块;首先,创建用于描述电路信号传播结构的正向电路图GFW和用于描述电路信号分散结构的反向电路图GBW,正向图特征提取子模块只创建一个两层的图卷积网络来提取正向图GFW的结构特征;反向图特征提取子模块只创建一个两层的图卷积网络来提取反向图GBW的结构特征;双向图特征提取子模块对正向图GFW和反向图GBW分别应用两个独立的图神经网络特征提取器进行特征提取,并进行组合作为最终的门器件特征;
硬件木马检测模块,用于检测网表中的木马门器件,包括模型训练子模块和木马门分类子模块;模型训练子模块用于训练硬件木马门分类模型,得到性能优秀的模型参数并保存;木马门分类子模块自动执行网表的图建模与门器件的分类,列出分类为硬件木马的门器件为可疑结构,为后续的审查和设计修改提供便利。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
Claims (8)
1.一种基于双向图卷积神经网络的硬件木马检测方法,其特征在于,包括以下步骤:
步骤A、对收集的网表文件进行预处理,收集网表中的门器件集合V,并生成器件间连接边集合E,创建对应的有向图表示G=(V,E),并对门器件信息进行编码作为特征表示X,同时对每个门器件标注硬件木马标签Y,构建电路有向图数据;
步骤B、基于步骤A构建的电路有向图G,分别创建用于描述电路信号传播结构的正向电路图GFW和用于描述电路信号分散结构的反向电路图GBW,并分别构造对应的图神经网络特征提取器提取正向图GFW和反向图GBW的特征,组合为最终的门器件特征HC;
步骤C、构造多层感知机分类模型,与步骤B中构造的图神经网络特征提取器构成硬件木马门分类模型,将图神经网络特征提取器的输出特征HC作为多层感知机模型的输入进行训练,计算每个门器件属于正常门器件和木马门器件的概率,并使用加权交叉熵损失函数来学习硬件木马门分类模型的参数,当达到最大迭代次数,则终止模型的训练,得到训练好的硬件木马门分类模型;
步骤D、将待检测的网表转换为有向图,输入到训练好的硬件木马门分类模型中进行检测,输出可疑的门器件列表。
2.根据权利要求1所述的一种基于双向图卷积神经网络的硬件木马检测方法,其特征在于,所述步骤A具体包括以下步骤:
步骤A1、收集所有网表中的门器件类型,形成门器件类型库;
步骤A2、从网表中获取门器件集合V={v0,v1,...,vn-1}和线网集合W={w0,w1,...,wh},并定义任意一个门器件vi的输入输出线网信息Ri=(wij,wik);
步骤A3、以门器件集合V作为顶点集,根据每个门器件的输入输出线网信息Ri,使用深度优先搜索算法收集与主输入和主输出线网连接的门器件,保存为对应集合SMI,SMO,收集具有SI、SE、SN和RN类型的端口的门器件,分别保存为对应集合SSI,SSE,SSN,SRN,同时构建边集E={est|s,t=0,1,...,n-1}来表示逻辑门间的连接关系,如果逻辑门vs的输出端口连接到逻辑门vt的输入端口,则存在边est∈E;
步骤A4、用有向图G=(V,E)表示网表的电路拓扑结构,进一步将图表示转换为邻接矩阵A,如果边est存在于边集E中,则邻接矩阵中的对应元素ast=1,否则为0;
步骤A5、根据门器件类型库,对门器件的类型进行One-Hot编码,作为门器件节点的初始特征;根据门器件集合SSI,SSE,SSN,SRN对门器件的端口信息进行编码,若门器件包含SI、SE、SN和RN类型的端口,则在对应特征位上编码为1,否则为0;若门器件连接主输入或主输出,即门器件在对应集合SMI,SMO中,则在对应特征位上编码为1,否则为0;最终以65位的One-Hot编码、4位特殊端口信息编码和2位主输入输出编码组合为71位的表示向量作为门器件的特征表示X={x0,x1,...,xn-1};
步骤A6、解析网表中的木马网表段,对相应的木马逻辑门标注木马标签,正常门器件标注为正常标签,形成标签信息Y;由有向图结构表示G=(V,E),门器件特征表示X和标签信息Y构成电路有向图数据。
3.根据权利要求1所述的一种基于双向图卷积神经网络的硬件木马检测方法,其特征在于,所述步骤B具体包括以下步骤:
步骤B1、将步骤A构建的电路有向图G=(V,E)当作是描述电路信号传播结构的正向图GFW,通过翻转所有边的方向得到反向边集EBW={est|ets∈E},构建描述电路信号发散结构的反向图GBW=(V,EBW),同时获得描述反向图的邻接矩阵ABW=AT,正向图GFW和反向图GBW使用相同的门器件节点特征X;
步骤B2、构建两个独立的两层图卷积层分别作为正向图GFW和反向图GBW的特征提取器,对正向图GFW的特征提取器的两层的图卷积运算如下:
其中,M(·)表示图卷积运算,和分别表示正向图GFW经过第一层和第二层图卷积运算的输出,分别表示两层图卷积运算的学习权重,第一层图卷积的输入是门器件特征矩阵X,第二层图卷积的输入是第一层图卷积的输出同样的,反向图GBW经过其两层图卷积运算得到相应的输出特征和两个特征提取器的最终输出和分别作为电路信号传播结构和分散结构的特征表示;
5.根据权利要求1所述的一种基于双向图卷积神经网络的硬件木马检测方法,其特征在于,所述步骤C具体包括以下步骤:
步骤C1、构造多层感知机MLP分类模型,与步骤B中构造的图神经网络特征提取器构成硬件木马门分类模型,将组合的门器件特征HC输入到多层感知机模型中,计算逻辑门所属类别的概率,并用一个softmax层对概率进行归一化,来学习预测标签运算公式如下:
p=MLP(HC)
步骤C2、用加权的交叉熵作为损失函数,利用反向传播迭代更新硬件木马门分类模型的参数,以最小化损失函数来训练模型,当达到最大迭代次数,则终止模型的训练,得到训练好的硬件木马门分类模型。
6.根据权利要求5所述的一种基于双向图卷积神经网络的硬件木马检测方法,其特征在于,所述多层感知机模型的具体计算流程如下:
使用的多层感知机模型由两层神经网络全连接层组成,每一层的计算公式如下:
y=f(WFC*x+bFC)
其中,WFC为全连接层权重矩阵,bFC为偏置项,f为激活函数,使用ReLU函数作为多层感知机的激活函数,y为逻辑门特征向量x经过全连接层非线性变换得到的向量;最后一个全连接层输出单元数规定为2,用于对硬件木马二分类的预测。
8.一种基于双向图卷积神经网络的硬件木马检测系统,其特征在于,所述检测系统应用权利要求1至7任一项所述的基于双向图卷积神经网络的硬件木马检测方法,包括图数据建模模块、门特征提取模块、硬件木马检测模块:
所述图数据建模模块:用于创建网表的图表示数据样本,包括图结构建模子模块和门特征编码子模块;图结构建模子模块将网表中的电路拓扑结构建模为有向图表示,门特征编码子模块将门器件的类型信息、特殊端口信息和主输入输出信息编码为门器件的三类特征信息;
所述门特征提取模块:针对创建的网表图表示数据提取出门器件的三种不同图结构特征,包括正向图特征提取子模块、反向图特征提取子模块和双向图特征提取子模块;首先,创建用于描述电路信号传播结构的正向电路图GFW和用于描述电路信号分散结构的反向电路图GBW,正向图特征提取子模块只创建一个两层的图卷积网络来提取正向图GFW的结构特征;反向图特征提取子模块只创建一个两层的图卷积网络来提取反向图GBW的结构特征;双向图特征提取子模块对正向图GFW和反向图GBW分别应用两个独立的图神经网络特征提取器进行特征提取,并进行组合作为最终的门器件特征;
所述硬件木马检测模块:用于检测网表中的木马门器件,包括模型训练子模块和木马门分类子模块;模型训练子模块用于训练硬件木马门分类模型,得到性能优秀的模型参数并保存;木马门分类子模块自动执行网表的图建模与门器件的分类,列出分类为硬件木马的门器件为可疑结构,为后续的审查和设计修改提供便利。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111367369.2A CN114065307B (zh) | 2021-11-18 | 2021-11-18 | 一种基于双向图卷积神经网络的硬件木马检测方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111367369.2A CN114065307B (zh) | 2021-11-18 | 2021-11-18 | 一种基于双向图卷积神经网络的硬件木马检测方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114065307A true CN114065307A (zh) | 2022-02-18 |
CN114065307B CN114065307B (zh) | 2024-07-09 |
Family
ID=80278967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111367369.2A Active CN114065307B (zh) | 2021-11-18 | 2021-11-18 | 一种基于双向图卷积神经网络的硬件木马检测方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114065307B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115098856A (zh) * | 2022-06-29 | 2022-09-23 | 广西华曜网络科技有限责任公司 | 一种安卓rootkit快速检测识别方法 |
CN115908574A (zh) * | 2023-02-28 | 2023-04-04 | 深圳联和智慧科技有限公司 | 基于无人机监测的河堤侵占定位推送方法及系统 |
CN115984633A (zh) * | 2023-03-20 | 2023-04-18 | 南昌大学 | 门级电路组件识别方法、系统、存储介质及设备 |
CN117892368A (zh) * | 2024-01-19 | 2024-04-16 | 中国科学院大学 | 一种结构特征和数据表示融合的硬件木马检测方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109740348A (zh) * | 2019-01-29 | 2019-05-10 | 福州大学 | 一种基于机器学习的硬件木马定位方法 |
CN110096879A (zh) * | 2019-04-26 | 2019-08-06 | 北京计算机技术及应用研究所 | 一种基于门级结构特征的静态硬件木马检测方法 |
US20210092140A1 (en) * | 2019-09-24 | 2021-03-25 | Vectra Ai, Inc. | Method, product, and system for detecting malicious network activity using a graph mixture density neural network |
CN113225331A (zh) * | 2021-04-30 | 2021-08-06 | 中国科学技术大学 | 基于图神经网络的主机入侵安全检测方法、系统及装置 |
-
2021
- 2021-11-18 CN CN202111367369.2A patent/CN114065307B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109740348A (zh) * | 2019-01-29 | 2019-05-10 | 福州大学 | 一种基于机器学习的硬件木马定位方法 |
CN110096879A (zh) * | 2019-04-26 | 2019-08-06 | 北京计算机技术及应用研究所 | 一种基于门级结构特征的静态硬件木马检测方法 |
US20210092140A1 (en) * | 2019-09-24 | 2021-03-25 | Vectra Ai, Inc. | Method, product, and system for detecting malicious network activity using a graph mixture density neural network |
CN113225331A (zh) * | 2021-04-30 | 2021-08-06 | 中国科学技术大学 | 基于图神经网络的主机入侵安全检测方法、系统及装置 |
Non-Patent Citations (1)
Title |
---|
胡涛;佃松宜;蒋荣华;: "基于长短时记忆神经网络的硬件木马检测", 计算机工程, no. 07, pages 110 - 115 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115098856A (zh) * | 2022-06-29 | 2022-09-23 | 广西华曜网络科技有限责任公司 | 一种安卓rootkit快速检测识别方法 |
CN115908574A (zh) * | 2023-02-28 | 2023-04-04 | 深圳联和智慧科技有限公司 | 基于无人机监测的河堤侵占定位推送方法及系统 |
CN115908574B (zh) * | 2023-02-28 | 2023-05-09 | 深圳联和智慧科技有限公司 | 基于无人机监测的河堤侵占定位推送方法及系统 |
CN115984633A (zh) * | 2023-03-20 | 2023-04-18 | 南昌大学 | 门级电路组件识别方法、系统、存储介质及设备 |
CN115984633B (zh) * | 2023-03-20 | 2023-06-06 | 南昌大学 | 门级电路组件识别方法、系统、存储介质及设备 |
CN117892368A (zh) * | 2024-01-19 | 2024-04-16 | 中国科学院大学 | 一种结构特征和数据表示融合的硬件木马检测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114065307B (zh) | 2024-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114065307A (zh) | 一种基于双向图卷积神经网络的硬件木马检测方法与系统 | |
CN109492099B (zh) | 一种基于领域对抗自适应的跨领域文本情感分类方法 | |
CN110287983B (zh) | 基于最大相关熵深度神经网络单分类器异常检测方法 | |
CN108445752B (zh) | 一种自适应选择深度特征的随机权神经网络集成建模方法 | |
CN111292195A (zh) | 风险账户的识别方法及装置 | |
CN111046961B (zh) | 基于双向长短时记忆单元和胶囊网络的故障分类方法 | |
CN107636691A (zh) | 用于识别图像中的文本的方法和设备 | |
CN106570513A (zh) | 大数据网络系统的故障诊断方法和装置 | |
CN108958217A (zh) | 一种基于深度学习的can总线报文异常检测方法 | |
CN109165743A (zh) | 一种基于深度压缩自编码器的半监督网络表示学习算法 | |
CN114021584B (zh) | 基于图卷积网络和翻译模型的知识表示学习方法 | |
CN110689069A (zh) | 一种基于半监督bp网络的变压器故障类型诊断方法 | |
CN111428481A (zh) | 一种基于深度学习的实体关系抽取方法 | |
CN117237559A (zh) | 面向数字孪生城市的三维模型数据智能分析方法及系统 | |
CN114239083A (zh) | 一种基于图神经网络的高效状态寄存器识别方法 | |
CN117807943A (zh) | 基于异质图卷积神经网络的子电路识别方法 | |
CN115659254A (zh) | 一种双模态特征融合的配电网电能质量扰动分析方法 | |
CN115188440A (zh) | 一种相似病历智能匹配方法 | |
CN113314188A (zh) | 图结构增强的小样本学习方法、系统、设备及存储介质 | |
CN113904844A (zh) | 基于跨模态教师-学生网络的智能合约漏洞检测方法 | |
CN115965864A (zh) | 一种用于农作物病害识别的轻量级注意力机制网络 | |
CN114897085A (zh) | 一种基于封闭子图链路预测的聚类方法及计算机设备 | |
CN114021424B (zh) | 一种基于pca-cnn-lvq的电压暂降源识别方法 | |
CN112668633B (zh) | 一种基于细粒度领域自适应的图迁移学习方法 | |
CN113378178A (zh) | 一种基于深度学习的图自信学习软件漏洞检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |