基于测试向量的硬件木马检测方法及系统技术方案

技术编号:10785268 阅读:83 留言:0更新日期:2014-12-17 12:20
本发明专利技术公开了一种基于测试向量的硬件木马检测方法及系统,所述方法包括:获取集成电路中各电路节点的翻转信息和覆盖信息;将翻转信息和覆盖信息分别满足预设低翻转条件和预设低覆盖条件的电路节点,选取为候选木马节点;根据各候选木马节点的翻转信息和各组候选木马节点的联合翻转信息从测试向量中选取最终测试向量;分别将各个所述最终测试向量施加到所述集成电路的输入端,对所述集成电路进行木马检测。实施本发明专利技术的方法及系统,可在不损坏集成电路的前提下,快速准确地检测出集成电路是否含有硬件木马。

【技术实现步骤摘要】
基于测试向量的硬件木马检测方法及系统
本专利技术涉及电子
,特别是涉及一种基于测试向量的硬件木马检测方法及系统。
技术介绍
随着集成电路(IC,IntegratedCircuit)的快速发展和广泛应用,对集成电路中被恶意嵌入的硬件木马(HardwareTrojanHorse)的检测也变得越来越重要。硬件木马是植入到集成电路中的恶意电路,能够在特定的触发激活条件下实现破坏性功能或泄露集成电路内部秘密信息,对集成电路的安全产生极大的威胁。硬件木马的检测方法有物理检测。物理检测将芯片通过腐蚀剥层,利用扫描电镜、电子探针等设备将芯片还原为版图,然后与原始版图比较以确定是否存在硬件木马。但是,硬件木马的物理检测方法破坏性大、测检测时间长、成本高。
技术实现思路
基于此,有必要针对上述硬件木马的物理检测方法破坏性大、检测时间长、成本高的问题,提供一种基于测试向量的硬件木马检测方法及系统。一种基于测试向量的硬件木马检测方法,包括以下步骤:获取集成电路中各电路节点的翻转信息和覆盖信息;将翻转信息和覆盖信息分别满足预设低翻转条件和预设低覆盖条件的电路节点,选取为候选木马节点;获取各测试向量,并分别将各测试向量施加到所述集成电路的输入端对所述集成电路进行仿真,对应各测试向量获取各候选木马节点的翻转信息和各组候选木马节点的联合翻转信息,每组候选木马节点包括至少两个候选木马节点;若各候选木马节点的翻转信息和各组候选木马节点的联合翻转信息分别与预设木马翻转信息和预设木马联合翻转信息匹配,则选取对应的测试向量为对硬件木马检测的最终测试向量;分别将各个所述最终测试向量施加到所述集成电路的输入端,对所述集成电路进行木马检测。一种基于测试向量的硬件木马检测系统,包括:信息获取模块,用于获取集成电路中各电路节点的翻转信息和覆盖信息;节点选取模块,用于将翻转信息和覆盖信息分别满足预设低翻转条件和预设低覆盖条件的电路节点,选取为候选木马节点;向量信息获取模块,用于获取各测试向量,并分别将各测试向量施加到所述集成电路的输入端对所述集成电路进行仿真,对应各测试向量获取各候选木马节点的翻转信息和各组候选木马节点的联合翻转信息,每组候选木马节点包括至少两个候选木马节点;测试向量选取模块,用于在各候选木马节点的翻转信息和各组候选木马节点的联合翻转信息分别与预设木马翻转信息和预设木马联合翻转信息匹配时,选取对应的测试向量为对硬件木马检测的最终测试向量;木马检测模块,用于分别将各个所述最终测试向量施加到所述集成电路的输入端,对所述集成电路进行木马检测。上述基于测试向量的硬件木马检测方法及系统,通过集成电路中各电路节点的翻转信息和覆盖信息选取为候选木马节点,进而根据各候选木马节点的翻转信息和各组候选木马节点的联合翻转信息从测试向量中选取最终测试向量,再通过最终测试向量对所述集成电路进行木马检测,可在不损坏集成电路的前提下,快速准确地检测出集成电路是否含有硬件木马。附图说明图1是本专利技术基于测试向量的硬件木马检测方法第一实施方式的流程示意图;图2是本专利技术基于测试向量的硬件木马检测方法第二实施方式的流程示意图;图3是本专利技术基于测试向量的硬件木马检测系统第一实施方式的结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。请参阅图1,图1是本专利技术的基于测试向量的硬件木马检测方法第一实施方式的流程示意图。本实施方式的所述基于测试向量的硬件木马检测方法包括以下步骤:步骤S101,获取集成电路中各电路节点的翻转信息和覆盖信息。步骤S102,将翻转信息和覆盖信息分别满足预设低翻转条件和预设低覆盖条件的电路节点,选取为候选木马节点。步骤S103,获取各测试向量,并分别将各测试向量施加到所述集成电路的输入端对所述集成电路进行仿真,对应各测试向量获取各候选木马节点的翻转信息和各组候选木马节点的联合翻转信息,每组候选木马节点包括至少两个候选木马节点。步骤S104,若各候选木马节点的翻转信息和各组候选木马节点的联合翻转信息分别与预设木马翻转信息和预设木马联合翻转信息匹配,则选取对应的测试向量为对硬件木马检测的最终测试向量。步骤S105,分别将各个所述最终测试向量施加到所述集成电路的输入端,对所述集成电路进行木马检测。本实施方式,通过集成电路中各电路节点的翻转信息和覆盖信息选取为候选木马节点,进而根据各候选木马节点的翻转信息和各组候选木马节点的联合翻转信息从测试向量中选取最终测试向量,再通过最终测试向量对所述集成电路进行木马检测,可在不损坏集成电路的前提下,快速准确地检测出集成电路是否含有硬件木马。其中,对于步骤S101,所述覆盖信息可包括代码覆盖率、状态覆盖率、功能覆盖率以及翻转覆盖率等。所述翻转信息可包括电路节点的静态翻转次数或静态翻转概率以及电路节点的动态翻转概率或动态翻转次数。还可包括电路节点的节点值。在一个实施例中,获取集成电路中各电路节点的翻转信息和覆盖信息的步骤包括以下步骤:通过所述集成电路的电路描述文件以及所述集成电路的预设设计规范,编写验证所述集成电路正常运行的测试验证平台,以对所述集成电路进行仿真和覆盖率计算,获得各电路节点的覆盖率为所述覆盖信息。优选地,所述电路描述文件可以是verilog代码或者其它网表形式。根据电路描述文件和相应的测试规范编写所述集成电路正常运行的测试验证平台,对集成电路进行仿真,进而对集成电路进行覆盖仿真,分析各电路节点的代码覆盖率、状态覆盖率、功能覆盖率以及翻转覆盖率,从而获得各电路节点的覆盖信息。在另一个实施例中,获取集成电路中各电路节点的翻转信息和覆盖信息的步骤包括以下步骤:根据所述集成电路输入端的预设静态翻转概率分布,计算各电路节点的静态翻转概率为所述翻转信息。获取测试向量,并将获取的测试向量施加到所述集成电路的输入端,对所述集成电路进行仿真,获取各电路节点的动态翻转次数为所述翻转信息。通过预设的仿真算法,从所述集成电路的电路描述文件中获取各电路节点的节点值为所述翻转信息。优选地,可通过给定所述集成电路的各个输入端的静态翻转概率,根据电路网表的层级连接关系以及所描述的逻辑门,从输入端开始,根据逻辑门的逻辑功能计算每个逻辑门的输出的静态翻转概率,并将前级逻辑门的输出作为后级逻辑门的输入,依次计算得到电路每个节点的静态翻转概率。优选地,所述测试向量可为随机测试向量,还可为本领域技术人员惯用的其他测试向量。进一步地,所述仿真可包括采用EDA工具的仿真,如:Synopsysvcs。还可包括采用其他工具进行的仿真。将获取的测试向量施加到所述集成电路的输入端,对所述集成电路进行仿真,通过仿真可得到各电路节点的状态值,进而统计各电路节点的状态值翻转的次数,将各电路节点的状态值翻转的次数除以所有电路节点的状态值翻转的次数的总和,即可得到各个电路节点的动态翻转概率,进而可构成所有电路节点的翻转概率列表。更进一步地,节点值可为0或1。对于步骤S102,优选地,所述候选木马节点为被植入硬件木马的可能性较高的电路节点。进一步地,所述预设低翻转条件和所述预设低覆盖条件为用于选取被植入硬件木马可能性较高电路节点的本文档来自技高网...
基于测试向量的硬件木马检测方法及系统

