一种基于活性测度的硬件木马检测方法

文档序号:5945244阅读:283来源:国知局
专利名称:一种基于活性测度的硬件木马检测方法
技术领域
本发明涉及硬件木马检测方法,具体的说是涉及一种基于活性測度的硬件木马检测方法,属于芯片安全检测领域。
背景技术
硬件木马(hardware trojan),是指芯片在设计或制造过程中,被攻击方添加、插入到目标电路(target circuit,又称golden chip)中的恶意硬件模块。在一定条件下,硬件木马被触发,能够实现干扰、破坏电路的正常工作或者窃取电路机密信息的目的。伴随着半导体制造产业的全球化发展,芯片被引入安全隐患的可能性越来越 大。出于降低成本的需要,制造厂商由原来的高成本区域向低成本区域转移,使得制造过程中缺乏有效的安全性监瞀。而为了加快上市速度,在大規模芯片设计中通常采用了大量由第三方提供的IP (Intellectual Property)模块、模型和EDA (ElectronicDesignAutomation,设计自动化)工具等等,也使得设计过程中的具体细节不可控。这些都带来了巨大的安全隐患。硬件木马可能存在于专用集成电路、微处理器、微控制器、网络处理器和数字信号处理器,甚至可能存在于FPGA (Field Programmable Gate Array,现场可编程门阵列)中。硬件木马通常由触发部分(trigger)和载荷部分(payload)两部分构成。触发部分用来监测目标电路特定逻辑状态、特定逻辑状态组合或者特定信号,完成对硬件木马的激活。载荷部分执行木马的攻击操作,实现目标电路机密信息泄露或者破坏目标电路原有功能的目的。硬件木马具有下述特点I、规模小,占用目标芯片面积开销小。由于这ー特点,硬件木马电路给目标电路带来的相关參数増益小,因而在电路的各种旁路參数或电磁參数中表现的不明显,很容易为エ艺波动、測量噪声所覆盖。2、隐蔽性強。硬件木马一般都设置了较为隐蔽的触发条件,因而能够在正常电路大部分运行周期中,都处于“沉寂”状态,不影响目标电路的正常工作。这ー特性,使之能够逃避常规的基于功能的芯片检测手段。3、破坏性強。由于芯片属于当今系统的核心部分,一旦发生功能异常,整个系统随之失效。芯片已经成为信息社会的物理基础,滲透到社会生活的各个方面,尤其在军事、金融和通信领域,更是如此。因而芯片的安全性要求日益提升到重要的角度。正是由于硬件木马存在的巨大可能性和广泛性,由于芯片在现实社会的基础性,使得进行硬件木马检测方法的研究有迫切的现实意义。围绕硬件木马的检测,Mohammad等人提出了基于反向工程(reverseengineering)的方法。该方法是指通过对芯片去封装,完整提取电路的版图信息,还原电路结构,从而做出电路中是否存在硬件木马的判断。但是超大規模集成电路的复杂性,使得进行这一方法成本高昂。芯片特征尺寸向深亚微米发展,使得进行反向工程面临较大困难。即便运用反向工程方法能够判断所检测芯片中是否含有硬件木马,但是仍旧不能断定未检测芯片中是否包含硬件木马。由于反向工程是破坏性方法,在确认无硬件木马后,芯片已经不可使用。由于硬件木马加入目标电路后,会给目标电路带来额外的旁路信息増益,因而学术界提出了基于旁路信息分析的方法。该方法通过比对待测电路(circuit under test)与目标电路的相应旁路信息參数,例如延时、瞬态电流和功耗等等,做出待测电路是否包含硬件木马的判断。这种方法不依赖对硬件木马的彻底激活,不考察电路的逻辑功能。通常情形下,由于硬件木马规模小,而随着特征尺寸的不断减小,エ艺波动带来的參数波动加大,木马带来的旁路信息參数波动会被エ艺波动带来的參数波动掩盖。由于エ艺波动从特征上 满足正态分布,而硬件木马给目标电路带来的波动是线性的,因而借助于特征分析、模式识别和数据处理中的算法,如主成分分析法(Principal Component Analysis),奇异值分解(Singular Value Decomposition),对待测电路数据和目标电路数据进行处理,能够将两者区分开来。硬件木马的输入通常来源于目标电路中特定节点,当目标电路出现特定逻辑状态或者逻辑状态序列时,硬件木马会被激活,从而影响目标电路功能。因而围绕将硬件木马激活,从而在功能的角度将硬件木马检测出来也是硬件木马检测的ー个方向。为有效激活硬件木马,Banga等人提出了一种基于区域分割的分析方法。其思路为通过对电路进行划分,形成ー组待检测的区域,然后使用随机测试方法产生测试矢量,进ー步筛选出能够满足激活特定区域而对其他区域影响较小的矢量,实现通过矢量对电路的分割。Wolff等人提出了另ー种基于测试矢量生成的硬件木马检测方法。他们指出,硬件木马触发部分的输入端应该来自于目标电路中活性较低的节点,从而使得硬件木马不易被激活。但是对于电路中节点的活性,没有提出定量度量的方法。

