基于神经网络的硬件木马检测方法与流程

文档序号:14452766阅读:173来源:国知局

本发明涉及集成电路可信任性检测技术领域,具体涉及一种基于神经网络学习算法的硬件木马检测方法,结合旁路分析技术可有效检测出硬件木马。



背景技术:

随着电子设计自动化技术和半导体制造工艺的飞速发展,单个集成电路芯片集成的晶体管数目越来越多,其功能越来越强大,从而集成电路芯片广泛的应用于现代科技的各个领域,特别在金融设备,移动通信,交通运输,政府和能源等敏感领域,集成电路对社会的进步和经济的发展起着越来越大的推动作用。

而随着集成电路产业的发展,设计与制造逐渐分离。在设计与制造的过程中,可能会有部分恶意攻击者参与其中,在不受控的电路设计与制造过程中会植入恶意的电路,即硬件木马。硬件木马主要是指在芯片或电子系统中故意植入的特殊模块或者设计者无意留下的缺陷模块。这部分电路会在特殊条件下触发,从而被攻击者利用。硬件木马可以独立完成攻击功能,如泄露信息给攻击者、改变电路功能、甚至直接破坏电路,也可能与软件协同破坏系统功能。硬件木马能够实现对专用集成电路(asic)、微处理器、微控制器、网络处理器、数字信号处理器(dsp)等硬件的修改,也能实现对fpga比特流等固件的修改

硬件木马可能存在于集成电路全生命周期的各个阶段,硬件木马为攻击者打开攻击之门,使攻击者可以轻松绕过各种传统测试和加密等坚固壁垒,硬件木马问题正在成为集成电路的重要安全隐患,一旦被硬件木马影响的芯片被应用于军用装备及国民经济核心领域中,将会带来严重的灾难和不可估计的经济损失,因此开展硬件木马的检测与防护技术研究,保证集成电路的安全可信是世界各国的共同关注的话题。

近年来,随着研究的逐渐深入,在硬件木马检测技术方面取得了卓越的成果。目前硬件木马检测分为逆向工程,逻辑功能分析和旁路信号分析三种,其中以旁路分析研究最为广泛。

旁路信号分析主要是通过采集芯片在工作时泄漏的旁路信息(如功耗、温度、电磁辐射等),利用信号处理技术(相关性分析、主成份分析、投影寻踪等)进行空间变换和压缩实现特征提取,对基准芯片和待测芯片的旁路特征进行差异判别,如果差异超出阈值,则待测芯片中存在硬件木马,否则,待测芯片不存在硬件木马。旁路信号分析具有检测成本低、精度高、移植性好等优点,一经提出就展示出较为乐观的应用前景,成为当前硬件木马检测方法的主流。但随着硬件木马设计技术的发展,现阶段新型硬件木马植入方式巧妙,且体积更小,对电路旁路信息的影响愈加不明显,并且在测试过程中由于测量仪器的精度限制和工艺噪声的影响,小面积的硬件木马的物理特征表征的不明显,容易被噪声所淹没,这就为硬件木马的旁路信息检测技术带来了困难。

参考文献

[1]mclaughlinn,delrinconjm,millerp.videopersonre-identificationforwideareatrackingbasedonrecurrentneuralnetworks[j].ieeetransactionsoncircuitsandsystemsforvideotechnology,2017.

[2]bhunias,hsiaoms,bangam,etal.hardwaretrojanattacks:threatanalysisandcountermeasures[j].proceedingsoftheieee,2014,102(8):1229-1247.

[3]shender,ambawadedd.asidechannelbasedpoweranalysistechniqueforhardwaretrojandetectionusingstatisticallearningapproach[c]//thirteenthinternationalconferenceonwirelessandopticalcommunicationsnetworks.ieee,2016:1-4.

[4]hej,zhaoy,guox,etal.hardwaretrojandetectionthroughchip-freeelectromagneticside-channelstatisticalanalysis[j].ieeetransactionsonverylargescaleintegration(vlsi)systems,2017。



技术实现要素:

