APP下载

基于分类学习的侧信道硬件木马检测方法研究

2018-05-08杨达明黄姣英高成

电子技术与软件工程 2018年22期

杨达明 黄姣英 高成

摘要 目前集成電路开发周期中,存在很多安全性无法保障的环节,使集成电路的开发受到硬件木马的威胁。硬件木马通常只在非常特殊的值或条件下才能被触发并且发生作用,传统的结构测试和功能测试难以快速触发并检测。本论文针对这一问题,开展了基于侧信道检测的硬件木马检测方法研究,选取全局电流作为侧信道测试的信号,完成检测识别,证明了基于侧信道功耗的硬件木马检测方法,可作为通用检测方法对集成电路上未知类型的硬件木马进行检测:在此基础上,研究设计了一种基于分类学习的硬件木马快速识别方法,通过机器分类学习建立模型,以此来分析未知数组,可达到自动化检测识别硬件木马的效果,识别效果达到为73.57%。该方法可快速、自动对批次电路进行硬件木马检测识别。

【关键词】硬件木马 侧信道分析 分类学习

1 引言

近年来,半导体行业迅速发展,为了缩短集成电路的设计周期,降低制造成本,集成电路的设计与制造过程趋向于分离,导致了集成电路在外包制造过程中存在风险。集成电路芯片在不受控的制造过程中,就可能会被嵌入恶意电路结构,形成硬件木马( Hardware Troj anHorse)。

硬件木马种类繁多,不同硬件木马实现的功能不同,其电路特征也有很大差异,使得硬件木马的检测十分困难。目前集成电路硬件木马的检测还未形成用户需求,集成电路的质量控制过程还没有提出硬件木马检测保障的硬性要求,因此硬件木马的检测方法,大多数也是集成电路开发者针对自己的产品做的预防性研究,以及大型集成电路针对芯片安全进行的健壮性设计。

最早研究的硬件木马体积较大特征明显,使用的检测方法是传统的物理检测。这种传统的物理检测主要是利用成熟的集成电路逆向工程手段,对需要验证的芯片,首先开帽,露出芯片电路,然后研磨芯片层,反复扫描每层电路照相,提取照相图片中的金属线图案,再与电路原始板图进行对比,从而判断芯片中是否含有硬件木马。但随着电路规模越来越大,物理检测效果已经逐渐不能满足硬件木马检测需求

根据硬件木马激活特性,结合日益成熟和先进的自动测试设备ATE (Automatic TestEquipment),研究人员开发了基于逻辑功能测试的检测方法,即ATPG( Automatic TestPattem Generation)。这种方法通过生成特定的自动测试矢量,通过研究输入与相应的匹配与否来判定电路中是否含有硬件木马,ATPG的原理是通过设计测试向量快速激活硬件木马,并通过输出来判定硬件木马的存在与否。这种测试方法随着硬件木马激活条件越来越隐蔽,测试向量的生成也越来越复杂,面临着测试效率和覆盖率的问题。为了降低测试向量的长度,更好的观测到硬件木马,提高检测效率,可以在电路中插入一些特殊的电路以增加内部节点的可控性与可观察性,从而提高硬件木马的激活特性,使检测更容易。或对电路内部节点中活性很低的逻辑进行多重触发,以最大程度激活木马,降低测试向量长度。

另一种新兴的检测技术是侧信道分析技术,它是检测集成电路的侧信道信号,分析识别芯片中是否存在硬件木马。侧信道信号包括电路的功率信号、时序信号、电磁信号及温度等。硬件木马一般都会降低芯片的性能,或改变芯片的功率特性。因此木马会在不同程度上改变电路的参数特征,从而影响电路中的线和门的功率特性或延时特性。

基于侧信道分析的硬件木马检测方法,主要有基于功率信号的检测方法和基于时序信号的检测分析。基于功率信号的检测方法常用手段是IC指纹法、局部电路的功耗分析、电流积分法以及基于电源瞬态功率的检测方法;基于时序信号的监测分析常用的是基于路径延迟的指纹法和基于高速延时特性检测法。

基于现有的检测方法,硬件木马的检测存在的问题有:

(1)集成电路工艺向纳米级发展,电路版图也越来越庞大,很难通过物理检测和破坏性反向工程来检测出硬件木马,并且成本很高耗时很长。

