CN110414277B - 基于多特征参数的门级硬件木马检测方法 - Google Patents
基于多特征参数的门级硬件木马检测方法 Download PDFInfo
- Publication number
- CN110414277B CN110414277B CN201810389087.4A CN201810389087A CN110414277B CN 110414277 B CN110414277 B CN 110414277B CN 201810389087 A CN201810389087 A CN 201810389087A CN 110414277 B CN110414277 B CN 110414277B
- Authority
- CN
- China
- Prior art keywords
- nodes
- observability
- gate
- controllability
- correlation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/76—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于多特征参数的门级硬件木马检测方法,该方法主要包含两个部分:特征参数提取和数据处理。具体指在检测过程中提取门级网表的跳变概率、相关性、可控制性与可观察性这些特征参数,跳变概率反映电路节点的活跃程度,相关性反映节点之间的关联程度,可控制性与可观察性表明对节点控制与观察的难易程度。然后,根据不同参数特性设计不同的算法对正常节点和木马节点进行区分。该方法可提高门级网表硬件木马检测效果,通过多个特征参数反映电路中所有节点的情况,降低了在芯片设计阶段设计公司使用第三方提供的IP核引入恶意修改电路的硬件木马的可能性,因此能够普遍应用于门级硬件木马检测,具有较强的实用性。
Description
技术领域
本发明公开了一种基于多特征参数的门级硬件木马检测方法。具体是指在芯片设计过程中,将第三方提供的IP核综合为门级网表电路,在门级网表电路中,提取跳变概率、相关性、可控制性与可观察性多个特征参数,然后,采用相应的特征数据处理算法对特征参数进行数据处理,当完成所有的数据处理后,区分电路中的正常部分和硬件木马部分。
背景技术
从上世纪中叶至今,集成电路自身按照摩尔定律不断发展,规模急速增长,工艺尺寸不断缩小。相应地,集成电路的设计与制造也变得越来越复杂。在这样的背景下,一块集成电路芯片从设计到制造的过程中将需要很多参与方,例如芯片设计方、IP核提供方、芯片制造方等。
多方参与的商业模式为整个行业的参与方节省了时间与成本,极大地促进了整个产业的健康发展。在这种商业模式下,对芯片设计公司来讲,缩短设计周期意味着更高的利润与更快的发展。因此设计公司在设计过程中通常会使用第三方提供的IP核以加快设计过程,缩短整体设计时间。例如常见的SOC就需要包含十几个以上的IP核,这些IP核中绝大多数都由第三方提供。虽然使用第三方提供的IP核有着诸多便利,但是这也对芯片的安全性与可靠性带来了隐患,引发对IP核安全问题的担忧。恶意的第三方会在IP核中植入硬件木马,以达到在特定情况下破坏电路正常工作或泄露电路中关键信息的目的。
硬件木马的攻击行为严重危害到电子信息***。尤其对于航空、金融和军事等安全敏感领域,一旦在这些领域中使用了包含硬件木马的芯片,损失将不可估量。目前门级网表硬件木马检测研究根据是否需要进行施加测试激励、产生仿真结果可以分为动态门级硬件木马检测与静态门级硬件木马检测。动态门级网表硬件木马检测需要仿真结果参与数据处理,而静态门级硬件木马则不需要。BucinCakir和Sharad Malik定义相关性为门级网表中每个门输入节点发生变化时对输出节点的影响程度,并以相关性为度量标准。木马节点自身具有隐蔽性的特点,因此它与输出节点的相关性和正常节点相比偏小。通过聚类分析可以在所有节点中将相关性强的节点和相关性弱的节点区分出来。Salmani提出从节点可测试性角度可控制性与可观察性的角度来分析门级网表硬件木马的COTD(Controllability and Observabilityfor hardware Trojan Detection)方法。COTD认为硬件木马具有隐蔽性,因此木马在电路中的可观察性与可测试性高于正常节点。该方法在获取节点可观察性与可控制性的量化值后,通过k均值聚类分析算法对节点进行区分。传统的单个特征参数无法全面地反映门级网表中节点的状态,检测结果的准确度也难以保证。因此,本发明提出一种针对门级的硬件木马多特征参数检测方法,保障芯片设计阶段的安全。
发明内容
本发明的技术目的是:
在芯片设计过程中,提供一种针对门级硬件木马的多特征参数的方法,以解决当前设计阶段对IP核进行硬件木马检测的困难,并根据门级多个特征参数设计区分硬件木马节点与正常节点的算法,提高检测准确度。
本发明实现的技术方案:
使用本发明的门级硬件木马检测的框架如图1所示。包括多个特征参数的提取和针对不同参数的数据处理。多个特征参数包括跳变概率、相关性、可控制性与可观察性,针对不同参数的数据处理包括跳变概率排序处理,相关性聚类分析处理,可控制性与可观察性可视化处理,多特征参数融合处理。跳变概率用于反映门级电路中的节点的活跃程度,相关性反映电路节点之间联系的紧密程度,而可控制与可观察性反映对电路节点控制与观察的难度。提取用于区分硬件木马节点和正常电路节点的特征参数,再使用多特征参数检测结果融合算法对多个特征参数的结果做出综合结果,以此作为最终的检测结果。
基本的检测流程如图2所示,首先将RTL级文件综合为网表文件,通过脚本语言生成测试矢量,并使用modelsim对网表文件进行仿真,得到仿真结果后,计算出跳变概率和相关性。同时,使用Tetramax的SCOAP算法计算出电路的可控制性与可观察性。然后,采用排序算法对跳变概率进行排序,设置阈值,将低于阈值的节点标记为可疑节点。对相关性的处理使用OPTICS聚类分析的方法区分可疑节点与正常节点。可控制性与可观察性的处理使用可视化操作,筛选出可控制性与可观察性中较大的部分作为可疑节点。最后,使用多个特征参数结果融合算法综合所有的检测结果。
相比于常见的门级硬件木马检测方法,本发明有以下优点:
1.提高了门级硬件木马检测的准确度。传统的门级硬件木马检测一般通过单一特征参数对门级电路节点进行区分,但是使用单一参数检测正常电路节点的准确性无法保证。而使用多个特征参数可以更加全面地反映电路节点的状态,从而提高了测试的准确度。
2.摆脱对金模型的依赖。在常见的硬件木马检测思路中,需要表示正确电路设计的金模型文件来作为测试的参照,但是在实际检测过程中,获取金模型十分困难。本发明使用内部正常节点与硬件木马节点的差异性为检测依据,摆脱对金模型的依赖。
附图说明
图1基于多特征参数的门级硬件木马检测框架
图2多特征参数检测门级硬件木马流程
图3特征参数计算示例
图4跳变概率计算流程
图5相关性计算流程
图6可控制性与可观察性计算流程
具体实施方式
以下结合附图详细描述本发明所提供的基于多特征参数的门级硬件木马检测方法,但不构成对本发明的限制。
该方法主要包括两大部分,提取门级电路中的多特征参数和数据处理部分。其中提取门级电路中的特征参数包括以下几个部分:跳变概率、相关性以及可控制性与可观察性;数据处理部分包含以下几个部分:跳变概率的排序处理、相关性聚类分析算法、可控制性与可观察性聚类分析方法以及多特征参数融合处理。多个特征参数的提取和数据处理的实现步骤如下:
第一部分:提取多个特征参数
图3是一个简单的与门,以这一与门为例说明各个参数计算过程中需要使用到的中间值。图3与门包含3个节点,输入节点i1和i2,输出节点o1。用三个波形展示门的工作状况。节点状态序列是对波形的描述,节点变化是对节点状态序列的变化的描述,当节点发生变化时,节点变化记为1,否则记为0。跳变概率的计算需要使用,相关性的计算需要使用,可控制性与可观察性
步骤1:图4是跳变概率的计算流程。跳变概率的计算依赖于modelsim仿真结果文件。在得到仿真结果文件后,首先统计节点状态序列长度N,序列中节点状态中0的个数Nzero,序列中节点变化的个数Nswitch。然后根据公式计算出每个节点的跳变概率。
步骤2:图5是计算网表文件的相关性流程。相关性的计算公式 包含门级网表输入输出关系提取和根据输入输出关系计算相关性。主要的步骤如下,首先在门级网表文件中,获取门的输入输出关系。用perl脚本读取网表文件,搜寻脚本文件中门的描述语句。在网表文件中找到门的描述语句后,打开库文件,找到库文件中对应的描述语句,然后根据库文件的input,output语句找到网表文件门描述的输入输出节点。将输入节点和输出节点分别存入输入数组和输出数组,并对结果进行存储。
步骤3:计算可控制性与可观察性。计算可控制性与可观察性的SCOAP算法已经集成在Synopsys的Tetramax工具中,因此可以利用这种工具直接获取门级网表的可控制性与可观察性,具体的流程如下。首先,在Tetramax中读入待测网表文件和库文件,在生成包含节点可控制性与可观察性文件后,脚本语言Perl将Tetramax生成的文件中的无关信息过滤掉,以获取节点名称和对应的可控制性与可观察性。使用正则表达式进行字符匹配,得到匹配结果后将节点名和其对应的可控制性与可观察性输出为固定格式的文本以方便数据处理。
第二部分:多个特征参数的数据处理算法
步骤4:跳变概率处理算法。对所有节点统计出的跳变概率进行排序处理,设置阈值,标记低于阈值的节点为可疑节点。
步骤5:相关性处理算法。使用OPTICS聚类分析算法对相关性的值进行处理。在得到所有输入输出节点相关性后,计算出节点之间的能量作为相关性大小的度量。此外,由于相关性表示电路中输入与输出的关联程度,因此在利用相关性计算时,电路的连接结构也需要有所考虑。使用归一化公式ω表示相关性的度量值,Γ(u)表示u的相邻节点,包含u自身。在通过电路结构完成相关性归一化处理后,我们根据计算值σ完成邻接距离矩阵生成。邻接距离矩阵的对角线表示节点自身到自身的距离,因此我们将其定义为0。在邻接矩阵中,存在连接关系的节点之间的距离定义为1/σ。而没有连接关系的节点之间的距离我们定义为无穷大,为方便算法实现。
步骤6:可控制性与可观察性处理算法。将可控制性与可观察性在二维平面内做可视化操作,其中横轴表示可控制性度量值,纵轴表示可观察性度量值。通过可视化操作将可控制性与可观察性的值可视化,然后选取横坐标与纵坐标中相对较大的点作为可疑节点。
步骤7:执行多特征参数结果融合算法。每个特征参数都对所有节点是否为可疑节点做出了标定,融合算法将每个参数区分的可疑节点集合做并集,得到最终的结果。
本发明基于多个特征参数对门级硬件木马进行检测,通过合理选取特征参数并用相应的数据处理方法,可以有效区分门级电路中的正常节点和木马节点。同时,使用多个特征参数分类结果融合算法对每个特征参数的结果进行处理,从而提高了检测的覆盖率,是一种有效的门级硬件木马检测方法。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。
Claims (2)
1.一种基于多特征参数门级硬件木马检测方法,包括跳变概率、相关性、可控制性与可观察性多特征参数提取,排序处理、聚类算法和可视化多特征参数的数据处理和多特征参数的融合算法,其特征在于:
在设计过程中,在门级对硬件木马进行检测,首先提取多个特征参数,使用测试激励对门级电路进行仿真,并记录仿真结果,根据仿真结果计算出跳变概率与相关性,使用SCOAP算法计算可控制性与可观察性;跳变概率计算方式为仿真输出序列中节点状态值为1的频率和信号翻转的频率相乘,相关性是输入节点与输出节点序列的卷积结果,可控制性与可观察性的计算将电路层级化,给出从原始输入到原始输出的每个门的次序,并以此计算出可控制性与可观察性;当完成所有特征参数的提取后,对所有的特征参数进行数据处理,分别利用排序处理、聚类分析和可视化对跳变概率、相关性、可控制性与可观察性特征进行处理,采用排序算法对跳变概率进行排序,设置阈值,将低于阈值的节点标记为可疑节点,对相关性的处理使用OPTICS聚类分析方法区分可疑节点与正常节点,可控制性与可观察性的处理使用可视化操作,筛选出可控制性与可观察性中较大的部分作为可疑节点;在得到每个特征参数的节点划分结果后,使用多特征参数融合处理方法对多个特征参数的结果进行综合,区分电路正常节点和木马节点,多特征参数融合算法综合所有的区分结果给出节点的最终判定。
2.根据权利要求1所述的一种基于多特征参数门级硬件木马检测方法,其特征在于:多特征参数提取的方法,包括跳变概率、相关性、可控制性与可观察性提取方法,在门级网表提取能够区分硬件木马节点和正常电路节点的多个特征参数,包括跳变概率、相关性、可控制性与可观察性,跳变概率反映电路节点的活跃程度,相关性反映电路节点之间联系的紧密程度,可控制与可观察性反映对电路节点控制与观察的难度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810389087.4A CN110414277B (zh) | 2018-04-27 | 2018-04-27 | 基于多特征参数的门级硬件木马检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810389087.4A CN110414277B (zh) | 2018-04-27 | 2018-04-27 | 基于多特征参数的门级硬件木马检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110414277A CN110414277A (zh) | 2019-11-05 |
CN110414277B true CN110414277B (zh) | 2021-08-03 |
Family
ID=68346039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810389087.4A Active CN110414277B (zh) | 2018-04-27 | 2018-04-27 | 基于多特征参数的门级硬件木马检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110414277B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110929301B (zh) * | 2019-11-20 | 2022-07-26 | 海宁利伊电子科技有限公司 | 一种基于提升算法的硬件木马检测方法 |
CN111414622B (zh) * | 2020-03-26 | 2023-03-28 | 电子科技大学 | 针对ip固核网表的硬件后门移除方法 |
CN111488629B (zh) * | 2020-06-29 | 2020-12-15 | 广东电网有限责任公司佛山供电局 | 基于差分放大可控性的***芯片硬件木马检测方法和*** |
CN112650638B (zh) * | 2020-10-23 | 2022-01-04 | 华芯安信(北京)科技有限公司 | 一种基于门级污染标签跟踪模型的硬件安全漏洞检测方法 |
CN114692551B (zh) * | 2022-03-22 | 2024-06-07 | 中国科学院大学 | 一种Verilog设计文件安全关键信号的检测方法 |
CN114692227B (zh) * | 2022-03-29 | 2023-05-09 | 电子科技大学 | 一种规模化芯片网表级硬件木马检测方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662144A (zh) * | 2012-03-30 | 2012-09-12 | 北京大学 | 一种基于活性测度的硬件木马检测方法 |
WO2016080380A1 (ja) * | 2014-11-18 | 2016-05-26 | 学校法人早稲田大学 | ハードウェアトロイの検出方法、ハードウェアトロイの検出プログラム、およびハードウェアトロイの検出装置 |
CN106650440A (zh) * | 2016-10-18 | 2017-05-10 | 西南科技大学 | 一种融合多检测结果的恶意程序检测方法 |
CN107886012A (zh) * | 2017-10-28 | 2018-04-06 | 天津大学 | 基于门级结构特征的单触发硬件木马检测方法 |
-
2018
- 2018-04-27 CN CN201810389087.4A patent/CN110414277B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662144A (zh) * | 2012-03-30 | 2012-09-12 | 北京大学 | 一种基于活性测度的硬件木马检测方法 |
WO2016080380A1 (ja) * | 2014-11-18 | 2016-05-26 | 学校法人早稲田大学 | ハードウェアトロイの検出方法、ハードウェアトロイの検出プログラム、およびハードウェアトロイの検出装置 |
CN106650440A (zh) * | 2016-10-18 | 2017-05-10 | 西南科技大学 | 一种融合多检测结果的恶意程序检测方法 |
CN107886012A (zh) * | 2017-10-28 | 2018-04-06 | 天津大学 | 基于门级结构特征的单触发硬件木马检测方法 |
Non-Patent Citations (3)
Title |
---|
COTD: Reference-Free Hardware Trojan Detection and Recovery Based on Controllability and Observability in Gate-Level Netlist;Hassan Salmani;《IEEE Transactions on Information Forensics and Security》;20170228;第12卷(第2期);第338-350页 * |
基于相关性分析的硬件木马检测方法;刘长龙等;《计算机工程》;20130930;第39卷(第9期);第183-185,195页 * |
基于组合概率和非稀有事件的硬件木马设计;张小飞等;《东南大学学报(自然科学版)》;20171130;第47卷;第151-157页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110414277A (zh) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110414277B (zh) | 基于多特征参数的门级硬件木马检测方法 | |
CN108090567B (zh) | 电力通信***故障诊断方法及装置 | |
CN102662144B (zh) | 一种基于活性测度的硬件木马检测方法 | |
CN107480561B (zh) | 基于少态节点遍历的硬件木马检测方法 | |
CN107656839A (zh) | 集成电路安全性评估与检测方法 | |
CN109815705B (zh) | 一种基于扫描链特征分析的硬件木马检测方法 | |
US11321510B2 (en) | Systems and methods for machine intelligence based malicious design alteration insertion | |
CN109657461B (zh) | 基于梯度提升算法的rtl硬件木马检测方法 | |
CN109784096B (zh) | 基于聚类算法的硬件木马检测和剔除方法 | |
Werner et al. | Reverse engineering of cryptographic cores by structural interpretation through graph analysis | |
CN110084609B (zh) | 一种基于表征学习的交易欺诈行为深度检测方法 | |
CN107590313A (zh) | 基于遗传算法和变异分析的优化测试向量生成方法 | |
CN109684834A (zh) | 一种基于XGBoost的门级硬件木马识别方法 | |
CN108256357B (zh) | 红外图像与正态分布分析结合的硬件木马检测方法 | |
Shang et al. | A machine learning based golden-free detection method for command-activated hardware Trojan | |
CN113052577A (zh) | 一种区块链数字货币虚拟地址的类别推测方法及*** | |
CN116522334A (zh) | 基于图神经网络的rtl级硬件木马检测方法及存储介质 | |
Pan et al. | Hardware Trojan detection using Shapley ensemble boosting | |
Yang et al. | Hardware Trojans detection through RTL features extraction and machine learning | |
Yang et al. | Hardware Trojan detection method based on time feature of chip temperature | |
CN114692227B (zh) | 一种规模化芯片网表级硬件木马检测方法 | |
CN113821840A (zh) | 基于Bagging的硬件木马检测方法、介质、计算机 | |
Yust et al. | Structural checking: Detecting malicious logic without a golden reference | |
Chen et al. | Detection method of Golden Chip-Free Hardware Trojan based on the combination of ResNeXt structure and attention mechanism | |
Chen et al. | A Hardware Trojan Insertion Framework against Gate-Level Netlist Structural Feature-based and SCOAP-based Detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |