一种针对非完备门级网表的高精度硬件后门检测方法技术

技术编号:38488030 阅读:9 留言:0更新日期:2023-08-15 17:02
该发明专利技术公开了一种针对非完备门级网表的高精度硬件后门检测方法,涉及领域为硬件安全领域。该发明专利技术在IC逆向工程在有限资源条件下难以得到100%精确的逻辑网表的前提下,以高精度地完成硬件后门检测为目的。基于硬件后门节点的可测性特征值远大于正常节点的特征值,结合逆向工程得到的版图位置文件,通过IO、全局平均、范围搜索的方式不断逼近原特征值,从而使得后续聚类判断可有效实施。实现了在网表非完备的条件下,高精度的硬件后门检测。高精度的硬件后门检测。高精度的硬件后门检测。

【技术实现步骤摘要】
一种针对非完备门级网表的高精度硬件后门检测方法


[0001]本专利技术涉及领域为硬件安全领域,针对当前芯片逆向工程技术得出的非完备门级网表,提出了一种高精度硬件后门检测方法,增强了硅后芯片硬件后门检测技术的通用性,为硅后硬件后门检测提供了新思路。

技术介绍

[0002]在过去二十年中,由于半导体供应链的全球化和计算设备无处不在的网络连接,硬件安全和信任已成为一个紧迫的问题。硬件后门由其隐蔽性的特点在传统芯片验证测试阶段难以被发现,加之硬件后门的负载可任意选取因此赋予了攻击者极大的攻击自由从而使得硬件后门造成的损失难以估量。
[0003]当前,硬件后门检测技术根据检测的执行阶段可分为硅前(Pre

Silicon)检测与硅后(Post

Silicon)检测。硅前检测主要针对流片生产前的硬件设计文件进行,如HDL文件、网表文件、GDSII文件等。硅前检测方法较为丰富,包括功能性验证、结构分析、代码和电路覆盖分析、形式化验证等。硅后检测主要针对流片生产后的成品集成电路芯片(IC)进行,可进一步分为非破坏性方法和破坏性方法。其中非破坏性方法包括功能测试和边信道分析。破坏性方法是对抗硬件后门的最高保障手段,通过逆向工程(RE,Reverse Engineering)比对黄金IC或模型对IC进行可视验证,从最底层的物理结构排除硬件后门存在的可能。
[0004]2007年,Dakshi Agrawal等人在IEEE Symposium on Security and Privacy中首次提出“硬件后门”的概念,同时提出一种通过对芯片边信道设置“功耗指纹”的方式检测硬件后门的方法。2010年,美国伊利诺伊大学Hicks等人提出了一种未使用的电路识别(UCI)的检测方法。该方法在芯片设计时检测隐藏在电路中的恶意后门,其本质上是寻找在测试中未使用的电路部分,并将它们标记为潜在的恶意逻辑。2013年,美国哥伦比亚大学Waksman等人提出基于电路真值表提取信号节点控制值特征(FANCI),进而标记木马信号节点的检测方法。2016年,美国哈佛大学Hassan Salmani等人将Sandia可控性/可观测性分析程序(SCOAP)引入硬件后门检测中并结合机器学习算法提出了一种基于门级网表可控性和可观测性的无参考硬件后门检测与恢复技术(COTD)。2018年,Vashistha等人提出木马扫描仪(Trojan Scanner),它使用可信的GDSII布局(黄金布局)和扫描电子显微镜(SEM)图像来识别在电路制造过程中对网表所做的恶意修改。2020年,Stern等人使用非破坏性的后端激光探测方法检测木马。通过对两组不同的光电频率映射(EOFM)图像进行比较,可以识别出木马时序器件,进而找到硬件木马时序器件(FFs)的位置。
[0005]IC逆向工程旨在从物理IC或掩膜数据提取出门级或功能级网表等高级抽象表示以理解或验证IC功能模型。其工艺流程包括芯片去封装、化学或等离子蚀刻、砂轮抛光、电子显微镜成相存储、图像缝合、图像识别及处理、软件自动化网表提取等步骤。随着集成电路工艺节点的突飞猛进,IC逆向工程正面临着巨大的挑战。Lippmann等人提出,只要有足够的时间和资源,逆向工程可以恢复任何给定IC的构建模块,准确率高达99%,但从与硬件开
发和设计相关的商业实体角度来看,其目标不是让设计完全防止逆向工程,而是将这一过程推迟到足够长的时间,以引入完全新颖的设计和技术。因此,期望在合理的时间内,逆向工程能以100%精度完成逆向进而实现后门检测是不现实的。
[0006]综上所述,已知对IC的硬件后门检测方法都未从逆向工程的角度考虑非完备门级网表的问题,而本方法针对非完备门级网表实现高精度后门检测,为基于逆向工程的硅后硬件后门检测补齐了应用空白。

