红外图像与空间投影转换结合的硬件木马检测方法与流程

文档序号:14911649发布日期:2018-07-10 23:35阅读:177来源:国知局

本发明主要涉及到集成电路的硬件木马检测领域,特指一种红外图像与空间投影转换结合的硬件木马检测方法。



背景技术:

随着集成电路生产流水线的成本越来越高,很多集成电路设计者选择将集成电路制造这个环节外包给第三方铸造厂。这种外包导致了集成电路的可信性风险,原始电路中可能被植入额外的恶意电路,这种恶意电路被称为硬件木马。硬件木马检测已经成为了芯片安全领域的一个重要课题,多种检测方法被提出,比如功能与结构测试法、可测性设计法、逆向解剖法、旁路信号检测法等。

反向解剖验证法,作为最常见的一种破坏性硬件木马检测手段,实质是一种基于侵入式检查的分析技术。通常将生产得到的原始电路进行解剖,将照相后提取照片中的金属线图案与版图文件提取出来的图片做对比,分析图案之间的差异,如果比较的结果显示逆向提取的芯片版图与原始版图吻合则说明版图不存在硬件木马,否则,电路可能被植入硬件木马。反向解剖验证的缺点在于:一、芯片逆向分析的过程非常复杂,验证过程缓慢;二、这是一种破坏性的硬件木马检测方式,被检测的芯片在完成检测后已完全报废无法继续使用。

功能测试法,硬件木马为了能够破坏原有电路的正常功能或泄漏芯片中的机密数据,都不可避免的要对芯片电路的正常功能进行篡改。功能测试通过在电路输入端口施加测试向量,比对输出与正常的状态是否一致,以此评估电路是否被恶意植入硬件木马。理论上讲如果能够遍历芯片中所有工作状态和冗余状态就可以对硬件木马进行触发从而发现电路中是否被插入了硬件木马,但目前很多芯片的规模很大,复杂度很高,状态空间的广度呈指数增长,以至于功能测试的方法代价太大而不可实现。

旁路信息分析法,电路工作时产生的功耗、温度、延时等信息称为旁路信息。基于旁路分析硬件木马的原理在于电路被植入硬件木马电路后,会从不同程度上篡改电路的原始组成及大小,使得植入硬件木马后的电路表现出与原始电路不同的旁路信息特征。因此,通过对电路的旁路信息进行采样和检验便可识别芯片中是否被植入硬件木马。

综上所述,上述方法或存在成本过高的问题,或存在检测效果不好的问题。



技术实现要素:

本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种检测精度高、检测成本低、检测效率高的红外图像与空间投影转换结合的硬件木马检测方法。

为解决上述技术问题,本发明采用以下技术方案:

一种红外图像与空间投影转换结合的硬件木马检测方法,其步骤为:

S1:捕获红外图像;

让一块没有硬件木马的纯净芯片样本和一块同款型号的被测芯片同时开始工作,然后用图像采集设备捕获一段时间内它们两个的红外图像;

S2:对获得的红外图像进行第一次差分;

在进行采样的一段时间内,每一个采样时刻都有一对红外图像,对两者进行差分,得到一张差分后的红外图像;对每一个时刻的一对图像都进行上述操作,就得到每一个时刻被测芯片与纯净样本的差分红外图像;

S3:对每一个时刻的差分红外图像进行第二次差分。

把第一次差分获得的差分红外图像中的每一个像素点提取出来,将其差分温度画在以时间为横坐标的坐标图上;

S4:判断;

在步骤S3得到的坐标图上,有木马的点的差分温度会比无木马点的差分温度高。

S5:主成分分析法;用来处理实验数据,用主成分分析法对数据进行空间投影转换,空间投影转化后的三维坐标图中,若存在明显偏离主体数据簇的点,则认为是硬件木马对应的数据点。

作为本发明的进一步改进:在步骤S4中,通过卡尔曼滤波,过滤掉影响最后观察结果的噪声,将硬件木马点所对应的那条线清晰地显示出来,达到更好的检测效果。

作为本发明的进一步改进:在步骤S1中,通过红外摄像机进行采样。

作为本发明的进一步改进:所述步骤S4的流程为:

S401:设定芯片上任意一点P的温度用下面的式子表示:

TP=TmeasurenebtP+TenvironmentP+TcircuitsP+TprocessP+eTPround

