针对IP固核网表的硬件后门移除方法技术

技术编号:24889150 阅读:76 留言:0更新日期:2020-07-14 18:16
本发明专利技术公开了一种针对IP固核网表的硬件后门移除方法,首先基于有向图模型,可以成功地找到硬件木马电路的起始端,即木马起始挂载节点;然后固化起始挂载节点,删除无效逻辑单元,可以成功地切断木马电路和主电路之间的连接,并将木马电路固定在未触发状态;最后向后传播固态信号,利用真值表消除冗余项方法,逐层修改木马电路。经过与木马插入前的网表文件对比,本发明专利技术可以成功删除掉硬件木马电路,且不会对网表的正常功能造成影响。本发明专利技术为修复存在硬件后门的网表提供了一种有效的方法,在IP固核修正后再利用方面具有重要意义。

【技术实现步骤摘要】
针对IP固核网表的硬件后门移除方法
本专利技术属于硬件安全
,具体涉及一种针对IP固核网表的硬件后门移除方法的设计。
技术介绍
当今社会信息高度全球化,集成电路设计越来越复杂,但是对软件设计的成本和时间要求也逐步提高。所以,芯片生产大多采用流水线的工作方式,在设计、生产、测试等阶段需多家厂商共同完成,且使用大量的第三方IP。芯片制造过程的不透明,导致硬件设备存在巨大的安全隐患。因此剔除IP核中的硬件后门非常有意义。目前主流的硬件后门检测方法分为3类:边信道信号分析法、逆向工程法、逻辑验证法。美国Jin等人基于边信道信号,提出一种全延时路径指纹检测方法。Salmani提出一种基于门级网表节点的可测试性和无监督机器学习的方法,能够在无需激活木马的情况下,有效地识别网表中的硬件后门。Hicks等人提出一种未使用的电路识别(UCI)的检测方法,在芯片设计时检测隐藏在电路中的恶意后门。目前大量的研究都集中在识别集成电路中是否存在硬件后门,而对如何剔除硬件木马鲜有研究。Bao等人使用逆向工程法,通过逆向后的单层成像图与可信任的成像图之间的差值来检测芯片中的硬件木马。这种方法虽然可以定位到硬件木马的位置,但是其检测方法本身就已经对芯片造成不可逆的破坏,也就无法剔除后门电路,实现芯片的再利用。
技术实现思路
本专利技术的目的是提出一种针对IP固核网表的硬件后门移除方法,在不影响网表正常功能的情况下,能够完全剔除硬件后门。本专利技术的技术方案为:针对IP固核网表的硬件后门移除方法,包括以下步骤:S1、根据IP固核网表中的逻辑单元集合建立有向图模型。S2、利用有向图模型中节点的连接关系识别木马电路的边界,从中提取出木马起始挂载节点。S3、计算木马起始挂载节点的可控制性值,根据可控制性值固化木马起始挂载节点,并向后传播固态信号,删除无效逻辑单元。S4、层级遍历木马电路的有向图节点,逐层修改木马电路,对逻辑单元进行去输入冗余,获取输出节点状态,并根据输出节点状态修改逻辑单元,传播固态信号,删除无效电路,得到移除硬件后门后的修正电路。进一步地,步骤S1包括以下分步骤:S11、将IP固核网表中的逻辑单元集合C划分为用于存放木马电路逻辑单元的木马逻辑单元集CT和用于存放普通电路逻辑单元的普通逻辑单元集CN。S12、遍历逻辑单元集合C,对每个逻辑单元c∈C,提取c的输出节点n加入到节点集V中,从而构建得到节点集V。S13、遍历逻辑单元集合C,对每个逻辑单元c∈C,为c的每个输入输出对创建有向边<ni,nj>,并将有向边<ni,nj>加入到边集E中,从而构建得到边集E;其中ni为c的输入节点,nj为c的输出节点。S14、根据节点集V和边集建立有向图模型G(V,E)。进一步地,步骤S12中对于节点ni∈V且逻辑单元ci∈C,则ni和ci可相互索引,即ni→ci和ci→ni都成立。进一步地,步骤S12中的节点集V分为木马节点集VT和普通节点集VN。进一步地,步骤S2包括以下分步骤:S21、设置访问过的节点集木马起始挂载节点集合S22、选择任意木马节点nT∈VT且将木马节点nT加入访问过的节点集W和队列结构R中。S23、判断队列结构是否成立,若是则取队列结构R的队头元素nTi,进入步骤S24,否则进入步骤S28。S24、在有向图模型G(V,E)中获取队头元素nTi的输入集Ii和输出集Oi。S25、遍历输入集Ii,将满足nj∈Ii且的节点nj加入访问过的节点集W和队列结构R中。S26、遍历输出集Oi,将满足nj∈Oi且的节点nj加入访问过的节点集W中。S27、将满足的队头元素nTi加入木马起始挂载节点集合S1中,返回步骤S23。S28、判断是否对于任意木马节点nT∈VT都满足nT∈W,若是则输出得到木马起始挂载节点集合S1,否则返回步骤S22。进一步地,步骤S3包括以下分步骤:S31、获取木马逻辑单元集CT和木马起始挂载节点集合S1,并设置木马起始挂载节点的下一层节点集合S32、从木马起始挂载节点集合S1中取出一个节点ni。S33、根据SCOAP算法计算节点ni的可控制性值CC1(ni)和CC0(ni)。S34、从有向图模型G(V,E)中获取节点ni的输出节点集Oi1,从木马逻辑单元集CT中取出节点ni对应的逻辑单元ci。S35、判断CC1(ni)<CC0(ni)是否成立,若是则将节点ni设置为固态值“1'b1”,进入步骤S36,否则将节点ni设置为固态值“1'b0”,进入步骤S36。S36、遍历输出节点集Oi1,对于节点nk∈Oi1,从木马逻辑单元集CT中取出对应的逻辑单元ck,并将逻辑单元ck中出现节点ni的地方使用步骤S35获得的固态值进行替换,将替换更新后的逻辑单元ck加入木马逻辑单元集CT中,并将满足的节点nk加入木马起始挂载节点的下一层节点集合Snext中。S37、判断木马起始挂载节点集合是否成立,若是则输出得到木马逻辑单元集CT和木马起始挂载节点的下一层节点集合Snext,否则返回步骤S32。进一步地,步骤S4包括以下分步骤:S41、获取木马逻辑单元集CT和木马起始挂载节点的下一层节点集合Snext,并设置临时集合S42、令临时集合Sstart=Snext,木马起始挂载节点的下一层节点集合S43、从临时集合Sstart中取出一个节点ni0。S44、从有向图模型G(V,E)中获取节点ni0的输出节点集Oi0,从木马逻辑单元集CT中取出节点ni0对应的逻辑单元ci0。S45、遍历输出节点集Oi0,将满足nk0∈Oi0且nk0在木马逻辑单元集CT中无对应逻辑单元的节点nk0从输出节点集Oi0中移除。S46、判断逻辑单元ci0中是否存在固态值输入节点,若是则根据真值表消除冗余项方法对逻辑单元ci0进行去输入冗余,判断节点ni0的状态,若节点ni0为“remove”状态,则进入步骤S47,若节点ni0为“cut”状态,则进入步骤S48,若节点ni0为“change”状态,则进入步骤S49,若逻辑单元ci0中不存在固态值输入节点,则进入步骤S410。S47、遍历输出节点集Oi0,对于节点nk0∈Oi0,从木马逻辑单元集CT中取出对应的逻辑单元ck0,并将逻辑单元ck0中出现节点ni0的地方使用固态值进行替换,将替换更新后的逻辑单元ck0加入木马逻辑单元集CT中,并将满足的节点nk0加入木马起始挂载节点的下一层节点集合Snext中,进入步骤S410。S48、遍历输出节点集Oi0,对于节点nk0∈Oi0,从木马逻辑单元集CT中取出对应的逻辑单元ck0,并将逻辑单元ck0中出现节点ni0的地方使用非固态值输入节点进行替换,将替换更新后的逻辑单元ck0加入木马逻辑单元集CT中,并将满足的节点nk0加入木马起始挂载节点的下一层节点集合Sne本文档来自技高网...

