在集成电路设计过程中,芯片设计者会使用来自第三方的知识产权(IP)核以加快集成电路设计流程[1],但是第三方IP中可能存在硬件木马,而硬件木马电路一旦被激活,将执行预先设定的恶意功能,因此须要开展针对第三方IP中硬件木马的检测研究.现有的检测技术大多针对硬件木马的触发结构开展检测,具体技术手段包括代码覆盖率分析、静态结构性分析、逻辑测试[2-3]、形式化验证、功能性分析和运行时的验证等.在静态结构性分析与功能性分析技术[4]的研究中:文献[5]通过定量化分析电路内部不同区域中输入信号对输出结果的控制能力来进行硬件木马检测;文献[6]提出了一种基于机器学习的硬件木马触发结构特征分类技术;文献[7]将可测试设计中组合逻辑的可控性和可观测性引入到硬件木马检测中;文献[8]提出了一种结合结构特征匹配和切换率特征分析的硬件木马检测方法.以上基于静态结构分析与功能性分析的方法仍存在一些不足.由于电路内部可能存在与硬件木马节点结构相似的正常节点,因此仅通过静态结构分析技术进行分析可能会导致检测结果出现节点误识别;同时若缺少针对电路拓扑结构的分析,仅依靠动态功能性分析,则可能会造成对现有电路中硬件木马可疑节点的漏检.为此,本研究提出一种结合静态结构分析与动态功能性分析的硬件木马检测方法,通过在时序层级抽象并构建待测电路的控制数据流图,借助功能性分析建立硬件木马动态可疑节点集合,并利用静态结构特征匹配以实现硬件木马的检出.1 隐式触发型木马与时序抽象算法1.1 隐式触发型硬件木马硬件木马是一种在IC设计、制造全流程中的某一个或多个环节引入的具有特定恶意功能的电路结构.其基本结构包括触发结构和有效载荷.触发结构负责接收内部或外部输入信号,进而激活硬件木马;有效载荷结构则在接收到激活信号后实施恶意功能.现有的较为广泛使用的功能验证技术,通过向电路施加测试激励,实现对电路功能、时序信息等潜在设计问题的验证.一般而言,攻击者会谨慎设计硬件木马触发结构,降低硬件木马的触发概率,构建隐式触发型硬件木马[9],因此功能性验证已难以保证硬件木马的检出.本研究的检测对象主要包含正常工作中触发概率低于1×10-6的隐式触发型硬件木马,该类型硬件木马在1×106量级[8]时钟周期内依然难以被触发.本研究通过分析硬件木马的触发机制,进行网表结构的抽象化建模,分离出电路时序逻辑的连接关系,并作为后续硬件木马检测的结构依据.1.2 时序层级抽象化建模流程考虑到硬件木马的基本结构,硬件木马能否工作依赖于激活信号产生与否,通过分析待测电路内部的信号流向,可实现对潜在硬件木马触发结构的检测.本研究通过分析门级电路中数据流向可知:时序逻辑元件之间的连接关系可以反映信号的流向,而与时序逻辑相关联的组合逻辑块则控制时序逻辑元件间信号的流通.因此静态结构分析须重点考虑组合逻辑或时序逻辑的信号流向特征.但是若直接根据组合逻辑结构特征分析硬件木马的触发结构,则可能会因结构特征构建过于具体造成较高的误识率,同时会引入非必需计算量[5],降低检测方法的有效性.由此,本研究将触发器等时序逻辑元件作为元节点,由元节点的直接连线代替原有组合逻辑块的连接关系,构建网表抽象化时序控制数据流图.通过分析数据控制流图中时序节点之间的连接关系,即可确定电路中信号流向,实现硬件木马触发结构的筛选.抽象化建模算法流程如下.步骤1 提取电路所有门级元件的元件名与输入输出端口;步骤2 选取时序元件构成时序元件集合S,并以时序逻辑元件集合中任意节点为起点开始遍历;步骤3 选取集合S中暂未遍历过的时序元件A;步骤4 初始化临时队列Tq,将时序逻辑元件A加入Tq,开始临时队列遍历操作;步骤5 逆数据流向遍历对应元件的输入端口所连的未遍历上级元件B;步骤6 若元件B属于集合S,则顺序执行步骤7,否则跳转至执行步骤8;步骤7 将元件B标记为A的上级节点,同时标记A为B的下级节点,并将结果保存入字典Ds中,跳转执行步骤9;步骤8 将元件B加入Tq,返回步骤5;步骤9 若Tq中所有元件已经遍历完成且不再有新元件加入,则执行步骤10,否则返回步骤5;步骤10 清空Tq;步骤11 若集合S中仍有未遍历的节点,则返回步骤3,否则结束循环,算法结束,返回保存抽象化模型连接关系的字典Ds.在执行以上算法后,可得到储存信号流动关系的模型字典Ds,调用该字典即可获取电路时序节点连接关系,该模型为结构特征匹配提供模型基础.为了更好描述信号流向特性,本研究的检测结果将时序节点作为基本节点.2 硬件木马混合特征检测框架2.1 动态节点信号特征筛选抽象化模型提供了从时序级分析电路信号流向的方法,然而考虑到组合逻辑块内部也存在一定的逻辑结构,本研究在静态结构特征匹配的基础上引入动态功能性分析,通过向电路内部注入测试激励,可将组合逻辑块内部结构信息转化为线路翻转信息,以功能性分析的方法实现对待测电路的翻转率特征分析.功能性分析的对象为原始待测电路网表,使用动态翻转率Pt作为描述电路内部线路信号特征的度量,其计算公式为Pt=Tc/Ts,式中Tc与Ts分别为在动态仿真周期内翻转次数与总时钟周期数.在功能性分析阶段,通过向电路的数据输入端注入一定数量的随机测试向量作为激励,记录电路内部所有线路的Tc,依据上述公式计算电路内部线路翻转率.获取翻转率计算结果后,本研究通过设定翻转率阈值,筛选翻转率低于阈值的时序节点.经过功能性分析,翻转率特征筛选剔除了大部分电路内部正常节点及少量触发节点,通过分析正常工作时电路信号特征,为本研究缩小木马节点的检测范围,进而提高了检测精度,然而功能性分析仍然存在一定误识别率.因此本研究利用结构特征匹配对动态可疑节点进行木马检测.2.2 硬件木马静态特征建立与筛选根据硬件木马基本构成,可将现有逻辑型硬件木马分为组合逻辑型、时序逻辑型和混合型三种类型,不同类型的逻辑型硬件木马采用了不同的触发结构.组合逻辑型硬件木马的触发结构主要由多路选择器等组合逻辑元件组成,当输入逻辑值达到预设值即产生激活信号;时序逻辑型硬件木马的触发结构是由二进制计数器等时序模块组成,计数到特定值即产生激活信号;混合型硬件木马则以状态机等模块为代表,该木马通过接收特定逻辑值由当前状态跳转到下个状态,触发结构的状态遍历完成后即产生激活信号.根据上述分类标准,本研究对不同类型硬件木马的结构特征进行讨论.a. 组合逻辑型硬件木马.组合型硬件木马的触发结构接收特定的逻辑值输入作为触发条件.在硬件木马接收到正确逻辑值后便产生相应的激活信号,激活硬件木马有效载荷.此种类型的硬件木马触发仅取决于当前输入数据,因此其隐蔽性的增强依赖于硬件木马输入信号位宽的增加.基于以上观察,将组合逻辑型硬件木马的特征归纳为:在抽象化模型中,节点入度大于等于预设检测阈值,并记为特征1.若阈值设定为3,则将入度大于等于3的节点记为木马节点.b. 时序逻辑型硬件木马.时序型硬件木马的触发结构在接收到一定顺序的时钟信号后触发.在时钟计数达到预设值后,硬件木马的触发结构会产生激活信号并激活硬件木马的有效载荷.时序型硬件木马触发取决于时钟周期计数值,隐蔽性由木马内部计数器的深度决定.时序逻辑型硬件木马的特征描述为:在抽象化模型中,计数器环路长度大于等于规定阈值,且环路内所有节点的扇入非环路节点都相同,记为特征2.在介绍计数器环路的定义前,须要先引入自循环节点与内向节点对的概念.定义1 自循环节点:在时序抽象化模型中,某节点的扇入节点集包含该节点自身.定义2 内向节点对:对于两个自循环节点C与D,若节点C的扇入自循环节点集包含于节点D的扇入自循环节点集,则称C为D的内向节点,C与D构成内向节点对.由此即可引入计数器环路的概念.定义3 计数器环路:对自循环节点集合φ,若φ中任意两节点均构成内向节点对,则称φ内部所有节点构成一个计数器环路,计数器环路长度为集合φ的大小.如图1所示,节点C1,C2,C3和C4构成一个长度为4的计数器环路.10.13245/j.hust.210501.F001图1结构特征2示意图c. 混合型硬件木马.通过结合时序型和组合型触发结构,攻击者可以构建混合型硬件木马,其隐蔽性增强与输入位宽和计数器环路长度均有关.其中,触发结构为状态机的硬件木马即为一种典型的混合型硬件木马.因此,可以引入节点外部输入位宽的概念.定义4 外部输入位宽:对于计数器环路内部某节点,该节点的扇入节点集合中非环路内部的节点数量.根据特征1和特征2的描述,将混合型硬件木马特征归纳为:对于计数器环路节点集,集合内节点外部输入位宽与计数器环路长度之积大于等于阈值,记为特征3.图2所示的结构环路外部输入位宽N与环路长度M之积为9.10.13245/j.hust.210501.F002图2结构特征3示意图针对以上三种类型硬件木马构建相应的结构特征匹配算法,根据检测需求确定算法阈值,依次分析待测电路抽象化模型内被标记的动态可疑节点,即可得到硬件木马的时序节点集合,实现对相应类型硬件木马的检测.3 阈值设定分析与实验结果3.1 实验设置本研究的检测对象为IP核内潜在的逻辑型硬件木马,即由内部逻辑值触发的硬件木马,无法应用于传感器型等类型硬件木马的检测.若待测电路为RTL级描述,则须要将其进行逻辑综合,库文件选取SMIC公司0.180 μm工艺库.整体研究框架分为动态功能性与静态结构分析两部分:动态功能性分析的仿真平台为VCS工具;静态结构分析包括抽象化建模算法与静态结构特征匹配算法,均由Python语言编写而成.3.2 阈值设定分析3.2.1 动态翻转率特征筛选阈值在动态仿真过程中,须要以较短仿真时间获取电路内部活动性信息,因此以功能验证的仿真周期为基准,通过调节正确的采样或控制信号,本研究向基准电路的数据输入端注入1×106组随机激励,并记录节点翻转率.当确定翻转率筛选特征时,根据触发概率低于1×10-6的检测需求,则须要尽可能提高正确识别硬件木马节点的数量,同时也要降低识别结果中正常节点数量.因此,本研究将翻转率特征筛选阈值设定为1×10-5,即在随机测试激励下,翻转概率小于等于1×10-5的时序节点加入动态可疑节点集.3.2.2 静态木马结构特征匹配阈值对于组合逻辑型硬件木马,触发概率由触发结构所能接收数据的位宽决定,如果每个扇入节点代表1 bit输入,那么以多路选择器为例,由220≈1×106可知:设计20 bit及以上的输入位宽即可实现正常工作时触发概率小于1×10-6的硬件木马.综上,将特征1筛选阈值设定为20.对于时序逻辑型硬件木马,触发概率由计数器的深度决定,计数器环路中每一个节点即为二进制计数器结构中1 bit,若计数器的深度(计数器环路长度)为M,则须要运行2M个时钟周期以产生激活信号.为实现低于1×10-6的触发概率,则须要将深度设置到20 bit以上.特征2的筛选阈值也设定为20,且规定若其他特征检测结果与特征2检测结果部分节点相同时,均计入特征2的检测结果.对于混合型硬件木马,其触发概率既由触发结构输入位宽决定,也由计数器环路长度决定.因此,一方面,计数器环路中每个节点外部输入位宽为N,故每个状态的触发概率为2-N;另一方面,计数器环路长度为M时,不同于计数器,作为环路的状态机包含状态数介于M和2M之间,为了避免对可能存在混合型硬件木马的漏检,将状态数记为M.综合考虑每个状态的转移概率和可能的状态总数,则该状态机构成硬件木马触发结构的触发概率至少为2-MN;同时,根据木马检测需求将特征3筛选阈值也定为20.3.3 实验结果本实验中选取Trust-Hub[10-11]网站中BasicRSA,RS232和AES基准电路,其中涵盖了组合型、时序型与混合型硬件木马.所有硬件木马检测结果如表1所示,表中:R为结果中木马节点数量;T为电路木马节点数量.由表中结果可知现有电路基准内13种硬件木马均已检出.10.13245/j.hust.210501.T001表1硬件木马检测节点数量结果统计电路名硬件木马类型动态翻转率筛选结果静态结构特征匹配结果误报节点数/结点总数特征1特征2特征3TRTRTRAES-T400组合逻辑型28112626000/6.9×103AES-T5001324400000/6.9×103AES-T700851100000/6.8×103AES-T800884400000/6.8×103AES-T900时序逻辑型34100257257000/7.1×103AES-T120025700257257000/7.1×103AES-T150032900257257000/7.0×103RS232-T30025003333000/91RS232-T50018003333000/91BasicRSA-T30057203333002/597BasicRSA-T40069703333007/597RS232-T900混合型50000440/62RS232-T90150000440/62在实现对硬件木马结构完整识别的基础上,现有的硬件木马检测方法采用假阳性率和准确率等指标评估硬件木马检测效率.假阳性率Rfp与准确率Acc的计算公式为Rfp=Fnor/Snor;Acc=Ttro/Sres,式中:Fnor为阳性结果中正常节点数量;Snor为电路中正常节点总数量;Ttro为阳性结果中木马节点数量;Sres为检测结果中节点总数.通过将本研究检测结果与文献[8]和文献[12]中相应基准检测结果的假阳性率与准确率进行比较,得到结果对比如表2所示.10.13245/j.hust.210501.T002表2硬件木马检测假阳性率与准确率结果统计电路名RfpAcc本研究文献[8]本研究文献[12]AES-T40000100100AES-T50000100100AES-T70000100100AES-T80000100100AES-T90000100100AES-T120000100100AES-T150000100100RS232-T30000100100RS232-T50000100100BasicRSA-T3000.342.5392.1425BasicRSA-T4001.172.5582.525RS232-T90000100RS232-T90100100%从硬件木马类型角度出发,针对组合型硬件木马,本研究实现了无误报的检测结果.针对时序型与混合型硬件木马,相较于文献[8],本研究在大部分基准实现了无误报的结果,对BasicRSA-T300与BasicRSA-T400型硬件木马检测结果中假阳性率更低,达到了0.34%与1.17%;相较于文献[12],本研究检测结果同样实现了更高的准确率,分别为92.14%与82.5%.这是因为:a. 动态翻转率筛选的过程既保留了部分硬件木马触发结构,也过滤了大部分内部正常节点,降低了在特征匹配过程中正常节点的干扰;b. 本研究提供的静态时序型硬件木马特征更精确,有效排除了与计数器结构直接相连的其他节点;c. 对于动态翻转率筛选遗漏的计数器节点,静态结构特征匹配还原了硬件木马结构.从电路基准的角度出发,本研究在BasicRSA电路中显著提高了硬件木马的检测效率,仅因为误报部分乘法器节点产生了假阳性结果.上述基准的检测结果表明:相对于仅依靠静态信号特征检测硬件木马的文献[8]和文献[12],动态翻转率特征筛选结合静态结构特征匹配过程提高了检测效率.综上可知:本研究提出的混合特征分析的硬件木马检测方法通过结合静态结构特征与动态翻转率特征,可以确保较高的准确率与较低误识别率,有效保障待测电路安全可信.在未来的研究过程中,可以考虑通过对时序型硬件木马触发结构状态转移概率的定量化分析以提高对包含较多环路结构电路中硬件木马检测效率.4 结语针对目前第三方IP内易被引入硬件木马的安全威胁,本研究提出了一种基于混合特征分析的硬件木马检测方法.该方法首先在时序层级抽象并构建待测电路的控制数据流图,并借助功能性分析建立动态可疑节点集合,然后在此基础上利用静态结构特征匹配来实现硬件木马检测.以Trust-Hub内Basic-RSA,AES和RS232等基准电路的13种硬件木马为对象开展了检测实验,检测结果中硬件木马检出率达到100%,假阳性率控制在1.5%以内,准确率达到82.5%以上,成功实现了对硬件木马电路的识别.

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读