为克服现有技术的不足,本发明旨在提高硬件木马的检测效率,通过采集原始电路及待测电路工作过程中的旁路信息,并通过神经网络学习算法处理数据,实现两类电路数据的明显区分,从而实现硬件木马的检测。

本发明在旁路信号分析的基础思想上,提出一种基于神经网络的硬件木马检测方法,利用训练神经网络算法来处理旁路信息,从而实现硬件木马的识别。

本发明采用的技术方案是,基于神经网络的硬件木马检测方法,利用训练神经网络算法来处理旁路信息,从而实现硬件木马的识别,其中神经网络为自组织神经网络,是无监督的神经网络,采用无教师的学习方式,通过寻找输入样本中的内在规律,不断地对网络参数进行自动修正,实现对输入样本的自动分类,其网络学习规则采用竞争学习,自组织神经网络的输出神经元通过相互竞争来获取对于输入样本的响应机会,同一时刻只有一个神经元胜出并通过竞争获得胜利;结构上,自组织神经网络只包含两层神经元,第一层为输入层,第二层为竞争层即输出层,两层之间神经元间实现全互连。

具体步骤如下:

步骤1:旁路信息采集平台搭建:由fpga芯片、数字示波器、电流信息采集探头、电磁信息采集探头、信号放大器、高精度固定平台以及计算机组成,用于测量电路工作过程中的电压、电流、功耗、电磁等信息;

步骤2:原始电路信息采集:将不含硬件木马的原始电路下载至fpga芯片中,利用旁路信息采集平台采集其工作过程中的功耗信息,共采集1000个周期的实验数据,每个周期采集1000个数据点;

步骤3:神经网络训练:利用matlab实现自组织神经网络,其输入层包含1000个神经元,竞争层包含2个神经元,利用步骤2中的1000组测试数据对神经网络进行训练;

步骤4:待测电路数据测量:对待测的功耗信息进行采集,仅需采集1组数据,该组数据需包含1000个点;

步骤5:数据区分:将待测电路数据设置为步骤3中训练好的神经网络的输入数据,观察输出结果,若输出结果与原始数据一致,认为待测电路△不含硬件木马,反之则认为其中含有硬件木马成分。

具体训练过程如下:

a)权连接初始化,对所有从输入结点到输出结点的连接权值赋予随机的小数,置时间计数t=0;

b)对网络输入模式xk=(x1,x2,…,xn),n=1000,xk分别表示1000组测试数据,xi则表示每组数据中的1000个点;

c)计算输入与全部输出结点所连接向量的距离dj:

式中wij表示设定的输出节点;

d)具有最小距离的结点nj竞争获胜;

e)调整输出结点j*所连接的权值nj*及几何邻域nej*内的结点所连权值

其中η(t)是训练时间t和邻域内第j个神经元与获胜神经元nj*之间的拓扑距离n的函数;

f)重复步骤b-e,直至1000组数据训练完毕。

步骤4:待测电路数据测量:对待测的功耗信息进行采集,仅需采集1组数据,该组数据需包含1000个点。

本发明的特点及有益效果是:

(1)本发明利用前沿的神经网络算法处理测试数据,通过大量原始数据对神经网络进行训练,使神经网络具有相当高的辨识度,提高了待测电路中硬件木马的检测精度。

(2)测试过程主要工作量在于神经网络的训练阶段,该神经网络一经训练好,即可稳定、高速的工作。对于其他任何类型的待检测电路,仅需测量一组数据即可实现检测,检测速度快,且具有普适性。

附图说明:

图1神经网络示意图。

图2技术方案流程图。

图3旁路信息采集平台。

具体实施方式

由于硬件木马尺寸的不断缩小,以及工艺噪声和测试误差的影响,硬件木马旁路检测技术的灵敏度受到影响,使得对电路旁路信息影响较小的硬件木马不能被检测出来。为提高硬件木马的检测效率,本发明提出一种基于神经网络的硬件木马检测方法。该方法通过采集原始电路及待测电路工作过程中的旁路信息,并通过神经网络学习算法处理数据,实现两类电路数据的明显区分,从而实现硬件木马的检测。