技术实现思路

[0007]本专利技术提出了一种针对非完备门级网表的高精度硬件后门检测方法。该方法关注基于逆向工程的后门检测技术输入门级网表非完备的问题,无需黄金电路样本,该方法即能高精度地检测待测网表是否含有硬件后门,并给出可疑木马节点。解决了现有硬件后门检测方法无法对非完备门级网表进行检测的问题,并填补了基于逆向工程的后门检测技术应用空白。
[0008]本专利技术旨在逆向门级网表非完备(器件丢失或连线丢失)的情况下,结合IC逆向版图文件中断点的物理位置邻近关系以推理出断点间可能的逻辑连接关系,进而高精度地完成对IC的硬件后门检测。首先预处理并建模门级网表;其次识别并定位断点信号;然后针对断点信号迭代计算可测试性特征值以逼近原始完备网表中断点特征值;最后通过无监督聚类算法比较类间距离完成后门判断。本专利技术中,断点特征值会不断迭代以逼近原始值,因此需要从不同的初始条件开始计算可测试性特征值。本专利技术完整流程如图1所示。因而本专利技术技术方案为:一种针对非完备门级网表的高精度硬件后门检测方法,该方法包括:
[0009]步骤1、非完备门级网表预处理与建模;
[0010]首先,读取非完备门级网表文件,提取IO及内部信号节点构成有向图顶点集合V={v1,v2,v3,,v
M
},集合中各顶点对象拥有信号名、驱动逻辑单元名、驱动逻辑单元类型;
[0011]其次,将逻辑器件输入输出信号节点对映射为有向图的边,构成边集E={e1,e2,e3,

,e
i
,

e
k
};其中某边e
i
=<n
i
,n
j
>表示顶点n
i
为某器件输入节点,且在有向图中指向同器件输出节点n
j
;每条边包括:边头节点名、边尾节点名、输入信号引脚名、所属逻辑器件名;
[0012]得到每个门级逻辑网表都映射为有向图G=(V,E),G由顶点集V和边集E组成;
[0013]步骤2、断点信号识别与定位;
[0014]将GDSII文件导入EDA(电子设计自动化)工具中,并使用EDA工具对版图作设计规则检查(DRC)以筛选出断线信号missnodes={n1,n2,

,n
m
};其次,获取断线n
i
连接到器件的引脚名pins(n
i
)={p1,p2,

,p
n
},并将n
i
断点类型Type(n
i
)作式1所示分类:
[0015][0016]其中,为空集,outpins={C1,SO,CO,S,Q,QN,ZN,Y},其中C1,SO,CO,S,Q,QN,ZN,Y为元件库中不同器件输出引脚名;即若某断线信号未连接到任一器件引脚则记作ISOLATE类断点信号,ISOLATE类断点信号表示孤立类断点信号,否则若该断线信号未连接到任一器件输出引脚则记作MI类断点信号,MI类断点信号表示输入缺失类断点信号,连接到任一器
件本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种针对非完备门级网表的高精度硬件后门检测方法,该方法包括:步骤1、非完备门级网表预处理与建模;首先,读取非完备门级网表文件,提取IO及内部信号节点构成有向图顶点集合V={v1,v2,v3,,v
M
},集合中各顶点对象拥有信号名、驱动逻辑单元名、驱动逻辑单元类型;其次,将逻辑器件输入输出信号节点对映射为有向图的边,构成边集E={e1,e2,e3,

,e
i
,

e
k
};其中某边e
i
=<n
i
,n
j
>表示顶点n
i
为某器件输入节点,且在有向图中指向同器件输出节点n
j
;每条边包括:边头节点名、边尾节点名、输入信号引脚名、所属逻辑器件名;得到每个门级逻辑网表都映射为有向图G=(V,E),G由顶点集V和边集E组成;步骤2、断点信号识别与定位;将GDSII文件导入EDA(电子设计自动化)工具中,并使用EDA工具对版图作设计规则检查(DRC)以筛选出断线信号missnodes={n1,n2,

,n
m
};其次,获取断线n
i
连接到器件的引脚名pins(n
i
)={p1,p2,

,p
n
},并将n
i
断点类型Type(n
i
)作式1所示分类:其中,为空集,outpins={C1,SO,CO,S,Q,QN,ZN,Y},其中C1,SO,CO,S,Q,QN,ZN,Y为元件库中不同器件输出引脚名;即若某断线信号未连接到任一器件引脚则记作ISOLATE类断点信号,ISOLATE类断点信号表示孤立类断点信号,否则若该断线信号未连接到任一器件输出引脚则记作MI类断点信号,MI类断点信号表示输入缺失类断点信号,连接到任一器件输出引脚则记作MO类断点信号,MO类断点信号表示输出缺失类断点信号;最后,将非ISOLATE类断点信号n
i
连接的任一逻辑器件相对于IC核心左下角的归一化坐标位置(Location(n
i
)={x
i
,y
i
},x
i
∈[0,1],y
i
∈[0,1])填入断点信号的位置属性中,断点类型填入断点类型属性中;步骤3、迭代计算可测试性特征值;可测试性包括3个指标:cc0(v)、cc1(v)、co(v)即信号v的组合0可控制性、组合1可控制性、组合可观察性;步骤3.1:断点作IO初始化;定义芯片输入端口集合为I,输出端口集合为O;则对各节点作式2至5的初始化操作;cc0(v)=cc1(v)=1,co(v)=∞,v∈I∪MI (2)cc0(v)=cc1(v)=∞,co(v)=0,v∈O∪MO (3)cc0(v)=cc1(v)=1,co(v)=0,v∈ISOLATE (4)cc0(v)=cc1(v)=∞,co(v)=∞,For others (5)步骤3.2:计算可测试性特征值;首先统计信号节点的拓扑次序,使得线性时间复杂度下能有序完成信号节点特征值的计算;然后根据正向拓扑顺序即从输入到输出的顺序,计算信号节点的可控性特征;最后根据逆向拓扑顺序即从输出到输入顺序,计算信号节点的可观测性特征;采用Kosaraju算法统计出信号节点的拓扑次序;逻辑门输出信号可控性指标等于将该信号置1或0所需控制的输入信号可控性指标之
和的最小值加1;逻辑门输入信号可观测性指标等于输出信号可观测性指标加上将其他输入信号置为非控制值所需可控性指标之和的最小值再加1;步骤3.3:断点全局平均赋值;将MI类断点信号的可控性指标初始化为MO类断点信号的平均可控性,而将MO类断点信号的可观察性指标初始化为MI类断点信号的平均可观察性指标;另外,为了消除常量信号影响需对参与均值运算的信号作特征值范围检查;即对各信号作如下式6

10初始化操作;cc0(v)=cc1(v)=1,co(v)=∞,v∈I (6)cc0(v)=cc1(v)=∞,co(v)=0,v∈O (7...

【专利技术属性】
技术研发人员:白智元邹金成陈哲王坚杨鍊
申请(专利权)人:电子科技大学
类型:发明
国别省市:

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

1