CN114611103A - 一种基于机器学习与混合采样的硬件木马检测方法 - Google Patents
一种基于机器学习与混合采样的硬件木马检测方法 Download PDFInfo
- Publication number
- CN114611103A CN114611103A CN202210170897.7A CN202210170897A CN114611103A CN 114611103 A CN114611103 A CN 114611103A CN 202210170897 A CN202210170897 A CN 202210170897A CN 114611103 A CN114611103 A CN 114611103A
- Authority
- CN
- China
- Prior art keywords
- hardware trojan
- node
- gates
- netlist
- nodes
- 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
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/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
- G06F21/563—Static detection by source code analysis
-
- 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/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于集成电路硬件安全技术领域,公开了一种一种基于机器学习与混合采样的硬件木马检测方法。首先,通过归纳出的低翻转率结构对网表中所有门进行互连结构匹配;对网表中所有门进行混合采样,如果门不属于低翻转率结构,则对其周围n级电路进行搜索并建立子图;如果门属于低翻转率结构需要对其所在的逻辑锥进行整体采样;将特征子图中所有的连接结构进行独热码编码,再进行累加获得固定长度的特征向量;最后输入所有特征向量到已经训练好的机器学习分类器进行节点分类,检测出硬件木马节点。本发明保留了图的部分高维特征,同时采用了混合采样的方式扩大了硬件木马与正常节点的特征区别,使得机器学习的模型能更好的训练以及区分硬件木马和正常节点,提高了检测模型的检测精度。
Description
技术领域
本发明属于集成电路硬件安全技术领域,尤其涉及一种基于机器学习与混合采样的硬件木马检测方法、系统、计算机设备及数据处理终端。
背景技术
目前,随着现代集成电路(IC)产业不断发展,设计和制造的成本不断提高,其各个阶段的供应链可能来自世界各地。在IC流程中:系统级、开发环境、寄存器传输级、门级、晶体管级以及物理级都有被植入恶意逻辑的可能,而IC产业全球化的过程极大地增加了不可信的第三方供应链在在设计和制造过程中插入硬件木马的风险。这些被故意甚至恶意植入原有IC设计的逻辑就被称为硬件木马(hardware Trojans,HT),会导致例如信息泄露,功能改变,性能降低,拒绝服务甚至芯片破坏等严重的后果,成为信息安全邻域的重大隐患,严重影响着国家安全以及消费电子领域。而第三方知识产权核(Intellectual Propertycores,IP cores)被广泛用于IC设计中,用于减少设计周期,提高设计效率。而第三方IP核的提供方来历不透明,再加上硬件设计工程师往往没有权限访问IP的内核,或者只能通过高级访问到被编译和综合后的门级网表,而门级网表的可读性很差,这为硬件木马的植入提供了天然的庇护。门级网表是硬件木马植入的重灾区,因此如何对IP核中的门级网表进行硬件木马检测是一项极具意义且挑战性的工作。
传统的硬件木马检测方法主要包括逻辑测试、代码分析和形式验证。这些方案虽然理论上可用但随着规模日益庞大的集成电路来说很有可能出现状态爆炸的问题,使用逻辑验证很难覆盖所有的情形,导致木马检测效率低下。机器学习的方法也被应用于硬件木马检测,通过硬件木马特征的建模以及机器学习模型训练,可以大大解决上述硬件木马检测效率的问题,不过依然存在一些问题:基于多种硬件木马特征的机器学习方式会花巨额时间在特征提取上,在电路规模非常大的情况下这个时间指数增加;基于传统机器学习的方式并没有很好的运用网表图的特征,使得模型的检测效率低下;硬件木马边缘节点特征不明显也是机器学习方式中的通病。
通过上述分析,现有技术存在的问题及缺陷为:现有技术基于多种硬件木马特征的机器学习方式会花巨额时间在特征提取上,在电路规模非常大的情况下这个时间指数增加;基于传统机器学习的方式并没有很好的运用网表图的特征,使得模型的检测效率低下。
解决以上问题及缺陷的难度为:
1.由于多维特征提取是非常耗时的,因此探索一个能够将电路网表中的多维特征进行聚合的特征是目前最大的改进方向以及难点;
2.特征需要将网表中图相关高阶特性进行聚合,例如网表中节点的与邻居节点的度中心性、作为互连关系的次数等特征;
3.如何处理硬件木马的边界节点信息是识别关键。
解决以上问题及缺陷的意义为:使用一个聚合特征进行硬件节点的表征能够加快硬件特征提取的速度,同时引入了图的高阶特征可以提高检测模型的检测效率,加快检测模型的迭代。提供了一个处理边界节点的可行方案,用于提高硬件木马的检测精度。
发明内容
针对现有技术存在的问题,本发明提供了一种硬件木马检测方法、系统、计算机设备及数据处理终端。
本发明是这样实现的,一种硬件木马检测方法,所述硬件木马检测方法进行检测模型的搭建;通过归纳出的低翻转率结构对网表中所有门进行互连结构匹配;对网表中所有门进行混合采样,如果门不属于低翻转率结构,则对其周围n级电路进行搜索并建立子图;如果门属于低翻转率结构需要对其所在的逻辑锥进行整体采样;将特征子图中所有的连接结构进行独热码编码,再进行累加获得固定长度的特征向量;最后输入所有特征向量到已经训练好的机器学习分类器进行节点分类,检测出硬件木马节点。
进一步,将待测网表使用python语言进行文本解析以及图结构的建模,采用邻接矩阵的方式表示图。然后再通过归纳出的低翻转率结构对网表中所有节点进行结构匹配。
进一步,所述进行累加获得固定长度的特征向量之后将特征向量放入机器学习的模型中进行训练,通过不断调整参数进行模型训练之后,选取检测精度最高的模型用于后续的硬件木马检测;将待测网表进行上述相同的操作并放入检测模型中获取模型的预测结果。
进一步,所述硬件木马检测方法包括以下步骤:
第一步,将测试集中嵌入木马的网表进行有向图的映射,结构为G=(N,E),G为整个网表的邻接矩阵,N为网里面所有门,E为门之间的连接关系,该步骤主要对网表的图信息进行提取,加快后续特征的提取;
第二步,归纳硬件木马中存在的低翻转概率的连接结构,并用于第三步中的结构匹配,该步骤指导着不同的采样策略;
第三步,对所有节点进行一次结构匹配,满足前后连接关系中存在低翻转率结构时,将该节点标记为被匹配节点,如果不存在则标记为未被匹配节点,该步骤用于筛选疑似硬件木马的节点;
第四步,针对不同标记的门进行不同的采样策略,用于加大硬件木马与普通节点的特征差距;
第五步,对节点获得的邻接矩阵进行特征向量的表征;将邻接矩阵中所有连接关系以独热码的形式进行统计,该步骤为特征提取,将硬件木马的邻居信息以及自身节点特征进行聚合;
第六步,将获取到的特征向量放入机器学习分类模型中进行训练,获取最终的检测模型;
第七步,将待测网表进行第一步-第五步,并将第五步获得的特征向量放入S106生成的检测模型中进行硬件木马检测,检测模型会输出整个网表的硬件木马检测结果,如果输出结果存在着疑似的硬件木马节点,则代表该电路并不安全,需要对这些疑似节点进行更细致的分析。
进一步,所述第一步对网表进行建模时,使用脚本遍历网表,将网表中的门与连线进行记录,获取到初步的图结构,门为图结构中的N,连线为图结构中的E,再通过收集到的信息进行邻接矩阵表征,建立的邻接矩阵是有向图,意味着门之间具有扇入扇出的关系。
进一步,所述第四步未被匹配的节点:节点是硬件木马驱动电路的嫌疑不大,采用图神经网络中聚合的方式,将节点周围n级的信息进行聚合,分别进行前向、后向n级广度优先搜索获取到该节点邻域的节点与连接信息,加上自身节点信息,一共为2n+1级,信息由邻接矩阵存储;
被匹配节点:对所在逻辑锥进行一个完整的判断;逻辑锥的生成如下:
1)由目标节点向扇出方向搜索n级找到逻辑锥的根节点;
2)从逻辑锥的根节点开始前向广度优先搜索2n+1级获得固定长度的逻辑锥;
3)最后对逻辑锥进行邻接矩阵的存储。
进一步,所述第四步对节点的采样策略为,将节点周围邻域的信息进行采样聚合,用于节点的嵌入;采用有偏采样的方式,将匹配节点所在逻辑锥进行完整表征,根据整个逻辑锥的连接关系用于判断节点是否是硬件木马;
所述第五步网表中存在n中类型的门,则独热码需要n2维。举例说明,假如网表存在2种门,与门和或门,其中存在着连接关系与门-或门、或门-或门、与门-与门、或门-与门则这些连接关系的独热码表示为[0,1,0,0]、[0,0,1,0]、[1,0,0,0]、[0,0,0,1],最后将独热码累加用于节点的特征向量[1,1,1,2];
所述第六步的训练参数定义如下:定义TP为正确识别的木马数量,TN为正确识别的正常节点数量,FP为错误识别为木马的数量,TN为错误识别为正常节点的数量,TPR定义为TP/(TP+TN),TNR定义为TN/(TN+FP)。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述硬件木马检测方法的步骤。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的硬件木马检测方法。
本发明的另一目的在于提供一种实施所述硬件木马检测方法的硬件木马检测系统,所述硬件木马检测系统包括:
有向图映射模块,用于将测试集中嵌入木马的网表进行有向图的映射;
连接结构归纳模块,用于归纳硬件木马中存在的低翻转概率的连接结构;
结构匹配模块,用于对所有节点进行一次结构匹配,满足前后连接关系中存在低翻转率结构时,将节点标记为被匹配节点,如果不存在则标记为未被匹配节点。
采样策略模块,用于针对不同标记的门进行不同的采样策略:
形式统计模块,用于对节点获得的邻接矩阵进行特征向量的表征;将邻接矩阵中所有连接关系以独热码的形式进行统计;
检测模块获取模块,用于将获取到的特征向量放入有监督的神经网络中进行训练,获取最终的检测模型;
硬件木马检测模块,用于进行硬件木马检测,检测模型会输出整个网表的硬件木马检测结果,如果输出结果存在着疑似的硬件木马节点,则代表电路并不安全,需要对疑似节点进行更细致的分析。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明仅需要进行一次特征提取就可以保留了图的高阶特性以及节点特性,并使用混合采样的技术放大了硬件木马边缘节点的木马特征,实现了在可读性很差的门级网表上,有效识别芯片内部是否存在硬件木马,大大地提高了硬件木马检测效率。
与现有技术相比,本发明具有以下优势:与现有基于传统机器学习的硬件木马检测方法相比,本发明需要进行特征提取的算法复杂度为O(N),在应对大规模集成电路网表时可以在短时间内完成特征提取,在算法上比基于多种硬件木马特征的方案快很多。本发明保留了部分图的高维特征,同时采用了混合采样的方式扩大了硬件木马与正常节点的特征区别,使得机器学习的模型能更好的训练以及区分硬件木马和正常节点,提高了检测模型的检测精度。
与基于逻辑验证的硬件木马检测技术来说,本发明不需要生成测试向量,可以有效避免状态爆炸的情况。
附图说明
图1是本发明实施例提供的硬件木马检测方法流程图。
图2是本发明实施例提供的硬件木马检测系统的结构示意图。
图3是本发明实施例提供的硬件木马检测方法的流程示意图。
图4是本发明实施例提供的基于混合采样的特征提取以及特征向量表征示意图。
图5是本发明实施例提供的基准电路的检测结果图。
图中:1、有向图映射模块;2、连接结构归纳模块;3、结构匹配模块;4、采样策略模块;5、形式统计模块;6、检测模块获取模块;7、硬件木马检测模块。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种硬件木马检测方法、系统、计算机设备及数据处理终端,下面结合附图对本发明作详细的描述。
如图1所示,本发明提供的硬件木马检测方法包括以下步骤:
S101:将测试集中嵌入木马的网表进行有向图的映射,结构为G=(N,E),G为整个网表的邻接矩阵,N为网里面所有门,E为门之间的连接关系,这是图最经典的表达方式,这种方式使得图结构简单清晰。
S102:归纳硬件木马中存在的低翻转概率的连接结构,并用于S103中的结构匹配。
S103:对所有节点进行一次结构匹配,满足前后连接关系中存在表1中所示低翻转率结构时,将该节点标记为被匹配节点,如果不存在则标记为未被匹配节点。
S104:针对不同标记的门进行不同的采样策略,假设采样深度为2n+1,n为邻域采样单个方向的深度:
S105:对节点获得的邻接矩阵进行特征向量的表征;将邻接矩阵中所有连接关系以独热码的形式进行统计;
S106:将获取到的特征向量放入有监督的神经网络中进行训练,获取最终的检测模型;
S107:将待测网表进行S101-S105,并将S105获得的特征向量放入S106生成的检测模型中进行硬件木马检测,检测模型会输出整个网表的硬件木马检测结果,如果输出结果存在着疑似的硬件木马节点,则代表该电路并不安全,需要对这些疑似节点进行更细致的分析。
在本发明的S101中:对网表进行建模的时候,使用脚本遍历网表,将网表中的门与连线进行记录,获取到初步的图结构,门为上述图结构中的N,连线为图结构中的E,再通过收集到的信息进行邻接矩阵表征。建立的邻接矩阵是有向图,意味着门之间具有扇入扇出的关系。
在本发明的S102中:归纳的具有低翻转概率的连接关系如图3以及表1中所示,这些特征由TrustHub中的测试集以及相关论文归纳而来,通常出现在硬件木马的触发电路,而且大多为硬件木马的边缘节点,因此以此结构为边缘标识,可以将硬件木马与正常电路分隔开来。
在本发明的S104中:未被匹配的节点:这种节点是硬件木马驱动电路的嫌疑不大,因此采用图神经网络中聚合的方式,将该节点周围n级的信息进行聚合,即分别进行前向、后向n级广度优先搜索获取到该节点邻域的节点与连接信息,加上自身节点信息,一共为2n+1级。该信息由邻接矩阵存储。
被匹配节点:这种节点具有相当大的嫌疑为硬件木马驱动电路,因此需要对其所在逻辑锥进行一个完整的判断。逻辑锥的生成如下:
1)由目标节点向扇出方向搜索n级找到逻辑锥的根节点。
2)从逻辑锥的根节点开始前向广度优先搜索2n+1级获得固定长度的逻辑锥。
3)最后对逻辑锥进行邻接矩阵的存储。
在本发明的S104中:对节点的采样策略为,将节点周围邻域的信息进行采样聚合,用于该节点的嵌入。由于匹配节点很有可能出现在硬件木马的边缘区域,因此采用上述采样方式将具有两个弊端:首先是前向采样的结果是正常节点的连接关系,会影响检测模型的训练效果;再者由于处于硬件木马触发电路的边缘,后向采样的结果只能采样到该逻辑锥的一个小的分支,这对于该节点表征其为硬件木马贡献不大。这两个弊端将会使得模型训练时存在loss震荡,难以收敛。为此,本发明采用有偏采样的方式,将匹配节点所在逻辑锥进行完整表征,由于逻辑锥相对于后向广度优先搜索的采样方式可以收集到更多的硬件木马结构的信息,根据整个逻辑锥的连接关系用于判断该节点是否是硬件木马。
在本发明的S105中:假设网表中存在n种类型的门,则独热码需要n2维。举例说明,假如网表存在2种门,与门和或门,其中存在着连接关系与门-或门、或门-或门、与门-与门、或门-与门,则这些连接关系的独热码表示为[0,1,0,0]、[0,0,1,0]、[1,0,0,0]、[0,0,0,1],最后将这些独热码累加起来就用于该节点的特征向量[1,1,1,2]。
在本发明的S106中:训练参数定义如下:定义TP为正确识别的木马数量,TN为正确识别的正常节点数量,FP为错误识别为木马的数量,TN为错误识别为正常节点的数量,TPR定义为TP/(TP+TN),TNR定义为TN/(TN+FP)。模型参数调整主要目的在于提高TPR,同时保持较高的TNR。
本发明提供的硬件木马检测方法业内的普通技术人员还可以采用其他的步骤实施,图1的本发明提供的硬件木马检测方法仅仅是一个具体实施例而已。
如图2所示,本发明提供的硬件木马检测系统包括:
有向图映射模块1,用于将测试集中嵌入木马的网表进行有向图的映射;
连接结构归纳模块2,用于归纳硬件木马中存在的低翻转概率的连接结构;
结构匹配模块3,用于对所有节点进行一次结构匹配,满足前后连接关系中存在低翻转率结构时,将节点标记为被匹配节点,如果不存在则标记为未被匹配节点。
采样策略模块4,用于针对不同标记的门进行不同的采样策略:
形式统计模块5,用于对节点获得的邻接矩阵进行特征向量的表征;将邻接矩阵中所有连接关系以独热码的形式进行统计;
检测模块获取模块6,用于将获取到的特征向量放入有监督的神经网络中进行训练,获取最终的检测模型;
硬件木马检测模块7,用于进行硬件木马检测,检测模型会输出整个网表的硬件木马检测结果,如果输出结果存在着疑似的硬件木马节点,则代表该电路并不安全,需要对这些疑似节点进行更细致的分析。
下面结合附图对本发明的技术方案作进一步的描述。
图2为本发明硬件木马检测方法的流程框图,本发明提供了一种基于机器学习的门级硬件木马检测方法,首先是进行检测模型的搭建。本具体实施例采用的数据集为RS232-T1000、RS232-T1100、RS232-T1200、RS232-T1300、RS232-T1400、RS232-T1500、RS232-T16007个200门的小网表以及S15850-T100、S35932-T100、S35932-T200、S35932-T300、S38417-T100、S38417-T200、S38417-T300、S38584-T100这些5000门的网表和20000门的wb_conmax-T100。第一步是将网表使用python语言进行文本解析以及图结构的建模,本发明采用邻接矩阵的方式表示图。然后再通过归纳出的低翻转率结构对网表中所有节点进行结构匹配,归纳出的结构如表1所示。接着对节点进行混合采样,如果节点未被匹配,则对节点周围n级电路进行搜索并建立子图,实例中采用的采样窗口为5,即前后各广度优先搜索2级;如果节点被匹配则需要对节点所在的逻辑锥进行整体采样。最后将特征子图中的连接结构进行独热码编码,再进行累加获得固定长度的特征向量。之后将特征向量放入机器学习的模型中进行训练,本发明实施例采用集成学习的方法用作检测模型,通过不断调整参数进行模型训练之后,选取检测精度最高的模型用于后续的硬件木马检测。最后将待测网表进行上述相同的操作并放入检测模型中获取模型的预测结果。
表1具有低翻转结构的二级连接关系
生成检测模型的训练过程为步骤一-步骤六。
步骤一,为对网表进行有向图的映射,实例中采用python语言以及正则表达将网表中的门类型、门名称、端口连接、连线进行分析,并保存到相应容器中。之后再从容器中获取门与门之间的互联信息并构建相应的邻接矩阵。
步骤二,为归纳硬件木马中存在的低翻转概率的连接结构,并用于步骤三中的结构匹配。硬件木马的低触发结构归纳自TrustHub的测试集以及相关文献中,如表1所示。传统的低触发结构为AONN类型,即由与门(and)、或门(or)、与非门(nand)、或非门(nor)组合成低触发的二级结构,如表1中1-8;而其实类似于多路选择器与寄存器、异或同或门等也被应用于结构匹配中。随着库工艺不同,综合采用更多扇入、功能更复杂的基准单元时(例如低功耗设计单元),也需要适当将具备低触发特性的门归于低触发结构中。
步骤S3为结构匹配工作,对网表中所有节点进行结构匹配。本发明实施例中就以图4中的两个电路子图进行结构匹配工作。如图4中的a节点,由于该节点的后向连接关系中不存在属于所述的低触发结构,归于普通节点;而b节点由于与后向的节点连接关系为与门-与门,因此将b归于匹配节点。
步骤四,为混合采样,本发明实施例中的采样窗口固定为5,包括自身节点。如图4所示,由于a为未被匹配的节点,因此采用的采样方式为向前、后分别进行2级广度优先算法,获得的子图为节点周围的邻域;而b点由于是被匹配节点,因此需要尽可能地获取到b点所在的逻辑锥,因此先通过后进行2级深度优先查找找到该逻辑锥的根节点,再由该根节点进行5级前向广度优先查找采样到以b节点在中间的逻辑锥。当然搜索的窗口长度可以改变,不过经过实验大小在5或者7的时候效果较好。
步骤五,为对节点获得的邻接矩阵进行特征向量的表征。如图4所示,假设本发明实施例中一共有4中基本门类型,分别为and,or,nand,nor,则用独热码表征的连接关系一共有16种。示例独热码编码位置如下:与门-与门1;与门-或门2;与门-与非门3;与门-或非门4;或门-与门5;或门-或门6;或门-与非门7;或门-或非门8;与非门-与门9;与非门-或门10;与非门-与非门11;与非门-或非门12;或非门-与门13;或非门-或门14;或非门-与非门15;或非门-或非门1。对于图三A节点进行采样,由于其后向连接关系不属于表1中低翻转率的连接关系,因此对其进行前后两级广度优先搜索,采样到的连接关系为:2个或门-或门(6),1个与非-或门(10),1个或门-与门(4),1个与门-或门(2),1个或门-与非门(7),1个与非门到与门(8),因此对应的特征向量为[0,1,0,1,0,2,1,1,0,1,0,0,0,0,0,0].对于图三B进行采样,由于后向两个连接关系为与门-与门,都属于于低翻转率结构中,因此需要进行流程中的逻辑锥采样,对其所处的逻辑锥进行查看,逻辑锥的根节点为采样节点B扇出方向两级C所在的节点,之后将整个逻辑锥进行五级前向广度优先搜索还原得到图4的B。其中采样到的连接关系为:6个与门-与门(1),4个或门到与门(5),2个或门-或门(6),1个与非-或门(10),1个与非-与门(9),3个与门-或门(2)。因此对应的特征向量为[6,2,0,0,4,2,0,0,1,1,0,0,0,0,0,0]。
步骤六,为检测模型训练。本发明实施例采用有监督的集成决策树以及集成随机森林为检测模型,这两个模型具有调用方便以及训练速度快的优点,同时经过测试,在硬件木马检测这项任务上也具有较高的准确率。输入为上述的特征向量,输出为1或者0,分别表示该向量对应节点为硬件木马或对应节点为正常节点。通过不断调整参数进行模型训练之后,选取检测精度最高的模型用于后续的硬件木马检测。采用交叉验证的方式将多个用于训练的电路划分为训练集和测试集。使用训练集的数据用于监测模型的训练,使用测试集的数据用于模型准确度的评估。最后使用具有最高检测精度的模型对待测网表进行硬件木马检测。
步骤七,为对待测网表进行硬件木马检测。需要将待测网表实现所述的特征向量的表征,最后将所有节点的特征向量放入到检测模型中进行模型预测。
使用的集成模型由sklearn库实现,采用的集成模型数量为10,在保证模型的准确度的情况下,模型训练的速度非常快,在使用gpu加速的情况下能在10秒内完成所有网表的交叉验证。图5为本发明实施例所取得的硬件木马检测精度,集成随机森林以及集成决策树的方式均实现了超过93%的TPR以及保证95%以上的TNR。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种基于机器学习与混合采样的硬件木马检测方法,其特征在于,所述硬件木马检测方法进行检测模型的搭建;通过归纳出的低翻转率结构对待测网表中所有门进行互连结构匹配;对网表中所有门进行混合采样,如果门不属于低翻转率结构,则对其周围n级电路进行搜索并建立子图,如果门属于低翻转率结构需要对其所在的逻辑锥进行整体采样;将特征子图中所有的连接结构进行独热码编码,再进行累加获得固定长度的特征向量;最后输入所有特征向量到已经训练好的机器学习分类器进行节点分类,检测出硬件木马节点。
2.如权利要求1所述的基于机器学习与混合采样的硬件木马检测方法,其特征在于,将网表使用python语言进行文本解析以及图结构的建模,采用邻接矩阵的方式表示图;然后再通过归纳出的低翻转率结构对网表中所有节点进行结构匹配。
3.如权利要求1所述的基于机器学习与混合采样的硬件木马检测方法,其特征在于,所述进行累加获得固定长度的特征向量之后将特征向量放入机器学习的模型中进行训练,采用有监督的神经网络用作检测模型的训练,通过不断调整参数进行模型训练之后,选取检测精度最高的模型用于后续的硬件木马检测;将待测网表进行上述相同的操作并放入检测模型中获取模型的预测结果。
4.如权利要求1所述的基于机器学习与混合采样的硬件木马检测方法,其特征在于,所述硬件木马检测方法包括以下步骤:
第一步,将测试集中植入木马的网表进行有向图的映射,结构为G=(N,E),G为整个网表的邻接矩阵,N为网里面所有门,E为门之间的连接关系;
第二步,归纳硬件木马中存在的低翻转概率的连接结构,并用于第三步中的结构匹配;
第三步,对所有节点进行一次结构匹配,满足前后连接关系中存在低翻转率结构时,将该节点标记为被匹配节点,如果不存在则标记为未被匹配节点;
第四步,针对不同标记的门进行不同的采样策略;
第五步,对节点获得的邻接矩阵进行特征向量的表征;将邻接矩阵中所有连接关系以独热码的形式进行统计;
第六步,将获取到的特征向量放入有监督的神经网络中进行训练,获取最终的检测模型;
第七步,将待测网表进行第一步-第五步,并将第五步获得的特征向量放入S106生成的检测模型中进行硬件木马检测,检测模型会输出整个网表的硬件木马检测结果,如果输出结果存在着疑似的硬件木马节点,则代表该电路并不安全,需要对这些疑似节点进行更细致的分析。
5.如权利要求4所述的基于机器学习与混合采样的硬件木马检测方法,其特征在于,所述第一步对网表进行建模时,使用脚本遍历网表,将网表中的门与连线进行记录,获取到初步的图结构,门为图结构中的N,连线为图结构中的E,再通过收集到的信息进行邻接矩阵表征,建立的邻接矩阵是有向图,意味着门之间具有扇入扇出的关系。
6.如权利要求4所述的基于机器学习与混合采样的硬件木马检测方法,其特征在于,所述第四步未被匹配的节点:节点是硬件木马驱动电路的嫌疑不大,采用图神经网络中邻域聚合的方式,将节点邻域n级的信息进行聚合,分别进行前向、后向n级广度优先搜索获取到该节点邻域的节点与连接信息,加上自身节点信息,一共为2n+1级,信息由邻接矩阵存储;
被匹配节点:对所在逻辑锥进行一个完整的判断;逻辑锥的生成如下:
1)由目标节点向扇出方向搜索n级找到逻辑锥的根节点;
2)从逻辑锥的根节点开始前向广度优先搜索2n+1级获得固定长度的逻辑锥;
3)最后对逻辑锥进行邻接矩阵的存储。
7.如权利要求4所述的基于机器学习与混合采样的硬件木马检测方法,其特征在于,所述第四步对节点的采样为,将节点周围邻域的信息进行采样聚合,用于节点的嵌入;采用有偏采样的方式,将匹配节点所在逻辑锥进行完整表征,根据整个逻辑锥的连接关系用于判断节点是否是硬件木马;
所述第五步网表中存在n中类型的门,则独热码需要n2维。举例说明,假如网表存在2种门,与门和或门,其中存在着连接关系与门-或门、或门-或门、与门-与门、或门-与门,这些连接关系的独热码表示为[0,1,0,0]、[0,0,1,0]、[1,0,0,0]、[0,0,0,1],最后将独热码累加用于节点的特征向量[1,1,1,2];
所述第六步的训练参数定义如下:定义TP为正确识别的木马数量,TN为正确识别的正常节点数量,FP为错误识别为木马的数量,TN为错误识别为正常节点的数量,TPR定义为TP/(TP+TN),TNR定义为TN/(TN+FP)。
8.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1~7任意一项所述硬件木马检测方法的步骤。
9.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现权利要求1~7任意一项所述的硬件木马检测方法。
10.一种实施权利要求1~7任意一项所述基于机器学习与混合采样的硬件木马检测方法的硬件木马检测系统,其特征在于,所述硬件木马检测系统包括:
有向图映射模块,用于将测试集中嵌入木马的网表进行有向图的映射;
连接结构归纳模块,用于归纳硬件木马中存在的低翻转概率的连接结构;
结构匹配模块,用于对所有节点进行一次结构匹配,满足前后连接关系中存在低翻转率结构时,将节点标记为被匹配节点,如果不存在则标记为未被匹配节点;
采样策略模块,用于针对不同标记的门进行不同的采样策略:
形式统计模块,用于对节点获得的邻接矩阵进行特征向量的表征;将邻接矩阵中所有连接关系以独热码的形式进行统计;
检测模块获取模块,用于将获取到的特征向量放入有监督的神经网络中进行训练,获取最终的检测模型;
硬件木马检测模块,用于进行硬件木马检测,检测模型会输出整个网表的硬件木马检测结果,如果输出结果存在着疑似的硬件木马节点,则代表电路并不安全,需要对疑似节点进行更细致的分析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210170897.7A CN114611103A (zh) | 2022-02-23 | 2022-02-23 | 一种基于机器学习与混合采样的硬件木马检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210170897.7A CN114611103A (zh) | 2022-02-23 | 2022-02-23 | 一种基于机器学习与混合采样的硬件木马检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114611103A true CN114611103A (zh) | 2022-06-10 |
Family
ID=81858963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210170897.7A Pending CN114611103A (zh) | 2022-02-23 | 2022-02-23 | 一种基于机器学习与混合采样的硬件木马检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114611103A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116451056A (zh) * | 2023-06-13 | 2023-07-18 | 支付宝(杭州)信息技术有限公司 | 端特征洞察方法、装置以及设备 |
-
2022
- 2022-02-23 CN CN202210170897.7A patent/CN114611103A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116451056A (zh) * | 2023-06-13 | 2023-07-18 | 支付宝(杭州)信息技术有限公司 | 端特征洞察方法、装置以及设备 |
CN116451056B (zh) * | 2023-06-13 | 2023-09-29 | 支付宝(杭州)信息技术有限公司 | 端特征洞察方法、装置以及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Russell et al. | Automated vulnerability detection in source code using deep representation learning | |
Meade et al. | Gate-level netlist reverse engineering for hardware security: Control logic register identification | |
Yasaei et al. | Gnn4tj: Graph neural networks for hardware trojan detection at register transfer level | |
Yasaei et al. | Hardware trojan detection using graph neural networks | |
Yu et al. | HW2VEC: A graph learning tool for automating hardware security | |
Zareen et al. | Detecting RTL trojans using artificial immune systems and high level behavior classification | |
CN109657461B (zh) | 基于梯度提升算法的rtl硬件木马检测方法 | |
CN107590313A (zh) | 基于遗传算法和变异分析的优化测试向量生成方法 | |
CN105095756A (zh) | 可移植文档格式文档的检测方法和装置 | |
CN110955892B (zh) | 一种基于机器学习和电路行为级特征的硬件木马检测方法 | |
CN114239083B (zh) | 一种基于图神经网络的高效状态寄存器识别方法 | |
Cruz et al. | Automatic hardware trojan insertion using machine learning | |
CN114611103A (zh) | 一种基于机器学习与混合采样的硬件木马检测方法 | |
Li et al. | A XGBoost based hybrid detection scheme for gate-level hardware Trojan | |
Salmani | Gradual-N-Justification (GNJ) to reduce false-positive hardware Trojan detection in gate-level Netlist | |
Shmatko et al. | Designing and evaluating dl-model for vulnerability detection in smart contracts | |
Hassan et al. | Circuit topology-aware vaccination-based hardware trojan detection | |
Yang et al. | Hardware Trojans detection through RTL features extraction and machine learning | |
Pan et al. | A unioned graph neural network based hardware Trojan node detection | |
Wu et al. | EXERT: EXhaustive IntEgRiTy analysis for information flow security | |
Du et al. | A HT detection and diagnosis method for gate-level netlists based on machine learning | |
CN113821840B (zh) | 基于Bagging的硬件木马检测方法、介质、计算机 | |
Fendri et al. | A deep-learning approach to side-channel based CPU disassembly at design time | |
Cruz et al. | A machine learning based automatic hardware trojan attack space exploration and benchmarking framework | |
CN115719046A (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 |