基于少态节点遍历的硬件木马检测方法与流程

文档序号:13208480阅读:1069来源:国知局
基于少态节点遍历的硬件木马检测方法与流程

本发明涉及硬件木马领域,具体涉及一种高效的硬件木马检测方法,可有效检测出隐藏度较高的硬件木马。



背景技术:

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

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

近年来随着对硬件木马研究的逐渐深入,在硬件木马的检测技术方面取得了很多成果,主要有物理检测、功能检测、旁路信号分析三种。

物理检测是一种破坏性检测。该方法对芯片进行破坏性检测,不仅耗时,成本较高,而且只能做部分的抽样检查。在大量待测芯片中应用这种方法不能遍历每一个芯片,因此不能保证每一个芯片都是安全的。随着电子工艺的快速发展,物理检测的弊端越来越明显,在当今硬件木马的检测技术中已经很少使用到失效分析来检测芯片中是否存在硬件木马。

功能检测技术是在vlsi(超大规模集成电路)故障检测与差错检查的基础上发展起来的,在输入端口施加测试向量,观察电路的输出信号与预期的输出之间的差异,从而判断硬件是否存在缺陷与木马。该方法需要观察输出信号的变化,不受工艺偏差和测量噪声的影响,能够检测出小尺寸的硬件木马,但是该方法需要激活硬件木马,这对测试向量集的长度要求很严格,寻找合适的测试向量需要耗费较多的时间。

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

虽然目前已经有很多硬件木马检测技术被研发出来,但对于被故意插入在少态节点的、小面积、低激活率的硬件木马,检测效率仍较低。如果硬件木马无法被检测出,而使得被插入木马的集成电路芯片流入市场,会导致现代信息系统完全暴露在硬件木马的攻击之下,将造成无法估计的损失。

参考文献

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

[2]tehranipoorm,tehranipoorm.introductiontohardwaresecurityandtrust[m].springerberlinheidelberg,2011.

[3]赵毅强,冯紫竹,史亚峰,等.一种基于缩短激活时间的硬件木马检测方法[j].华中科技大学学报(自然科学版),2014(6):85-89。

[4]karrir,rajendranj,rosenfeldk,etal.trustworthyhardware:identifyingandclassifyinghardwaretrojans[j].computer,2010,43(10):39-46。



技术实现要素:

为克服现有技术的不足,本发明旨在提出一种硬件木马检测方法,提高硬件木马检测效率,增强集成电路系统的安全性。本发明采用的技术方案是,基于少态节点遍历的硬件木马检测方法,首先通过对已知的无木马电路进行反向分析,得到其网表级电路用于对比;然后对待测电路的网表级电路进行分析,通过查找定位待检测电路中的少态节点并筛选,对筛选得到的节点前后级逻辑进行挖掘,识别其中存在的冗余逻辑与可疑逻辑,并通过与原始无木马网表级电路进行比对,实现硬件木马的检测。

具体步骤细化为:

步骤1:rtl(registertransferlevel)级电路随机测试向量的产生与测试:根据原始电路建立仿真验证平台,利用synopsys公司的数字电路仿真软件vcs仿真原始电路设计,产生测试的vcd文件;

步骤2:测试文件的转换:利用eda(electronicsdesignautomation)工具,将步骤1中生成的vcd(videocompactdisk)文件转换成saif(switchingactivityinterchangeformat)文件,saif文件包含电路中各节点的翻转信息;

步骤3:利用perl(practicalextractionandreportlanguage)脚本处理软件,对生成的saif文件进行提取并分析,获取节点的翻转概率信息列表;

步骤4:设置临界概率阈值,确定低活性节点列表:依据节点翻转率信息列表,设置适当的翻转率阈值,根据设置的临界概率阈值确定节点的低活性节点列表,去除重复的节点、电源和地等不变的节点,得到筛选后的低活性节点列表;

步骤5:定位少态节点位置,执行识别操作:继续利用perl语言编写脚本,分析电路结构,定位已确定的少态节点位置,定义合适的检测范围,对少态节点的前后电路逻辑关系进行识别,并记录识别结果,标识出电路中的冗余逻辑与可疑逻辑;

步骤6:原始电路的少态节点识别操作:对已知不存在硬件木马的原始安全电路进行反向分析,得出其网表级电路,然后进行步骤1-5的操作,并记录结果用于对比;

步骤7:待测电路与原始电路识别结果对比:将步骤5与步骤6的识别结果进行对比,着重对比标识出的冗余逻辑与可疑逻辑,若待测电路与原始电路的识别结果存在差异,则认定待测电路中存在硬件木马,反之则认为其安全。

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

