CN109858246B - 一种针对控制信号型硬件木马的分类方法 - Google Patents

一种针对控制信号型硬件木马的分类方法 Download PDF

Info

Publication number
CN109858246B
CN109858246B CN201811579102.8A CN201811579102A CN109858246B CN 109858246 B CN109858246 B CN 109858246B CN 201811579102 A CN201811579102 A CN 201811579102A CN 109858246 B CN109858246 B CN 109858246B
Authority
CN
China
Prior art keywords
trojan
nodes
neural network
networks
tnr
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.)
Active
Application number
CN201811579102.8A
Other languages
English (en)
Other versions
CN109858246A (zh
Inventor
郭文忠
张凡
董晨
陈景辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuzhou University
Original Assignee
Fuzhou University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuzhou University filed Critical Fuzhou University
Priority to CN201811579102.8A priority Critical patent/CN109858246B/zh
Publication of CN109858246A publication Critical patent/CN109858246A/zh
Application granted granted Critical
Publication of CN109858246B publication Critical patent/CN109858246B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种针对控制信号型硬件木马的分类方法,上述硬件木马分类方法的流程包括:分析电路网表结构;选择并提取电路结构特征;从待测芯片中选择若干样本作为训练数据,剩下的芯片作为测试数据;使用训练数据训练BP神经网络,获得一个训练好的BP神经网络;将测试数据输入到这个BP神经网络,不断调整隐藏层的数量,挑选最好的测试结果,得到最优的隐藏层数量和节点数量。本发明不需要复杂的实验环境、大量的时间和实验成本就可以有效的检测出一个网表中是否包含硬件木马。

Description

一种针对控制信号型硬件木马的分类方法
技术领域
本发明涉及一种针对控制信号型硬件木马的分类方法。
背景技术
近年来,人们逐渐意识到来自世界各地的一些第三方供应商生产的不可信集成电路的危险性。各种设计好的微型电路被插入正常电路中。归根结底,这些集成电路中设计好的的微小电路是这些危险的主要来源。这些恶意电路通常被称为硬件木马(HTs)。硬件木马的标准定义是由IBM Research Center在2007年提出的:硬件木马是指从芯片设计阶段的生命周期到封装测试阶段存在的对原电路的恶意电路或有害修改。
在超大规模集成电路(VLSI)发展的背景下,如何解决这些问题显得尤为迫切。每年都有许多公司和政府面临高温技术的威胁,如信息泄露、拒绝服务(DOS)、原有电路功能的改变,甚至电路的毁坏。到目前为止,已经有很多研究人员提出了各种解决硬件木马问题的方法,包括便利性检测、防止木马插入检测、静态检测、IP核验证、逻辑测试、侧信道信号检测、逆向工程和运行时监控技术等。
现存的方法大多是基于侧信道检测、功能检测和逆向工程检测等后硅阶段的检测方法,这些现存方法因需要金片、计算量爆炸、对外界环境敏感等原因,精度和效率低,不适用于超大规模集成电路(VLSI)木马的检测。一种叫做静态检测方法的新兴的方法出现了,这种方法主要从电路的逻辑结构入手,结合目前使用广泛的图论或机器学习的算法来实现。这种方法的优点是不需要标准芯片、复杂的工具和不受外界因素的影响
发明内容
有鉴于此,本发明的目的在于提供一种针对控制信号型硬件木马的分类方法,不需要复杂的实验环境、大量的时间和实验成本就可以有效的检测出一个网表中是否包含硬件木马。
为实现上述目的,本发明采用如下技术方案:
一种针对控制信号型硬件木马的分类方法,包括以下步骤:
步骤S1:从若干待测芯片的门级网表中提取电路候选特征;
步骤S2:将若干待测芯片中的一个芯片的电路候选特征作为测试样本,剩余的芯片电路候选特征作为训练样本;
步骤S3:构建一个输入层的节点个数为N,输出层的节点个数为1,隐藏层的个数为1的BP神经网络,根据公式计算初始的测试节点数;
步骤S4:根据训练样本训练BP神经网络,得到训练好的BP神经网络
步骤S5:将测试样本输入训练好的BP神经网络,计算当前芯片的TPR和TNR,计算当前隐藏层数量和隐藏层节点数下的所有芯片的平均TPR和TNR,若当前所有实验隐藏层下所有平均TPR和TNR中的极差超过预设误差则停止测试,跳转至步骤S6,否则改变BP神经网络的隐藏层数和隐藏层节点数,并跳转至步骤S4;
步骤S6:分析之前实验的数据选择最优隐藏层数和节点数,根据最优隐藏层数和节点数得到的分类结果,计算得到所有芯片特征集的平均TPR和TNR。
进一步的,所述电路候选特征包括木马线网特征和正常线网特征。
进一步的,所述测试节点数计算如下公式:
Figure BDA0001917312650000031
α:1-10之间的随机数。
进一步的,所述步骤S4具体为:
步骤S41:对所有的层2≤l≤L,设权重△W(l)=0,设偏置△b(l)=0,这里△W(l)=0和△b(l)=0分别为全零矩阵和全零向量;
步骤S42:使用反向传播算法,计算各层神经元中节点i的权值
Figure BDA0001917312650000032
和偏置的梯度矩阵
Figure BDA0001917312650000033
1)计算
Figure BDA0001917312650000034
2)计算
Figure BDA0001917312650000035
α为学习速率,它的取值范围为(0,1);
E是m个训练样本的误差函数,
Figure BDA0001917312650000036
E(i)是单个样本的训练误差,
Figure BDA0001917312650000037
dk(i)为输出层第k个输出的期望值,yk(i)为输出层第k个输出的实际值,m为训练样本数量
步骤S43:更新权值和偏置:
1)计算
Figure BDA0001917312650000041
2)计算
Figure BDA0001917312650000042
进一步的,所述TPR是真正类率,具体为:
TPR=TP/(TP+FN)
表示的是正常线网被识别为正常线网的比例;
TNR真负类率,具体为:
TNR=TN/(FP+TN)
其中,TP:正常网络被识别为正常网络的数量;FN:木马网络被识别为正常网络的数量;FP:正常网络被识别为木马网络的数量;TN:木马网络被识别为木马网络的数量。
本发明与现有技术相比具有以下有益效果:
本发明采用BP神经网络,针对控制信号类型的硬件木马,从数字电路的逻辑结构出发,对测试电路中的每一根线网进行分类检测,具有高效,准确,低成本的特点。
附图说明
图1是本发明方法流程图;
图2是是本发明一实施例中待测芯片的门级网表图;
图3是本发明一实施例中电路分级示意图;
图4是本发明一实施例中电路分级示意图;
图5是本发明一实施例中BP神经网络结构示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
请参照图1,本发明提供一种针对控制信号型硬件木马的分类方法,包括以下步骤:
步骤S1:从若干待测芯片的门级网表中提取电路候选特征,包括提取所有线网的51个特征,如表一,在门级网表中都是以module开始,endmodule结尾,里面的内容是定义这个电路的输入输出线网有哪些,比如在图一中的门级网表,第一句逻辑结构描述是and g1(x,a,b);对应的是图一右边这个电路中叫做g1的那个与门,它的输入是a,b,输出是x。通过所有这样的语句可以把整个电路图描述出来。
表一
硬件木马候选特征 x∈[1,5]
fan_in_x 离线网n,x个等级的逻辑门输入的数量
in_flipflop_x 从输入到输出方向,离线网n,x个等级的触发器的数量
out_flipflop_x 从输出到输入方向,离线网n,x个等级的触发器的数量
in_multiplexer_x 从输入到输出方向,离线网n,x个等级的复用器的数量
out_multiplexer_x 从输出到输入方向,离线网n,x个等级的复用器的数量
in_loop_x 从输入到输出方向,离线网n,x个等级的循环的数量
out_loop_x 从输出到输入方向,离线网n,x个等级的循环的数量
in_const_x 从输入到输出方向,离线网n,x个等级的常数的数量
out_const_x 从输出到输入方向,离线网n,x个等级的常数的数量
in_nearest_pin 从输入到输出方向,离线网n的最小等级
out_nearest_pout 从输出到输入方向,离线网n的最小等级
{in,out}_nearest_flipflop 从输入到输出方向或相反,最近的触发器所在的等级
{in,out}_nearest_multiplexer 从输入到输出方向或相反,最近的复用器所在的等级
表一中的51个参数作为一个木马网络的特征向量,所有待测芯片都是用这个芯片内部的线网表示的,这些线网在对应芯片的门级网表中都有其对应的名称,其中包含了木马线网和正常线网。采用编程的方式处理网表中的字符串来提取这些特征。举例说明这些特征,第一个特征fan_in_x:离线网n,x个等级的逻辑门输入的数量。这里的等级如图二图三所示,从电路的总输入或总输出开始,按顺序,第一个逻辑门/复用器/触发器为第一级,第二个为第二级,以此类推。离线网n,的x级上所有逻辑门的总输出的数量,其他特征类似。本实验中x的范围是[1,5]。
步骤S2:将若干待测芯片中的一个芯片的电路候选特征作为测试样本,剩余芯片的电路候选特征作为训练样本;
如表二,这些电路中木马的最大等级为5,第一列是这些电路的名字,第二列是网表中木马线网的数量,第三列是网表中正常线网的数量。从RS232-T1000开始,选择每一个网表的线网特征集作为测试数据,其余的6个网表的线网特征集作为训练数据用于训练BP神经网络。
表二
网表名称 木马网络的数量 正常网络的数量
RS232-T1000 44 211
RS232-T1100 44 212
RS232-T1200 45 211
RS232-T1300 31 222
RS232-T1400 50 205
RS232-T1500 48 209
RS232-T1600 39 216
步骤S3:构建一个输入层的节点个数为N,输出层的节点个数为1,隐藏层的个数为1的BP神经网络;其中隐藏层数和每一层隐藏层中节点的个数是不断调整的;
步骤S4:根据训练样本训练BP神经网络,得到训练后的BP神经网络;
步骤S41:对所有的层2≤l≤L,设权重△W(l)=0,设偏置△b(l)=0,这里△W(l)=0和△b(l)=0分别为全零矩阵和全零向量;
步骤S42:使用反向传播算法,计算各层神经元中节点i的权值
Figure BDA0001917312650000071
和偏置的梯度矩阵
Figure BDA0001917312650000072
1)计算
Figure BDA0001917312650000073
2)计算
Figure BDA0001917312650000074
α为学习速率,它的取值范围为(0,1);
E是m个训练样本的误差函数,
Figure BDA0001917312650000075
E(i)是单个样本的训练误差,
Figure BDA0001917312650000076
dk(i)为输出层第k个输出的期望值,yk(i)为输出层第k个输出的实际值,m为训练样本数量
步骤S43:更新权值和偏置:
3)计算
Figure BDA0001917312650000077
4)计算
Figure BDA0001917312650000078
步骤S5:将测试样本输入训练好的BP神经网络,计算当前芯片的TPR和TNR,计算当前隐藏层数量和隐藏层节点数下的所有芯片的平均TPR和TNR,若当前所有实验隐藏层下所有平均TPR和TNR中的极差超过预设误差则停止测试,跳转至步骤S6,否则改变BP神经网络的隐藏层数和隐藏层节点数,并跳转至步骤S4;
步骤S6:分析之前实验的数据选择最优隐藏层数和节点数,根据最优隐藏层数和节点数得到的分类结果,计算得到所有芯片特征集的平均TPR和TNR。
本发明一实施例中,从一层隐藏层开始,具体节点数计算如下公式:
Figure BDA0001917312650000081
u:隐藏层节点数,N:输入层节点数,α:1-10之间的随机数。
设置的初始节点数u=10,选择了在节点递增条件下效果较好的几个节点如表三,最后的分类结果如表三所示;
表三
单元数 10 12 15 20 50 100 200 500 平均值
TPR 99.80% 99.81% 99.87% 99.74% 99.87% 99.87% 99.87% 99.93% 99.85%
TNR 88.70 90.33% 90.76% 87.54% 91.18% 91.80% 91.91% 91.49% 90.46%
由于对实验结果不符合预期,增加隐藏层数到二层,同时为了比较实验结果的好坏,每次增加隐藏层后的节点数和第一层的节点类似,隐藏层为二层的具体结果如表四,发现结果的最高TPR的差距不超过1%,最高TNR的差距不超过5%,说明检测结果一直都处于递增或者刚结束递增。
表四
Figure BDA0001917312650000082
继续增加隐藏层数到3层,节点同上,此使最高TPR的差距为6.22%,最高TNR的差距为10.22%,说明结果已经跳出本次的局部最优结果,将要前往下一个局部最优结果,具体结果如表五所示,因此停止增加隐藏层数和节点数改为分析实验结果。
表五
Figure BDA0001917312650000091
由表三、四、五所示,所有的测试网络都检测出了硬件木马,选择其中四个结果较好的数据进行第二次对比,如表六所示,最后选择了隐藏层数为2,第一层100个节点,第二层100个节点的多层BP神经网络,其检测出的硬件木马线网的数量最多
表六
单元数 TN,TR Recall Precision F-measure Accuracy
100,100 24,1 92.03 96.00 93.97 98.51
100,200 24,1 92.03 96.00 93.97 98.51
200,200 23,3 92.36 88.46 90.37 98.45
200,200,200 24,2 92.03 92.31 92.17 98.45
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (3)

