CN109858246B - 一种针对控制信号型硬件木马的分类方法 - Google Patents
一种针对控制信号型硬件木马的分类方法 Download PDFInfo
- 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
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。
进一步的,所述电路候选特征包括木马线网特征和正常线网特征。
进一步的,所述测试节点数计算如下公式:
α:1-10之间的随机数。
进一步的,所述步骤S4具体为:
步骤S41:对所有的层2≤l≤L,设权重△W(l)=0,设偏置△b(l)=0,这里△W(l)=0和△b(l)=0分别为全零矩阵和全零向量;
α为学习速率,它的取值范围为(0,1);
E是m个训练样本的误差函数,
E(i)是单个样本的训练误差,
dk(i)为输出层第k个输出的期望值,yk(i)为输出层第k个输出的实际值,m为训练样本数量
步骤S43:更新权值和偏置:
进一步的,所述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分别为全零矩阵和全零向量;
α为学习速率,它的取值范围为(0,1);
E是m个训练样本的误差函数,
E(i)是单个样本的训练误差,
dk(i)为输出层第k个输出的期望值,yk(i)为输出层第k个输出的实际值,m为训练样本数量
步骤S43:更新权值和偏置:
步骤S5:将测试样本输入训练好的BP神经网络,计算当前芯片的TPR和TNR,计算当前隐藏层数量和隐藏层节点数下的所有芯片的平均TPR和TNR,若当前所有实验隐藏层下所有平均TPR和TNR中的极差超过预设误差则停止测试,跳转至步骤S6,否则改变BP神经网络的隐藏层数和隐藏层节点数,并跳转至步骤S4;
步骤S6:分析之前实验的数据选择最优隐藏层数和节点数,根据最优隐藏层数和节点数得到的分类结果,计算得到所有芯片特征集的平均TPR和TNR。
本发明一实施例中,从一层隐藏层开始,具体节点数计算如下公式:
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%,说明检测结果一直都处于递增或者刚结束递增。
表四
继续增加隐藏层数到3层,节点同上,此使最高TPR的差距为6.22%,最高TNR的差距为10.22%,说明结果已经跳出本次的局部最优结果,将要前往下一个局部最优结果,具体结果如表五所示,因此停止增加隐藏层数和节点数改为分析实验结果。
表五
由表三、四、五所示,所有的测试网络都检测出了硬件木马,选择其中四个结果较好的数据进行第二次对比,如表六所示,最后选择了隐藏层数为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:木马网络被识别为木马网络的数量。
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)
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)
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 | 电子科技大学 | 基于芯片温度场效应的硬件木马检测方法 |
-
2018
- 2018-12-24 CN CN201811579102.8A patent/CN109858246B/zh active Active
Patent Citations (4)
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)
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 |