【技术保护点】
一种基于测试向量的硬件木马检测方法,其特征在于,包括以下步骤:获取集成电路中各电路节点的翻转信息和覆盖信息;将翻转信息和覆盖信息分别满足预设低翻转条件和预设低覆盖条件的电路节点,选取为候选木马节点;获取各测试向量,分别将各测试向量施加到所述集成电路的输入端对所述集成电路进行仿真,对应各测试向量获取各候选木马节点的翻转信息和各组候选木马节点的联合翻转信息,每组候选木马节点包括至少两个候选木马节点;若各候选木马节点的翻转信息和各组候选木马节点的联合翻转信息分别与预设木马翻转信息和预设木马联合翻转信息匹配,则选取对应的测试向量为对硬件木马检测的最终测试向量;分别将各个所述最终测试向量施加到所述集成电路的输入端,对所述集成电路进行木马检测。

【技术特征摘要】
1.一种基于测试向量的硬件木马检测方法,其特征在于,包括以下步骤:获取集成电路中各电路节点的翻转信息和覆盖信息;将翻转信息和覆盖信息分别满足预设低翻转条件和预设低覆盖条件的电路节点,选取为候选木马节点;获取各测试向量,分别将各测试向量施加到所述集成电路的输入端对所述集成电路进行仿真,对应各测试向量获取各候选木马节点的翻转信息和各组候选木马节点的联合翻转信息,每组候选木马节点包括至少两个候选木马节点;若各候选木马节点的翻转信息和各组候选木马节点的联合翻转信息分别与预设木马翻转信息和预设木马联合翻转信息匹配,则选取对应的测试向量为对硬件木马检测的最终测试向量;分别将各个所述最终测试向量施加到所述集成电路的输入端,对所述集成电路进行木马检测。2.根据权利要求1所述的基于测试向量的硬件木马检测方法,其特征在于,获取集成电路中各电路节点的翻转信息和覆盖信息的步骤包括以下步骤:通过所述集成电路的电路描述文件以及所述集成电路的预设设计规范,编写验证所述集成电路正常运行的测试验证平台,以对所述集成电路进行仿真和覆盖率计算,获得各电路节点的覆盖率为所述覆盖信息。3.根据权利要求2所述的基于测试向量的硬件木马检测方法,其特征在于,获取集成电路中各电路节点的翻转信息和覆盖信息的步骤包括以下步骤:根据所述集成电路输入端的预设静态翻转概率分布,计算各电路节点的静态翻转概率;获取测试向量,并将获取的测试向量施加到所述集成电路的输入端,对所述集成电路进行仿真,获取各电路节点的动态翻转次数;通过预设的仿真算法,从所述集成电路的电路描述文件中获取各电路节点的节点值;所述翻转信息包括所述静态翻转概率、所述动态翻转次数和所述节点值。4.根据权利要求3所述的基于测试向量的硬件木马检测方法,其特征在于,将翻转信息和覆盖信息分别满足预设低翻转条件和预设低覆盖条件的电路节点,选取为候选木马节点的步骤包括以下步骤:根据各电路节点的覆盖率,选取覆盖率低于覆盖率阈值的电路节点为第一节点集合;根据各电路节点的静态翻转概率,从所述第一节点集合中选取静态翻转概率低于静态翻转概率阈值的电路节点为第二节点集合;根据各电路节点的动态翻转次数,计算所述第二节点集合中各节点的动态翻转概率,并从所述第二节点集合中选取动态翻转概率低于动态翻转概率阈值的电路节点为第三节点集合;根据各电路节点的节点值,从所述第三节点集合中选取节点值固定不变的电路节点之外的电路节点为候选木马节点。5.根据权利要求4所述的基于测试向量的硬件木马检测方法,其特征在于,根据各电路节点的节点值,从所述第三节点集合中选取节点值固定不变的电路节点之外的电路节点为候选木马节点的步骤还包括以下步骤:根据各电路节点的节点值,从所述第三节点集合中选取节点值固定不变的电路节点之外的电路节点为第四节点集合;获取所述第四节点集合中各电路节点的扇出;选取所述第四节点集合中电路节点的扇出处于预设的木马扇出范围的电路节点为候选木马节点。6...

【专利技术属性】
技术研发人员:侯波何春华王力纬恩云飞谢少锋
申请(专利权)人:工业和信息化部电子第五研究所
类型:发明
国别省市:广东;44

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

1