(2)硬件木马通常只在非常特殊的值或条件下才能被触发并且发生作用,其它时候对原始电路的功能并无影响,传统的结构测试和功能测试难以快速触发并检测。

针对现有硬件木马检测存在的问题,本论文基于分类学习对侧信道进行检测,可达到自动化检测识别硬件木马的效果,有助于在形成硬件木马检测需求时,大大提高检测效率。2侧信道硬件木马检测方法研究

侧信道检测技术是现有覆盖性最广、检测效率最高的硬件木马检测技术,对未知类型硬件木马的检测效果最好。这一结论的是依据无论集成电路是何种类型、何种规模,在工作状态下都会有体现其特征的功率、时序、电磁和温度等侧信道信号。

基于侧信道检测的硬件木马检测方法相较于其它方法较好,尤其是基于功率信号的侧信道分析技术较为成熟。无论硬件木马是何种类型、大小或激活率,只要存在电路中,就会产生功耗。论文采用基于功耗的硬件木马检测方法进行硬件木马的检测,有以下优点:

(1)非破坏性。不需要破坏电路芯片或对电路进行硬修改,论文形成的硬件条件和现有设备,也只能允许非破坏性检测;

(2)不需要触发硬件木马。本论文设计的时序型硬件木马触发时序为“111111”,理论上运行27即128次才会触发,但由于时钟频率高还是能比较快的触发。但是通过简单的修改就可以大大提高硬件木马被触发的时间。因此在硬件木马静默状态下进行测试是理想的。

(3)可以进行全局测试。不需要进行节点采样,在FPGA开发板上新建采样节点也是比较复杂的,通过电路功耗的对比识别可以提高效率,降低测试难度。

本论文拟采用FPGA作为硬件木马与芯片的运载平台进行功耗检测。FPGA为基于CMOS工艺的集成电路,电路的功耗包括静态功耗和动态功耗。静态功耗是电路未工作状态下由晶体管泄漏电流引起的功耗,即泄露功耗。静态功耗Pleakage计算公式如式(1)所示:

Pleakage-VDD· Ileakaee

(l)

式中VDD为晶体管的供电电压,Ileajage为晶体管总漏电流。

动态功耗是电路在工作状态下晶体管在导通和截止两种状态中转换引起的功耗,而这部分的功耗又包括两部分:状态转换过程中的

以上分析可见,COMS电路功耗与时钟频率有很大关系,在基于侧信道硬件木马识别的过程中,可以将时钟频率作为信号采集样本集的一个特征值。基于论文现有的硬件条件,对于电路负载电容的分析测量较为困难,因此如何采集电路功耗并识别硬件木马功耗是主要难点。

文献[16]中提出,在集成电路中,将硬件木马的功耗作为电路总功耗的噪声功耗来处理。这种处理方法,是将时序型和组合型硬件木马对电路的修改,一并看作工艺噪声,理论上是可行的:对比原始电路和有硬件木马的电路,作为同一批次样本,其工艺噪声应该相似,若噪声信号区别较大,则可判定为存在硬件木马。其测试方式为测试全局电流。

3 硬件木马功耗测试方法研究

论文依据上一章的理论,展开基于全局电流的功耗测试。同时,为了便于识别判定硬件木马,需要测试数据集有足够的多组特征值。理论上频率增大,电路功率会增大,并可初步认为硬件木马电路与目标电路功率的增幅对频率变化的响应不同,因此在改变输入时钟频率信号作为激励时,可以进一步研究频率的变化与硬件木马检测识别的联系。

对式(6)进行变式得到式(7)。电流测试,采用不同频率信号输入作为激励,测试电流信号响应进行采样。次样本中测试偏差不大,或偏差不干扰硬件木马功耗,那么根据电路全局电流的差异,一定程度上就可以判断电路中是否含有硬件木马。

频率信号的发生,采用ISE提供的时钟分频IP核,该IP核能提供20MHz-100MHz的时钟频率。

由于提供的时钟为连续时钟,基于时序得到的连续采样或多点采样无法对其分析,因此,在时钟频率可作为样本集特征值的情况下,进行静态电流采样,即得到[F,W]的频率.功耗样本集。

4 基于分类学习的硬件木马检测研究

4.1 有无硬件木马芯片功耗检测结果分析

本文设计编译的程序,包括无硬件木马的流水灯电路A和含有时序型硬件木马的流水灯电路B,分别下载烧写到FPGA中固化后,脱机供电运行。功耗的测试采样,为不同时钟频率下全局电流响应,图l为侧信道电流测试结果。