关于硬件木马检测,各国先后开展了大量研究。但随着集成电路规模的增大以及硬件木马设计的日益精密,木马电路在整体电路中所占面积比越来越小,且木马绝大多数时间处于静默状态,这就为硬件木马的旁路信息监测带来了困难。为克服现有技术的不足,本发明提出一种基于神经网络的硬件木马检测方法。具体采取自组织神经网络的方式。

我们知道,集成电路中的任何部分都会对电路的旁路信息(如电流、功耗、电磁等)产生影响,若电路中被插入硬件木马,将使得电路中出现冗余部分,从而影响整体电路的旁路信息,使其发生改变。基于此种思想,本发明选取旁路信息中的功耗信息作为研究对象,通过对比分析处理之后的功耗信息,进行原始电路(不含木马电路)与含木马电路的区分。

由于硬件木马体积较小且植入隐蔽,其对整体电路旁路信息造成的影响较小,直接的测量数据不能直观的反应原始电路与含木马电路差异,这就需要我们选取适当的算法对数据进行处理。本发明采取自组织神经网络算法,将原始电路的功耗信息作为依据,对神经网络进行竞争训练,利用训练完成的神经网络对待测电路的测试数据进行区分,若待测电路的竞争(输出)结果与原始电路的结果一致,则认为其不含硬件木马,反之则认为其存在威胁。

本发明提出的完整技术方案如下:

图2为本方案的整体技术流程图,该方法主要包括下述步骤:

步骤1:旁路信息采集平台搭建:利用项目组现有实验设备,搭建旁路信息采集平台,如图3所示。该测试平台由spartan6系列fpga、测试板(含有传输电路、放大电路、测试接口)、数字示波器、电流信息采集探头、电磁信息采集探头、信号放大器、高精度固定平台以及上位机组成,可测量电路工作过程中的电压、电流、功耗、电磁等信息;

步骤2:原始电路信息采集:将不含硬件木马的原始电路下载至fpga中,利用测试板中的放大电路对电路工作过程中的电流信息进行放大,并连接至测试接口处,然后将示波器与测试引脚连接,直接采集放大后的电流信息,通过电流信息表征电路功耗,共采集1000个周期的实验数据,每个周期采集1000个数据点,将示波器采集到的数据通过u盘保存,并传输至计算机用于后续步骤;

步骤3:神经网络训练:利用matlab实现自组织神经网络,其输入层包含1000个神经元,竞争(输出)层包含2个神经元。利用步骤2中的1000组测试数据对神经网络进行训练,具体训练过程如下:

g)权连接初始化,对所有从输入结点到输出结点的连接权值赋予随机的小数,置时间计数t=0。

h)对网络输入模式xk=(x1,x2,…,xn),n=1000,xk分别表示1000组测试数据,xi则表示每组数据中的1000个点。

i)计算输入与全部输出结点所连接向量的距离dj:

式中wij表示设定的输出节点。

j)具有最小距离的结点nj竞争获胜

k)调整输出结点j*所连接的权值nj*及几何邻域nej*内的结点所连权值

其中η(t)是训练时间t和邻域内第j个神经元与获胜神经元nj*之间的拓扑距离n的函数。

l)重复步骤b-e,直至1000组数据训练完毕。

步骤4:待测电路数据测量:对待测的功耗信息进行采集,仅需采集1组数据,该组数据需包含1000个点;

步骤5:数据区分:将待测电路数据设置为步骤3中训练好的神经网络的输入数据,观察输出结果,若输出结果与原始数据一致,认为待测电路△不含硬件木马,反之则认为其中含有硬件木马成分。

本发明从信息安全出发,提出了一种基于神经网络的硬件木马检测方法。此检测方法首先需要利用旁路信息平台采集原始电路功耗数据。其次构建神经网络,利用大量的原始数据训练对神经网络进行训练,使得神经网络可以识别不含硬件木马的原始电路的功耗信息,并对其他类型的差异信息进行区分。完成神经网络的训练后,即可开展硬件木马检测工作。对于待测电路仅需测量一组相同结构的功耗数据,输入神经网络,若输出结果与原始电路一致,则认为待测电路不含硬件木马,反之认为其存在硬件木马部分。

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