发明内容
本发明的技术目的是提供一种基于活性測度的硬件木马检测方法,从而实现芯片安全性检测。为了达到上述目的,本发明开发了对于组合电路和时序电路进行活性測度的方法,以及在此基础上进行硬件木马检测的步骤。本发明实现目的的技术方案是本发明提供的一种基于活性測度的硬件木马检测方法,如图I所示,包含三个部分.bench文件生成,电路活性測度和硬件木马检测测试矢量集生成。.bench文件生成主要是按照图2转换原则,对目标电路门级网表中数据进行转换,形成新的文件格式,为程序语言构建数据结构,还原电路拓扑提供入ロ文件。对于时序电路,在.bench文件生成中,将触发器输出端转换为电路输入端ロ(PPI),将触发器输入端转换为电路输出端ロ(PPO)。电路活性的測度方法是在随机测试模式下,电路输入端ロ逻辑值为O和I的活性分别为0. 5,随着路径的加深和逻辑器件类型的不同,节点O、I逻辑值的活性会趋向于不均衡,活性低的节点容易为硬件木马所利用。通过对电路分级,即可将电路所有节点的活性计算出来,节点活性的大小反映出被插入硬件木马可能性的大小。
硬件木马检测测试矢量集生成步骤主要包括,在选取出容易被硬件木马利用的节点列表后,通过排斥性分析,生成节点状态组合,使用测试矢量覆盖每ー组状态组合,从而完成低活性节点组合的测试矢量集生成,完成硬件木马检测的工作。本发明的有益效果在于本发明针对组合电路和时序电路,提出了完整的节点活性測度方法,有助于对可能被硬件木马用作输入端ロ的节点判断,定量掲示了硬件木马可能存在的位置。对于可能被硬件木马利用的节点状态组合,本发明使用测试矢量来完整覆盖这些状态组合,不必插入控制点,不产生硬件开销。同时可以通过对不同活性层次的节点进行考虑,分别产生测试矢量,具有灵活性强的特点。本发明还可以用作硬件木马可测性设计中保护节点的选取。