【技术保护点】
1.针对IP固核网表的硬件后门移除方法,其特征在于,包括以下步骤:/nS1、根据IP固核网表中的逻辑单元集合建立有向图模型;/nS2、利用有向图模型中节点的连接关系识别木马电路的边界,从中提取出木马起始挂载节点;/nS3、计算木马起始挂载节点的可控制性值,根据可控制性值固化木马起始挂载节点,并向后传播固态信号,删除无效逻辑单元;/nS4、层级遍历木马电路的有向图节点,逐层修改木马电路,对逻辑单元进行去输入冗余,获取输出节点状态,并根据输出节点状态修改逻辑单元,传播固态信号,删除无效电路,得到移除硬件后门后的修正电路。/n

【技术特征摘要】
1.针对IP固核网表的硬件后门移除方法,其特征在于,包括以下步骤:
S1、根据IP固核网表中的逻辑单元集合建立有向图模型;
S2、利用有向图模型中节点的连接关系识别木马电路的边界,从中提取出木马起始挂载节点;
S3、计算木马起始挂载节点的可控制性值,根据可控制性值固化木马起始挂载节点,并向后传播固态信号,删除无效逻辑单元;
S4、层级遍历木马电路的有向图节点,逐层修改木马电路,对逻辑单元进行去输入冗余,获取输出节点状态,并根据输出节点状态修改逻辑单元,传播固态信号,删除无效电路,得到移除硬件后门后的修正电路。