(1)本发明通过查找定位电路中低翻转率节点,对该类节点前后级逻辑进行挖掘,识别冗余逻辑与可疑逻辑,通过与原始电路进行比对,可高效、快速的检测出插入在电路中的硬件木马。

(2)整个检测过程通过编写perl脚本、借助eda工具实现,检测速度快,效率高。脚本文件仅需编写一次,做少量修改即可适用于不同类型的电路结构,使得该检测方法具有普适性。

附图说明:

图1简单逻辑电路。

图2插入木马后的逻辑电路。

图3技术方案流程图。

具体实施方式

现有的硬件木马检测技术,很难检测出被故意插入在少态节点的、小面积、低激活率的硬件木马。为提高硬件木马检测效率,增强集成电路系统的安全性,本发明提出了一种基于少态节点遍历的硬件木马检测方法。该方法通过查找定位电路中低翻转率节点,对该类节点前后级逻辑进行挖掘,识别冗余逻辑与可疑逻辑,通过与原始电路进行比对,可有效检测出插入在电路中的硬件木马。

关于硬件木马检测,各国先后开展了大量研究。但随着集成电路规模的增大以及硬件木马设计的日益精密,木马电路在整体电路中所占面积比越来越小,且木马绝大多数时间处于静默状态,这就使得木马电路很难被检测出来。而为了规避检测,恶意攻击者常将硬件木马插入到电路中翻转率较低的节点(又称少态节点)处,常规的检测方法无法有效的检测出此类硬件木马。为克服现有技术的不足,提高硬件木马的检测精度,本发明提出一种基于少态节点遍历的硬件木马检测方法。

目前的硬件木马绝大多数都以数字电路为载体。在数字电路的设计过程中,设计者通过编写硬件语言实现电路功能。在将硬件语言综合之后则可得到网表级电路,网表级电路以各节点间逻辑关系的形式表征电路功能,而此时电路中的少态节点正是恶意攻击者插入硬件木马的首选位置。图1所示为一简单的逻辑电路。如图2所示,若某个节点被插入硬件木马,则该节点与其前后相连接电路的逻辑关系会发生改变。

检测网表级电路的逻辑状态,可以有效检测出硬件木马。但集成电路规模庞大,节点众多,检测所有节点成本将不可估计。已知硬件木马多插入在少态节点中,故仅需对电路中少态节点进行逻辑挖掘对比即可实现硬件木马的检测。

以此为基础,本发明提出的方法首先通过对已知的无木马电路进行反向分析,得到其网表级电路用于对比。然后对待测电路的网表级电路进行分析,通过查找定位待检测电路中的少态节点并筛选,对筛选得到的节点前后级逻辑进行挖掘,识别其中存在的冗余逻辑与可疑逻辑,并通过与原始无木马网表级电路进行比对,实现硬件木马的检测。

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

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

步骤1:rtl级电路随机测试向量的产生与测试:根据原始电路建立仿真验证平台,利用synopsys公司的数字电路仿真软件vcs仿真原始电路设计,产生测试的vcd文件;

步骤2:测试文件的转换:利用eda工具,将步骤1中生成的vcd文件转换成saif文件,saif文件包含电路中各节点的翻转信息;

步骤3:利用perl脚本处理软件,对生成的saif文件进行提取并分析,获取节点的翻转概率信息列表;

步骤4:设置临界概率阈值,确定低活性节点列表:依据节点翻转率信息列表,设置适当的翻转率阈值,根据设置的临界概率阈值确定节点的低活性节点列表,去除重复的节点、电源和地等不变的节点,得到筛选后的低活性节点列表;

步骤5:定位少态节点位置,执行识别操作:继续利用perl语言编写脚本,分析电路结构,定位已确定的少态节点位置。定义合适的检测范围,对少态节点的前后电路逻辑关系进行识别,并记录识别结果。标识出电路中的冗余逻辑与可疑逻辑;

步骤6:原始电路的少态节点识别操作:对已知不存在硬件木马的原始安全电路进行反向分析,得出其网表级电路,然后进行步骤1-5的操作,并记录结果用于对比;

步骤7:待测电路与原始电路识别结果对比:将步骤5与步骤6的识别结果进行对比,着重对比标识出的冗余逻辑与可疑逻辑,若待测电路与原始电路的识别结果存在差异,则认定待测电路中存在硬件木马,反之则认为其安全。

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