基于芯片温度场效应的硬件木马检测方法与流程

文档序号:13704245阅读:569来源:国知局

本发明属于芯片硬件安全技术领域,具体涉及一种基于芯片温度场效应的硬件木马检测方法的设计。



背景技术:

木马植入是恶意插入在集成电路中的某种电路结构,它可以改变电路功能、泄露电路信息或者使电路拒绝服务等,这对硬件安全性构成极大的威胁。然而,由于硬件木马占据面积小,长时间处于未激活状态,几乎无法检测。

目前,学术界提出的用于硬件木马检测的常见方法有逻辑测试,测试设计,侧信道分析,逆向工程等。测试设计是为了对硬件木马进行检测而在芯片中插入额外的测试电路。这些测试电路只能在测试阶段检测出硬件木马。侧信道分析是通过分析芯片的侧信道信息(如电压,电流,温度和电磁),以有效检测出硬件木马的方法。

具体而言,现有技术中,一种硬件木马的检测方法为通过em探针测量出标准布局下芯片的em信号,以及将木马注入在芯片的不同位置后的em信号,并将注入了木马的em信号与标准布局下的em信号作差,根据差信号的大小判定是否被植入了木马。另一种硬件木马的检测方法为通过测试在相同温度下无木马芯片的最大和最小环形振荡器周期值(d值),并利用其差值作为判决阈值,若待测芯片的环形振荡器的d值高于此阈值则判定其为注入木马的芯片。上述方法均具有检测率低、较难实现的缺点。



技术实现要素:

本发明的目的是通过将测量出的芯片的热图输送给神经网络,利用神经网络识别出热图中包含的木马信息,从而准确高效地检测出被注入了木马的芯片,提出了一种基于芯片温度场效应的硬件木马检测方法。

本发明的技术方案为:基于芯片温度场效应的硬件木马检测方法,包括以下步骤:

s1、对待测芯片进行网格划分,并测量待测芯片运行时各网格的温度值,得到待测芯片的热图。

s2、对神经网络进行训练。

s3、利用训练好的神经网络识别待测芯片的热图中包含的木马信息,判定待测芯片是否被注入了木马。

进一步地,步骤s2具体包括以下分步骤:

s21、向样本芯片注入木马并保持木马处于未激活的状态,对样本芯片进行网格划分。

s22、向样本芯片输入不同的测试向量,测量在不同测试向量下,未激活木马的样本芯片及未注入木马的样本芯片运行时各网格的温度值,得到不同测试向量下无木马芯片热图集。

s23、激活注入样本芯片中的木马。

s24、向样本芯片输入不同的测试向量,测量在不同测试向量下,激活木马的样本芯片运行时各网格的温度值,得到不同测试向量下有木马芯片热图集。

s25、将无木马芯片热图集与有木马芯片热图集输送给神经网络,并根据热图类别设置神经网络的期望输出,利用已知输入和其对应的实际输出,对神经网络进行训练。

进一步地,步骤s25具体包括以下分步骤:

s251、根据无木马芯片热图集与有木马芯片热图集的像素点个数,确定神经网络的输入层节点数m和输出层节点数l,并随机设置输入层节点与隐藏层节点的连接权值wij以及隐藏层节点与输出层节点的连接权值wki。

s252、根据m和wij计算神经网络隐藏层各节点的输出yi。

s253、根据yi和wki计算神经网络输出层各节点的实际输出ok。

s254、根据热图类别设置神经网络输出层各节点的期望输出tk。

s255、根据tk和ok计算各样本的输出误差ep。

s256、根据ep计算神经网络的输出总误差e。

s257、判断e是否小于特定阈值,若是则神经网络进行训练完成,进入步骤s3,否则进入步骤s258。

s258、根据权值调节量δwki对wki进行调节,返回步骤s253。

本发明的有益效果是:本发明通过将测量出的芯片的热图输送给神经网络,利用神经网络识别出热图中包含的木马信息,可以准确地检测出芯片内部是否被注入了木马,其检测率高达88%以上,并且具有易于实现的特点,为硬件木马的正确检测提供了又一有效方法。

附图说明

图1所示为本发明实施例提供的基于芯片温度场效应的硬件木马检测方法流程图。

图2所示为本发明实施例提供的步骤s2的分步骤流程图。

图3所示为本发明实施例提供的步骤s25的分步骤流程图。

具体实施方式