测试数据显示:含有硬件木马的电路B全局电流测试结果大于不含硬件木马的原始电路A,即时序型硬件木马对侧信道功耗的作用可识别。在21个采样点中,原始电路A的全局电流均值为63 .429mA,含硬件木马的电路B全局电流均值为63.917mA。

直接测试结果表明,时序型硬件木马植入到电路中,对原始电路侧信道信号造成了影响,通过图2全局电流测试的结果.可以识别出含硬件木马的电路,即全局电流更大的电路。

识别结果在建立在原假设的基础上:假设A和B噪声信号在测试中相等,A与B的偏差都由硬件木马造成。数字万用表采集全局电流,是测试采样时间区间内均值,可以忽略测试误差。根据测试曲线分析,在高频时( >60MHz)识别效果可观,在低频(<50MHz),A与B电流差值小,很难直接区分。根据直接测试分析结果,有以下结论:

(1)基于侧信道功耗检测的硬件木马识别方法是可行的,在假设工艺噪声一致的前提下,通过全局电流的检测可以识别原始电路和含有硬件木马的电路;

(2)对于时序型硬件木马,频率.功耗的特征关系是存在的,这一特征对于含有时钟频率的集成电路也基本适用,全局功耗随着频率增大而增大。在硬件木马检测中,初步结论显示,频率越高,硬件木马识别效果越好;

(3)论文时序型硬件木马形成的实体硬件条件,与真实的芯片环境还有差距,工艺噪声对基于FPGA开发板的流水灯硬件木马功耗影响微弱,但对于集成电路芯片影响可能会较大,因此直接识别是不够的,需要研究一种信号差异较小情况下的判别方法。

4.2 基于分类学习的硬件木马检测结果分析

判别分析是对未知类别的样本进行归类的一种方法,判别分析的研究对象是已经确定了类别的样本,根据抽样的样本建立判别公式和判别准则,然后根据这些判别公式和判别准则,判别未知类别的样品所属的类别。

论文研究中,硬件木马识别面临的问题是,部分样本容易识别,部分样本难以确定,因此在原理上可以采用这种判别分析的方法。与常规的集成电路功能测试相比,硬件木马检测存在一个较大的潜在问题:即使电路中含有硬件木马,其参数也不会超过电路正常工作阈值,那么对一批芯片进行硬件木马检测,就需要对每一个芯片都采取测试后分析,比较参数差异后人工判别硬件木马的有无,这种判别无疑是低效率的,测试数量庞大时人为误判的可能性就很高。

论文依据马氏距离判别的原理,研究了一种基于机器分类学习的硬件木马快速识别方法,基本原理方法是:用己知无硬件木马的原始特征数集A和已知有硬件木马的特征数集B,作为训练数组,使机器进行拟合学习,形成一种硬件木马判定依据,然后以此模型去检验其它样品数集,确定其它数集是符合A类还是B类,从而达到自动测试和快速识别的效果。

分类学习是MATLAB中开发的成熟分类学习程序,基于机器分类学习的硬件木马快速识别方法流程如下:

4.2.1 导入学习数据

将已知的无硬件木马A特征数集和有硬件木马B特征数集进行整理,以频率和全局电流为输入,输出为A和B类别特征C,A--l表示无木马,B-1表示有木马。即以[C,f,I]为元素的3x42矩阵。

4.2.2 机器学习数据

图3中row 3即全局电流特征值I,row 2为时钟频率特征值f,row 1为输出特征值,硬件木马类别C。以rOW 3和row 2作为模型学习的输入( Predictor),以row 1为输出响应( Response),选取迭代學习次数,进行模型学习。迭代选取交叉验证的方式,迭代次数最高为样本组数。

4.2.3 选取最佳模型

机器分类学习,根据机内设定的23中模型进行,并最终得出最佳的匹配模型。

图4为训练后得到的数组结果,其中最符合的两种是基于Complextree和Mediumtree的模型,学习中交叉验证的正确率为66 7%。

4.2.4 生成分类工具

使用Exportmodel选项即可生成学习了硬件木马分类的模型工具TrainedClassifier,并可在工作区调用。

4.2.5 调用分类工具进行快速判别

调用分类工具的指令为:

yfit = trainedClassifier.predictFcn(X)

X为需要进行判别的数组。