2.根据权利要求1所述的硬件后门移除方法,其特征在于,所述步骤S1包括以下分步骤:
S11、将IP固核网表中的逻辑单元集合C划分为用于存放木马电路逻辑单元的木马逻辑单元集CT和用于存放普通电路逻辑单元的普通逻辑单元集CN;
S12、遍历逻辑单元集合C,对每个逻辑单元c∈C,提取c的输出节点n加入到节点集V中,从而构建得到节点集V;
S13、遍历逻辑单元集合C,对每个逻辑单元c∈C,为c的每个输入输出对创建有向边<ni,nj>,并将有向边<ni,nj>加入到边集E中,从而构建得到边集E;其中ni为c的输入节点,nj为c的输出节点;
S14、根据节点集V和边集建立有向图模型G(V,E)。


3.根据权利要求2所述的硬件后门移除方法,其特征在于,所述步骤S12中对于节点ni∈V且逻辑单元ci∈C,则ni和ci可相互索引,即ni→ci和ci→ni都成立。


4.根据权利要求3所述的硬件后门移除方法,其特征在于,所述步骤S12中的节点集V分为木马节点集VT和普通节点集VN。


5.根据权利要求4所述的硬件后门移除方法,其特征在于,所述步骤S2包括以下分步骤:
S21、设置访问过的节点集木马起始挂载节点集合
S22、选择任意木马节点nT∈VT且将木马节点nT加入访问过的节点集W和队列结构R中;
S23、判断队列结构是否成立,若是则取队列结构R的队头元素nTi,进入步骤S24,否则进入步骤S28;
S24、在有向图模型G(V,E)中获取队头元素nTi的输入集Ii和输出集Oi;
S25、遍历输入集Ii,将满足nj∈Ii且的节点nj加入访问过的节点集W和队列结构R中;
S26、遍历输出集Oi,将满足nj∈Oi且的节点nj加入访问过的节点集W中;
S27、将满足的队头元素nTi加入木马起始挂载节点集合S1中,返回步骤S23;
S28、判断是否对于任意木马节点nT∈VT都满足nT∈W,若是则输出得到木马起始挂载节点集合S1,否则返回步骤S22。


6.根据权利要求5所述的硬件后门移除方法,其特征在于,所述步骤S3包括以下分步骤:
S31、获取木马逻辑单元集CT和木马起始挂载节点集合S1,并设置木马起始挂载节点的下一层节点集合
S32、从木马起始挂载节点集合S1中取出一个节点ni;
S33、根据SCOAP算法计算节点ni的可控制性值CC1(ni)和CC0(ni);
S34、从有向图模型G(V,E)中获取节点ni的输出节点集Oi1,从木马逻辑单元集CT中取出节点ni对应的逻辑单元ci;
S35、判断CC1(ni)<CC0(ni)是否成立,若是则将节点ni设置为固态值“1'b1”,进入步骤S36,否则将节点n...

【专利技术属性】
技术研发人员:王坚杨鍊李桓陈哲
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1