图I本发明流程示意图。 图2本发明针对时序电路处理示意图。图3本发明电路网表转换规则示意图。图4本发明提出的活性測度方法示意图。图5本发明节点分组与测试矢量集生成示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,以下结合附图对本发明作进ー步地详细说明。本发明ー种基于活性測度的硬件木马检测方法,其步骤包括第一阶段数据预处理I、检查输入文件格式,若电路格式符合提出的.bench文件格式,如图3所示,则进入下ー阶段。2、使用peri语言,按照图3所示转换原则将目标电路门级网表结构转换为.bench文件格式。该转换简化了电路表达形式,有利于使用程序语言还原电路的拓扑结构。对于时序电路,由于时序器件的存在,使得电路正常工作时,节点逻辑与时间相关,在这种模式下测度节点活性较为困难。在当前的电路设计中,为后期芯片测试的需要,通常会将触发器转换为扫描触发器,在测试模式下,可以实现对扫描触发器输入端ロ的直接逻辑控制,如图2所示。因此,在测试模式下,触发器输出与电路输入有相同的意义。因而在.bench文件生成中,将触发器输出端转换为电路输入端(PPI),触发器输入端转换为电路输出端(PPO),经过转换,电路完全成为组合电路形式。第二阶段电路活性測度3、使用程序语言读入.bench文件,将每ー逻辑门与数组元素对应,在数组中,使用指针,把逻辑门扇入、扇出关系建立起来,数组元素中存储门逻辑类型、扇入、扇出以及节点O、I活性等信息。4、按照从输入到输出的关系将电路分级。5、逐级计算节点活性。如图4所示,设置输入端ロ逻辑O和I的活性均为0.5,图中用(0.5,0.5)表示,前者为节点出现逻辑O的活性值,后者为节点出现逻辑I的活性值。按照逻辑门的类型,计算输出节点逻辑O和逻辑I的活性。对于逻辑“与”门,其输出为I的活性等于各输入为I的活性乘积。逻辑“或”门,其输出为O的活性等于各输入为O的活性乘积。其他逻辑门同理计算。节点逻辑O和逻辑I的活性之和为I。第三阶段测试矢量集生成与硬件木马检测下列步骤结合图5说明。图5为电路中部分节点示意,其中节点i为I活性较低节点,j为O活性较低节点,k为I活性较低节点。6、设置活性阈值,生成低活性节点列表。图5中i、j、k即为低活性节点,节点列表为L = [i (I),j (O),k (I)],其含义为电路中i节点逻辑值为I,j逻辑值为0,k逻辑值为I的状态都有可能被硬件木马利用。7、按照排斥性原则对节点进行元素最大化分组。对于图5,首先生成A = [i(l)],B= [j(0)],C= [K(I)]三组,每组包含ー个元素。第二,对于节点列表中的其他节点,逐一做添加判定如果要添加节点的活性矢量与组中已有节点的活性矢量无冲突,将该节点添加到本组中。活性矢量是指是节点i为其活性值时要求的输入矢量。图5中,i (I)、j (O)活性冲突,即节点i为I和节点j为O不能被同时满足,因而不能被添加到同一组中。经过该步,最終产生两组A= [i(l),k(l)],B= [j(0),k(l)]。其含义为,电路中容易被硬件木马利用的状态组合有A和B两种形式。8、测试矢量集生成。产生满足状态A和状态B的测试矢量,形成矢量集。以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人 员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等等,均应包含在本发明的权利要求范围之内。
权利要求
1.一种基于活性測度的硬件木马检测方法,其特征在于,包含三个部分.bench文件生成,电路活性測度和硬件木马检测测试矢量集生成;其中,硬件木马检测测试矢量集生成包括三个步骤 1)生成电路低活性节点列表; 2)将每ー节点添加到一組,将节点列表中其余节点逐一判定如果判定节点活性矢量与该组中已有节点的活性矢量无冲突,则将所判定节点添加到该组; 3)针对每组对应节点状态,生成测试矢量,形成测试矢量集。
2.如权利要求I所述的活性測度及其方法,其特征在于,对组合逻辑直接进行电路分级,按照门逻辑类型进行活性计算,对于时序逻辑将触发器单元转换为扫描触发器,将扫描触发器输出端视为电路输入端ロ计算。
3.如权利要求I所述的低活性节点,其特征在于,在对电路进行随机测试情形下,电路中节点逻辑值为O或者为I的活性低于所设定的活性阈值。
4.如权利要求I所述的活性矢量,其特征在于,使得0(1)活性较低的节点逻辑值为0(1)对应的输入矢量。
全文摘要
本发明公开了一种基于活性测度的硬件木马检测方法,该方法包括三个部分.bench文件生成,电路活性测度和硬件木马检测测试矢量集生成。本发明通过分析电路网表,计算电路内部节点的活性值,产生电路低0活性节点和低1活性节点列表,然后对节点进行判定分组,生成硬件木马检测测试矢量集。本发明可以设置不同活性阈值,不带来检测硬件木马的额外硬件开销,能够有效检测组合逻辑型硬件木马。本发明也可用作硬件木马可检测设计方法中目标节点选取。
文档编号G01R31/3183GK102662144SQ20121009066
公开日2012年9月12日 申请日期2012年3月30日 优先权日2012年3月30日
发明者冯建华, 安辉耀, 尚子靖, 张兴, 李蕾, 王新安 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1