CN114239083A - 一种基于图神经网络的高效状态寄存器识别方法 - Google Patents
一种基于图神经网络的高效状态寄存器识别方法 Download PDFInfo
- Publication number
- CN114239083A CN114239083A CN202111446660.9A CN202111446660A CN114239083A CN 114239083 A CN114239083 A CN 114239083A CN 202111446660 A CN202111446660 A CN 202111446660A CN 114239083 A CN114239083 A CN 114239083A
- Authority
- CN
- China
- Prior art keywords
- graph
- neural network
- register
- netlist
- model
- 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
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 63
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 65
- 238000012549 training Methods 0.000 claims abstract description 50
- 230000008569 process Effects 0.000 claims abstract description 46
- 238000013507 mapping Methods 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 13
- 230000010354 integration Effects 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 28
- 238000012360 testing method Methods 0.000 claims description 18
- 238000010801 machine learning Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 5
- 238000003860 storage Methods 0.000 claims description 5
- 230000004913 activation Effects 0.000 claims description 4
- 238000011478 gradient descent method Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 description 14
- 230000035945 sensitivity Effects 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 241001302129 Fiji disease virus Species 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 4
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000007635 classification algorithm Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 241000001667 Eueretagrotis sigmoides Species 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Computer Security & Cryptography (AREA)
- Image Analysis (AREA)
Abstract
本发明属于硬件安全技术领域,公开了一种基于图神经网络的高效状态寄存器识别方法,所述基于图神经网络的高效状态寄存器识别方法包括:对电路网表进行整合处理和映射,并将处理后网表建模为有向图结构;以寄存器节点为起点进行子图划分,提取节点特征与边特征,作为图神经网络的训练集;采用图注意力自动编码器网络GATE作为无监督模型,得到最佳训练模型;使用聚类算法对模型输出结果进行分类,并根据分类结果计算准确度。本发明创新性的将传统逆向工程的算法与图神经网络相结合,在保证了识别准确度的前提下极大的提升了效率。本发明创造性的用图神经网络获取寄存器的图结构特征,代替传统算法求解PSS的复杂过程,极大的提升了算法的速度和普适性。
Description
技术领域
本发明属于硬件安全技术领域,尤其涉及一种基于图神经网络的高效状态寄存器识别方法、系统、计算机设备及终端。
背景技术
目前,硬件木马是某些攻击者在芯片制造时故意插入在正常电路中的额外电路,用于秘密泄露信息、增加电路功耗、干扰或破坏电路正常功能。门级网表逆向工程对硬件特洛伊木马检测和设计盗版抵制极为重要,其主要任务是将控制寄存器和数据寄存器从网表中分离出来,提取控制信号并恢复有限状态机,从而判断设计中的控制逻辑是否在生成网表时被篡改。
目前已有的门级网表逆向工程算法可以分为两类:控制寄存器的隔离和数据寄存器的聚合。逆向工程逻辑识别和分类算法(RELIC)是控制寄存器隔离方法之一,根据电路结构的相似性识别控制信号。RELIC根据扇入结构的相似性和输入门的类型,对每两个寄存器计算[0,1]范围内的匹配相似性分数(PSS),最后根据PSS对寄存器进行分类。快速逆向工程逻辑识别和分类算法(fastRELIC)从两个方面改进了RELIC,在计算PSS时同时考虑原信号与逆信号,强化对结构相似度的识别能力;在分类时引入聚类思想,提升分类效率。
但是,现有算法通过计算网表中的每两个寄存器之间的PSS来评估寄存器结构的相似性,其时间复杂度正比于寄存器数量的平方。这导致对于规模较大、寄存器较多的网表,现有算法的效率很低。现有算法的可拓展性和普适性很差。每个网表的计算结果都是独立的,相互之间没有联系,无法根据已有的测试结果去简化其他网表的分析流程。这点也限制了现有算法的效率。
综上所述,亟需设计一种新的基于图神经网络的高效状态寄存器识别方法及系统,以弥补现有技术存在的缺陷。
通过上述分析,现有技术存在的问题及缺陷为:
(1)现有算法通过计算网表中的每两个寄存器之间的PSS来评估寄存器结构的相似性,其时间复杂度正比于寄存器数量的平方,这导致对于规模较大、寄存器较多的网表,现有算法的效率很低。
(2)现有算法的可拓展性和普适性很差。每个网表的计算结果都是独立的,相互之间没有联系,无法根据已有的测试结果去简化其他网表的分析流程,这点也限制了现有算法的效率。
解决以上问题及缺陷的难度和意义为:现有算法的缺陷导致逆向工程技术难以在大规模和超大设计使用,其时间代价是难以接受的,且当设计修改后,需要重新计算网表中所有寄存器节点之间的PSS。本发明提出了一种基于图神经网络的状态寄存器识别方法。一方面,使用神经网络进行识别,单次测试的速度得到了提升;另一方面,根据已有测试例生成的模型也可以用于其他网表的测试,算法有着很高普适性。
发明内容
针对现有技术存在的问题,本发明提供了一种基于图神经网络基于图神经网络的高效状态寄存器识别方法,尤其涉及一种基于图神经网络的高效状态寄存器识别方法、系统、计算机设备及终端。
本发明是这样实现的,一种基于图神经网络的高效状态寄存器识别方法,所述基于图神经网络的高效状态寄存器识别方法包括:
对电路网表进行整合处理和映射,并将处理后网表建模为有向图结构;以寄存器节点为起点进行子图划分,提取节点特征与边特征,作为图神经网络的训练集;采用图注意力自动编码器网络GATE作为无监督模型,得到最佳训练模型;使用聚类算法对模型输出结果进行分类,并根据分类结果计算准确度。
进一步,所述基于图神经网络的高效状态寄存器识别方法包括以下步骤:
步骤一,对电路网表进行整合和映射,规范输入电路网表的结构,消除工艺库不同导致的网表器件差异;
步骤二,以电路网表中各种门和寄存器为节点,以节点的连接关系为边,建立有向图;以寄存器节点为起点对有向图进行划分,提取子图的节点和边特征作为图神经网络的训练集;
步骤三,采用图神经网络GNN算法中的图注意力自动编码器网络GATE作为无监督模型进行训练,根据训练结果优化模型,得到最佳模型;
步骤四,使用最佳模型对待测电路进行测试,采用聚类算法对输出结果进行分类,得到状态寄存器;根据分类结果计算准确度,评估测试结果。
进一步,步骤一中,电路网表的整合指将顶层模块下的多个子网表合并成一个整体网表,并保持网表内与网表间各节点之间的连接关系;遍历网表中的所有模块,根据模块之间的例化信息对各个模块进行整合,修改子模块内的器件的例化名称防止节点名重复。网表的整合有利于网表信息的提取,对于多模块的网表,转换后是多个不相连图结构,这会导致分析时遗漏器件在模块间的连接关系,而整合后网表转化的图结构则包含全部信息。
电路网表的映射指忽略器件的工艺特性,保留器件的功能属性,将不同工艺库的网表映射为统一形式,优化机器学习的数据集。对于不同工艺下的网表,用脚本提取其工艺库的信息并保存下来。以此修改网表中其各个器件的器件类型,将其转变为统一的、与工艺特性无关的、只保留功能属性的形式。如smic13工艺库下的器件“AND2HD1X”为2输入与门,其中“HD1X”为其工艺特性,将此工艺下的网表中的所有“AND2HD1X”映射为“AND2”,即消除了工艺特性,其他工艺库下的器件种类同理。网表映射对优化数据集十分重要,由于考虑到工艺特性,原网表中包含大量功能相同但名称不同的器件类型,这会导致机器学习的数据集的参数爆炸,降低算法效率。且网表映射也消除了不同工艺下网表的差异,增加了算法的可拓展性。
进一步,步骤一是状态寄存器识别方法的准备工作,将多模块的电路网表整合为一个模块,有利于图结构的转化;映射消除工艺库的不同带来的影响,既缩减了特征防止训练时参数爆炸,又为模型的可拓展性打下基础。
进一步,步骤二中,将电路网表转换为非欧几里得图结构,其中节点为网表中的寄存器或其他器件,边为器件之间的连接关系。遍历步骤一整合映射后的网表,以网表中每个器件的器件名为节点,以节点之间的连接关系为边,以器件类型转换的独热码作为节点特征,通过有向图结构来抽象网表的全部信息。
子图划分以寄存器为起点,搜寻其n级扇入内的所有非寄存器节点。本发明使用基于有向图的路径结构扩展算法,该算法通过执行广度优先搜索来找到寄存器的路径结构,进而划分子图。划分后的子图包含了该寄存器的n级扇入结构以及每个扇入门的器件类型,可以表示出寄存器的结构特性,以此作为图神经网络的数据集进行模型训练。
进一步,步骤二是图神经网络的前提,将网表转化为有向图结构,进行子图的划分与特征的提取,为后续模型训练提供数据集。
进一步,步骤三中,采用图注意力自动编码器网络(GATE)进行图神经网络(GNN)模型的训练。GATE将GNN与自动编码器结合起来,其模型训练分为编码和解码两个过程:
在编码阶段,使用门嵌入过程和堆叠的图注意网络(GAT)对图进行编码,每个编码层根据节点的相关性,建立邻接矩阵与注意力系数矩阵,并以图卷积的方式聚合与更新每一层的节点特征。编码阶段更新节点特征的过程涉及两个子函数,计算相关性系数的函数与生成节点表示的函数,如下所示:
在解码阶段,解码器使用与编码器相同数量的层与相同类别的激活函数,每个解码层使用图卷积的方式更新相邻节点的特征,对编码器输出层的结果进行反向恢复,重构有向图。解码阶段更新节点特征的方式与编码节点相似,其相相关性系数的计算和生成节点表示的函数如下所示:
将重构图的特征与原图特征进行比对,二者越相似则说明模型越优。其相似性可以通过损失函数表示。损失函数的计算方法如下:
使用梯度下降法不断更新模型参数,降低损失函数的值,得到最优化模型。
进一步,步骤三是图神经网络的核心算法,以图注意力自动编码器网络(GATE)作为无监督模型不断训练,得到最佳模型,用于将寄存器的结构抽象成低维特征。
进一步,步骤四中,采用聚类算法对输出结果进行分类。根据经验分析可以得出,数据信号一般是多位宽的,且数据信号位与位之间的逻辑一般相同。表现在电路结构上,数据寄存器常以组的形式出现,同一组内的数据寄存器的结构十分相似。而控制寄存器则不同,其信号路径是独特的,电路结构上不具有相似性。因此可以通过聚类的方式将寄存器节点分组,进而得出寄存器节点,聚类算法的思路如下:
首先,将所有寄存器节点标记为候选寄存器节点(CRN)并放入候选组(CG)。然后执行几次迭代。在第i次迭代中,从CG中随机提取一个起始寄存器节点(SRN),并将其放入一个空集SI中。然后计算SRN和CG中所有其他节点之间的特征差值(FDV)。FDV小于阈值T1的节点从CG中提取并放入SI,而其他节点保留在CG中。重复上述过程,直到CG中只有一个或没有CRN。分组后,计算每个组中的节点数。当该数目小于阈值T2时,组中的所有节点被分类为状态寄存器,否则被分类为数据寄存器。
进一步,步骤四是状态寄存器识别的核心算法,通过聚类对压缩特征后寄存器节点进行分类,从而分离出状态寄存器。
本发明的另一目的在于提供一种应用所述的基于图神经网络的高效状态寄存器识别方法的基于图神经网络的高效状态寄存器识别系统,所述基于图神经网络的高效状态寄存器识别系统包括:
网表处理模块,用于整合待测门级网表结构,并消除器件的工艺特性;
路径结构提取模块,用于将网表建模成有向图,以寄存器为起点从有向图中提取n级子图,建立训练集;
GNN模型训练模块,用于使用图注意力自动编码器网络GATE作为无监督模型进行训练,多次训练获得最优模型;
寄存器分类模块,用于使用聚类算法对模型输出结果进行分类,判断寄存器为数据寄存器还是状态寄存器,并根据结果计算分类准确度,评估检测结果。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
对电路网表进行整合处理和映射,并将处理后网表建模为有向图结构;以寄存器节点为起点进行子图划分,提取节点特征与边特征,作为图神经网络的训练集;采用图注意力自动编码器网络GATE作为无监督模型,得到最佳训练模型;使用聚类算法对模型输出结果进行分类,并根据分类结果计算准确度。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
对电路网表进行整合处理和映射,并将处理后网表建模为有向图结构;以寄存器节点为起点进行子图划分,提取节点特征与边特征,作为图神经网络的训练集;采用图注意力自动编码器网络GATE作为无监督模型,得到最佳训练模型;使用聚类算法对模型输出结果进行分类,并根据分类结果计算准确度。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的基于图神经网络的高效状态寄存器识别系统。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提供的基于图神经网络的高效状态寄存器识别方法,用于门级网表的逆向工程之中。门级网表逆向工程对硬件特洛伊木马检测和设计盗版抵制极为重要,其主要任务是将控制和数据信号从网表中分离出来,这主要是通过拓扑比较来识别状态寄存器来实现的。然而,受限于选取的算法,现有方法对于大规模的网表来说效率很低,难以应用在大规模设计之中。
机器学习是人工智能及模式识别领域的共同研究热点,其理论和方法已被广泛应用于解决工程应用和科学领域的复杂问题。机器学习研究如何从大量数据中有效利用信息,注重从巨量数据中获取隐藏的、有效的、可理解的知识。本发明基于网表结构属性的特点,创新性的将传统逆向工程的算法与图神经网络相结合,使用机器学习的方式去探索大量数据内隐藏的有效信息,即网表内寄存器节点的结构特征。这种方式填补了业内的技术空白,将算法的复杂度降低了一个量级,在保证了识别准确度的前提下极大地提升了效率,且这种速率的提升对于大网表极为明显。此外,机器学习训练的模型是可复用的,可以用已有模型对全新网表进行测试,大大减少了后续测试花费的时间,极大的提升了算法的普适性,这也是现有算法无法实现的。
现有算法根据状态寄存器和数据寄存器在功能上的差异,提出了从电路结构上识别二者的思路。本发明基于此思路,提出了一种基于图神经网络的状态寄存器识别方法(RELIC-GNN),创造性的将机器学习与状态寄存器识别算法结合在一起。本算法通过图神经网络获取寄存器的图结构特征,代替传统算法求解PSS的复杂过程,解决了传统算法时间复杂度高、效率低、不可复用的缺陷,对于之后逆向工程算法的探索有很深远的影响。
本发明将从灵敏度、精确度和运行速度上比较本算法(RELIC-GNN)与传统算法(fastRELIC)。对于选用的所有设计网表,fastRELIC和RELIC-GNN的灵敏度结果均为100%,即都能检测出所有的状态寄存器。因此,本发明重点关注fastRELIC和RELIC-GNN的准确性和运行时间;RELIC-GNN比fastRELIC更准确,准确率平均提高4.3%,即在检测时引入的误判更少。此外,RELIC-GNN在大多数情况下都比fastRELIC快,其速度最高可提升至50.61倍。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于图神经网络的高效状态寄存器识别方法流程图。
图2是本发明实施例提供的基于图神经网络的高效状态寄存器识别方法原理图。
图3是本发明实施例提供的基于图神经网络的高效状态寄存器识别系统结构框图;
图中:1、网表处理模块;2、路径结构提取模块;3、GNN模型训练模块;4、寄存器分类模块。
图4是本发明实施例提供的网表映射前后对比图。
图5是本发明实施例提供的网表与有向图的转换图。
图6是本发明实施例提供的路径结构扩展算法的伪代码。
图7是本发明实施例提供的图注意力自动编码器网络GATE的框架图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种基于图神经网络的高效状态寄存器识别方法、系统、计算机设备及终端,下面结合附图对本发明作详细的描述。
如图1所示,本发明实施例提供的基于图神经网络的高效状态寄存器识别方法包括以下步骤:
S101,对电路网表进行整合和映射,规范输入电路网表的结构,消除工艺库不同导致的网表器件差异;
S102,以电路网表中各种门和寄存器为节点,以节点的连接关系为边,建立有向图;以寄存器节点为起点对有向图进行划分,提取子图的节点和边特征作为图神经网络的训练集;
S103,采用图神经网络GNN算法中的图注意力自动编码器网络GATE作为无监督模型进行训练,根据训练结果优化模型,得到最佳模型;
S104,使用最佳模型对待测电路进行测试,采用聚类算法对输出结果进行分类,得到状态寄存器;根据分类结果计算准确度,评估测试结果。
本发明实施例提供的基于图神经网络的高效状态寄存器识别方法原理图如图2所示。
如图3所示,本发明实施例提供的基于图神经网络的高效状态寄存器识别系统包括:
网表处理模块1,用于整合待测门级网表结构,并消除器件的工艺特性;
路径结构提取模块2,用于将网表建模成有向图,以寄存器为起点从有向图中提取n级子图,建立训练集;
GNN模型训练模块3,用于使用图注意力自动编码器网络GATE作为无监督模型进行训练,多次训练获得最优模型;
寄存器分类模块4,用于使用聚类算法对模型输出结果进行分类,判断寄存器为数据寄存器还是状态寄存器,并根据结果计算分类准确度,评估检测结果。
下面结合具体实施例对本发明的技术方案作进一步描述。
实施例1
本发明提供了一种基于图神经网络的状态寄存器识别方法。本发明实现思路如下:首先对电路网表进行整合和映射,之后建立有向图并提取子图作为训练集,再使用图注意力自动编码器网络(GATE)作为无监督模型训练得到最佳模型,最后通过聚类算法得到状态寄存器。
本发明的实现采用了基于图神经网络的状态寄存器识别方法,包括如下步骤:
步骤S1:对待测的门级网表进行预处理,将网表各模块进行合并,整合为统一的模块。对整合后的网表进行映射,修改其寄存器类型,便于后续分析。
步骤S2:对步骤S1中整合映射后的网表建模,以器件名为节点,器件之间的连接关系为边,建立有向图。以寄存器节点为起点,搜寻其n级扇入内的所有非寄存器节点建立子图。以器件种类为节点特征,作为机器学习的训练集。
步骤S3:采用图注意力自动编码器网络(GATE)作为无监督模型进行训练,根据训练结果优化模型,得到最佳模型。
步骤S4:使用最佳模型对待测电路进行测试,使用聚类算法对输出结果进行分类,得到状态寄存器;根据分类结果计算准确度,评估测试结果。
实施例2
如图2所示,本发明实施例提供的基于图神经网络的状态寄存器识别方法包括以下步骤:
步骤S1:对门级网表进行整合与映射,具体操作如下:
S11:对于给定的门级网表,先将网表中所有的模块整合为一个主模块,并保留其连线关系;为防止不同模块中信号名和器件名重复,子模块中的信号名和器件名加上子模块名作为前缀。
S12:对整合后的网表进行映射,保留器件的功能属性,忽略器件的工艺特性。对于不同工艺下的网表,用脚本提取其工艺库的信息并保存下来。以此修改网表中其各个器件的器件类型,将其转变为统一的、与工艺特性无关的、只保留功能属性的形式。如smic13工艺库下的器件“AND2HD1X”为2输入与门,其中“HD1X”为其工艺特性,将此工艺下的网表中的所有“AND2HD1X”映射为“AND2”,即消除了工艺特性,其他工艺库下的器件种类同理。映射前后网表的对比如图4所示。
步骤S2:有向图建模与子图划分,具体操作如下:
S21:遍历步骤S1整合映射后的网表,以网表中每个器件的器件名为节点,以节点之间的连接关系为边,以器件类型转换的独热码作为节点特征,通过有向图结构来抽象网表的全部信息。网表转换为有向图的过程如图5所示,其中节点颜色表示器件类型。
S22:以寄存器为起点,搜寻其n级扇入内的所有非寄存器节点建立子图。本发明使用基于有向图的路径结构扩展算法,该算法通过执行广度优先搜索来找到寄存器的路径结构,进而划分子图。路径结构扩展算法如图6所示。根据芯片设计原则,控制寄存器的扇入等级一般不超过6。因此,深度为6的路径结构在大多数情况下可以区分控制寄存器和数据寄存器。故而在算法中,输入行走长度设置为6。此外,为了提高运行时效率,如果搜索中出现另一个寄存器,该算法将立即终止,如算法的第9~12行所示。
步骤S3:采用图注意力自动编码器网络(GATE)作为无监督模型进行训练。GATE将GNN与自动编码器结合起来,其框架如图7所示。GATE的模型训练分为编码和解码两个过程。具体操作如下:
S31:在编码阶段,使用门嵌入过程和堆叠的图注意网络(GAT)对图进行编码,每个编码层根据节点的相关性,建立邻接矩阵与注意力系数矩阵,并以图卷积的方式聚合与更新每一层的节点特征。编码阶段更新节点特征的过程涉及两个子函数,计算相关性系数的函数与生成节点表示的函数,如下所示:
式1中,eij (k)为第k个编码层中邻居节点i与j的相关性,W(k)、Vs (k)、Vr (k)为第k个编码层中的训练参数,σ为激活函数,Sigmoid表示sigmoid函数,即Sigmoid(x)=1/(1+exp-x)。式2中,αij (k)为eij (k)的归一化处理,从而使得节点i邻居节点的相关性系数具有可比性。式3中,hi (k)为节点i在第k个编码层中的节点特征,通过聚合第k-1个编码层中节点i相邻节点的特征获得。
在本例中,编码器的层数k设置为6,神经网络的第一层将低维输入单元特征映射到高维空间,本发明选择映射成128维。
S32:在解码阶段,解码器使用与编码器相同数量的层与相同类别的激活函数,每个解码层使用图卷积的方式更新相邻节点的特征,对编码器输出层的结果进行反向恢复,重构有向图。解码阶段更新节点特征的方式与编码节点相似,其相相关性系数的计算和生成节点表示的函数如下所示:
解码层中使用函数的各个参数与编码层参数意义相同,此处不再赘述。
S33:将重构图的特征与原图特征进行比对,二者越相似则说明模型越优。其相似性可以通过损失函数表示。损失函数的计算方法如下:
使用梯度下降法不断更新模型参数,降低损失函数的值,得到最优化模型。
步骤S4:使用最佳模型对待测电路进行测试,使用聚类算法对输出结果进行分类,根据分类结果计算准确度。具体操作如下:
S41:将所有寄存器节点标记为候选寄存器节点(CRN)并放入候选组(CG)。然后执行几次迭代。在第i次迭代中,从CG中随机提取一个起始寄存器节点(SRN),并将其放入一个空集SI中。
S42:计算SRN和CG中所有其他节点之间的特征差值(FDV)。FDV小于阈值T1的节点从CG中提取并放入SI,而其他节点保留在CG中。重复上述过程,直到CG中只有一个或没有CRN。
S43:分组后,计算每个组中的节点数。当该数目小于阈值T2时,组中的所有节点被分类为状态寄存器,否则被分类为数据寄存器。
在本例中,为了尽可能地分离控制寄存器和数据寄存器,阈值T1设置为1×10-6。由于芯片设计中的多位宽数据信号的宽度通常不小于4,因此将阈值T2设置为4。
S44:根据测试结果,评估算法性能。具体操作如下:
在本例中,本发明将从灵敏度、精确度和运行速度上比较本算法(RELIC-GNN)与传统算法(fastRELIC)。本例使用的网表位于表2的第一列,包含ITC99基准、Opencore中的设计和github中的32位RISC-V处理器。网表的寄存器和门的数量是由综合网表得出的,而状态寄存器的数量是由RTL描述推导出来的。为了提高识别的准确性和可扩展性,本发明从表一中的前六个网表中随机选择了20个寄存器路径结构作为GNN模型的训练集。梯度下降优化器Adam通过引入一个无监督的损失函数来更新GNN模型中的参数。
状态寄存器识别的正确性有灵敏度和准确度表示,其定义如下:
其中,CIRstate和CIRdata分别代表正确识别的状态寄存器和数据寄存器的数量,Rstate是网表中的状态寄存器数量。灵敏度越低,识别的状态寄存器的数量就越少,恢复FSM的可能性也就越低。准确度低使得识别的状态寄存器包含大量的非状态寄存器,这增加了恢复FSM的难度。因此,在评价寄存器识别的正确性时,本发明首先关注算法的灵敏度。在灵敏度相同的情况下,进一步研究其准确性。
表1记录了不同设计的网表中寄存器与门的数量,并对比了不同设计下fastRELIC和RELIC-GNN的准确性和运行加速比。对于选用的所有设计网表,fastRELIC和RELIC-GNN的灵敏度结果均为100%,即都能检测出所有的状态寄存器。因此,本发明重点关注fastRELIC和RELIC-GNN的准确性和运行时间。从表2的第6~9列可以看出,RELIC-GNN比fastRELIC更准确,准确率平均提高4.3%,即在检测时引入的误判更少。此外,RELIC-GNN在大多数情况下都比fastRELIC快,速度最高可提升至50.61倍。
表1测试结果
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘Solid StateDisk(SSD))等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种基于图神经网络基于图神经网络的高效状态寄存器识别方法,其特征在于,所述基于图神经网络的高效状态寄存器识别方法对电路网表进行整合处理和映射,并将处理后网表建模为有向图结构;以寄存器节点为起点进行子图划分,提取节点特征与边特征,作为图神经网络的训练集;采用图注意力自动编码器网络GATE作为无监督模型,得到最佳训练模型;使用聚类算法对模型输出结果进行分类,并根据分类结果计算准确度。
2.如权利要求1所述的基于图神经网络的高效状态寄存器识别方法,其特征在于,所述基于图神经网络的高效状态寄存器识别方法包括以下步骤:
步骤一,对电路网表进行整合和映射,规范输入电路网表的结构,消除工艺库不同导致的网表器件差异;
步骤二,以电路网表中各种门和寄存器为节点,以节点的连接关系为边,建立有向图;以寄存器节点为起点对有向图进行划分,提取子图的节点和边特征作为图神经网络的训练集;
步骤三,采用图神经网络GNN算法中的图注意力自动编码器网络GATE作为无监督模型进行训练,根据训练结果优化模型,得到最佳模型;
步骤四,使用最佳模型对待测电路进行测试,采用聚类算法对输出结果进行分类,得到状态寄存器;根据分类结果计算准确度,评估测试结果。
3.如权利要求2所述的基于图神经网络的高效状态寄存器识别方法,其特征在于,步骤一中,所述电路网表的整合指将顶层模块下的多个子网表合并成一个整体网表,并保持网表内与网表间各节点之间的连接关系;所述电路网表的映射指忽略器件的工艺特性,保留器件的功能属性,将不同工艺库的网表映射为统一形式,优化机器学习的数据集。
4.如权利要求2所述的基于图神经网络的高效状态寄存器识别方法,其特征在于,步骤二中,将电路网表转换为非欧几里得图结构,其中节点为网表中的寄存器或其他器件,边为器件之间的连接关系;所述子图划分以寄存器为起点,搜寻其n级扇入内的所有非寄存器节点;以划分后的子图作为图神经网络的输入,以器件种类转化的独热码作为节点特征。
5.如权利要求2所述的基于图神经网络的高效状态寄存器识别方法,其特征在于,步骤三中,采用图注意力自动编码器网络GATE建立进行图神经网络GNN模型的训练;GATE将GNN与自动编码器结合起来,所述模型训练分为编码和解码两个过程:
在编码阶段,使用门嵌入过程和堆叠的图注意网络GAT对图进行编码,每个编码层根据节点的相关性,建立邻接矩阵与注意力系数矩阵,并以图卷积的方式聚合与更新每一层的节点特征;编码阶段更新节点特征的过程涉及两个子函数,计算相关性系数的函数与生成节点表示的函数,如下所示:
在解码阶段,解码器使用与编码器相同数量的层与相同类别的激活函数,每个解码层使用图卷积的方式更新相邻节点的特征,对编码器输出层的结果进行反向恢复,重构有向图;
解码阶段更新节点特征的方式与编码节点相似,解码阶段相相关性系数的计算和生成节点表示的函数如下所示:
将重构图的特征与原图特征进行比对,二者越相似则说明模型越优,相似性可以通过损失函数表示,损失函数的计算方法如下:
使用梯度下降法不断更新模型参数,降低损失函数的值,得到最优化模型。
6.如权利要求2所述的基于图神经网络的高效状态寄存器识别方法,其特征在于,步骤四中,所述采用聚类算法对输出结果进行分类,包括:
将所有寄存器节点标记为候选寄存器节点CRN并放入候选组CG;执行几次迭代;在第i次迭代中,从CG中随机提取一个起始寄存器节点SRN,并将其放入一个空集SI中;计算SRN和CG中所有其他节点之间的特征差值FDV;FDV小于阈值T1的节点从CG中提取并放入SI,而其他节点保留在CG中;重复上述过程,直到CG中只有一个或没有CRN;分组后,计算每个组中的节点数;当该数目小于阈值T2时,组中的所有节点被分类为状态寄存器,否则被分类为数据寄存器。
7.一种实施权利要求1~6任意一项所述的基于图神经网络的高效状态寄存器识别方法的基于图神经网络的高效状态寄存器识别系统,其特征在于,所述基于图神经网络的高效状态寄存器识别系统包括:
网表处理模块,用于整合待测门级网表结构,并消除器件的工艺特性;
路径结构提取模块,用于将网表建模成有向图,以寄存器为起点从有向图中提取n级子图,建立训练集;
GNN模型训练模块,用于使用图注意力自动编码器网络GATE作为无监督模型进行训练,多次训练获得最优模型;
寄存器分类模块,用于使用聚类算法对模型输出结果进行分类,判断寄存器为数据寄存器还是状态寄存器,并根据结果计算分类准确度,评估检测结果。
8.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
对电路网表进行整合处理和映射,并将处理后网表建模为有向图结构;以寄存器节点为起点进行子图划分,提取节点特征与边特征,作为图神经网络的训练集;采用图注意力自动编码器网络GATE作为无监督模型,得到最佳训练模型;使用聚类算法对模型输出结果进行分类,并根据分类结果计算准确度。
9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
对电路网表进行整合处理和映射,并将处理后网表建模为有向图结构;以寄存器节点为起点进行子图划分,提取节点特征与边特征,作为图神经网络的训练集;采用图注意力自动编码器网络GATE作为无监督模型,得到最佳训练模型;使用聚类算法对模型输出结果进行分类,并根据分类结果计算准确度。
10.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现如权利要求7所述的基于图神经网络的高效状态寄存器识别系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111446660.9A CN114239083A (zh) | 2021-11-30 | 2021-11-30 | 一种基于图神经网络的高效状态寄存器识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111446660.9A CN114239083A (zh) | 2021-11-30 | 2021-11-30 | 一种基于图神经网络的高效状态寄存器识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114239083A true CN114239083A (zh) | 2022-03-25 |
Family
ID=80752319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111446660.9A Pending CN114239083A (zh) | 2021-11-30 | 2021-11-30 | 一种基于图神经网络的高效状态寄存器识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114239083A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114462600A (zh) * | 2022-04-11 | 2022-05-10 | 支付宝(杭州)信息技术有限公司 | 一种有向图对应的图神经网络的训练方法及装置 |
CN115984633A (zh) * | 2023-03-20 | 2023-04-18 | 南昌大学 | 门级电路组件识别方法、系统、存储介质及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107862668A (zh) * | 2017-11-24 | 2018-03-30 | 河海大学 | 一种基于gnn的文物图像复原方法 |
CN110086737A (zh) * | 2019-03-13 | 2019-08-02 | 西安电子科技大学 | 一种基于图神经网络的通信信号调制方式的识别方法 |
CN112199116A (zh) * | 2020-10-16 | 2021-01-08 | 常熟理工学院 | 操作数栈寄存器识别方法、装置、设备及存储介质 |
US20210055737A1 (en) * | 2019-08-20 | 2021-02-25 | Volkswagen Ag | Method of pedestrian activity recognition using limited data and meta-learning |
US20210150710A1 (en) * | 2019-11-15 | 2021-05-20 | Arizona Board Of Regents On Behalf Of Arizona State University | Systems, methods, and apparatuses for implementing a self-supervised chest x-ray image analysis machine-learning model utilizing transferable visual words |
US20210158155A1 (en) * | 2019-11-26 | 2021-05-27 | Nvidia Corp. | Average power estimation using graph neural networks |
US20210174262A1 (en) * | 2019-12-10 | 2021-06-10 | Beihang University | Deep unsupervised learning approach , device and storage medium for airspace complexity evaluation |
-
2021
- 2021-11-30 CN CN202111446660.9A patent/CN114239083A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107862668A (zh) * | 2017-11-24 | 2018-03-30 | 河海大学 | 一种基于gnn的文物图像复原方法 |
CN110086737A (zh) * | 2019-03-13 | 2019-08-02 | 西安电子科技大学 | 一种基于图神经网络的通信信号调制方式的识别方法 |
US20210055737A1 (en) * | 2019-08-20 | 2021-02-25 | Volkswagen Ag | Method of pedestrian activity recognition using limited data and meta-learning |
US20210150710A1 (en) * | 2019-11-15 | 2021-05-20 | Arizona Board Of Regents On Behalf Of Arizona State University | Systems, methods, and apparatuses for implementing a self-supervised chest x-ray image analysis machine-learning model utilizing transferable visual words |
US20210158155A1 (en) * | 2019-11-26 | 2021-05-27 | Nvidia Corp. | Average power estimation using graph neural networks |
US20210174262A1 (en) * | 2019-12-10 | 2021-06-10 | Beihang University | Deep unsupervised learning approach , device and storage medium for airspace complexity evaluation |
CN112199116A (zh) * | 2020-10-16 | 2021-01-08 | 常熟理工学院 | 操作数栈寄存器识别方法、装置、设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
"RELIC-GNN: 一种高效的状态寄存器识别算法", 西安电子科技大学学报, vol. 50, no. 3, 30 June 2023 (2023-06-30), pages 142 - 150 * |
LILAS ALRAHIS: "GNN-RE: Graph Neural Networks for Reverse Engineering of Gate-Level Netlists", IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, vol. 41, no. 8, 7 September 2021 (2021-09-07), pages 2435 - 2448, XP011914645, DOI: 10.1109/TCAD.2021.3110807 * |
SUBHAJIT DUTTA CHOWDHURY等: "ReIGNN: State Register Identification Using Graph Neural Networks for Circuit Reverse Engineering", ICCAD 2021, 23 December 2021 (2021-12-23) * |
董勐: "数字芯片前端高可靠性设计若干关键技术研宄", 知网研学, 1 June 2022 (2022-06-01), pages 5 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114462600A (zh) * | 2022-04-11 | 2022-05-10 | 支付宝(杭州)信息技术有限公司 | 一种有向图对应的图神经网络的训练方法及装置 |
CN114462600B (zh) * | 2022-04-11 | 2022-07-05 | 支付宝(杭州)信息技术有限公司 | 一种有向图对应的图神经网络的训练方法及装置 |
CN115984633A (zh) * | 2023-03-20 | 2023-04-18 | 南昌大学 | 门级电路组件识别方法、系统、存储介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109639739B (zh) | 一种基于自动编码器网络的异常流量检测方法 | |
CN109189991B (zh) | 重复视频识别方法、装置、终端及计算机可读存储介质 | |
CN108038183A (zh) | 结构化实体收录方法、装置、服务器和存储介质 | |
Park et al. | Graph transplant: Node saliency-guided graph mixup with local structure preservation | |
CN114239083A (zh) | 一种基于图神经网络的高效状态寄存器识别方法 | |
CN108491228A (zh) | 一种二进制漏洞代码克隆检测方法及系统 | |
Papadopoulos et al. | Image clustering through community detection on hybrid image similarity graphs | |
Wang et al. | S 3 d: scalable pedestrian detection via score scale surface discrimination | |
Li et al. | DAHP: Deep attention-guided hashing with pairwise labels | |
CN112949476A (zh) | 基于图卷积神经网络的文本关系检测方法、装置及存储介质 | |
CN113626812A (zh) | 基于结构特征筛选及负载扩展的机器学习木马检测方法 | |
CN114491082A (zh) | 基于网络安全应急响应知识图谱特征提取的预案匹配方法 | |
CN116150757A (zh) | 一种基于cnn-lstm多分类模型的智能合约未知漏洞检测方法 | |
CN115617395A (zh) | 一种融合全局和局部特征的智能合约相似性检测方法 | |
CN113792594B (zh) | 一种基于对比学习的视频中语言片段定位方法及装置 | |
CN112307048B (zh) | 语义匹配模型训练方法、匹配方法、装置、设备及存储介质 | |
CN114065307A (zh) | 一种基于双向图卷积神经网络的硬件木马检测方法与系统 | |
CN110955892B (zh) | 一种基于机器学习和电路行为级特征的硬件木马检测方法 | |
CN106844338B (zh) | 基于属性间依赖关系的网络表格的实体列的检测方法 | |
Nguyen et al. | Scalable maximal subgraph mining with backbone-preserving graph convolutions | |
CN116796288A (zh) | 一种面向工业文档的多模态信息提炼方法和系统 | |
CN116663018A (zh) | 一种基于代码可执行路径的漏洞检测方法及装置 | |
CN112906824B (zh) | 车辆聚类方法、系统、设备及存储介质 | |
CN114611103A (zh) | 一种基于机器学习与混合采样的硬件木马检测方法 | |
CN114722920A (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 |