现在将参考附图来详细描述本发明的示例性实施方式。应当理解,附图中示出和描述的实施方式仅仅是示例性的,意在阐释本发明的原理和精神,而并非限制本发明的范围。

本发明实施例提供了一种基于芯片温度场效应的硬件木马检测方法,如图1所示,包括以下步骤s1-s3:

s1、对待测芯片进行网格划分,并测量待测芯片运行时各网格的温度值,得到待测芯片的热图。

s2、对神经网络进行训练。

如图2所示,步骤s2具体包括以下分步骤s21-s25:

s21、向样本芯片注入木马并保持木马处于未激活的状态,对样本芯片进行网格划分。

s22、向样本芯片输入不同的测试向量,测量在不同测试向量下,未激活木马的样本芯片及未注入木马的样本芯片运行时各网格的温度值,得到不同测试向量下无木马芯片热图集。

s23、激活注入样本芯片中的木马。

s24、向样本芯片输入不同的测试向量,测量在不同测试向量下,激活木马的样本芯片运行时各网格的温度值,得到不同测试向量下有木马芯片热图集。

s25、将无木马芯片热图集与有木马芯片热图集输送给神经网络(本发明实施例中采用bp神经网络),并根据热图类别设置神经网络的期望输出,利用已知输入和其对应的实际输出,对神经网络进行训练。

如图3所示,步骤s25具体包括以下分步骤s251-s258:

s251、根据无木马芯片热图集与有木马芯片热图集的像素点个数,确定神经网络的输入层节点数m和输出层节点数l,并随机设置输入层节点与隐藏层节点的连接权值wij以及隐藏层节点与输出层节点的连接权值wki。

s252、根据m和wij计算神经网络隐藏层各节点的输出yi,具体计算公式为:

其中,yi表示隐藏层第i个节点的输出,φ(·)表示激活函数,本发明实施例中采用sigmoid函数,neti表示隐藏层第i个节点的输入,wij表示隐藏层第i个节点与输入层第j个节点之间的连接权值,xj表示输入层第j个节点的输入,θi表示隐藏层第i个节点的阈值,i=1,2,...,n,n为隐藏层节点数,j=1,2,...,m。

s253、根据yi和wki计算神经网络输出层各节点的实际输出ok,具体计算公式为:

其中,ok表示输出层第k个节点的实际输出,ψ(·)表示激活函数,本发明实施例中采用sigmoid函数,netk表示输出层第k个节点的输入,wki表示隐藏层第i个节点与输出层第k个节点之间的连接权值,ak表示输出层第k个节点的阈值,k=1,2,...,l。

s254、根据热图类别设置神经网络输出层各节点的期望输出tk。

s255、根据tk和ok计算各样本的输出误差ep,具体计算公式为:

其中,ep表示第p个样本的输出误差,tk表示第p个样本在输出层第k个节点的期望输出,ok表示第p个样本在输出层第k个节点的实际输出,p=1,2,...,p,p为样本总数。本发明实施例中,样本即为无木马芯片热图集与有木马芯片热图集中的各个热图。

s256、根据ep计算神经网络的输出总误差e,具体计算公式为:

s257、判断e是否小于特定阈值,若是则神经网络进行训练完成,进入步骤s3,否则进入步骤s258。

s258、采用梯度下降法对wki进行调节,返回步骤s253。其中权值调节量δwki的计算公式为:

其中η表示学习速率,它的大小表示了神经网络的学习速度的快慢。

每调节完一次权值wki之后,神经网络将计算调节后的神经网络的输出总误差e,并利用总误差e再次对权值wki进行调节,直到e小于一个特定阈值,此时神经网络就训练完成了。

s3、利用训练好的神经网络识别待测芯片的热图中包含的木马信息,判定待测芯片是否被注入了木马。

根据本发明的方法,本发明实施例中利用matlab对无木马芯片和木马被注入在不同位置的芯片进行了检测。通过对所有待测芯片进行网格划分并测出每个网格的温度,得到每块待测芯片的热图,然后再输送给事先已经训练好的神经网络,最终检测出了芯片是否被注入了木马。该方法得到的检测率较高,并且适用于规模较小的木马,从表1可以看出,本发明的分析结果与实际结果相吻合。

表1

该测试结果是基于61个数据样本之上得到的结果,其中训练集包含有16个样本,测试集包含45个样本。

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1