CN113591084A - 基于电路路径语句的Transformer恶意芯片识别方法及系统 - Google Patents
基于电路路径语句的Transformer恶意芯片识别方法及系统 Download PDFInfo
- Publication number
- CN113591084A CN113591084A CN202110842581.3A CN202110842581A CN113591084A CN 113591084 A CN113591084 A CN 113591084A CN 202110842581 A CN202110842581 A CN 202110842581A CN 113591084 A CN113591084 A CN 113591084A
- Authority
- CN
- China
- Prior art keywords
- sentence
- vector
- word
- component
- path
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 239000013598 vector Substances 0.000 claims abstract description 148
- 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 claims abstract description 41
- 238000012549 training Methods 0.000 claims abstract description 27
- 238000001514 detection method Methods 0.000 claims abstract description 18
- 230000007246 mechanism Effects 0.000 claims abstract description 13
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 11
- 238000010845 search algorithm Methods 0.000 claims abstract description 11
- 238000013507 mapping Methods 0.000 claims abstract description 4
- 238000012360 testing method Methods 0.000 claims abstract description 4
- 238000012545 processing Methods 0.000 claims description 23
- 239000011159 matrix material Substances 0.000 claims description 15
- 238000010606 normalization Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000013528 artificial neural network Methods 0.000 claims description 12
- 238000011176 pooling Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 8
- 230000002457 bidirectional effect Effects 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 3
- 238000002372 labelling Methods 0.000 claims description 3
- 238000012886 linear function Methods 0.000 claims description 3
- 239000000463 material Substances 0.000 claims description 3
- 239000002994 raw material Substances 0.000 claims description 3
- 230000000712 assembly Effects 0.000 abstract 1
- 238000000429 assembly Methods 0.000 abstract 1
- 230000003252 repetitive effect Effects 0.000 abstract 1
- 239000000306 component Substances 0.000 description 84
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000007943 implant Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 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/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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Virology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于电路路径语句的Transformer恶意芯片识别方法及系统,该方法包括如下步骤:S1、从电路网表中提取组件的信息,并组成两两互不重复组件对;再利用点到点的简单路径搜索算法找出所有组件对上的L级路径并映射为句子表达,然后打上有木马和无木马标签,构成句子数据集;S2、对句子数据集挑选出不重复的组件类型名,使用word2vec词嵌入算法和ELMo词嵌入算法训练得到词向量;S3、句子数据集根据词向量映射成张量形式,并输入到带有多头注意力机制的多层Encoder架构的Transformer中完成训练测试;在Transformer的末端全连接层会预测出路径句子上的硬件木马结果。该方法及系统不仅可以有效地检测出硬件木马,还能减小检测所需的路径句子开销。
Description
技术领域
本发明属于恶意芯片识别领域,具体涉及一种基于电路路径语句的Transformer恶意芯片识别方法及系统。
背景技术
物联网技术的蓬勃发展给当下的集成电路的使用与投资带来了广阔的市场,以集成电路为载体的芯片是许多诸如智能手机、智能机器人、电脑的处理器和传感器等各种智能设备的核心部件。同时,这些设备广泛地运用于各种领域内,甚至是一些军事工业、国家金融等信息敏感行业的地方。所以防范硬件木马的攻击并实行对被木马植入恶意芯片的检测至关重要。
目前,芯片设计中带来的硬件木马危害要大于芯片制造带来的危害,主要是体现在不仅是设计工具比制造工具更容易植入木马,而且芯片设计商家的数量远大于芯片制造厂家,为潜藏在林林总总的设计者中的恶意攻击者提供了更大的攻击可能性。
现如今,基于机器学习检测硬件木马的技术主要在特征提取上有差异,主要分为以下两类:1.电路的电气物理特征;2.电路的拓扑结构特征。以第一类特征的机器学习检测主要是结合了侧信道技术甚至是电路学知识,诸如通过电压、电阻、电流、金属层参数等等作为特征值去展开模型训练。而第二类特征主要是通过表达电路拓扑,比如记录以某个组件节点为中心,周围的其他类型组件的距离及其个数,并将这些参数作为特征值。
基于第一类特征的机器学习模型尽管在特征提取上简单,然而在实际检测硬件木马的效果上往往不足以达到高检测率要求。甚至有时候要需要比较大的硬件木马面积开销的情况下,才能够发现木马痕迹。基于第二类特征的机器学习模型虽然具有高检测率,然而对拓扑特征计算还依赖人工操作。基于深度学习模型,从语义上检测电路端口之间提取到的路径句子方法已克服了人工计算特征的必要,但是却不能很好地运用在较大规模的网表上。
发明内容
本发明的目的在于提供一种基于电路路径语句的Transformer恶意芯片识别方法及系统,该方法及系统不仅可以有效地检测出硬件木马,还能减小检测所需的路径句子开销。
为实现上述目的,本发明采用的技术方案是:一种基于电路路径语句的Transformer恶意芯片识别方法,包括如下步骤:
步骤S1:从电路网表中提取所有组件C1,C2,C3,…,Cl的信息,然后组成两两互不重复组件对[Ci,Cj];对所有组件对[Ci,Cj]的路径找出简单路径后,把所有存在着单个共同端组件的正向组件对和负向组件对在路径上实行单向调整并连接,构成L级路径并映射为句子表达,L取2,3,…,7;然后对这些句子打上有木马和无木马标签,构成有监督学习的句子数据集;
步骤S2:对句子数据集挑选出不重复的组件类型名,使用word2vec词嵌入算法先进行词向量的预训练得到CVpre,再进一步放入ELMo词嵌入算法训练得到最终的词向量CVpost;
步骤S3:句子数据集SD根据词向量CVpost映射成张量形式,并输入到带有多头注意力机制的多层Encoder&Decoder架构的Transformer中完成训练测试;在Transformer的末端全连接层会预测出路径句子上的硬件木马结果,从而构成完整的识别模型;
步骤S4:对于待识别的电路芯片,经过步骤S1的网表提取路径句子后,再把这些句子输入到步骤S3得到的识别模型中,便可得知待识别的电路芯片上是否存在木马路径。
进一步地,所述步骤S1具体包括如下步骤:
步骤S12:根据所有组件C1,C2,C3,…,Cl之间的线网连接关系W1,W2,W3,…,Wh,其中h为线网的总个数,再使用深度优先搜索算法并依照组件导向法则来建立所有组件C1,C2,C3,…,Cl与每个线网Wu之间的拓扑关系,1≤u≤h;其中,组件导向法则的公式如下:
其中,和分别表示Ci和Cj的输入与输出的线网;所述组件导向法则说明当组件Ci的输出线网与其不相同的组件Cj的输入线网指代同一个线网时,组件Ci存在与组件Cj的有向连接;反之则组件Cj存在与组件Ci的有向连接;
步骤S13:定义步骤S12中构建的拓扑为正向拓扑TOpo;将正向拓扑TOpo中组件之间的导向关系全部反向表示,得到逆向拓扑TOne;
步骤S14:对正向拓扑TOpo中任意一个组件Ci与其不相同的组件Cj组成一对组件对[Ci,Cj],i≠j;在该组件对[Ci,Cj]上通过点到点的简单路径搜索算法依次计算出所存在的L级简单路径,即正向简单路径SPpo;同理,对逆向拓扑TOne中的组件对也通过点到点的简单路径搜索算法,以同样的计算方式得到逆向简单路径SPne;
步骤S15:根据路径上依次经过的组件按顺序记录下它们的组件类型名,形成正向句子SEpo和负向句子SEne;分别挑选出第一个词所代表的是相同组件Cs的正负向句子,之后将这个负向句子重新再进行反向表示成句子[SEne],然后让正向句子SEpo直接接在后面;新组合的句子去掉句子中间多余的一个组件Cs所代表的词即为最终形态的句子;双向组合式句子表达的公式如下:
SEfinal=([SEne]-Cs)·SEpo
其中,运算符[]是作用于句子,让其反向表示;运算符·是对两两句子之间的连接;这个公式说明计算出来的负向句子SEne在完成反向表达后,便去掉与正向句子SEpo第一个词Cs相同的词;随后再直接与正向句子SEpo连接起来;
步骤S16:对整个拓扑中的所有组件C均重复步骤S14、S15,得到初步的句子数据集SD;然后把同级别的句子挑选出来并整理在一起,构成分级别的句子数据集SDL,L取2,3,…,7;
步骤S17:对分级别的句子数据集SDL打上标签,包含木马组件的句子为正样本,反之为负样本,得到最终带标签的句子数据集SDL。
进一步地,所述步骤S2具体包括如下步骤:
步骤S21:对句子数据集SDL挑选出不重复的组件类型名,将这些以词为单位的类型名作为词向量训练的原料;
步骤S22:使用word2vec对步骤S21中所选出来的组件类型名做初步的词向量预训练,得到的词向量表CVpre包含了与局部句子范围内的电路拓扑理解;
步骤S23:将句子中的每个词根据它们各自在词向量表CVpre中所对应的词向量一一转化成向量形式,并以每个词向量为单位依次输入进第一层双向的长短期记忆人工神经网络LSTM,获得第一层词向量H1,k;
步骤S24:词向量H1,k重复步骤S23中的N次双向LSTM迭代训练过程,得到所需ELMo词嵌入算法的结果,用以下公式表示:
ELMok=HN,k
以上公式表示在最终的第N层LSTM训练出来以后,可得到句子中第k词的词向量HN,k;而最终词向量表CVpost即为记录着每一种组件类型词所对应的词向量,这些词向量即为根据训练好的HN,k所对应的每一种组件类型词得到。
进一步地,所述步骤S3具体包括如下步骤:
步骤S31:句子数据集SDL(2≤L≤7)中的每个词在词向量表CVpost一样找到其对应的词向量,并把整个句子替换为向量表达,即为句子向量SDV;
步骤S32:句子向量SDV需要先经过位置编码处理才能作为输入到Transformer训练的材料,而位置编码处理即为让句子向量SDV与句子中每个词所对应的位置向量PE相加可得;位置向量所求的公式如下所示:
其中,d为位置向量的维度;该公式表明,句子向量SDV中奇数位对应的词,其位置向量即为PE(pos,2i+1);同理,偶数位对应的词,其位置向量即为PE(pos,2i);通过该公式,句子向量SDV与相应的位置向量PE相加,即得到带编号的句子向量SDV′;
步骤S33:将句子向量SDV′输入进Transformer的Encoder中来实现关于木马的特征计算;其中Encoder的结构由多头注意力机制、残差连接与归一化处理模块、前馈神经网络组成;句子向量SDV′先使用8个头的注意力机制完成注意力计算,具体的计算公式如下:
headi=Attention(Qi,Ki,Vi)
MH(Q,K,V)=(head1·head2·…·head8)W°
其中,和分别是Transformer中矩阵Q、K与V的权重矩阵;dk为矩阵K的维度大小;W°是多头注意力机制中的权重矩阵;句子向量SDV′经过以上四个公式的计算后得出其注意力信息,并依次经过残差连接与归一化处理模块、前馈神经网络和残差连接与归一化处理模块来完成注意力信息聚合到句子向量SDV′中的过程,得到句子向量SDV″;
步骤S34:设定好与步骤S33中与Encoder层数一样的Decoder层,Decoder的结构仅为残差连接与归一化处理模块及其前馈神经网络这两者组成;Decoder需要句子向量SDV′和句子向量SDV″共同作为输入数据,Decoder用于深化句子中的词向量信息对于整个句子所表达的电路拓扑信息的理解与表达;经过Decoder层的处理,得到特征向量HTV;
步骤S35:特征向量HTV经过最大池化层挑选出与硬件木马关联的最大特征值,并将这些特征用线性函数压缩,最后用softmax函数进行归一化处理,得到最终的硬件木马检测结果。
本发明还提供了一种基于电路路径语句的Transformer恶意芯片识别系统,包括:
提取句子模块,用于在电路组件节点域内搜索出所有路径句子,包括电路拓扑构建子模块、简单路径搜索子模块及标记标签子模块;芯片网表在电路拓扑构建子模块中的到电路拓扑CTm,并对该拓扑上的每个组件节点用简单路径搜索子模块找出L级的简单路径,L取2,3,…,7;把路径上的每个组件Ci用其类型名表示后,再用标记标签子模块分出句子数据集SDL的正负样本;
词向量训练模块,用于寻找能最恰当地表示句子中每个词的词向量CV,包括word2vec子模块和ELMo子模块;句子数据集SDL以词为单位经过word2vec子模块得到预训练的词向量表CVpre,再经过之后的ELMo子模块获得词向量表CVpost;以及
木马检测模块,用于检测识别电路路径上是否存在硬件木马的痕迹,包括位置编号子模块、编码解码子模块、池化选择子模块和检测输出子模块;句子数据集SDL先通过词向量表CVpost和位置编号子模块得到初步的句子向量SDV′;句子向量SDV′在编码解码子模块提取注意力信息,并运用池化选择子模块得到最大值的特征;这些特征在检测输出子模块处理后用于判断出路径上硬件木马的存在。
与现有技术相比,本发明具有以下有益效果:本发明在进一步减少提取路径句子的开销基础上,保证了对网表全局拓扑的覆盖,使之能够较好地应用在较大规模的网表上。此外,本发明保持了从电路结构上对木马信息的放大能力及其电路拓扑特征自动化计算的能力。因此,本发明不仅可以有效地检测出硬件木马,还能减小检测所需的路径句子开销。
附图说明
图1是本发明实施例的系统组成及方法工作流程图。
图2是本发明实施例中构成句子数据集的实现流程图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
如图1所示,本实施例提供了一种基于电路路径语句的Transformer恶意芯片识别方法,其特征在于,包括如下步骤:
步骤S1:从电路网表中提取所有组件C1,C2,C3,…,Cl的信息,然后组成两两互不重复组件对[Ci,Cj];对所有组件对[Ci,Cj]的路径找出简单路径后,把所有存在着单个共同端组件的正向组件对(如)和负向组件对(如)在路径上实行单向调整并连接,构成L级路径并映射为句子表达,L取2,3,…,7;然后对这些句子打上有木马和无木马标签,构成有监督学习的句子数据集。
如图2所示,在本实施例中,所述步骤S1具体包括如下步骤:
步骤S12:根据所有组件C1,C2,C3,…,Cl之间的线网连接关系W1,W2,W3,…,Wh,其中h为线网的总个数,再使用深度优先搜索算法并依照组件导向法则来建立所有组件C1,C2,C3,…,Cl与每个线网Wu之间的拓扑关系,1≤u≤h;其中,组件导向法则的公式如下:
其中,和分别表示Ci和Cj的输入与输出的线网;所述组件导向法则说明当组件Ci的输出线网与其不相同的组件Cj的输入线网指代同一个线网时,组件Ci存在与组件Cj的有向连接;反之则组件Cj存在与组件Ci的有向连接;
步骤S14:对正向拓扑TOpo中任意一个组件Ci与其不相同的组件Cj组成一对组件对[Ci,Cj],i≠j;在该组件对[Ci,Cj]上通过点到点的简单路径搜索算法(是基于现有的简单路径搜索算法,只是考虑了在固定长度为L(2≤L≤7)上,搜索任意两个不同组件节点中所有存在的简单路径)依次计算出所存在的L(2≤L≤7)级简单路径,即长度为2~7的正向简单路径SPpo;同理,对逆向拓扑TOne中的组件对[Ci,Cj](i≠j)也通过点到点的简单路径搜索算法,以同样的计算方式得到长度为2~7的逆向简单路径SPne;
步骤S15:根据路径上依次经过的组件按顺序记录下它们的组件类型名,形成正向句子SEpo和负向句子SEne;分别挑选出第一个词所代表的是相同组件Cs的正负向句子,之后将这个负向句子重新再进行反向表示成句子[SEne],然后让正向句子SEpo直接接在后面;新组合的句子去掉句子中间多余的一个组件Cs所代表的词即为最终形态的句子;双向组合式句子表达的公式如下:
SEfinal=([SEne]-Cs)·SEpo
其中,运算符[]是作用于句子,让其反向表示(即原来为便改为);运算符·是对两两句子之间的连接;这个公式说明计算出来的负向句子SEne在完成反向表达后,便去掉与正向句子SEpo第一个词Cs相同的词;随后再直接与正向句子SEpo连接起来;
步骤S16:对整个拓扑中的所有组件C均重复步骤S14、S15,得到初步的句子数据集SD;然后把同级别的句子挑选出来并整理在一起,构成分级别的句子数据集SDL,L取2,3,…,7;
步骤S17:对分级别的句子数据集SDL打上标签,包含木马组件的句子为正样本,反之为负样本,得到最终带标签的句子数据集SDL。
步骤S2:对句子数据集挑选出不重复的组件类型名,使用word2vec词嵌入算法先进行词向量的预训练得到CVpre,再进一步放入ELMo词嵌入算法训练得到最终的词向量CVpost。
在本实施例中,所述步骤S2具体包括如下步骤:
步骤S21:对句子数据集SDL(2≤L≤7)挑选出不重复的组件类型名,将这些以词为单位的类型名作为词向量训练的原料;
步骤S22:使用word2vec对步骤S21中所选出来的组件类型名做初步的词向量预训练,得到的词向量表CVpre包含了与局部句子范围内的电路拓扑理解;
步骤S23:将句子中的每个词根据它们各自在词向量表CVpre中所对应的词向量一一转化成向量形式,并以每个词向量为单位依次输入进第一层双向的长短期记忆人工神经网络LSTM,获得第一层词向量H1,k;
步骤S24:词向量H1,k重复步骤S23中的N次双向LSTM迭代训练过程,得到所需ELMo词嵌入算法的结果,用以下公式表示:
ELMok=HN,k
以上公式表示在最终的第N层LSTM训练出来以后,可得到句子中第k词的词向量HN,k;而最终词向量表CVpost即为记录着每一种组件类型词所对应的词向量,这些词向量即为根据训练好的HN,k所对应的每一种组件类型词得到。
步骤S3:句子数据集SD根据词向量CVpost映射成张量形式,并输入到带有多头注意力机制的多层Encoder&Decoder架构的Transformer中完成训练测试;在Transformer的末端全连接层会预测出路径句子上的硬件木马结果,从而构成完整的识别模型。
在本实施例中,所述步骤S3具体包括如下步骤:
步骤S31:句子数据集SDL(2≤L≤7)中的每个词在词向量表CVpost一样找到其对应的词向量,并把整个句子替换为向量表达,即为句子向量SDV;
步骤S32:句子向量SDV需要先经过位置编码处理才能作为输入到Transformer训练的材料,而位置编码处理即为让句子向量SDV与句子中每个词所对应的位置向量PE相加可得;位置向量所求的公式如下所示:
其中,d为位置向量的维度;该公式表明,句子向量SDV中奇数位对应的词,其位置向量即为PE(pos,2i+1);同理,偶数位对应的词,其位置向量即为PE(pos,2i);通过该公式,句子向量SDV与相应的位置向量PE相加,即得到带编号的句子向量SDV′;
步骤S33:将句子向量SDV′输入进Transformer的Encoder中来实现关于木马的特征计算;其中Encoder的结构由多头注意力机制、残差连接与归一化处理模块、前馈神经网络组成;句子向量SDV′先使用8个头的注意力机制完成注意力计算,具体的计算公式如下:
headi=Attention(Qi,Ki,Vi)
MH(Q,K,V)=(head1·head2·…·head8)W°
其中,和分别是Transformer中矩阵Q、K与V的权重矩阵;dk为矩阵K的维度大小;W°是多头注意力机制中的权重矩阵;句子向量SDV′经过以上四个公式的计算后得出其注意力信息,并依次经过残差连接与归一化处理模块、前馈神经网络和残差连接与归一化处理模块来完成注意力信息聚合到句子向量SDV′中的过程,得到句子向量SDV″;
此外,本方法设置的Encoder层数为10个,即句子向量SDV′会在Encoder中经过十次的循环计算;
步骤S34:设定好与步骤S33中与Encoder层数一样的Decoder层,Decoder的结构仅为残差连接与归一化处理模块及其前馈神经网络这两者组成;Decoder需要句子向量SDV′和句子向量SDV″共同作为输入数据,而它的作用就是深化句子中的词向量信息对于整个句子所表达的电路拓扑信息的理解与表达;经过Decoder层的处理,得到特征向量HTV;
步骤S35:特征向量HTV经过最大池化层挑选出与硬件木马关联的最大特征值,并将这些特征用线性函数压缩,最后用softmax函数进行归一化处理,得到最终的硬件木马检测结果。
步骤S4:对于待识别的电路芯片,经过步骤S1的网表提取路径句子后,再把这些句子输入到步骤S3得到的识别模型中,便可得知待识别的电路芯片上是否存在木马路径。
如图1所示,本实施例还提供了一种基于电路路径语句的Transformer恶意芯片识别系统,包括提取句子模块、词向量训练模块和木马检测模块。
所述提取句子模块用于对在电路组件节点域内搜索出所有路径句子,包括电路拓扑构建子模块,简单路径搜索子模块及标记标签子模块;芯片网表在电路拓扑构建子模块中的到电路拓扑CTm,并对该拓扑上的每个组件节点用简单路径搜索子模块找出L(2≤L≤7)级的简单路径;把路径上的每个组件Ci用其类型名表示后,再用标记标签子模块分出句子数据集SDL的正负样本;
所述词向量训练模块用于寻找能最恰当地表示句子中每个词的词向量CV,包括word2vec子模块和ELMo子模块;句子数据集SDi以词为单位经过word2vec子模块可得到预训练的词向量表CVpre,再经过之后的ELMo子模块可获得词向量表CVpost;以及
所述木马检测模块用于检测识别电路路径上是否存在硬件木马的痕迹,包括位置编号子模块、编码解码子模块、池化选择子模块和检测输出子模块;句子数据集SDi先通过词向量表CVpost和位置编号子模块得到初步的句子向量SDV′;句子向量SDV′在编码解码子模块提取注意力信息,并运用池化选择子模块拿到最大值的特征;这些特征在检测输出子模块处理后可以判断出路径上硬件木马的存在。
以上三个模块对网表展开有序的层层处理,构建了一整套识别恶意芯片的系统。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
Claims (5)
1.一种基于电路路径语句的Transformer恶意芯片识别方法,其特征在于,包括如下步骤:
步骤S1:从电路网表中提取所有组件C1,C2,C3,…,Cl的信息,然后组成两两互不重复组件对[Ci,Cj];对所有组件对[Ci,Cj]的路径找出简单路径后,把所有存在着单个共同端组件的正向组件对和负向组件对在路径上实行单向调整并连接,构成L级路径并映射为句子表达,L取2,3,…,7;然后对这些句子打上有木马和无木马标签,构成有监督学习的句子数据集;
步骤S2:对句子数据集挑选出不重复的组件类型名,使用word2vec词嵌入算法先进行词向量的预训练得到CVpre,再进一步放入ELMo词嵌入算法训练得到最终的词向量CVpost;
步骤S3:句子数据集SD根据词向量CVpost映射成张量形式,并输入到带有多头注意力机制的多层Encoder&Decoder架构的Transformer中完成训练测试;在Transformer的末端全连接层会预测出路径句子上的硬件木马结果,从而构成完整的识别模型;
步骤S4:对于待识别的电路芯片,经过步骤S1的网表提取路径句子后,再把这些句子输入到步骤S3得到的识别模型中,便可得知待识别的电路芯片上是否存在木马路径。
2.根据权利要求1所述的基于电路路径语句的Transformer恶意芯片识别方法,其特征在于,所述步骤S1具体包括如下步骤:
步骤S12:根据所有组件C1,C2,C3,…,Cl之间的线网连接关系W1,W2,W3,…,Wh,其中h为线网的总个数,再使用深度优先搜索算法并依照组件导向法则来建立所有组件C1,C2,C3,…,Cl与每个线网Wu之间的拓扑关系,1≤u≤h;其中,组件导向法则的公式如下:
其中,和分别表示Ci和Cj的输入与输出的线网;所述组件导向法则说明当组件Ci的输出线网与其不相同的组件Cj的输入线网指代同一个线网时,组件Ci存在与组件Cj的有向连接;反之则组件Cj存在与组件Ci的有向连接;
步骤S13:定义步骤S12中构建的拓扑为正向拓扑TOpo;将正向拓扑TOpo中组件之间的导向关系全部反向表示,得到逆向拓扑TOne;
步骤S14:对正向拓扑TOpo中任意一个组件Ci与其不相同的组件Cj组成一对组件对[Ci,Cj],i≠j;在该组件对[Ci,Cj]上通过点到点的简单路径搜索算法依次计算出所存在的L级简单路径,即正向简单路径SPpo;同理,对逆向拓扑TOne中的组件对也通过点到点的简单路径搜索算法,以同样的计算方式得到逆向简单路径SPne;
步骤S15:根据路径上依次经过的组件按顺序记录下它们的组件类型名,形成正向句子SEpo和负向句子SEne;分别挑选出第一个词所代表的是相同组件Cs的正负向句子,之后将这个负向句子重新再进行反向表示成句子[SEne],然后让正向句子SEpo直接接在后面;新组合的句子去掉句子中间多余的一个组件Cs所代表的词即为最终形态的句子;双向组合式句子表达的公式如下:
SEfinal=([SEne]-Cs)·SEpo
其中,运算符[]是作用于句子,让其反向表示;运算符·是对两两句子之间的连接;这个公式说明计算出来的负向句子SEne在完成反向表达后,便去掉与正向句子SEpo第一个词Cs相同的词;随后再直接与正向句子SEpo连接起来;
步骤S16:对整个拓扑中的所有组件C均重复步骤S14、S15,得到初步的句子数据集SD;然后把同级别的句子挑选出来并整理在一起,构成分级别的句子数据集SDL,L取2,3,…,7;
步骤S17:对分级别的句子数据集SDL打上标签,包含木马组件的句子为正样本,反之为负样本,得到最终带标签的句子数据集SDL。
3.根据权利要求2所述的基于电路路径语句的Transformer恶意芯片识别方法,其特征在于,所述步骤S2具体包括如下步骤:
步骤S21:对句子数据集SDL挑选出不重复的组件类型名,将这些以词为单位的类型名作为词向量训练的原料;
步骤S22:使用word2vec对步骤S21中所选出来的组件类型名做初步的词向量预训练,得到的词向量表CVpre包含了与局部句子范围内的电路拓扑理解;
步骤S23:将句子中的每个词根据它们各自在词向量表CVpre中所对应的词向量一一转化成向量形式,并以每个词向量为单位依次输入进第一层双向的长短期记忆人工神经网络LSTM,获得第一层词向量H1,k;
步骤S24:词向量H1,k重复步骤S23中的N次双向LSTM迭代训练过程,得到所需ELMo词嵌入算法的结果,用以下公式表示:
ELMok=HN,k
以上公式表示在最终的第N层LSTM训练出来以后,可得到句子中第k词的词向量HN,k;而最终词向量表CVpost即为记录着每一种组件类型词所对应的词向量,这些词向量即为根据训练好的HN,k所对应的每一种组件类型词得到。
4.根据权利要求3所述的基于电路路径语句的Transformer恶意芯片识别方法,其特征在于,所述步骤S3具体包括如下步骤:
步骤S31:句子数据集SDL中的每个词在词向量表CVpost一样找到其对应的词向量,并把整个句子替换为向量表达,即为句子向量SDV;
步骤S32:句子向量SDV需要先经过位置编码处理才能作为输入到Transformer训练的材料,而位置编码处理即为让句子向量SDV与句子中每个词所对应的位置向量PE相加可得;位置向量所求的公式如下所示:
其中,d为位置向量的维度;该公式表明,句子向量SDV中奇数位对应的词,其位置向量即为PE(pos,2i+1);同理,偶数位对应的词,其位置向量即为PE(pos,2i);通过该公式,句子向量SDV与相应的位置向量PE相加,即得到带编号的句子向量SDV′;
步骤S33:将句子向量SDV′输入进Transformer的Encoder中来实现关于木马的特征计算;其中Encoder的结构由多头注意力机制、残差连接与归一化处理模块、前馈神经网络组成;句子向量SDV′先使用8个头的注意力机制完成注意力计算,具体的计算公式如下:
headi=Attention(Qi,Ki,Vi)
MH(Q,K,V)=(head1·head2·…·head8)Wo
其中,和分别是Transformer中矩阵Q、K与V的权重矩阵;dk为矩阵K的维度大小;Wo是多头注意力机制中的权重矩阵;句子向量SDV′经过以上四个公式的计算后得出其注意力信息,并依次经过残差连接与归一化处理模块、前馈神经网络和残差连接与归一化处理模块来完成注意力信息聚合到句子向量SDV′中的过程,得到句子向量SDV″;
步骤S34:设定好与步骤S33中与Encoder层数一样的Decoder层,Decoder的结构仅为残差连接与归一化处理模块及其前馈神经网络这两者组成;Decoder需要句子向量SDV′和句子向量SDV″共同作为输入数据,Decoder用于深化句子中的词向量信息对于整个句子所表达的电路拓扑信息的理解与表达;经过Decoder层的处理,得到特征向量HTV;
步骤S35:特征向量HTV经过最大池化层挑选出与硬件木马关联的最大特征值,并将这些特征用线性函数压缩,最后用softmax函数进行归一化处理,得到最终的硬件木马检测结果。
5.一种基于电路路径语句的Transformer恶意芯片识别系统,其特征在于,包括:
提取句子模块,用于在电路组件节点域内搜索出所有路径句子,包括电路拓扑构建子模块、简单路径搜索子模块及标记标签子模块;芯片网表在电路拓扑构建子模块中的到电路拓扑CTm,并对该拓扑上的每个组件节点用简单路径搜索子模块找出L级的简单路径,L取2,3,…,7;把路径上的每个组件Ci用其类型名表示后,再用标记标签子模块分出句子数据集SDL的正负样本;
词向量训练模块,用于寻找能最恰当地表示句子中每个词的词向量CV,包括word2vec子模块和ELMo子模块;句子数据集SDL以词为单位经过word2vec子模块得到预训练的词向量表CVpre,再经过之后的ELMo子模块获得词向量表CVpost;以及
木马检测模块,用于检测识别电路路径上是否存在硬件木马的痕迹,包括位置编号子模块、编码解码子模块、池化选择子模块和检测输出子模块;句子数据集SDL先通过词向量表CVpost和位置编号子模块得到初步的句子向量SDV′;句子向量SDV′在编码解码子模块提取注意力信息,并运用池化选择子模块得到最大值的特征;这些特征在检测输出子模块处理后用于判断出路径上硬件木马的存在。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110842581.3A CN113591084B (zh) | 2021-07-26 | 2021-07-26 | 基于电路路径语句的Transformer恶意芯片识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110842581.3A CN113591084B (zh) | 2021-07-26 | 2021-07-26 | 基于电路路径语句的Transformer恶意芯片识别方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113591084A true CN113591084A (zh) | 2021-11-02 |
CN113591084B CN113591084B (zh) | 2023-08-04 |
Family
ID=78249626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110842581.3A Active CN113591084B (zh) | 2021-07-26 | 2021-07-26 | 基于电路路径语句的Transformer恶意芯片识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113591084B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114065308A (zh) * | 2021-11-25 | 2022-02-18 | 福州大学 | 基于深度学习的门级硬件木马定位方法及系统 |
CN116933697A (zh) * | 2023-09-18 | 2023-10-24 | 上海芯联芯智能科技有限公司 | 一种将自然语言转换为硬件描述语言的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180285740A1 (en) * | 2017-04-03 | 2018-10-04 | Royal Bank Of Canada | Systems and methods for malicious code detection |
CN111143842A (zh) * | 2019-12-12 | 2020-05-12 | 广州大学 | 一种恶意代码检测方法及系统 |
CN112019569A (zh) * | 2020-10-20 | 2020-12-01 | 腾讯科技(深圳)有限公司 | 恶意域名检测方法、装置及存储介质 |
CN112307473A (zh) * | 2019-08-01 | 2021-02-02 | 四川大学 | 一种基于Bi-LSTM网络和注意力机制的恶意JavaScript代码检测模型 |
CN112926303A (zh) * | 2021-02-23 | 2021-06-08 | 南京邮电大学 | 一种基于BERT-BiGRU的恶意URL检测方法 |
-
2021
- 2021-07-26 CN CN202110842581.3A patent/CN113591084B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180285740A1 (en) * | 2017-04-03 | 2018-10-04 | Royal Bank Of Canada | Systems and methods for malicious code detection |
CN112307473A (zh) * | 2019-08-01 | 2021-02-02 | 四川大学 | 一种基于Bi-LSTM网络和注意力机制的恶意JavaScript代码检测模型 |
CN111143842A (zh) * | 2019-12-12 | 2020-05-12 | 广州大学 | 一种恶意代码检测方法及系统 |
CN112019569A (zh) * | 2020-10-20 | 2020-12-01 | 腾讯科技(深圳)有限公司 | 恶意域名检测方法、装置及存储介质 |
CN112926303A (zh) * | 2021-02-23 | 2021-06-08 | 南京邮电大学 | 一种基于BERT-BiGRU的恶意URL检测方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114065308A (zh) * | 2021-11-25 | 2022-02-18 | 福州大学 | 基于深度学习的门级硬件木马定位方法及系统 |
CN116933697A (zh) * | 2023-09-18 | 2023-10-24 | 上海芯联芯智能科技有限公司 | 一种将自然语言转换为硬件描述语言的方法及装置 |
CN116933697B (zh) * | 2023-09-18 | 2023-12-08 | 上海芯联芯智能科技有限公司 | 一种将自然语言转换为硬件描述语言的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113591084B (zh) | 2023-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111428044A (zh) | 多模态获取监管识别结果的方法、装置、设备及存储介质 | |
CN108121700A (zh) | 一种关键词提取方法、装置及电子设备 | |
CN112579477A (zh) | 一种缺陷检测方法、装置以及存储介质 | |
CN116627708B (zh) | 存储故障分析系统及其方法 | |
CN112966074A (zh) | 一种情感分析方法、装置、电子设备以及存储介质 | |
CN113761893B (zh) | 一种基于模式预训练的关系抽取方法 | |
CN113591084A (zh) | 基于电路路径语句的Transformer恶意芯片识别方法及系统 | |
CN108536735B (zh) | 基于多通道自编码器的多模态词汇表示方法与系统 | |
CN112668013B (zh) | 一种面向Java源码的语句级模式探索的漏洞检测方法 | |
CN113641819B (zh) | 基于多任务稀疏共享学习的论辩挖掘系统及方法 | |
CN112446215B (zh) | 一种实体关系联合抽取方法 | |
CN112818126B (zh) | 网络安全语料库构建模型的训练方法、应用方法及装置 | |
CN110334186A (zh) | 数据查询方法、装置、计算机设备及计算机可读存储介质 | |
CN109460434A (zh) | 数据提取模型建立方法及装置 | |
CN111428513A (zh) | 一种基于卷积神经网络的虚假评论分析方法 | |
CN112364631A (zh) | 基于层级多任务学习的中文语法错误检测方法及系统 | |
CN113779190B (zh) | 事件因果关系识别方法、装置、电子设备与存储介质 | |
CN115629995B (zh) | 基于多依赖lstm的软件缺陷定位方法、系统及设备 | |
CN116304051A (zh) | 一种融合局部关键信息和预训练的文本分类方法 | |
CN113568969B (zh) | 信息抽取方法、装置、设备以及计算机可读存储介质 | |
CN113656066B (zh) | 一种基于特征对齐的克隆代码检测方法 | |
KR102265947B1 (ko) | 기계 학습 기반 정보 제공 방법 및 장치 | |
CN116150308A (zh) | 识别模型的训练方法、识别方法和装置 | |
CN111723568A (zh) | 一种事件抽取方法、装置和计算机可读存储介质 | |
CN116561814B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |