CN112487504B - 一种基于环形振子的硬件木马检测优化方法 - Google Patents
一种基于环形振子的硬件木马检测优化方法 Download PDFInfo
- Publication number
- CN112487504B CN112487504B CN202011478166.6A CN202011478166A CN112487504B CN 112487504 B CN112487504 B CN 112487504B CN 202011478166 A CN202011478166 A CN 202011478166A CN 112487504 B CN112487504 B CN 112487504B
- Authority
- CN
- China
- Prior art keywords
- circuit
- ring
- network
- detection
- data
- 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
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
- G06F21/76—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 in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/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)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Security & Cryptography (AREA)
- Tests Of Electronic Circuits (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于集成电路检测技术领域,针对现有环形振子木马检测技术的不足,公开并实现了一种基于环形振子的硬件木马检测优化技术。方法包括以下步骤:使用奇数与非门链代替反相器链实现环形振子;搭建以混合长度的环振子网络构成的环振网络为核心的检测电路,并添加到已知有无木马的载体电路上;使用串口控制,多次同时统计同一时间段的所有环振频率计数值构成二维数据集,并上传到PC;软件层面使用卷积神经网络处理二维数据,训练木马检测模型;测量待测电路数据,输入到卷积神经网络模型中得到检测结果。相对于传统环振检测方法,本发明从环振基础结构、环振网络、数据采集、数据处理四个方面进行优化,结合机器学习的函数拟合能力,显著提高了木马检测的灵敏度和准确度。
Description
技术领域
本发明属于集成电路检测技术领域,为了改善现有环形振子木马检测方法的不足,公开并实现了一种基于环形振子的硬件木马检测优化方法。
背景技术
随着信息安全防御与保护技术更加多样化,为了达到某些恶意目的,攻击者也正在研究新的方法和技术。这些攻击方法和技术越来越深入,从软件层渗透到硬件层,产生了硬件木马。与此同时,随着集成电路设计和制造工艺水平不断提升,利用硬件木马对芯片进行攻击,使得窃取芯片的机密信息、对芯片功能进行更改甚至造成破坏变得越来越容易实现。
硬件木马一般是由攻击者根据被攻击系统的工作原理精心设计,实现对底层硬件的修改。硬件木马电路的攻击方法多种多样,且可能在设计或制造的不可信阶段被植入,具有隐蔽性高,设计灵活,作用机制复杂,防护检测难度大的特点。因此,对硬件木马的检测方法的研究也成为当前集成电路安全问题领域的重要课题。
目前硬件木马检测方法从芯片制造流程角度来看分为两类:硅前检测和硅后检测。现有的硅前检测方法大致可分为功能验证、代码分析和形式验证。硅前检测是检验芯片设计阶段的安全性,有着较大的局限性,无法覆盖到制造过程中的木马植入。硅后检测方法是基于已经流片的产品进行检验,可以覆盖到芯片设计和制造阶段的安全性。硅后检测方法主要分为破坏性检测,侧通道分析,逻辑测试。而侧通道分析对芯片无破坏性,检测方式多样化准确率高,成为最为推荐的检测方式。
基于环振的硬件木马检测方法首次提出于文献(Rajendran J,Jyothi V,Sinanoglu O,et al.Design and analysis of ring oscillator based Design-for-Trust technique[C]//29th IEEE VLSI Test Symposium,VTS 2011,May 1-5,2011,DanaPoint,California,USA.IEEE,2011.),该方法利用环形振子捕捉硬件木马对电路的路径产生的延迟差异,进而识别硬件木马,属于侧通道分析方法的一种,由于实现容易,检测电路面积小,吸引了很多学者研究。而后文献(Pyrgas L,Pirpilidis F,Panayiotarou A,etal.Thermal Sensor Based Hardware Trojan Detection in FPGAs[C]//Digital SystemDesign.IEEE,2017:268-273.)将该方法用于实际电路硬件木马检测,该方法对于面积小的木马灵敏度低,且数据处理方式简单,准确度不足。基于上述情况,本发明从硬件结构到软件处理,提出一种基于环形振子的硬件木马检测的优化方法,旨在提高环振检测方法的灵敏度和准确度。
发明内容
本发明为了克服传统环振检测方法的对于面积小的木马检测灵敏度和准确度低的缺点,提出了一种基于环形振子的硬件木马检测优化方法。
本发明采用的技术方案如下:
1)在无木马的黄金样本电路和多种不同面积木马植入的载体样本电路上,添加基于混合长度的与非门环振网络的检测电路;
2)将存储的测试向量表逐个驱动到电路输入端口,同时对所述的多个样本电路进行RO(环形振子)振荡频率的计数值多次采集,构建以不同位置和不同时间的数据构成的二维数据集并进行标定,将数据集抽取部分当作测试集,另一部分作为训练集;
3)软件实现卷积神经网络,并将已标定的训练集送入神经网络中进行训练;利用测试集对网路进行预评估,增加训练集使网络达到期望精度,得到分类网络模型。
4)驱动测试向量表到已植入检测电路的待测电路,提取待测电路的二维数据矩阵。
5)将待测电路数据输入到软件分类网络模型中,观察输出结果,通过比较与标定值的差异判断有无木马。
进一步的,所述第1步的检测电路具体包含了:指令处理单元,接收来自串口输入的指令,在校验无误时提取指令中的时间值进行数据测量请求。定时器,在收到测量请求后拉高整个环振网络的计数使能信号,并进行定时统计数据。测试向量驱动单元负责存储测试向量表,并在收到请求时将测试向量驱动到目标电路的输入端口。环形振荡网络,将由于电路结构的不同带来了带来了路径上的延迟差异转化为容易测量的环振频率。计数器用来统计一定时间段的计数值。数据上传单元按照顺序将同一时间段的不同环振的计数值存储至RAM中,并在数据统计完成后通过串口传入PC。
所述环形振荡网络由M个子网络构成,每个子网络由N个混合长度的首尾相连的与非门链环振构成,环振网络布局以子网络为单位,每个子网络中的环振相邻,分别将各个子网络布局到待测电路的四个角。
进一步的,所述第2步二维数据集矩阵的行向量为同一时间段的所有不同长度环形振子测量的频率值,由连续的不同时间段的行向量构成二维数据集。
进一步的,所述第3步卷积神经网络使用Python在PC端实现,共含卷积层1+激活函数,池化层1,卷积层2+激活函数,池化层2,全连接层1,全连接层2共6层。
本发明的突出优点有:
1)与非门的一端接电源,因此电源电压的波动对基于与非门的环振比基于反相器的环振影响更大,因此检测灵敏度更高。
2)不同长度的环振对不同面积的木马敏感度不同,使用混合长度的环振电路对不同面积木马的检测都有极好的适应效果。
3)使用二维数据集可以克服普通降维算法对数据横向分布的忽略,例如对于求取所有环振频率的均值来说,可以随意交换两个环振结果值,它忽略了每个环振值位置和长度不同带来的唯一性。
4)采用多种不同面积的木马产生训练集来训练机器学习算法,使模型有很强的泛化能力。
5)卷积神经网络比起主成分分析或设立阈值等普通算法拥有更好的函数拟合能力,提高了分类器的结果准确性。
附图说明
附图1为本发明提出的基于机器学习的环振硬件木马检测方法的具体检测流程步骤图。
附图2为本发明提出的基于机器学习的环振硬件木马检测方法中用于收集二维数据的环振检测电路。
附图3为本发明提出的基于与非门链的环振结构图。
附图4为本发明提出的用于分类的卷积神经网络结构和参数示意图。
具体实施方式
下面将结合具体附图和实施例对本发明进行详细说明,应当说明的是,下文所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
一种基于环形振子的硬件木马检测优化方法的整个步骤流程如附图1所示,包括:
1)使用FPGA(现场可编辑逻辑门阵列)分别实现无木马的黄金样本电路和木马面积不同的载体样本电路,并且向黄金电路和载体电路加入检测电路。
2)使用自动测试激励产生工具生成目标电路的测试向量表并存储到RAM(随机存取存储器)中。
3)通过串口发送测量请求,驱动测试向量,测量多组不同样本电路的二维频率计数数据,将无木马的黄金电路的数据标定为0,将含木马电路的数据标定为1,制作神经网络训练必要的数据集
4)软件实现卷积神经网络,并将已标定的训练集送入神经网络中进行训练;利用测试集对网路进行预评估,增加训练集使网络达到期望精度,得到分类网络模型。
5)驱动测试向量表到已植入检测电路的待测电路,提取待测电路的二维数据矩阵。将待测电路数据输入到软件分类网络模型中,观察输出结果,通过比较与标定值的差异判断有无木马。
发明中提出的检测电路的结构如附图2所示:指令处理单元接收来自串口输入的指令,由标签和时间值构成,在指令标签无误时请求一次数据测量。测试向量驱动单元负责存储软件工具生成的测试向量表,并在收到数据测量请求时按照顺序依次将测试向量驱动到目标电路的输入端口。定时器,在收到测量请求后使能整个环振网络的计数,并进行定时统计数据。环形振荡网络,将由于电路结构的不同带来了路径上的延迟差异转化为容易测量的环振频率计数。计数器用来统计一定时间段的计数值,其值与环振频率成正比。数据上传单元按照顺序将同一时间段的不同环振的计数值存储至RAM中,并在连续统计T个时间段后将数据通过串口上传入PC。
本发明提出的环振网络布局以子网络为单位,每个子网络由N个混合长度的与非门链环振构成,每个子网络中的环振相邻,分别将M个子网络布局到待测电路的周围,使各个环振子网络的感应区域能够很好的覆盖目标电路。所述的与非门链环形振荡器的结构如附图3所示,每个与非门的一端接电源,这样与非门和反相器拥有相同的功能,将2n+1个与非门链级联,且第2n+1个与非门的输出连接到第一个与非门的输入端口构成与非门环,在上电后与非门以2*n*tp的周期进行振荡,其中tp为单个与非门的传播延迟。
具体的,在收到数据测量请求时,以标准时钟定时器产生环形振子使能,同时在同一时间段使能所有的环形振子,定时器产生中断后采样所有计数值并存放到RAM中,接着继续驱动定时器采样T次连续时间段内的计数值,构成二维数据。所述二维数据集矩阵的行向量为同一时间段的所有不同长度位置的环形振子测量的频率值,由连续的不同时间段的行向量构成二维数据集。在数据收集完成后上传到PC端进行软件上的处理。传统方法是以片选信号在不同时间段依次使能不同位置各个环形振子计数,构造一维数据集,缺少同一时间的环振计数值在不同位置的分布情况,二维数据集能使原数据信息得到最大保留。
本发明采用卷积神经网络实现二维数据的软件处理,网络使用Python在PC端实现,结构和各层的具体参数规格如图所示:共含卷积层1+激活函数(Conv1+Relu),池化层1(Avg_Pool1),卷积层2+激活函数(Conv2+Relu),池化层2(Avg_Pool2),全连接层1(FC1),全连接层2(FC2)共6层。卷积神经网络比起传统方法具有更强的函数拟合能力和特征提取能力,能很好的挖掘二维数据集中保留的时空分布特性,具有更高的分类准确度。
上述实施例已经充分说明了本发明的必要技术内容,技术人员能够依据说明加以实施,故不再赘述其他技术细节。
以上所述,仅是本发明的实施例而已,并非对本发明作任何形式的限制。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (5)
1.一种基于环形振子的硬件木马检测优化方法,其特征在于,包括以下步骤:
步骤1、在无木马的黄金样本电路和多种不同面积木马植入的载体样本电路通过增量编译技术添加基于混合长度的与非门环振网络的检测电路,检测电路包括:指令处理单元接收串口指令,在校验无误时提取指令中的时间值进行数据测量请求;定时器,在收到测量请求后使能整个环振网络计数,并定时统计数据;测试向量驱动单元存储测试向量表,并将测试向量驱动到目标电路的输入端口;环形振荡网络,将由于电路结构的不同带来了路径上的延迟差异转化为容易测量的环振频率;计数器用来统计一定时间段的计数值;数据上传单元按照顺序将同一时间段的不同环振的计数值存储至RAM中,并在数据统计完成后通过串口传入PC;
步骤2、将存储的测试向量表驱动到电路输入,同时对所述的多个样本电路进行环形振子振荡频率的计数值多次采集,构建以不同位置和不同时间的数据构成的二维数据集并进行标定,得到训练集和测试集;
步骤3、软件实现卷积神经网络,并将已标定的训练集送入神经网络中进行训练;利用测试集对网路进行预评估,增加训练集使网络达到期望精度,得到分类网络模型;
步骤4、驱动测试向量表到已植入检测电路的待测电路,提取待测电路的二维数据矩阵;
步骤5、将待测电路数据输入到软件分类网络模型中,观察输出结果,通过比较与标定值的差异判断有无木马。
2.根据权利要求1所述的一种基于环形振子的硬件木马检测优化方法,其特征在于环形振荡网络由多个子网络构成,每个子网络由混合长度的环振构成,环振网络布局以子网络为单位,每个子网络中的环振相邻,分别将各个子网络布局到待测电路的四个角。
3.根据权利要求2所述的一种基于环形振子的硬件木马检测优化方法,其特征在于环振结构为:将2n+1个与非门链级联,且第2n+1个与非门的输出连接到第一个与非门的输入端口构成与非门环,与非门链每个与非门的一端接电源。
4.根据权利要求1所述的一种基于环形振子的硬件木马检测优化方法,其特征在于二维数据集矩阵的行向量为同一时间段的所有不同长度位置的环形振子测量的频率值,由连续的不同时间段的行向量构成二维数据集,数据收集完成后上传到PC端进行标定或测试。
5.根据权利要求1所述的一种基于环形振子的硬件木马检测优化方法,其特征在于样本电路特征为:采用以不同面积木马植入的载体电路的测量数据作为标签为1的训练集,以无木马的黄金电路的测量数据作为标签为0的训练集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011478166.6A CN112487504B (zh) | 2020-12-15 | 2020-12-15 | 一种基于环形振子的硬件木马检测优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011478166.6A CN112487504B (zh) | 2020-12-15 | 2020-12-15 | 一种基于环形振子的硬件木马检测优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112487504A CN112487504A (zh) | 2021-03-12 |
CN112487504B true CN112487504B (zh) | 2022-04-22 |
Family
ID=74917054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011478166.6A Active CN112487504B (zh) | 2020-12-15 | 2020-12-15 | 一种基于环形振子的硬件木马检测优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112487504B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106771960A (zh) * | 2016-11-18 | 2017-05-31 | 天津大学 | 基于环形振荡器网络的局部测试向量生成与优化方法 |
CN108241322A (zh) * | 2018-01-16 | 2018-07-03 | 电子科技大学 | 一种fpga互联资源的优化配置生成方法 |
CN110135158A (zh) * | 2019-04-18 | 2019-08-16 | 中国人民解放军国防科技大学 | 一种基于热梯度阵列的无母本硬件木马检测方法 |
CN110232278A (zh) * | 2019-05-10 | 2019-09-13 | 中国人民解放军国防科技大学 | 基于复合型环形振荡器的降频分时a2木马检测方法及装置 |
CN111208415A (zh) * | 2020-01-15 | 2020-05-29 | 西安电子科技大学 | 分布型环形振荡器网络版图填充硬件木马检测方法及电路 |
CN111835525A (zh) * | 2020-06-24 | 2020-10-27 | 南京航空航天大学 | 一种基于fpga的可配置ro puf |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9081991B2 (en) * | 2011-03-23 | 2015-07-14 | Polytechnic Institute Of New York University | Ring oscillator based design-for-trust |
-
2020
- 2020-12-15 CN CN202011478166.6A patent/CN112487504B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106771960A (zh) * | 2016-11-18 | 2017-05-31 | 天津大学 | 基于环形振荡器网络的局部测试向量生成与优化方法 |
CN108241322A (zh) * | 2018-01-16 | 2018-07-03 | 电子科技大学 | 一种fpga互联资源的优化配置生成方法 |
CN110135158A (zh) * | 2019-04-18 | 2019-08-16 | 中国人民解放军国防科技大学 | 一种基于热梯度阵列的无母本硬件木马检测方法 |
CN110232278A (zh) * | 2019-05-10 | 2019-09-13 | 中国人民解放军国防科技大学 | 基于复合型环形振荡器的降频分时a2木马检测方法及装置 |
CN111208415A (zh) * | 2020-01-15 | 2020-05-29 | 西安电子科技大学 | 分布型环形振荡器网络版图填充硬件木马检测方法及电路 |
CN111835525A (zh) * | 2020-06-24 | 2020-10-27 | 南京航空航天大学 | 一种基于fpga的可配置ro puf |
Non-Patent Citations (3)
Title |
---|
Sensitivity Analysis of Ring Oscillator Based Hardware Trojan Detection;Yetai Qin等;《网页在线公开:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8359975》;20180517;第1-5页 * |
基于RO硬件木马检测的工艺偏差校正方法;赵毅强等;《天津大学学报》;20180807;第51卷(第6期);第645-650页 * |
针对触发结构的硬件木马设计及检测技术研究;马正飞等;《空间电子技术》;20190610;第16卷(第1期);第75-81页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112487504A (zh) | 2021-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nguyen et al. | Creating a backscattering side channel to enable detection of dormant hardware trojans | |
CN102662144B (zh) | 一种基于活性测度的硬件木马检测方法 | |
Hoque et al. | Hardware IP trust validation: Learn (the untrustworthy), and verify | |
CN105205396A (zh) | 一种基于深度学习的安卓恶意代码检测系统及其方法 | |
CN105138307B (zh) | 一种基于相位噪声的可集成真随机数产生方法及装置 | |
CN111027270B (zh) | 一种用于集成电路设计流程可信设计的方法及电路 | |
CN108052840A (zh) | 基于神经网络的硬件木马检测方法 | |
CN105391542A (zh) | 用于集成电路检测电磁故障注入攻击探测方法及探测器 | |
Zhou et al. | A low cost acceleration method for hardware Trojan detection based on fan-out cone analysis | |
CN104615950B (zh) | 能检测极小硬件木马的电路设计方法及检测方法 | |
CN104635144A (zh) | 一种不依赖基准曲线的硬件木马检测方法 | |
CN110119539A (zh) | 一种组合逻辑电路单粒子翻转效应传播规律的分析方法 | |
Liu et al. | Concurrent hardware Trojan detection in wireless cryptographic ICs | |
CN112487504B (zh) | 一种基于环形振子的硬件木马检测优化方法 | |
Wei et al. | OFIDS: online learning-enabled and fingerprint-based intrusion detection system in controller area networks | |
CN102663185A (zh) | 一种基于模糊处理的抗硬件木马电路设计方法 | |
CN107533433A (zh) | 用于后制作外部硬件附件的自检测的系统和方法 | |
Gu et al. | Graphlets versus node2vec and struc2vec in the task of network alignment | |
Majzoobi et al. | FPGA time-bounded unclonable authentication | |
Chusseau et al. | Electromagnetic analysis, deciphering and reverse engineering of integrated circuits (E-MATA HARI) | |
Deepthi | Hardware trojan detection using ring oscillator | |
CN107689865A (zh) | 用于量子密钥分发系统的光电模拟方法、测试方法及装置 | |
Bobda et al. | Synthesis of hardware sandboxes for trojan mitigation in systems on chip | |
Mondal et al. | XOR based methodology to detect hardware trojan utilizing the transition probability | |
Mezzah et al. | Extensive fault emulation on RFID tags for fault tolerance and security evaluation |
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 |