论文部分内容阅读
当前硬件木马的检测方法主要围绕基于旁路信息检测和基于功能检测两大主题。随着芯片特征尺寸的降低,工艺波动的增大降低了基于旁路信息检测方法的分辨率,甚至使其彻底失效。因而分析、查找硬件木马可能的注入点,来增强硬件木马的活性或者实现彻底激活木马的方法就越发重要。 硬件木马的触发条件由其自身结构决定,但是触发的概率却由注入点决定。选取不同位置作为注入点,硬件木马被触发的概率便不同。攻击方倾向于选择低活性的节点状态注入硬件木马,这样木马便不容易被激活,从而达到最大程度的隐蔽性。同时,由于节点活性低,注入木马后给电路带来的旁路信息增益较小,也有利于规避旁路信息检测方法。这就是分析电路内部节点活性,判断木马注入点方法的依据。 现有的基于活性分析检测硬件木马方法,利用Synopsys公司的TetraMax软件,使用TCL语言编程完成目标电路活性测度,对于可能的硬件木马注入点,采用插入硬件控制单元的手段进行保护和检测。TetraMax软件内部并不透明,缺少Synopsys公司的协助时,我们难以利用其实现对电路活性的测度。同时采用插入硬件控制单元的手段,存在四个主要问题:给电路带来额外的硬件开销;检测节点固化,灵活性差;攻击方易于从插入的单元判断出检测方试图保护的节点及状态;插入的硬件单元增加了路径延时,降低了电路性能,容易引起时序问题。 本文提出的以电路活性测度为基础,生成面向硬件木马检测的测试矢量,从而保护、检测低活性节点状态的方法,克服了现有方法的缺点,具有便于扩展,灵活性强的特点。 所提出的方法包括三个步骤:BENCH文件生成,电路活性测度和硬件木马检测测试矢量集生成。首先使用PERL语言编程完成了电路网表转换程序,完成电路分析入口文件生成。其次,在ATALANTA软件基础上,编程实现了电路活性测度程序,完成对电路内部节点活性的计算、统计。第三,修改ATALANTA软件,实现面向硬件木马检测的测试矢量生成。 本文选取ISCAS’89基准电路进行了实验。实验数据证明:电路内部节点的活性分布是不均衡的,存在容易被攻击方利用的低活性节点状态;随着电路规模的增大,内部低活性节点数目增多;传统的面向故障诊断的ATPG方法不适用于直接检测硬什木马;通过生成面向硬件木马检测的测试矢量,能够有效检测、保护低活性节点状态,解决了现有方法带来的问题。 本文提出的方法,属于基于功能检测方法的范畴,也可用于辅助旁路信息方法,以提高其检测结果的分辨率。该方法可被视作基于活性分析,生成芯片测试矢量“指纹”的方法。