CN110096879A - 一种基于门级结构特征的静态硬件木马检测方法 - Google Patents
一种基于门级结构特征的静态硬件木马检测方法 Download PDFInfo
- Publication number
- CN110096879A CN110096879A CN201910343785.5A CN201910343785A CN110096879A CN 110096879 A CN110096879 A CN 110096879A CN 201910343785 A CN201910343785 A CN 201910343785A CN 110096879 A CN110096879 A CN 110096879A
- Authority
- CN
- China
- Prior art keywords
- trojan horse
- feature
- hardware trojan
- hardware
- horse
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- 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]
Abstract
本发明公开了一种基于静态特征的硬件木马检测方法,包括步骤S1.将芯片设计网表进行有向图映射以及对有向图单元进行序列切割;步骤S2.基于门级结构特征提取得到最优硬件木马特征集;步骤S3.基于上述最优硬件木马特征集,使用机器学习方法对待检测芯片进行硬件木马检测。本发明的一种基于静态特征的硬件木马检测方法,无需待检测芯片的“黄金芯片”网表作为参照,极大降低了木马检测的难度;对于现有硬件木马具有普遍的可检测性,检测精度高;检测核心算法可扩展性好,可应用于大规模工业级实际芯片的硬件木马检测。
Description
技术领域
该发明涉及计算机和电子技术领域,尤其是基于门级结构特征的静态硬件木马检测技术领域。
背景技术
随着集成电路产品的日益壮大,硬件安全问题越来越受到重视和关注。硬件木马是嵌入芯片中的恶意电路,在过去的十年中,硬件木马已逐渐成为威胁芯片安全的致命问题,恶意的攻击者可以利用硬件木马监视和改变芯片功能,窃取芯片中的数据信息、甚至直接破坏芯片功能,使芯片停止工作,导致硬件系统瘫痪。
硬件木马设计灵活、隐蔽性强、破坏力大,给集成电路安全带来了极大的威胁。由于硬件木马形态种类多样,可以在芯片设计流程中的不同阶段和芯片的不同位置灵活植入,导致硬件木马的检测难度很大。在过去的几年中,学术界和工业届越来越重视硬件木马的检测和防范。已提出的硬件木马检测技术包括基于逆向工程的检测技术、基于旁路分析的检测技术和基于传统功能验证测试的检测技术。基于逆向工程的检测技术工作量大,对检测及成像设备精度要求稿,总体成本非常高;基于旁路分析的检测技术容易对待检测芯片的黄金芯片具有较高依赖度,且检测效果容易受到噪声及电磁干扰;基于传统功能验证测试的检测技术依赖测试向量的选取,当待检测芯片的设计规模较大时,很难有效触发和检测硬件木马。
随着机器学习方法的普遍应用,上述检测技术与机器学习方法进一步融合,又衍生出了一些新的检测技术。硬件木马的识别和检测基础就是分类,硬件木马的分类可以使用数学模型如代数矩阵或机器学习算法来实现。哥伦比亚大学Piccolboni等[1]提出了一种利用控制流图子图匹配算法来检测RTL模型中硬件木马的方法,该方法与机器学习技术结合可以检测多种不同类型的硬件木马,但严重依赖RTL级硬件木马库,如果木马库不完备,硬件木马不在定义的木马库中,该方法就不能检测到硬件木马。马来西亚工艺大学的Noor等[2]提出基于机器学习分类的方法识别硬件木马,包括决策树(DT)、K近邻(KNN)以及支持向量机(SVM),实验中采取的预测模型可以正确检测83%的硬件木马,但由于该实验采用的电路规模及数据集都太小,直接影响了实验结果的说服力,该方法也无法适用于大规模工业级实际芯片的硬件木马检测。
综上,传统硬件木马检测技术存在固有缺陷,基于机器学习技术的硬件木马检测方法研究才刚刚开始,现有方法还不足以满足大规模工业级实际芯片的硬件木马检测需要。
发明内容
本发明的目的是提供基于门级结构特征的静态硬件木马检测方法,用于解决现有的硬件木马检测技术检测精度不高、依赖“黄金芯片”、待检测电路适用规模较小等一系列问题。
本发明一种基于静态特征的硬件木马检测方法,其中,包括:将芯片设计网表进行有向图映射,并对有向图单元进行序列切割;基于门级结构的硬件木马特征提取得到最优硬件木马特征集,包括:基于门级结构的硬件木马基本特征提取,包括:采集当前所有硬件木马,逐个进行逻辑实现并综合成木马网表,构建硬件木马库;从硬件木马库中随机选择M个木马门级网表作为基准用于训练,提取并获得六类基于木马门级网表结构的基本特征,包括:逻辑门的扇入、多路复用器、触发器、环路结构、连接固定值的结构以及输入输出的级数;对硬件木马电路特征进行降维,选出最优硬件木马特征集;对硬件木马基本特征提取得到的多维硬件木马特征进行重要性度量;得到用于检测的最优硬件木马特征集;基于最优硬件木马特征集以及有向图单元进行序列切割结果,对待检测芯片进行硬件木马检测。
根据本发明的基于静态特征的硬件木马检测方法的一实施例,其中,将芯片设计网表进行有向图映射以及对有向图单元进行序列切割,包括:将待检测芯片的寄存器传输级设计成待检测芯片门级网表;分析待检测芯片门级网表的结构,得到其中所有单元的定义语句;解析单元的定义语句,确定其中单元的类型以及单元与数据输入输出接口相连的线,对于每个单元建立一个有向图节点,其中有向图节点的标签值是有向图节点对应的单元的类型,单元的定义语句包括单元的类型、单元的名称以及输入输出接口;根据得到的与输入输出接口连接的线,创建的有向图的边,有向图的边包括输入边以及输出边,其中输入边的尾节点以及输出边的头节点设置为当前节点,最终形成有向图;对有向图中的每一个节点进行搜索以获取待检测芯片中所有长度为一阈值范围的元素序列,元素序列包括逻辑单元和与之相连的线。
根据发明的基于静态特征的硬件木马检测方法的一实施例,其中,元素序列的阈值范围为1到10。
根据发明的基于静态特征的硬件木马检测方法的一实施例,其中,对于逻辑门的扇入的硬件木马特征提取为:设net是待测网表的一个线网,其对应的特征提取为距离线网net为x级远的扇入数量;基于多路复用器的硬件木马特征提取为:(1)距离线网net输入端或输出端x级远的多路复用器的数量;(2)距离线网net输入端或输出端最近的多路复用器的级数;对于基于触发器的硬件木马电路的特征提取为:(1)距离线网net输入端或输出端x级远的触发器的数量;(2)距离线网net输入端或输出端最近的触发器的级数;基于时序的硬件木马触发电路提取其环路结构特征为:距离线网net输入端或输出端含有x级环状结构的数量;连接固定值的结构提取其特征为:距离线网net输入端或输出端x级为固定值0或1的数量;输入输出的级数的提取特征为:线网net到输入或输出的最小连接级数。
根据发明的基于静态特征的硬件木马检测方法的一实施例,其中,x取值为小于等于10的正整数。
根据发明的基于静态特征的硬件木马检测方法的一实施例,其中,使用随机森林算法分类器对得到的多维硬件木马特征进行重要性度量,包括如下步骤:(1)将硬件木马特征组成多维的特征向量集合,假设多维的维数为N维;(2)任取N维特征中的一个特征i(1≤i≤N),使用随机森林算法训练得到重要性F度量值;(3)对N维硬件木马特征重复(2)以得到N个特征的重要性度量;使用粗粒度过滤式特征选择的方法对硬件木马电路特征进行降维和精简;使用细粒度过滤式特征选择的方法对硬件木马电路特征进行降维和精简。
根据发明的基于静态特征的硬件木马检测方法的一实施例,其中,F度量是精度和召回率的调和平均值,其中:P为精度,定义为R为召回率,定义为TN是正常样本被正确识别为正常的数量,FP是正常样本被错误识别为木马的数量,FN是木马样本被错误识别为正常的数量,TP是木马样本被正确识别为木马的数量。
根据发明的基于静态特征的硬件木马检测方法的一实施例,其中,使用粗粒度过滤式特征选择的方法对硬件木马电路特征进行降维和精简包括:(a1)将得到的N个特征的重要性度量值按照从小到大排序,设置特征集维度的初始值m=N;(a2)定义left=1,right=m/2;(a3)在全部m个特征中,暂时放弃left≤i≤right特征,保留剩余特征;(a4)使用剩余特征计算平均度量值F;(a5)如果F度量值<上一轮的F度量值,则left不变,right=right/2,转步骤(a3);否则转步骤(a6)。如果是首轮,则上一轮的F度量值为1)中得到的初始F度量值;(a6)若当前特征数量≤预先设定的迭代次数最大值K时,转步骤(a7);否则,left=right+1,right=(m+right+1)/2,转步骤(a3);(a7)结束全部迭代过程,此时剩余特征组成粗粒度过滤式特征选择的优化后的m维特征序列中。
根据发明的基于静态特征的硬件木马检测方法的一实施例,其中,使用细粒度过滤式特征选择的方法对硬件木马电路特征进行降维和精简,包括:(b1)从粗粒度过滤式特征选择的方法得到的优化后的m维特征序列中随机选择一个特征,将其暂时放弃,保留剩余特征;(b2)使用剩余特征计算平均度量值F;(b3)如果F度量值≥上一轮的F度量值,则剩余特征组成迭代后的优化特征子集,以优化特征子集替代原始的m维特征集,并使得m值减1,转步骤(b1);否则,将本次迭代中选择的特征重新加入剩余特征,转步骤(b4);(b4)结束全部迭代过程,此时剩余特征组成细粒度过滤式特征选择后的最优硬件木马特征集。
根据发明的基于静态特征的硬件木马检测方法的一实施例,其中,基于最优硬件木马特征集以及有向图单元进行序列切割,对待检测芯片进行硬件木马检测,包括:提取最优硬件木特征集的特征;使用分类器模型对待检测电路进行预测分类。
本发明提出一种基于门级结构特征的静态硬件木马检测方法,该方法基于门级网表实现静态电路结构特征提取,采用机器学习方法对提取的大量特征进行降维得到核心硬件木马特征,并基于这些硬件木马特征对待测芯片进行硬件木马检测。本发明提出的硬件木马检测技术无需待检测芯片的“黄金芯片”网表作为参照,极大降低了木马检测的难度;对于现有硬件木马具有普遍的可检测性,检测精度高;检测核心算法可扩展性好,可应用于大规模工业级实际芯片的硬件木马检测;且检测方法可以很方便地加入到当前ASIC标准设计验证流程中,具有工业化的应用前景。
附图说明
图1所示为基于静态特征的硬件木马检测方法的实施流程示意图;
图2所示为芯片设计网表的有向图映射及有向图单元序列切割技术的具体实施流程示意图;
图3(a)所示为芯片设计的门级网表示意图;
图3(b)所示为从芯片设计的门级网转换为有向图的映射示意图;
图4所示为从门级网表对应的有向图获取单元序列的过程示意图;
图5所示为基于门级结构的特征提取具体实施流程示意图;
图6所示为六类基于门级网表结构的硬件木马特征示意图;
图7所示为基于随机森林方法对硬件木马电路特征降维和优化流程示意图;
图8所示为基于机器学习方法对待检测芯片进行硬件木马检测的实施流程示意图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
图1所示为基于静态特征的硬件木马检测方法的实施流程示意图,如图所示,本发明的一种基于静态特征的硬件木马检测方法,主要包括:
将芯片设计网表进行有向图映射以及对有向图单元进行序列切割;
基于门级结构的硬件木马特征提取得到最优硬件木马特征集;
基于最优硬件木马特征集,使用机器学习方法对待检测芯片进行硬件木马检测。
图2所示为芯片设计网表的有向图映射及有向图单元序列切割技术的具体实施流程示意图,图3(a)所示为芯片设计的门级网表示意图,图3(b)所示为从芯片设计的门级网转换为有向图的映射示意图,图4所示为从门级网表对应的有向图获取单元序列的过程示意图,如图2、图3(a)、图3(b)以及图4所示,进一步具体来说,芯片设计网表的有向图映射及有向图单元序列切割,包括如下步骤:
S101将待检测芯片的寄存器传输级(Register Transfer Level,RTL)设计综合成门级网表(Gate Level Netlist)。
S102分析待检测芯片门级网表的结构,得到网表中所有单元的定义语句,具体来说,单元定义语句可以包括单元类型、单元名称以及输入输出。
S103解析单元定义语句,确定其中单元的类型以及该单元与数据输入输出接口相连的线,每个单元建立一个有向图节点,其中有向图节点的标签值是该有向图节点对应的单元的类型。
S104根据得到的与输入输出接口连接的线,创建的有向图的边,有向图的边包括输入边以及输出边,其中输入边的尾节点设置为当前节点,输出边的头节点设置为当前节点,并形成有向图。
S105对有向图中的每一个节点迭代进行深度优先搜索以获取待检测芯片中所有长度为一阈值范围的元素序列,元素序列包括逻辑单元和与之相连的线。图4中左边为门级网表经映射后的有向图,图4右边为距离net1为4级的单元序列。对于一种较佳实施例,阈值范围为1到10的元素序列。其中,有向图中的每个边作为一个长度单位。如图3(a)以及图3(b)所示,网表中的每个电路单元对应有向图的一个节点,网表中的一条线对应于有向图中的一条边。
基于门级结构的硬件木马特征提取得到最优硬件木马特征集包括两个部分:基于门级结构的硬件木马基本特征提取以及基于随机森林方法对硬件木马电路特征进行降维和精简。
图5所示为基于门级结构的特征提取具体实施流程示意图,如图5所示,S201基于门级结构的硬件木马基本特征提取,包括如下步骤:
S201-1采集当前所有硬件木马,逐个进行逻辑实现并综合成网表,构建硬件木马库。
也可以从基准测试集TrustHub中采集,逐个进行逻辑实现并综合成网表,构建硬件木马库。
S201-2,图6所示为六类基于门级网表结构的硬件木马特征示意图,如图6所示,从硬件木马库中随机选择N个门级网表(N为大于等于10的正整数)作为基准用于训练,提取并获得以下六类基于门级网表结构的基本特征:
第一类:逻辑门的扇入。在组合逻辑触发的条件下,触发逻辑需要有多个逻辑门,从而实现复杂的触发条件。由于硬件木马电路通常具有非常罕见的触发条件,所以和普通电路相比,硬件木马网中逻辑门的扇入数量会很大。设net是待测网表的一个线网,该特征提取为距离线网net为x级远的扇入数量,定义为fanin(x),x通常取值为小于10的正整数,这是因为当x之10时距离net过远,相关性会明显降低。
第二类:多路复用器。多路复用器是常见的硬件木马组成成分,其接收触发电路的触发信号并切换输出信号以激活木马。基于多路复用器的硬件木马特征提取为:(1)距离线网net输入端或输出端x级远的多路复用器的数量,定义为Muxin(x)和Muxout(x),其中x取值为小于10的正整数;(2)距离线网net输入端或输出端最近的多路复用器的级数,定义为Muxnearest_in和Muxnearest_out。
第三类:触发器。对于基于时序触发的硬件木马电路,由于硬件木马电路为了隐蔽通常很小,其连接级数也相应较少。因此基于触发器的特征提取为:(1)距离线网net输入端或输出端x级远的触发器的数量,定义为FFin(x)和FFout(x),其中x取值为小于10的正整数;(2)距离线网net输入端或输出端最近的触发器的级数,定义为FFnearest_in和FFnearest_out。
第四类:环路结构。基于时序的硬件木马触发电路常采用环状的触发器结构,例如采用计数器触发的硬件木马电路。提取其环路结构特征为:距离线网net输入端或输出端含有x级环状结构的数量,定义为loopin(x)和loopout(x),其中x取值为小于10的正整数。
第五类:连接固定值的结构。将固定值0或1连接到触发器的输入的网络有很大概率是硬件木马电路,提取其特征为:距离线网net输入端或输出端x级为固定值0或1的数量,定义为consin(x)和consout(x),x取值为小于10的正整数。
第六类:输入输出的级数。硬件木马电路通常包括触发电路和恶意功能实施电路两部分。为了便于触发,硬件木马触发电路通常更靠近芯片设计的输入;同理,为了便于实施恶意功能,硬件木马恶意功能实施电路通常更靠近芯片设计的输出。提取其特征为:线网net到输入或输出的最小连接级数,定义为Pinnearest_in和Poutnearest_out。
图7所示为基于随机森林方法对硬件木马电路特征降维和优化流程示意图,如图7所示,S202基于随机森林方法对硬件木马电路特征进行降维和精简,选出最优硬件木马特征集,包括如下步骤:
S202-1使用随机森林算法分类器对前述硬件木马基本特征提取得到的多维硬件木马特征进行重要性度量。
通过前述基于门级结构的基本特征提取,得到了多个维度特征,多个维度用于描述上述六类的特征。使用这些维度特征进行分类是不切实际的,可以选择随机森林算法进行特征的有效降维。随机森林算法是常用的机器学习算法之一,可以通过这种算法获得前述硬件木马特征的重要性值,重要性值描述了多维度特征对于将网表分类为含有硬件木马还是不含有硬件木马电路的重要性。可以通过使用这些重要性值来精简并选择最佳的硬件木马特征集,从而有效实现对待检测电路网表是否含有硬件木马的分类。
F度量是精度和召回率的调和平均值,其中:P为精度,定义为R为召回率,定义为TN是正常样本被正确识别为正常的数量,FP是正常样本被错误识别为木马的数量,FN是木马样本被错误识别为正常的数量,TP是木马样本被正确识别为木马的数量。采用F度量的结果来评估硬件木马特征的重要性。
(1)将步骤S201得到的硬件木马特征组成多维的特征向量集合,不失一般性,可以假设为N维。
(2)任取N维特征中的一个特征i(1≤i≤N),使用随机森林算法训练得到重要性F度量值。
(3)对N维硬件木马特征重复(2)操作以得到N个特征的重要性度量。
步骤S202-2使用粗粒度过滤式特征选择的方法,即二分择优方法对硬件木马电路特征进行降维和精简,包括如下步骤:
(1)将步骤S202-1得到的N个特征的重要性度量值按照从小到大排序,设置特征集维度的初始值m=N。
(2)定义left=1,right=m/2。
(3)在全部m个特征中,暂时放弃left≤i≤right特征,保留剩余特征。
(4)使用剩余特征计算平均度量值F。
(5)如果F度量值<上一轮的F度量值,则left不变,right=right/2,转步骤(3);否则转步骤(6)。如果是首轮,则上一轮的F度量值为1)中得到的初始F度量值。
(6)若当前特征数量≤预先设定的迭代次数最大值K(K为正整数且通常K大于等于10)时,转步骤(7);否则,left=right+1,right=(m+right+1)/2,转步骤(3)。
(7)结束全部迭代过程,此时剩余特征组成粗粒度过滤式特征选择的优化后的m维特征序列中。
S202-3使用细粒度过滤式特征选择的方法对硬件木马电路特征进行降维和精简,包括如下步骤:
(1)从步骤S202-2得到的优化后的m维特征序列中随机选择一个特征,将其暂时放弃,保留剩余特征。
(2)使用剩余特征计算平均度量值F。
(3)如果F度量值≥上一轮的F度量值,则剩余特征组成迭代后的优化特征子集,以该特征子集替代原始的m维特征集,m=m-1,转步骤(1);否则,将本次迭代中选择的特征重新加入剩余特征,转步骤(4)。
(4)结束全部迭代过程,此时剩余特征组成细粒度过滤式特征选择后的最优硬件木马特征集。
通过上述步骤可以得到用于检测的最优硬件木马特征集。
图8所示为基于机器学习方法对待检测芯片进行硬件木马检测的实施流程示意图,如图8所示,基于上述最优硬件木马特征集,使用机器学习方法对待检测芯片进行硬件木马检测。包括如下步骤:
S301、训练
S301-1、基于步骤S201-S202最优硬件木马特征集,使用任意机器学习算法训练,从而获得分类器模型。
S302、分类
S302-1、对待检测门级网表进行有向图映射以及对有向图单元进行序列切割;
S302-2、直接提取训练阶段得到的最优硬件木特征集的特征;
S302-3、使用训练阶段得到的分类器模型对待检测电路进行预测分类。
本发明基于门级网表实现静态电路结构特征提取,采用机器学习方法对提取的大量特征进行降维得到核心硬件木马特征,并基于这些硬件木马特征对待测芯片进行硬件木马检测。参照该方案实现的硬件木马检测系统无需待检测芯片的“黄金芯片”网表作为参照,极大降低了木马检测的难度;对于现有硬件木马具有普遍的可检测性,检测精度高;检测核心算法可扩展性好,可应用于大规模工业级实际芯片的硬件木马检测;可以很方便地加入到当前ASIC标准设计验证流程中,具有工业化的应用前景。芯片设计网表的有向图映射及有向图单元序列切割技术。
本发明给出芯片设计网表到有向图的映射,再从构建好的有向图到单元序列转换的方法,将网表的网状结构变成易于分析的线性结构,能够有效降低硬件木马的检测时间。
本发明所提出的基于门级结构的硬件木马特征提取方法,概括了逻辑门的扇入、多路复用器、触发器、环路结构、连接固定值的结构、输入输出的级数六类硬件木马门级结构特征,可以有效地实现硬件木马检测。
在现有机器学习方法中,本发明通过比较选择了随机森林方法对硬件木马电路特征进行有效地降维。通过随机森林算法算法获得硬件木马特征的重要性值,重要性值描述了多维度特征对于将网表分类为含有硬件木马还是不含有硬件木马电路的重要性。通过使用这些重要性值可以有效精简并选择最优的硬件木马特征集,实现对待检测电路网表是否含有硬件木马的分类。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.一种基于静态特征的硬件木马检测方法,其特征在于,包括:
将芯片设计网表进行有向图映射,并对有向图单元进行序列切割;
基于门级结构的硬件木马特征提取得到最优硬件木马特征集,包括:
基于门级结构的硬件木马基本特征提取,包括:
采集当前所有硬件木马,逐个进行逻辑实现并综合成木马网表,构建硬件木马库;
从硬件木马库中随机选择M个木马门级网表作为基准用于训练,提取并获得六类基于木马门级网表结构的基本特征,包括:逻辑门的扇入、多路复用器、触发器、环路结构、连接固定值的结构以及输入输出的级数;
对硬件木马电路特征进行降维,选出最优硬件木马特征集;
对硬件木马基本特征提取得到的多维硬件木马特征进行重要性度量;
得到用于检测的最优硬件木马特征集;
基于最优硬件木马特征集以及有向图单元进行序列切割结果,对待检测芯片进行硬件木马检测。
2.如权利要求1所述的基于静态特征的硬件木马检测方法,其特征在于,将芯片设计网表进行有向图映射以及对有向图单元进行序列切割,包括:
将待检测芯片的寄存器传输级设计成待检测芯片门级网表;
分析待检测芯片门级网表的结构,得到其中所有单元的定义语句;
解析单元的定义语句,确定其中单元的类型以及单元与数据输入输出接口相连的线,对于每个单元建立一个有向图节点,其中有向图节点的标签值是有向图节点对应的单元的类型,单元的定义语句包括单元的类型、单元的名称以及输入输出接口;
根据得到的与输入输出接口连接的线,创建的有向图的边,有向图的边包括输入边以及输出边,其中输入边的尾节点以及输出边的头节点设置为当前节点,最终形成有向图;
对有向图中的每一个节点进行搜索以获取待检测芯片中所有长度为一阈值范围的元素序列,元素序列包括逻辑单元和与之相连的线。
3.如权利要求2所述的基于静态特征的硬件木马检测方法,其特征在于,元素序列的阈值范围为1到10。
4.如权利要求1所述的基于静态特征的硬件木马检测方法,其特征在于,对于逻辑门的扇入的硬件木马特征提取为:设net是待测网表的一个线网,其对应的特征提取为距离线网net为x级远的扇入数量;
基于多路复用器的硬件木马特征提取为:(1)距离线网net输入端或输出端x级远的多路复用器的数量;(2)距离线网net输入端或输出端最近的多路复用器的级数;
对于基于触发器的硬件木马电路的特征提取为:(1)距离线网net输入端或输出端x级远的触发器的数量;(2)距离线网net输入端或输出端最近的触发器的级数;
基于时序的硬件木马触发电路提取其环路结构特征为:距离线网net输入端或输出端含有x级环状结构的数量;
连接固定值的结构提取其特征为:距离线网net输入端或输出端x级为固定值0或1的数量;
输入输出的级数的提取特征为:线网net到输入或输出的最小连接级数。
5.如权利要求4所述的基于静态特征的硬件木马检测方法,其特征在于,x取值为小于等于10的正整数。
6.如权利要求1所述的基于静态特征的硬件木马检测方法,其特征在于,使用随机森林算法分类器对得到的多维硬件木马特征进行重要性度量,包括如下步骤:
(1)将硬件木马特征组成多维的特征向量集合,假设多维的维数为N维;
(2)任取N维特征中的一个特征i(1≤i≤N),使用随机森林算法训练得到重要性F度量值;
(3)对N维硬件木马特征重复(2)以得到N个特征的重要性度量;
使用粗粒度过滤式特征选择的方法对硬件木马电路特征进行降维和精简;
使用细粒度过滤式特征选择的方法对硬件木马电路特征进行降维和精简。
7.如权利要求6所述的基于静态特征的硬件木马检测方法,其特征在于,
F度量是精度和召回率的调和平均值,其中:P为精度,定义为R为召回率,定义为TN是正常样本被正确识别为正常的数量,FP是正常样本被错误识别为木马的数量,FN是木马样本被错误识别为正常的数量,TP是木马样本被正确识别为木马的数量。
8.如权利要求6所述的基于静态特征的硬件木马检测方法,其特征在于,使用粗粒度过滤式特征选择的方法对硬件木马电路特征进行降维和精简包括:
(a1)将得到的N个特征的重要性度量值按照从小到大排序,设置特征集维度的初始值m=N;
(a2)定义left=1,right=m/2;
(a3)在全部m个特征中,暂时放弃left≤i≤right特征,保留剩余特征;
(a4)使用剩余特征计算平均度量值F;
(a5)如果F度量值<上一轮的F度量值,则left不变,right=right/2,转步骤(a3);否则转步骤(a6)。如果是首轮,则上一轮的F度量值为1)中得到的初始F度量值;
(a6)若当前特征数量≤预先设定的迭代次数最大值K时,转步骤(a7);否则,left=right+1,right=(m+right+1)/2,转步骤(a3);
(a7)结束全部迭代过程,此时剩余特征组成粗粒度过滤式特征选择的优化后的m维特征序列中。
9.如权利要求8所述的基于静态特征的硬件木马检测方法,其特征在于,使用细粒度过滤式特征选择的方法对硬件木马电路特征进行降维和精简,包括:
(b1)从粗粒度过滤式特征选择的方法得到的优化后的m维特征序列中随机选择一个特征,将其暂时放弃,保留剩余特征;
(b2)使用剩余特征计算平均度量值F;
(b3)如果F度量值≥上一轮的F度量值,则剩余特征组成迭代后的优化特征子集,以优化特征子集替代原始的m维特征集,并使得m值减1,转步骤(b1);否则,将本次迭代中选择的特征重新加入剩余特征,转步骤(b4);
(b4)结束全部迭代过程,此时剩余特征组成细粒度过滤式特征选择后的最优硬件木马特征集。
10.如权利要求1所述的基于静态特征的硬件木马检测方法,其特征在于,基于最优硬件木马特征集以及有向图单元进行序列切割,对待检测芯片进行硬件木马检测,包括:
提取最优硬件木特征集的特征;
使用分类器模型对待检测电路进行预测分类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910343785.5A CN110096879A (zh) | 2019-04-26 | 2019-04-26 | 一种基于门级结构特征的静态硬件木马检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910343785.5A CN110096879A (zh) | 2019-04-26 | 2019-04-26 | 一种基于门级结构特征的静态硬件木马检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110096879A true CN110096879A (zh) | 2019-08-06 |
Family
ID=67445935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910343785.5A Pending CN110096879A (zh) | 2019-04-26 | 2019-04-26 | 一种基于门级结构特征的静态硬件木马检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110096879A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110516376A (zh) * | 2019-08-29 | 2019-11-29 | 合肥工业大学 | 一种基于随机森林模型的集成电路x值灵敏度预测方法 |
CN110866899A (zh) * | 2019-10-31 | 2020-03-06 | 中国人民解放军国防科技大学 | 基于静态热图的无母本芯片硬件木马检测方法及装置 |
CN111353182A (zh) * | 2020-03-11 | 2020-06-30 | 电子科技大学 | 一种面向fpga芯片的网表环路识别方法 |
CN111414622A (zh) * | 2020-03-26 | 2020-07-14 | 电子科技大学 | 针对ip固核网表的硬件后门移除方法 |
CN112232018A (zh) * | 2020-12-16 | 2021-01-15 | 南京集成电路设计服务产业创新中心有限公司 | 一种基于有向图的连接线表示方法 |
CN112380534A (zh) * | 2020-11-12 | 2021-02-19 | 上海电力大学 | 一种基于电路结构分析的硬件木马检测方法 |
CN112650638A (zh) * | 2020-10-23 | 2021-04-13 | 华芯安信(北京)科技有限公司 | 一种基于门级污染标签跟踪模型的硬件安全漏洞检测方法 |
CN112749524A (zh) * | 2021-01-18 | 2021-05-04 | 重庆邮电大学 | 一种基于残差编码器神经网络的硬件木马电路检测方法 |
CN113486347A (zh) * | 2021-06-30 | 2021-10-08 | 福州大学 | 一种基于语义理解的深度学习硬件木马检测方法 |
CN114065307A (zh) * | 2021-11-18 | 2022-02-18 | 福州大学 | 一种基于双向图卷积神经网络的硬件木马检测方法与系统 |
CN114692227A (zh) * | 2022-03-29 | 2022-07-01 | 电子科技大学 | 一种规模化芯片网表级硬件木马检测方法 |
CN114861573A (zh) * | 2022-04-08 | 2022-08-05 | 西北工业大学 | 一种基于lut特征提取和机器学习的硬件木马检测方法 |
CN115204078A (zh) * | 2022-07-25 | 2022-10-18 | 深圳国微芯科技有限公司 | 一种集成电路木马检测方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6240376B1 (en) * | 1998-07-24 | 2001-05-29 | Mentor Graphics Corporation | Method and apparatus for gate-level simulation of synthesized register transfer level designs with source-level debugging |
CN107886012A (zh) * | 2017-10-28 | 2018-04-06 | 天津大学 | 基于门级结构特征的单触发硬件木马检测方法 |
CN108333501A (zh) * | 2018-03-26 | 2018-07-27 | 中国科学院微电子研究所 | 硬件木马的旁路检测方法和装置、仿真验证方法和装置 |
-
2019
- 2019-04-26 CN CN201910343785.5A patent/CN110096879A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6240376B1 (en) * | 1998-07-24 | 2001-05-29 | Mentor Graphics Corporation | Method and apparatus for gate-level simulation of synthesized register transfer level designs with source-level debugging |
CN107886012A (zh) * | 2017-10-28 | 2018-04-06 | 天津大学 | 基于门级结构特征的单触发硬件木马检测方法 |
CN108333501A (zh) * | 2018-03-26 | 2018-07-27 | 中国科学院微电子研究所 | 硬件木马的旁路检测方法和装置、仿真验证方法和装置 |
Non-Patent Citations (1)
Title |
---|
KENTO HASEGAWA,ETC: "Trojan-feature Extraction at Gate-level Netlists and Its Application to Hardware-Trojan Detection Using Random Forest Classifier", 《INSPEC》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110516376A (zh) * | 2019-08-29 | 2019-11-29 | 合肥工业大学 | 一种基于随机森林模型的集成电路x值灵敏度预测方法 |
CN110516376B (zh) * | 2019-08-29 | 2023-03-24 | 合肥工业大学 | 一种基于随机森林模型的集成电路x值灵敏度预测方法 |
CN110866899A (zh) * | 2019-10-31 | 2020-03-06 | 中国人民解放军国防科技大学 | 基于静态热图的无母本芯片硬件木马检测方法及装置 |
CN111353182A (zh) * | 2020-03-11 | 2020-06-30 | 电子科技大学 | 一种面向fpga芯片的网表环路识别方法 |
CN111414622A (zh) * | 2020-03-26 | 2020-07-14 | 电子科技大学 | 针对ip固核网表的硬件后门移除方法 |
CN111414622B (zh) * | 2020-03-26 | 2023-03-28 | 电子科技大学 | 针对ip固核网表的硬件后门移除方法 |
CN112650638B (zh) * | 2020-10-23 | 2022-01-04 | 华芯安信(北京)科技有限公司 | 一种基于门级污染标签跟踪模型的硬件安全漏洞检测方法 |
CN112650638A (zh) * | 2020-10-23 | 2021-04-13 | 华芯安信(北京)科技有限公司 | 一种基于门级污染标签跟踪模型的硬件安全漏洞检测方法 |
CN112380534A (zh) * | 2020-11-12 | 2021-02-19 | 上海电力大学 | 一种基于电路结构分析的硬件木马检测方法 |
CN112232018B (zh) * | 2020-12-16 | 2021-05-18 | 南京集成电路设计服务产业创新中心有限公司 | 一种基于有向图的连接线表示方法 |
CN112232018A (zh) * | 2020-12-16 | 2021-01-15 | 南京集成电路设计服务产业创新中心有限公司 | 一种基于有向图的连接线表示方法 |
CN112749524B (zh) * | 2021-01-18 | 2022-07-12 | 重庆邮电大学 | 一种基于残差编码器神经网络的硬件木马电路检测方法 |
CN112749524A (zh) * | 2021-01-18 | 2021-05-04 | 重庆邮电大学 | 一种基于残差编码器神经网络的硬件木马电路检测方法 |
CN113486347A (zh) * | 2021-06-30 | 2021-10-08 | 福州大学 | 一种基于语义理解的深度学习硬件木马检测方法 |
CN113486347B (zh) * | 2021-06-30 | 2023-07-14 | 福州大学 | 一种基于语义理解的深度学习硬件木马检测方法 |
CN114065307A (zh) * | 2021-11-18 | 2022-02-18 | 福州大学 | 一种基于双向图卷积神经网络的硬件木马检测方法与系统 |
CN114692227A (zh) * | 2022-03-29 | 2022-07-01 | 电子科技大学 | 一种规模化芯片网表级硬件木马检测方法 |
CN114861573A (zh) * | 2022-04-08 | 2022-08-05 | 西北工业大学 | 一种基于lut特征提取和机器学习的硬件木马检测方法 |
CN114861573B (zh) * | 2022-04-08 | 2024-03-08 | 西北工业大学 | 一种基于lut特征提取和机器学习的硬件木马检测方法 |
CN115204078A (zh) * | 2022-07-25 | 2022-10-18 | 深圳国微芯科技有限公司 | 一种集成电路木马检测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110096879A (zh) | 一种基于门级结构特征的静态硬件木马检测方法 | |
Du et al. | Deepstellar: Model-based quantitative analysis of stateful deep learning systems | |
Meade et al. | Gate-level netlist reverse engineering for hardware security: Control logic register identification | |
Katoen et al. | A Markov reward model checker | |
CN109684840A (zh) | 基于敏感调用路径的Android恶意软件检测方法 | |
Yasaei et al. | Gnn4tj: Graph neural networks for hardware trojan detection at register transfer level | |
CN107180191A (zh) | 一种基于半监督学习的恶意代码分析方法和系统 | |
CN110414277B (zh) | 基于多特征参数的门级硬件木马检测方法 | |
CN107656839A (zh) | 集成电路安全性评估与检测方法 | |
CN109359439A (zh) | 软件检测方法、装置、设备及存储介质 | |
CN111027069A (zh) | 恶意软件家族检测方法、存储介质和计算设备 | |
CN107886012A (zh) | 基于门级结构特征的单触发硬件木马检测方法 | |
CN109657461B (zh) | 基于梯度提升算法的rtl硬件木马检测方法 | |
CN107480561A (zh) | 基于少态节点遍历的硬件木马检测方法 | |
US11321510B2 (en) | Systems and methods for machine intelligence based malicious design alteration insertion | |
CN109684834A (zh) | 一种基于XGBoost的门级硬件木马识别方法 | |
CN104715190B (zh) | 一种基于深度学习的程序执行路径的监控方法及系统 | |
CN102324007A (zh) | 基于数据挖掘的异常检测方法 | |
Yu et al. | An improved automatic hardware trojan generation platform | |
CN112149124A (zh) | 一种基于异构信息网络的安卓恶意程序检测的方法和系统 | |
Shen et al. | Lmdet: A “naturalness” statistical method for hardware trojan detection | |
CN106650449B (zh) | 一种基于变量名混淆程度的脚本启发式检测方法及系统 | |
CN108333501A (zh) | 硬件木马的旁路检测方法和装置、仿真验证方法和装置 | |
CN109086186B (zh) | 日志检测方法及装置 | |
CN111737694B (zh) | 一种基于行为树的恶意软件同源性分析方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190806 |
|
RJ01 | Rejection of invention patent application after publication |