论文研究再次测试了一组流水灯电路(未知是否含有硬件木马)的频率.功耗,将其用分类学习工具进行判定,运行以下指令:

X= xlsread(数据4.xlsx)

yfit = TrainedClassifier.predictFcn(X)

bar(yfit)

图5为指令运行得到的判定结果。根据定义.1为无硬件木马,l为有硬件木马,识别效果达到为73.57%。显然所测的特征值數集为植入了硬件木马的流水灯电路。返回查看流水灯代码,确定是含有硬件木马的电路,判别准确。

论文研究得到的基于分类学习的硬件木马快速识别方法,可以大大提高批产品硬件木马检测的效率,以此为基础,可以实现硬件木马检测的自动化识别。

5 结论

本论文开展了基于侧信道检测的时序型硬件木马检测方法研究,选取全局电流作为侧信道测试的信号,与硬件木马类型特征无关,成果完成检测识别,证明了基于侧信道功耗的硬件木马检测方法,可作为通用检测方法对集成电路上未知类型的硬件木马进行检测;在此基础上,研究设计了一种基于分类学习的硬件木马快速识别方法,通过机器分类学习建立模型,以此来分析未知数组,可达到自动化检测识别硬件木马的效果,识别效果达到为73.57%。该方法有助于在形成硬件木马检测需求时,大大提高检测效率。

参考文献

[1]王晓晗,李雄伟,张阳等,一种基于故障注入的硬件木马设计[J],军械工程学院学报,2015 (05):57-61.

[2]谢海,恩云飞,王力纬.电磁泄漏型硬件木马设计与检测[J].广东工业大学学报,2013 (04):70-73.

[3]谢方方,李雄伟,张阳等,基于RS232协议时隙的硬件木马设计[J].科学技术与工程,2013,13 (28):8284-8287.

[4]罗宏伟.集成电路芯片安全隐患检测技术[J].半导体技术,2007,32 (12):1094-1097.

[5]李振,李磊,冯稳锋等,一种低触发率的硬件木马设计[J].微电子学与计算机,2014 (05).

[6]罗宏伟.集成电路芯片安全隐患检测技术[J],半导体技术,2007. 32 (12):1094- 1097.

[7] Jha S, Jha S K. RandomizationBased Probabilistic Approach toDetect Trojan Circuits [C]// IEEEHigh Assurance Systems EngineeringSymposium. IEEE Computer Society,2008: 117-124.

[8]Pomeranz I, Reddy S M. A Measure ofQuality for n-Detection Test Sets [J].IEEE Transactions on Computers,2004, 53 (11): 1497-1503.

[9]薛明富,胡爱群,王箭.基于探索式分区和测试向量生成的硬件木马检测方法[J].电子学报,2016. 44 (05):1132-1138.

[1O] Becker G T, Kasper M, Moradi A, etal.

Side-channel

based wa terma rksfor integrated circuits [C],/ IEEEInternat ional

Sympos ium on Hardware-Oriented Security and Trust. IEEE,2010: 30-35.

[11]Agrawal D. Baktir S, KarakoyunluD, et al. Trojan Detection using ICFingerprinting [J] . 2008: 296-310.

[12]Lamech C, Rad R M, Tehranipoor M,et al. An Experimental Analysis ofPower and Delay Signal-to-NoiseRequirements for Detecting Trojansand Methods for Achieving theRequired Detection Sensitivities [J].IEEE Transactions on InformationForensics & Security, 2011,6 (03) : 1170-1179.

[13] Rai D. Lach J. Performance of delay-based Trojan detection techniquesunder parameter variations [C]. IEEEInternational Workshop on Hardware-Oriented Security and Trust. IEEEComputer Society, 2009: 58-65.

[14] Nowroz A N. Hu K, Koushanfar F, et al.Novel Techniques for High-SensitivityHardware Trojan Detection UsingThermal and Power Maps [Jl. Computer-Aided Design of Integrated Circuitsand Systems, IEEE Transactions on,2014,

33 (12): 1792-1805.

[15lRad R M, Wang X, Tehranipoor M, etal. Power supply signal calibrationtechniques for improving detectionresolution to hardware Trojans [C].Ieee/acm International Conferenceon Computer-Aided Design. IEEE,2008: 632-639.

[16]赵志勋,倪林,李少青.硬件木马电路功耗的检测方法[J],北京邮电大学学报,2015, 38 (04): 128-132.