1.一种针对控制信号型硬件木马的分类方法,其特征在于,包括以下步骤:
步骤S1:从若干待测芯片的门级网表中提取电路候选特征;
步骤S2:将若干待测芯片中的一个芯片的电路候选特征作为测试样本,剩余的芯片电路候选特征作为训练样本;
步骤S3:构建一个输入层的节点个数为N,输出层的节点个数为1,隐藏层的个数为1的BP神经网络,测试节点数为u;
步骤S4:根据训练样本训练BP神经网络,得到训练好的BP神经网络
步骤S5:将测试样本输入训练好的BP神经网络,计算当前芯片的TPR和TNR,计算当前隐藏层数量和隐藏层节点数下的所有芯片的平均TPR和TNR,若当前所有实验隐藏层下所有平均TPR和TNR中的极差超过预设误差则停止测试,跳转至步骤S6,否则改变BP神经网络的隐藏层数和隐藏层节点数,并跳转至步骤S4;
步骤S6:分析之前实验的数据选择最优隐藏层数和节点数,根据最优隐藏层数和节点数得到的分类结果,计算得到所有芯片特征集的平均TPR和TNR;
所述电路候选特征包括木马线网特征和正常线网特征;
所述TPR是真正类率,具体为:
TPR=TP/(TP+FN)
表示的是正常线网被识别为正常线网的比例;
TNR真负类率,具体为:
TNR=TN/(FP+TN)
表示的是木马线网被识别为木马线网的比例;
其中,TP:正常网络被识别为正常网络的数量;FN:木马网络被识别为正常网络的数量;FP:正常网络被识别为木马网络的数量;TN:木马网络被识别为木马网络的数量。
2.根据权利要求1所述的一种针对控制信号型硬件木马的分类方法,其特征在于:所述测试节点数计算如下公式:
Figure FDA0003611555480000021
α:1-10之间的随机数。
3.根据权利要求1所述的一种针对控制信号型硬件木马的分类方法,其特征在于:所述步骤S4具体为:
步骤S41:对所有的层2≤l≤L,设权重△W(l)=0,设偏置△b(l)=0,这里△W(l)=0和△b(l)=0分别为全零矩阵和全零向量;
步骤S42:使用反向传播算法,计算各层神经元中节点i的权值
Figure FDA0003611555480000022
和偏置的梯度矩阵
Figure FDA0003611555480000023
1)计算
Figure FDA0003611555480000024
2)计算
Figure FDA0003611555480000025
α为学习速率,它的取值范围为(0,1);
E是m个训练样本的误差函数,
Figure FDA0003611555480000026
E(i)是单个样本的训练误差,
Figure FDA0003611555480000031
dk(i)为输出层第k个输出的期望值,yk(i)为输出层第k个输出的实际值,m为训练样本数量
步骤S43:更新权值和偏置:
1)计算
Figure FDA0003611555480000032
2)计算
Figure FDA0003611555480000033
CN201811579102.8A 2018-12-24 2018-12-24 一种针对控制信号型硬件木马的分类方法 Active CN109858246B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811579102.8A CN109858246B (zh) 2018-12-24 2018-12-24 一种针对控制信号型硬件木马的分类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811579102.8A CN109858246B (zh) 2018-12-24 2018-12-24 一种针对控制信号型硬件木马的分类方法