其中,Tp是P点的总温度;TmeasurementP测量温度噪声,TenvironmentP是环境温度噪声,这两类噪声都是高斯白噪声;TcircuitsP是该点所包含的电路正常工作所产生的温度;TprocessP是工艺偏差引起的温度偏差;TPround是P点周边电路工作产生的温度;e是一个参数,代表P点周围温度对P点温度的影响;

S402:当一点不包含任何电路时,温度表达式简化为:

TP=TmeasurementP与TenvironmentP与eTPround

当一点含有硬件木马时,温度表达式改写为:

TP=TmeasurementP+TenvironmentP+

TcircuitsP+TprocessP+eTPround+TTrojan

S403:对于不同的类型点P1、P2、P3,分别列出其差分后的温度表达式:

ΔTP1=ΔTmeasurementP1+ΔTenvironmentP1

+ΔTprocessP1+eΔTP1round

ΔTP2=ΔTmeasurementP2+ΔTenvironmentP2

+ΔTprocessP2+eΔTP2round+TTrojan

ΔTP3=ΔTmeasurementP3+ΔTenvironmentP3+eΔTP3round

其中,P1类型点为包含正常电路的点,该点在纯净芯片上的对应点也是正常电路;P2类型点为包含正常电路和木马电路的点,该点在纯净芯片上的对应点仅包含正常电路而不包含木马电路;P3类型点为空白区域,没有电路,其对应在纯净芯片上的点也同样不包含电路。

作为本发明的进一步改进:将属于高斯白噪声的测量温度噪声和环境温度噪声从差分温度表达式中抹去,将差分温度表达式简化为如下的形式:

ΔTP1=ΔTprocessP1+eΔTP1round

ΔTP2=ΔTprocessP2+eΔTP2round+TTrojan

ΔTP3=eΔTP3round。

与现有技术相比,本发明的优点在于:

1、本发明的红外图像与空间投影转换结合的硬件木马检测方法,利用电路工作时的热量信号进行分析,属于旁路信息分析方法。本发明提出的方法既克服了反向验证高成本,且破坏芯片的缺点,也没有功能测试不可实现性的短板,因此是一种低成本,可实现的技术。

2、本发明的红外图像与空间投影转换结合的硬件木马检测方法,检测成本低,只需要芯片开始正常工作即可以完成对芯片的检测,不会对芯片本身造成破坏,也不需要很长的时间。对检测设备的要求也仅仅是一台高精度红外摄像机、一套散热系统,和一套配套的软件系统。

3、本发明的红外图像与空间投影转换结合的硬件木马检测方法,检测精度高,经过实验,本发明的方法能够检测能耗量级为10-3的硬件木马。

附图说明

图1是本发明方法的流程示意图。

图2是本发明在具体应用实例中的原理示意图。

图3是本发明在一个具体应用实例中一张芯片的红外图像示意图。

图4是本发明在具体应用实例中的结果示意图。

图5是本发明在具体应用实例中进行主成分分析法的示意图一。

图6是本发明在具体应用实例中进行主成分分析法的示意图二。

图7是本发明在具体应用实例中进行主成分分析法的示意图三。

具体实施方式

以下将结合说明书附图和具体实施例对本发明做进一步详细说明。

硬件木马由两部分组成——触发部分和负载部分。触发部分会一直处于工作状态,因为它需要监测电路的状态并在特定的时刻激活负载部分工作。处于工作状态的触发部分会需要消耗能量,从而产生热量并向空间散射。这种热量可以被红外摄像机捕获,这便是硬件木马造成的热量旁路信息上的变化,本发明利用这种热量旁路信息进行检测。

如图1和图2所示,本发明的红外图像与空间投影转换结合的硬件木马检测方法,其步骤为:

S1:捕获红外图像。

让一块没有硬件木马的纯净芯片样本和一块同款型号的被测芯片同时开始工作,然后用红外摄像机捕获一段时间内它们两个的红外图像。

S2:对获得的红外图像进行第一次差分。

在用红外摄像机进行采样的一段时间内,每一个采样时刻都有一对红外图像——它们分别来自被测芯片和纯净样本,对两者进行差分,得到一张差分后的红外图像。

对每一个时刻的一对图像都进行上述操作,就可以得到每一个时刻被测芯片与纯净样本的差分红外图像了。

S3:对每一个时刻的差分红外图像进行第二次差分。

把第一次差分获得的差分红外图像中的每一个像素点提取出来,将其差分温度画在以时间为横坐标的坐标图上。

由于被测芯片的上的无木马电路的信息已将被纯净芯片样本上的对应电路所抵消,而被测芯片上的有木马电路在纯净芯片上没有对应的电路,因此有木马的点的差分温度会比无木马点的差分温度高。

