CN109740348A - 一种基于机器学习的硬件木马定位方法 - Google Patents
一种基于机器学习的硬件木马定位方法 Download PDFInfo
- Publication number
- CN109740348A CN109740348A CN201910084520.8A CN201910084520A CN109740348A CN 109740348 A CN109740348 A CN 109740348A CN 201910084520 A CN201910084520 A CN 201910084520A CN 109740348 A CN109740348 A CN 109740348A
- Authority
- CN
- China
- Prior art keywords
- training
- hardware trojan
- trojan horse
- chip
- machine learning
- 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 35
- 238000000034 method Methods 0.000 title claims abstract description 15
- 238000010801 machine learning Methods 0.000 title claims abstract description 14
- 230000004807 localization Effects 0.000 title claims abstract description 11
- 238000012549 training Methods 0.000 claims abstract description 37
- 238000012360 testing method Methods 0.000 claims abstract description 25
- 238000013528 artificial neural network Methods 0.000 claims abstract description 10
- 239000011159 matrix material Substances 0.000 claims description 5
- 230000006870 function Effects 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 3
- 210000002569 neuron Anatomy 0.000 claims description 3
- 239000000284 extract Substances 0.000 abstract description 2
- 238000013461 design Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000011031 large-scale manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于机器学习的硬件木马定位方法,包括以下步骤:分析其网表结构,选择并提取电路结构特征;探究硬件木马类型,将硬件木马分为信息泄露型和控制信号型;从待测芯片中选择若干样本作为训练数据,剩下的芯片作为测试数据;对于信息泄露型木马使用oneclasssvm算法检测,对于控制信号型硬件木马使用BP神经网络进行检测;使用训练数据训练分类器,使用测试数据进行测试,统计结果;将最后的识别结果与理想结果进行对比,找到已经识别的木马线网。上述基于机器学习的硬件木马定位方法不需要复杂的实验环境、大量的时间和实验成本就可以定位出一个网表中的硬件木马。
Description
技术领域
本发明涉及硬件木马检测领域,具体涉及一种基于机器学习的硬件木马定位方法。
背景技术
近年来,大部分关于信息安全的工作都集中在软件安全的开发上,而忽视了硬件的安全性。随着增加集成电路(IC)的复杂性以及设计和人工制造过程的全球化,事实上,集成电路的安全问题主要来自于被插入恶意电路的芯片。恶意电路通常是以硬件木马(HT)命名。硬件木马的标准定义是由IBM研究中心于2007年提出的:硬件木马指存在的原始电路的恶意电路或有害改动从芯片设计阶段的生命周期到封装测试阶段。一个硬件木马是一种设计好的将会在用户不知情的情况下发生电子设备中的电路。根据国际半导体技术路线图(ITRS)计划,到2020年,IC产量将增加十倍。但伴随的安全问题并不仅仅是十倍。
随着超大规模集成电路(VLSI)电路的规模越来越大,一个芯片中可以容纳数百万个门,使得芯片变得越来越大极易受到HT攻击。依靠海上铸造厂进行IC制造是大规模生产微电路的一种经济有效的方法。但是,这样的外包方式可能会导致严重的安全威胁。这些威胁加剧了硬件木马用于关键应用时,例如车辆系统,通信系统,电力网络,运输系统或军事应用的危害。
在芯片的制造过程中,很可能被插入芯片攻击者的恶意电路,这会导致一些问题如电路功能受损,关键信息被篡改甚至泄露。攻击者可以引入一个设计好的硬件木马在一个随机的时间来禁用或破坏系统,或者可能会泄露机密信息和密钥。
发明内容
有鉴于此,本发明的目的在于提供一种基于机器学习的硬件木马定位方法,考虑的芯片中硬件木马的类型,采用不同的机器学习算法处理不同类型的硬件木马,实现的硬件木马的定位。
为实现上述目的,本发明采用如下技术方案:
一种基于机器学习的硬件木马定位方法,包括以下步骤:
步骤S1:从若干待测芯片的门级网表中提取电路候选特征;
步骤S2:根据电路候选特征将待测芯片分为控制信号型芯片和信息泄露性芯片;
步骤S3:控制信号型芯片和信息泄露性芯片均随机选择一个芯片的电路候选特征作为训练数据,剩余的芯片电路候选特征作为测试数据;
步骤S4:构建一个BP神经网络,并使用控制信号型芯片的训练数据训练,得到训练后的BP神经网络;
步骤S41:对所有的层2≤l≤L,设权重△W(l)=0,设偏置△b(l)=0,这里△W(l)=0和△b(l)=0分别为全零矩阵和全零向量;
步骤S42:使用反向传播算法,计算各层神经元中节点i的权值和偏置的梯度矩阵
1)计算
2)计算
α为学习速率,它的取值范围为(0,1);
E是m个训练样本的误差函数,
E(i)是单个样本的训练误差,
dk(i)为输出层第k个输出的期望值,yk(i)为输出层第k个输出的实际值,m为训练样本数量
步骤S43:更新权值和偏置:
1)计算
2)计算
步骤S6:构建一个Oneclasssvm分类器,并使用信息泄露性芯片的训练数据训练,得到训练后的Oneclasssvm分类器;
约束于(ω·Φ(xi))≥ρ-ξi,ξi≥0.
Φ是x到F的映射,l是观察值的数量,i∈[l],ξ是非零松弛变量,ω和ρ是要求的值,v∈[0,1]为训练误差。
步骤S7:将控制信号型芯片的测试数据输入训练后的BP神经网络,将信息泄露性芯片测试数据输入训练后的Oneclasssvm分类器,得到测试结果;
步骤S8:将测试结果与理想结果对比,得到硬件木马的位置定位。
理想结果:就是用来测试地电路中线网的实际情况,既木马线网的理想结果是1,正常电路线网的理想结果是0.
进一步的,所述电路候选特征包括木马线网特征和正常线网特征本发明与现有技术相比具有以下有益效果:
本发明考虑的芯片中硬件木马的类型,采用不同的机器学习算法处理不同类型的硬件木马,实现的硬件木马的定位,是一种全新的思维方式,具有高效,准确,低成本的特点,对推进硬件木马检测有重大意义。
附图说明
图1是本发明方法流程图;
图2是是本发明一实施例中待测芯片的门级网表图;
图3是本发明的一实施例中测试电路RS232-T1100;
图4是本发明的一实施例中测试电路RS232-T1000;
图5是本发明的一实施例中测试电路s38417-T100;
图6是本发明的一实施例中测试电路s15850-T100。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
请参照图1,本发明提供一种基于机器学习的硬件木马定位方法,包括以下步骤:
步骤S1:从若干待测芯片的门级网表中提取电路候选特征;从如图二所有待测芯片的门级网表中提取硬件木马候选特征(如表一),在门级网表中都是以module开始,endmodule结尾,里面的内容是定义这个电路的输入输出线网有哪些,比如在图一中的门级网表,第一句逻辑结构描述是and g1(x,a,b);对应的是图一右边这个电路中叫做g1的那个与门,它的输入是a,b,输出是x。通过所有这样的语句可以把整个电路图描述出来。编码提取如表一中的51个特征中,待测芯片是通过这个芯片中的每一根线网表示的,这些线网在对应芯片的门级网表中都有表示,其中包含了木马线网和正常线网。采用编程的方式处理网表中的字符串来提取这些特征,举例说明这些特征,第一个特征fan_in_x:离线网n,x个等级的逻辑门输入的数量。这里的等级如图三图四所示,从电路的总输入或总输出开始,按顺序,第一个逻辑门/复用器/触发器为第一级,第二个为第二级,以此类推。离线网n,的x级上所有逻辑门的总输出的数量,其他特征类似.
表一硬件木马候选特征
步骤S2:根据电路候选特征将待测芯片分为控制信号型芯片和信息泄露性芯片;如表二中RS232开头的芯片是中是控制信号型硬件木马,s开头的芯片是信息泄露型硬件木马。
表2待测电路
网表名称 | 木马网络数量 | 正常网络数量 |
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 |
s15850-T100 | 61 | 2371 |
s35932-T100 | 34 | 6368 |
s35932-T200 | 40 | 6359 |
s35932-T300 | 59 | 6365 |
s38417-T100 | 29 | 5772 |
s38417-T200 | 35 | 5769 |
s38417-T300 | 31 | 5802 |
s38584-T100 | 21 | 7271 |
s38584-T200 | 198 | 7274 |
s38584-T300 | 976 | 7275 |
步骤S3:控制信号型芯片和信息泄露性芯片均随机选择一个芯片的电路候选特征作为训练数据,剩余的芯片电路候选特征作为测试数据;
步骤S4:构建一个BP神经网络,并使用控制信号型芯片的训练数据训练,得到训练后的BP神经网络;
步骤S41:对所有的层2≤l≤L,设权重△W(l)=0,设偏置△b(l)=0,这里△W(l)=0和△b(l)=0分别为全零矩阵和全零向量;
步骤S42:使用反向传播算法,计算各层神经元中节点i的权值和偏置的梯度矩阵
1)计算
2)计算
α为学习速率,它的取值范围为(0,1);
E是m个训练样本的误差函数,
E(i)是单个样本的训练误差,
dk(i)为输出层第k个输出的期望值,yk(i)为输出层第k个输出的实际值,m为训练样本数量
步骤S43:更新权值和偏置:
1)计算
2)计算
步骤S6:构建一个Oneclasssvm分类器,并使用信息泄露性芯片的训练数据训练,得到训练后的Oneclasssvm分类器;所述模型具体为:
约束于(ω·Φ(xi))≥ρ-ξi,ξi≥0.
Φ是x到F的映射,l是观察值的数量,i∈[l],ξ是非零松弛变量,ω和ρ是要求的值,v∈[0,1]为训练误差。
步骤S7:将控制信号型芯片的测试数据输入训练后的BP神经网络,将信息泄露性芯片测试数据输入训练后的Oneclasssvm分类器,得到测试结果;
步骤S8:将测试结果与理想结果对比,得到硬件木马的位置定位。
理想结果:就是用来测试地电路中线网的实际情况,既木马线网的理想结果是1,正常电路线网的理想结果是0.
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (4)
1.一种基于机器学习的硬件木马定位方法,其特征在于,包括以下步骤:
步骤S1:从若干待测芯片的门级网表中提取电路候选特征;
步骤S2:根据电路候选特征将待测芯片分为控制信号型芯片和信息泄露性芯片;
步骤S3:控制信号型芯片和信息泄露性芯片均随机选择一个芯片的电路候选特征作为训练数据,剩余的芯片电路候选特征作为测试数据;
步骤S4:构建一个BP神经网络,并使用控制信号型芯片的训练数据训练,得到训练后的BP神经网络;
步骤S6:构建一个Oneclasssvm分类器,并使用信息泄露性芯片的训练数据训练,得到训练后的Oneclasssvm分类器;
步骤S7:将控制信号型芯片的测试数据输入训练后的BP神经网络,将信息泄露性芯片测试数据输入训练后的Oneclasssvm分类器,得到测试结果;
步骤S8:将测试结果与理想结果对比,得到硬件木马的位置定位。
2.根据权利要求1所述的基于机器学习的硬件木马定位方法,其特征在于:所述电路候选特征包括木马线网特征和正常线网特征。
3.根据权利要求1所述的基于机器学习的硬件木马定位方法,其特征在于:所述S4具体为:
步骤S41:对所有的层2≤l≤L,设权重ΔW(l)=0,设偏置Δb(l)=0,这里ΔW(l)=0和Δb(l)=0分别为全零矩阵和全零向量;
步骤S42:使用反向传播算法,计算各层神经元中节点i的权值和偏置的梯度矩阵
1)计算
2)计算
α为学习速率,它的取值范围为(0,1);
E是m个训练样本的误差函数,
E(i)是单个样本的训练误差,
dk(i)为输出层第k个输出的期望值,yk(i)为输出层第k个输出的实际值,m为训练样本数量
步骤S43:更新权值和偏置:
1)计算
2)计算
4.根据权利要求1所述的基于机器学习的硬件木马定位方法,其特征在于:所述Oneclasssvm分类器具体模型为:
约束于(ω·Φ(xi))≥ρ-ξi,ξi≥0
Φ是x到F的映射,l是观察值的数量,i∈[l],ξ是非零松弛变量,ω和ρ是要求的值,v∈[0,1]为训练误差。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910084520.8A CN109740348B (zh) | 2019-01-29 | 2019-01-29 | 一种基于机器学习的硬件木马定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910084520.8A CN109740348B (zh) | 2019-01-29 | 2019-01-29 | 一种基于机器学习的硬件木马定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109740348A true CN109740348A (zh) | 2019-05-10 |
CN109740348B CN109740348B (zh) | 2022-06-14 |
Family
ID=66366526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910084520.8A Expired - Fee Related CN109740348B (zh) | 2019-01-29 | 2019-01-29 | 一种基于机器学习的硬件木马定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109740348B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112749524A (zh) * | 2021-01-18 | 2021-05-04 | 重庆邮电大学 | 一种基于残差编码器神经网络的硬件木马电路检测方法 |
CN113486347A (zh) * | 2021-06-30 | 2021-10-08 | 福州大学 | 一种基于语义理解的深度学习硬件木马检测方法 |
CN114065307A (zh) * | 2021-11-18 | 2022-02-18 | 福州大学 | 一种基于双向图卷积神经网络的硬件木马检测方法与系统 |
CN114692227A (zh) * | 2022-03-29 | 2022-07-01 | 电子科技大学 | 一种规模化芯片网表级硬件木马检测方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102469103A (zh) * | 2011-07-01 | 2012-05-23 | 中国人民解放军国防科学技术大学 | 基于bp神经网络的木马事件预测方法 |
CN104330721A (zh) * | 2014-10-29 | 2015-02-04 | 工业和信息化部电子第五研究所 | 集成电路硬件木马检测方法和系统 |
CN104850804A (zh) * | 2015-05-28 | 2015-08-19 | 清华大学 | 基于电路特征分析的硬件木马检测方法 |
CN105893876A (zh) * | 2016-03-28 | 2016-08-24 | 工业和信息化部电子第五研究所 | 芯片硬件木马检测方法和系统 |
CN107703186A (zh) * | 2017-09-26 | 2018-02-16 | 电子科技大学 | 基于芯片温度场效应的硬件木马检测方法 |
US20180089426A1 (en) * | 2016-09-29 | 2018-03-29 | Government Of The United States As Represented By The Secretary Of The Air Force | System, method, and apparatus for resisting hardware trojan induced leakage in combinational logics |
CN107886012A (zh) * | 2017-10-28 | 2018-04-06 | 天津大学 | 基于门级结构特征的单触发硬件木马检测方法 |
CN108052840A (zh) * | 2017-11-13 | 2018-05-18 | 天津大学 | 基于神经网络的硬件木马检测方法 |
CN108154051A (zh) * | 2017-11-23 | 2018-06-12 | 天津科技大学 | 一种基于支持向量机的硬件木马检测判别方法 |
-
2019
- 2019-01-29 CN CN201910084520.8A patent/CN109740348B/zh not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102469103A (zh) * | 2011-07-01 | 2012-05-23 | 中国人民解放军国防科学技术大学 | 基于bp神经网络的木马事件预测方法 |
CN104330721A (zh) * | 2014-10-29 | 2015-02-04 | 工业和信息化部电子第五研究所 | 集成电路硬件木马检测方法和系统 |
CN104850804A (zh) * | 2015-05-28 | 2015-08-19 | 清华大学 | 基于电路特征分析的硬件木马检测方法 |
CN105893876A (zh) * | 2016-03-28 | 2016-08-24 | 工业和信息化部电子第五研究所 | 芯片硬件木马检测方法和系统 |
US20180089426A1 (en) * | 2016-09-29 | 2018-03-29 | Government Of The United States As Represented By The Secretary Of The Air Force | System, method, and apparatus for resisting hardware trojan induced leakage in combinational logics |
CN107703186A (zh) * | 2017-09-26 | 2018-02-16 | 电子科技大学 | 基于芯片温度场效应的硬件木马检测方法 |
CN107886012A (zh) * | 2017-10-28 | 2018-04-06 | 天津大学 | 基于门级结构特征的单触发硬件木马检测方法 |
CN108052840A (zh) * | 2017-11-13 | 2018-05-18 | 天津大学 | 基于神经网络的硬件木马检测方法 |
CN108154051A (zh) * | 2017-11-23 | 2018-06-12 | 天津科技大学 | 一种基于支持向量机的硬件木马检测判别方法 |
Non-Patent Citations (2)
Title |
---|
宋晨晨: "基于侧信道分析的硬件木马检测技术", 《万方数据学位论文库》 * |
宋晨晨: "基于侧信道分析的硬件木马检测技术", 《万方数据学位论文库》, 16 June 2017 (2017-06-16), pages 1 - 81 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112749524A (zh) * | 2021-01-18 | 2021-05-04 | 重庆邮电大学 | 一种基于残差编码器神经网络的硬件木马电路检测方法 |
CN112749524B (zh) * | 2021-01-18 | 2022-07-12 | 重庆邮电大学 | 一种基于残差编码器神经网络的硬件木马电路检测方法 |
CN113486347A (zh) * | 2021-06-30 | 2021-10-08 | 福州大学 | 一种基于语义理解的深度学习硬件木马检测方法 |
CN113486347B (zh) * | 2021-06-30 | 2023-07-14 | 福州大学 | 一种基于语义理解的深度学习硬件木马检测方法 |
CN114065307A (zh) * | 2021-11-18 | 2022-02-18 | 福州大学 | 一种基于双向图卷积神经网络的硬件木马检测方法与系统 |
CN114692227A (zh) * | 2022-03-29 | 2022-07-01 | 电子科技大学 | 一种规模化芯片网表级硬件木马检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109740348B (zh) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109740348A (zh) | 一种基于机器学习的硬件木马定位方法 | |
CN104215895B (zh) | 基于测试向量的硬件木马检测方法及系统 | |
CN104330721B (zh) | 集成电路硬件木马检测方法和系统 | |
Liakos et al. | Machine learning for hardware trojan detection: A review | |
CN109960879B (zh) | 一种基于不可信ip核的系统级芯片安全设计方法 | |
Xie et al. | Hardware Trojans classification based on controllability and observability in gate-level netlist | |
CN107070852A (zh) | 网络攻击检测方法和装置 | |
CN108052840A (zh) | 基于神经网络的硬件木马检测方法 | |
CN107590313A (zh) | 基于遗传算法和变异分析的优化测试向量生成方法 | |
CN104215894A (zh) | 集成电路硬件木马检测方法和系统 | |
CN105893876A (zh) | 芯片硬件木马检测方法和系统 | |
CN111062036A (zh) | 恶意软件识别模型构建、识别方法及介质和设备 | |
CN104635144A (zh) | 一种不依赖基准曲线的硬件木马检测方法 | |
Yang et al. | Survey: Hardware trojan detection for netlist | |
CN109684834A (zh) | 一种基于XGBoost的门级硬件木马识别方法 | |
CN107491691A (zh) | 一种基于机器学习的远程取证工具安全分析系统 | |
Yu et al. | An improved automatic hardware trojan generation platform | |
Guo et al. | Securing iot space via hardware trojan detection | |
CN109657461A (zh) | 基于梯度提升算法的rtl硬件木马检测方法 | |
Shen et al. | Lmdet: A “naturalness” statistical method for hardware trojan detection | |
CN112231775A (zh) | 一种基于Adaboost算法的硬件木马检测方法 | |
Rajendran et al. | A novel algorithm for hardware trojan detection through reverse engineering | |
CN112380534B (zh) | 一种基于电路结构分析的硬件木马检测方法 | |
Priyatharishini et al. | A deep learning based malicious module identification using stacked sparse autoencoder network for VLSI circuit reliability | |
Ngo et al. | Side-channel analysis of the random number generator in STM32 MCUs |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220614 |