Publications (2)

Publication Number Publication Date
CN109858246A CN109858246A (zh) 2019-06-07
CN109858246B true CN109858246B (zh) 2022-06-14

Family

ID=66892108

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811579102.8A Active CN109858246B (zh) 2018-12-24 2018-12-24 一种针对控制信号型硬件木马的分类方法

Country Status (1)

Country Link
CN (1) CN109858246B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110287735B (zh) * 2019-07-04 2021-05-04 电子科技大学 基于芯片网表特征的木马感染电路识别方法
CN112749524B (zh) * 2021-01-18 2022-07-12 重庆邮电大学 一种基于残差编码器神经网络的硬件木马电路检测方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1008952A2 (en) * 1998-12-11 2000-06-14 Florida Department of Citrus System and method for identifying the geographic origin of a fresh commodity
CN102469103A (zh) * 2011-07-01 2012-05-23 中国人民解放军国防科学技术大学 基于bp神经网络的木马事件预测方法
CN103198251A (zh) * 2013-03-28 2013-07-10 哈尔滨工业大学(威海) 一种基于神经网络的硬件木马识别方法
CN107703186A (zh) * 2017-09-26 2018-02-16 电子科技大学 基于芯片温度场效应的硬件木马检测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1008952A2 (en) * 1998-12-11 2000-06-14 Florida Department of Citrus System and method for identifying the geographic origin of a fresh commodity
CN102469103A (zh) * 2011-07-01 2012-05-23 中国人民解放军国防科学技术大学 基于bp神经网络的木马事件预测方法
CN103198251A (zh) * 2013-03-28 2013-07-10 哈尔滨工业大学(威海) 一种基于神经网络的硬件木马识别方法
CN107703186A (zh) * 2017-09-26 2018-02-16 电子科技大学 基于芯片温度场效应的硬件木马检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
栾玉飞等.大数据环境下网络非法入侵检测系统设计.《万方数据期刊库》.2018, *