S4:判断。

在步骤S3得到的坐标图上,有木马的点的差分温度会比无木马点的差分温度高。

S5:主成分分析法;用来处理实验数据,使得硬件木马的信息更加明显地呈现出来。

即,用主成分分析法对数据进行空间投影转换,空间投影转化后的三维坐标图中,若存在明显偏离主体数据簇的点,则认为是硬件木马对应的数据点。

步骤S4是是从二维坐标图中筛选出硬件木马的信息,存在硬件木马信息和正常电路的信息区分不明显,硬件木马信息容易被工艺偏差噪声淹没的问题。本发明将数据从二维平面的线经过空间投影变换成三维空间的点,区分度大大提高,检测效果也好了许多。参见图5、图6和图7,图中圆圈是硬件木马的信息,其它点是正常电路的信息。

在FPGA上植入不同能耗量级的硬件木马后,利用本方法对该FPGA进行检测,同时以一个未植入硬件木马只含有纯净电路的FPGA作为母本对照。实验结果表明,对于能耗占比0.14%以上的硬件木马,本方法都成功将其检测。

进一步,在较佳的实施例中,在步骤S4中,还可以通过卡尔曼滤波,过滤掉影响最后观察结果的噪声,从而将硬件木马点所对应的那条线清晰地显示出来,达到更好的检测效果。

如图3所示,在一个具体应用实例中,给出一张芯片的红外图像示意图如下,假设A是纯净芯片,B是被测芯片。以此图来说明硬件木马被植入的区域的问题。

首先看到待测芯片,也就是B,芯片上的像素点一共可以分为三种类型,第一种类型P1类型点,也就是包含正常电路的点,该点在纯净芯片上的对应点也是正常电路。第二种是P2类型点,也就是包含正常电路和木马电路的点,该点在纯净芯片上的对应点仅包含正常电路而不包含木马电路。第三种是P3类型点,该点为空白区域,没有电路,其对应在纯净芯片上的点也同样不包含电路。

在芯片生产的过程中,有两种工艺偏差。一种是芯片与芯片之间的工艺偏差,称为片间工艺偏差;另一种是同一块芯片内不同点之间的偏差,称为片上工艺偏差。这些工艺偏差也会造成芯片工作温度的不同,从而影响硬件木马的检测。一般来说,片间工艺偏差远大于片上工艺偏差。

芯片上任意一点P的温度可以用下面的式子表示:

TP=TmeasurementP+TenvironmentP+TcircuitsP+TprocessP+eTPround

其中,Tp是P点的总温度。TmeasurementP测量温度噪声,TenvironmentP是环境温度噪声,这两类噪声都是高斯白噪声。TcircuitsP是该点所包含的电路正常工作所产生的温度。TprocessP是工艺偏差引起的温度偏差。TPround是P点周边电路工作产生的温度。e是一个参数,代表P点周围温度对P点温度的影响。

那么当一点不包含任何电路时,温度表达式简化为:

TP=TmeasurementP+TenvironnentP+eTPround

当一点含有硬件木马时,温度表达式改写为:

TP=TmeasurementP+TenvironmentP+

TcircuitsP+TprocessP+eTPround+TTrojan

那么对于图中的P1、P2、P3类型点,可以分别列出其差分后的温度表达式:

ΔTP1=ΔTmeasurementP1+ΔTenvironmentP1

+ΔTprocessP1+eΔTP1round

ΔTP2=ΔTmeasurementP2+ΔTenvironmentP2

+ΔTprocessP2+eΔTP2round+TTrojan

ΔTP3=ΔTmeasurementP3+ΔTenvironmentP3+eΔTP3round

由于测量温度噪声和环境温度噪声都是高斯白噪声,可以用高斯滤波方法去除,因此为了便于分析,从差分温度表达式中抹去,从而将差分温度表达式简化为如下的形式:

ΔTP1=ΔTprocessP1+eΔTP1round

ΔTP2=ΔTprocessP2+eΔTP2round+TTProjan

ΔTP3=eΔTP3round

如图4所示,如果将所有像素点的差分温度以时间为横轴画在坐标图上,由于工艺偏差的连续性,P1类型点的的信息会形成一条工艺偏差带,P3类型点则会形成另一条沉于底部的工艺偏差带。P2类型点因为多了一个硬件木马项,则会浮于顶部,从而达到硬件木马信息的显化,从而检测到硬件木马。

以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

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