Also Published As

Publication number Publication date
CN109858246A (zh) 2019-06-07

Similar Documents

Publication Publication Date Title
Yasaei et al. Gnn4tj: Graph neural networks for hardware trojan detection at register transfer level
CN109740348B (zh) 一种基于机器学习的硬件木马定位方法
US20050276135A1 (en) Timing analysis method and apparatus
CN110414277B (zh) 基于多特征参数的门级硬件木马检测方法
Yang et al. Survey: Hardware trojan detection for netlist
US11176305B2 (en) Method and system for sigma-based timing optimization
CN109858246B (zh) 一种针对控制信号型硬件木马的分类方法
CN109684834A (zh) 一种基于XGBoost的门级硬件木马识别方法
Yu et al. A novel feature extraction strategy for hardware trojan detection
Yu et al. An improved automatic hardware trojan generation platform
CN104636686B (zh) 基于门控时钟的提高硬件木马检测分辨率的电路设计方法及对硬件木马的检测方法
KR101991393B1 (ko) 다수의 스트로브 지점을 이용한 셀 인지 결함 특성화 및 파형 분석
CN105372579B (zh) 一种快速有效的电路单元重要性测度方法
Yang et al. Hardware Trojans detection through RTL features extraction and machine learning
Li et al. A XGBoost based hybrid detection scheme for gate-level hardware Trojan
Huang et al. A hardware trojan detection and diagnosis method for gate-level netlists based on different machine learning algorithms
Lu et al. Machine learning approach for accelerating simulation-based fault injection
Hashemi et al. Graph centrality algorithms for hardware trojan detection at gate-level netlists
CN113486347B (zh) 一种基于语义理解的深度学习硬件木马检测方法
US20230252192A1 (en) Hardware trojan detection method, hardware trojan detection device, and program for hardware trojan detection
CN113821840B (zh) 基于Bagging的硬件木马检测方法、介质、计算机
CN114626106A (zh) 一种基于级联结构特征的硬件木马检测方法
CN114692227A (zh) 一种规模化芯片网表级硬件木马检测方法
Zhang et al. Speeding up vlsi layout verification using fuzzy attributed graphs approach
Lu et al. Hardware trojan detection method for gate-level netlists based on the idea of few-shot learning

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