CN114692227A - 一种规模化芯片网表级硬件木马检测方法 - Google Patents
一种规模化芯片网表级硬件木马检测方法 Download PDFInfo
- Publication number
- CN114692227A CN114692227A CN202210319027.1A CN202210319027A CN114692227A CN 114692227 A CN114692227 A CN 114692227A CN 202210319027 A CN202210319027 A CN 202210319027A CN 114692227 A CN114692227 A CN 114692227A
- Authority
- CN
- China
- Prior art keywords
- node
- chip
- cluster
- nodes
- input
- 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
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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Tests Of Electronic Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种规模化芯片网表级硬件木马检测方法,该方法首先提取芯片网表的节点信息,并将网表根据寄存器划分为多个组合电路模块,然后根据芯片电路结构计算每一个节点的电路深度,并根据电路深度初始化每一个模块输入节点的特征值,接着利用多线程提取这些模块中每个节点的可控性和可观察性特征值,最后将每个节点对应的特征值输入到k‑means聚类网络中进行聚类分析。本发明分别对每个模块进行特征值计算,可大大缩短检测时间;并将所有节点的特征值向量输入到K‑means神经网络中聚类判断芯片中是否含有硬件木马,可有效提高大规模芯片的木马检测时间效率。
Description
技术领域
本发明涉及领域为硬件安全领域,具体涉及一种规模化芯片网表级硬件木马检测方法。
背景技术
随着集成芯片的设计和制造逐渐全球化,芯片的安全性遭到了巨大的挑战。芯片在制造过程中一旦被植入硬件木马,就有可能改变芯片的固有功能,泄露芯片内部私密信息或者降低芯片的性能,引发的安全问题极有可能会在民生、金融甚至航空领域造成不可估量的危害。因此,硬件安全性研究刻不容缓,硬件木马检测策略研究更是重中之重。
根据已有的研究,硬件木马检测技术大体上可分为两大类,破坏式检测技术和非破坏式检测技术。其中,破坏式检测技术主要指的是逆向工程技术。而非破坏式检测技术包括旁路分析技术、逻辑测试技术和主动监控技术。
逆向工程技术是一种不可逆的物理检测方法。该方法先对集成芯片进行逐层拆解,用化学技术去除每一层的晶粒,再利用电子扫描仪器对每一层的电路进行扫描,拼接出芯片的电路结构图,最后将逆向得到的电路版图与无硬件木马的“黄金电路”对比,从而得出有无硬件木马。2014年,Bao等人利用逆向工程技术得到芯片的单层成像图,并将其与可信任的成像图进行比对,从而检测芯片中的硬件木马(参见“On application of one-class SVM to rev erse engineering-based hardware Trojan detection”,C.Bao,andD.Forte,A.Srivastava,Int ernational Symposium on Quality Electronic Design,Santa Clara,2014,47-54)。虽然该方法的检测效果很好,但需要耗费大量的时间、人力和财力,而且对芯片的破坏也是不可逆转的,所以该方法不具有推广性,只适用于抽样检查,从而判断同一批次的芯片是否被硬件木马感染。两年后,Bao等人针对逆向工程耗时耗力的问题,提出了一种K-means聚类算法与逆向工程相结合的新型硬件木马检测方法(参见“OnReverse Engineering-Based Hardware Troja n Detection[J]”,Bao C,D Forte,Srivastava A,IEEE Transactions on Computer-Aided Desi gn of IntegratedCircuits and Systems,2018,35(1):49-57)。2016年,Abdurrahman等人提出了一种对芯片底层电路的自动化识别技术,该方法利用了方向梯度直方图来自动提取和描述电路布局特征,然后通过由决策树表示的机器学习分类器,区分硬件木马和正常电路(参见“AnEfficient Reverse Engineering Hardware Trojan Detector Using Histogram ofOriented Gradients[J]”,Abdurrahman A,Nasr,et al.,Journal of ElectronicTesting,2016,33(1):1-13)。2020年,Bernhard等人在芯片物理布局上使用了逆向工程,根据分割的电路块做出电路图表并执行椭圆曲线加密模块识别(参见“Verification ofphysical designs using an integrated re verse engineering flow for nanoscaletechnologies[J]”,Lippmann B,N Unverricht,Singla A,et al.,Integration the VLSIJournal,2019,71),首次将生成的布局和GDS(一般设计规范,General DesignSpecification)设计布局之间的误差作为优良指数进行定量比较。
旁路分析技术是一种非破坏式的检测方法。芯片一旦被插入硬件木马后,往往会导致功耗、电压、电流、路径延时、温度热量、电磁辐射等旁路信息的改变,所以可以通过分析并比较芯片的旁路信息来判断是否含有硬件木马。Narasimhan等人提出了一种多特征值旁路分析检测技术(参见“Self-referencing:a scalable side-channel approach forhardware Trojan detection[C]”,D.Du,S.Narasimhan,R.S.Chakraborty,et al.,International Workshop on Cryptographic Hardware and Embedded Systems,SantaBarbara,2010:173-187),该技术将静态电流也作为一种分析指标。李雄伟等人通过分析CMOS固有特性对芯片电路的影响,提出了一种分析芯片平均动态电流与最大工作频率来检测硬件木马的新型检测技术,然而实验中发现该方法在时间效率上极其低下(参见“基于多旁路综合分析的硬件木马检测方法[J]”,李雄伟、王晓晗、张阳等,计算机仿真,2015,32(3):216-219)。实际上,硬件木马与正常电路相比十分微小,所以木马所导致的旁路信息变化也非常微弱,再加上芯片工作时会产生各种噪声,所以如何在这种复杂情形下分辨各种异常的旁路信号仍然是一个严峻的难题。
逻辑测试技术也是一种非破坏式的硬件木马检测方法。硬件木马在特定的条件下会被激活,改变芯片功能,干扰正常的输出信号。所以,可以在芯片的输入端口提供随机测试向量,检测芯片功能是否被改变,从而判断芯片中是否存在硬件木马。美国凯斯西储大学的Chakra borty等人提出了一种启发式测试向量生成算法MERO(参见“MERO:Astatistical approachfor hardware Trojan detection[C]”,R.S.Chakraborty,F.Wolff,S.Paul,et al.,Internation al Workshop on Cryptographic Hardware andEmbedded Systems,Lausanne,2009:396-410),该算法通过分析芯片内部节点的翻转率,生成一系列的测试向量,可在最少的测试向量数量下,实现最大化硬件木马检测覆盖率。广东工业大学的冯秋丽等人提出了一种基于节点活性的硬件木马检测技术,该检测技术通过对芯片输入随机测试向量,并统计芯片内部节点的翻转率,筛选出能够使翻转率低的节点翻转的测试向量,作为硬件木马测试向量组(参见“基于节点活性的硬件木马检测方法研究[D]”,冯秋丽,广州:广东工业大学.2016)。但目前,市场上任意一款芯片都有着数百上千个输入端口,所以想要生成芯片的所有测试向量是一件非常困难的事情。而且,绝大多数硬件木马的激活事件都极其罕见,所以如何快速且有效地找到能激活硬件木马的测试向量是一个非常关键的问题。
主动监控技术也是一种非破坏性的硬件木马检测技术。现有的大部分主动监控技术都会在芯片制造过程中植入防御模块,主动采取针对硬件木马的保护措施。2016年X.Wei等人提出了一种芯片模块之间的数据认证技术,若是芯片不同模块之间需要进行数据通信,就必须经过算法验证,且验证成功后才能够执行数据读写操作(参见“To Detect,Locate,and Mask Hardware Trojans in digital circuits by reverse engineeringand functional ECO[C]”,X.Wei,Y.Diao,Y.L.Wu,2016 21st Asia and South PacificDesign Automation Conference(ASP-DAC),Macao,2016:623-630)。高洪博教授等人提出了一种可测试性设计(Design forTest,DFT)(参见“指令诱发型硬件木马检测技术研究[D]”,高洪博,2013),该方法在芯片的设计阶段植入可测试性设计的电路结构,如,扫描链等。被植入扫描链的芯片有着两种工作模式:普通模式和测试模式。普通模式下,芯片正常工作;若测试人员想要检测芯片的内部信号,可以将芯片调至测试模式,此时扫描链会将内部信号输出。
发明内容
本发明提出了一种规模化芯片网表级硬件木马检测方法,该方法主要针对现有检测手段无法处理大规模芯片的问题,所以首先根据芯片中的寄存器将芯片分成多个组合电路模块,然后再利用多线程提取每一个模块的节点特征值,可以有效提高硬件木马检测效率,最后将所有模块的特征值输入到K-means聚类神经网络中,从而判断芯片中是否存在硬件木马,获得木马可疑节点集。
本发明每次只检测一个芯片网表,首先提取芯片网表的节点信息,并将网表根据寄存器划分为多个组合电路模块,然后根据芯片电路结构计算每一个节点的电路深度,并根据电路深度初始化每一个模块输入节点的特征值,接着利用多线程提取这些模块中每个节点的可控性和可观察性特征值,最后将每个节点对应的特征值输入到k-means聚类网络中分成三簇,分别为坐标轴原点簇、X轴簇、Y轴簇。其中,原点簇为正常节点集。然后将原点簇与另两簇的簇间距离和原点簇的簇内距离进行比较,若X轴簇与原点簇的簇间距离大于等于原点簇簇内距离的3倍,则该簇为可疑节点集,反之,该簇为正常电路集。Y轴簇同上述比较。当可疑节点集为空时,判定芯片为普通芯片;当可疑节点集不为空的时候,判定芯片为木马芯片。
本发明提出的一种规模化芯片网表级硬件木马检测方法包括以下步骤:
步骤1)输入一个芯片网表;
步骤2)提取网表节点信息
首先,读取输入的芯片网表的文件,提取该芯片网表中每一个逻辑单元的输出节点信息,构成节点集N,根据该芯片网表中每一个门器件的输入输出节点,搭建边集E,若ni为某一门器件的输入节点,nj为该门器件的输出节点,则得到一条有向边eij:
eij=<ni,nj> (1)
根据节点集N和边集E,构成一个相当于芯片内部电路的有向图,该有向图中的顶点对应着芯片节点集N={n1,n2,n3,…,nZ}中的节点,其中Z为芯片网表中节点的总数;有向图中的边对应着芯片的边集E={e1,e2,e3,…,eK}中的有向边,其中K为芯片电路中所有门器件输入节点与该门器件输出节点的连接线的总数;通过该有向图,能够找到节点nz,z∈[1,Z]的输出节点集O和输入节点集I;
步骤3)划分模块
以芯片底层电路中的触发器为边界,将整个芯片网表划分多个组合电路模块,方便后续计算各个节点的特征值,其中,芯片网表划分组合电路模块的过程如下:
步骤31)提取输入输出节点
从节点集N中提取芯片的输出节点集O、芯片的输入节点集I以及芯片中所有触发器的输出节点集D;若要对整个芯片网表划分组合电路模块,那么芯片的输出节点一定是该芯片最后一个组合电路模块的输出节点,而芯片输入节点一定是该芯片第一个组合电路模块的输入节点,所以从芯片输出节点集向芯片的输入端追溯,划分芯片底层电路;
步骤32)记录已遍历的触发器
为了解决触发器之间存在反馈,从而导致组合电路模块循环重复问题,需定义一个用来记录已经遍历过的触发器的输出节点集M,划分组合电路模块时,若是遇到属于M的节点,则不将该节点的输入节点集添加到下一组合电路模块的输出节点集中;
步骤33)寻找组合电路模块
从当前组合电路模块的输出节点集curO开始,向芯片输入端搜索,在芯片节点集N中查找所有满足下式(2)的节点n,将节点n存入当前组合电路模块的中间节点集curP:
若是遇到触发器的输出节点集D或芯片输入节点集I中的节点i′,则停止搜索,并将该节点i′添加到当前组合电路模块的输入节点集curI中;
i′∈D and i′∈I (3)
将符合下述式(4)条件的节点m的所有输入节点,添加到下一个组合电路模块的输出节点集nextO:
综上所述,当前组合电路模块的输出节点集curO、中间节点集curP以及输入节点集curI构成了当前组合电路模块的节点集curM:
curO∪curP∪curI=curM (5)
由于起初只知道当前组合电路模块的输出节点集curO,所以采用了按层遍历算法,以输出节点集curO作为遍历的起始节点,搜索当前组合电路模块的所有节点;
其中,寻找组合电路模块的所有节点的具体步骤为:
a)将当前组合电路模块的所有输出节点全部加入队列queue中;
b)判断queue是否为空,若为空,返回步骤a),划分下一个组合电路模块;若不为空,进行步骤c);
c)记录队列queue当前的容量size;
d)若size不为0,从队列首部取出节点P,并将size减1,执行步骤e);若是size为0,返回步骤b);
e)若节点P不属于芯片触发器输出节点集D且不属于芯片输入节点集I,执行步骤f);若是该节点不属于已遍历的触发器输出节点集M且不属于芯片输入节点集I,执行步骤g);若该节点属于M或I,执行步骤h);
f)将节点P加入当前组合电路模块的中间节点集curP,并将该节点的输入节点集加入队列queue末端,返回步骤d);
g)将节点P的所有输入节点加入下一组合电路模块的输出节点集nextO,并将节点P加入M;
h)将节点P加入当前组合电路模块的输入节点集curI,返回步骤d);
步骤4)计算节点电路深度
基于划分的组合电路模块,通过深度遍历算法,以芯片输入节点集I为起始节点,向芯片输出端搜索,计算每一个节点的电路深度,其中,输入节点集I的电路深度为0。
步骤5)计算节点特征值
首先需计算每一个节点的可控性CC和可观测性CO,用于量化地表示设置、观察电路内部信号的难度,其中,可控性CC被定义为将一个特定的逻辑信号设置为0或1的难度,包括0-可控制性CC0、1-可控制性CC1;而可观测性CO被定义为观测一个逻辑信号状态的难度;
采用现有SCOAP算法计算可控性和可观测性,但在计算每一个组合电路模块的节点特征值之前,根据节点本身的电路深度,对每一个组合电路模块的输入节点的CC0和CC1赋初值,赋初值这一步是对现有SCOAP算法做出的改进;然后,根据有向图,从芯片输入节点开始,向芯片输出端遍历,依次计算每一个节点的CC0和CC1,并由此得到每一个节点的可控性;计算完每一个节点的可控性后,从芯片输出节点开始,向芯片输入端遍历,依次计算每一个节点的可观测性CO;
由于CC0和CC1都是衡量一个逻辑信号的设置难度,所以将这两个特征值合并为一个可控性CC,计算公式如下:
可控性和可观测性计算完成后,将每一个节点nz,z∈[1,Z]的特征值组成一个二维向量dz,即节点特征值向量:
dz=<CC(nz),CO(nz)>,nz∈N (7)
其中,CC(nz)表示节点nz的可控性,CO(nz)表示节点nz的可观测性。
步骤6)K-means聚类分析
得到每个节点的特征值向量后,将这些特征值向量输入到K-means神经网络中进行聚类分析,利用K-means聚类算法将所有的节点映射到二维坐标轴中,X轴表示可控制性CC,Y轴表示可观测性CO,并将该芯片网表中的所有节点分为三簇{C1,C2,C3},分别为原点簇C1、X轴簇C2、Y轴簇C3,进而根据这三簇之间的距离,判断芯片是否含有硬件木马。
本发明针对硬件木马对芯片的威胁,提出一种规模化芯片网表级硬件木马检测方法,该方法首先利用网表分模块策略,将规模化芯片网表分割成多个小型的组合电路模块;然后分别对每个模块进行特征值计算,可大大缩短检测时间;最后,将所有节点的特征值向量输入到K-means神经网络中聚类,可判断芯片中是否含有硬件木马。本发明可有效提高大规模芯片的木马检测时间效率。
附图说明
图1为本发明硬件木马检测方法的流程图;
图2为本发明芯片网表划分组合电路模块的流程图。
具体实施方式
下面结合附图和实施例对本发明进行进一步的说明。
本发明提出的一种规模化芯片网表级硬件木马检测方法大致流程如图1所示。
(1)输入一个芯片网表;
(2)提取网表节点信息
首先,读取该芯片网表的文件,提取该芯片网表中每一个逻辑单元的输出节点信息,构成节点集N。根据该芯片网表中每一个门器件的输入输出节点,搭建边集E。例如,ni为某一门器件的输入节点,nj为同一门器件的输出节点,则可以得到一条有向边eij:
eij=<ni,nj> (1)
根据节点集N和边集E,可以构成一个相当于芯片内部电路的有向图。有向图中的顶点对应着芯片节点集N={n1,n2,n3,…,nZ}中的节点,其中Z为芯片网表中节点的总数;有向图中的边对应着芯片的边集E={e1,e2,e3,…,eK}中的有向边,其中K为芯片电路中所有门器件输入节点与该门器件输出节点的连接线的总数。通过有向图,可以很方便地找到节点nz(z∈[1,Z])的输出节点集O和输入节点集I。
(3)划分模块
以芯片底层电路中的触发器为边界,将整个庞大且复杂的芯片网表划分多个小而简单的组合逻辑电路模块(即组合电路模块),方便后续计算各个节点的特征值。芯片网表划分组合电路模块的过程如图2所示。
第一步:提取输入输出节点
从节点集N中提取芯片的输出节点集O、芯片的输入节点集I以及芯片中所有触发器的输出节点集D。若要对整个芯片网表划分组合电路模块,那么芯片的输出节点一定是该芯片最后一个组合电路模块的输出节点,而芯片输入节点一定是该芯片第一个组合电路模块的输入节点。所以,可以从芯片输出节点集向芯片的输入端追溯,划分芯片底层电路。
第二步:记录已遍历的触发器
为了解决触发器之间存在反馈,从而导致组合电路模块循环重复问题,需定义一个用来记录已经遍历过的触发器的输出节点集M。划分组合电路模块时,若是遇到属于M的节点,则不将该节点的输入节点集添加到下一组合电路模块的输出节点集中。
第三步:寻找组合电路模块
从当前组合电路模块的输出节点集curO开始,向芯片输入端搜索,在芯片节点集N中查找所有满足下面式(2)的节点n。将节点n存入当前组合电路模块的中间节点集curP。
若是遇到触发器的输出节点集D或芯片输入节点集I中的节点i′,则停止搜索,并将该节点i′添加到当前组合电路模块的输入节点集curI中。
i′∈D and i′∈I (3)
将符合下述式(4)条件的节点m的所有输入节点,添加到下一个组合电路模块的输出节点集nextO。
综上所述,当前组合电路模块的输出节点集curO、中间节点集curP以及输入节点集curI构成了当前组合电路模块的节点集curM。
curO∪curP∪curI=curM (5)
在这一步中,起初只知道当前组合电路模块的输出节点集curO,所以采用了按层遍历算法,以输出节点集curO作为遍历的起始节点,搜索当前组合电路模块的所有节点,寻找组合电路模块节点的具体步骤可以概括如下:
a)将当前组合电路模块的所有输出节点全部加入队列queue中。
b)判断queue是否为空。若为空,返回步骤a),划分下一个组合电路模块;若不为空,进行步骤c)。
c)记录队列queue当前的容量size。
d)若size不为0,从队列首部取出节点P,并将size减1,执行步骤e)。若是size为0,返回步骤b)。
e)若节点P不属于芯片触发器输出节点集D且不属于芯片输入节点集I,执行步骤f);若是该节点不属于已遍历的触发器输出节点集M且不属于芯片输入节点集I,执行步骤g);若该节点属于M或I,执行步骤h)。
f)将节点P加入当前组合电路模块的中间节点集curP,并将该节点的输入节点集加入队列queue末端。返回步骤d)。
g)将节点P的所有输入节点加入下一组合电路模块的输出节点集nextO,并将节点P加入M。
h)将节点P加入当前组合电路模块的输入节点集curI。返回步骤d)。
(4)计算节点电路深度
通过深度遍历算法,以芯片输入节点集I为起始节点,向芯片输出端搜索,计算每一个节点的电路深度。其中,输入节点集I的电路深度为0。节点电路深度的具体计算步骤如下:
41)定义一个flag集合,用来储存已经遍历过的节点。
42)依次以每一个芯片输入节点i″∈I为起始节点,起始节点的电路深度为0,当前电路深度为0。
43)从起始节点开始,向芯片输出端搜索,若找到的节点属于flag集合,说明该节点已经有电路深度,则将找到的节点的电路深度设置成当前电路深度与该节点已有电路深度这两者中的最大值,若找到的节点不属于flag集合,将该节点电路深度设置成当前电路深度,并将找到的节点存入flag。每经过一个门器件,当前电路深度加1。
44)直到搜索到芯片的输出节点o∈O,返回步骤42)。
经上述步骤,可获得芯片中每一个节点的电路深度。由于门器件可能存在多个输入节点,所以,节点的电路深度有多值的可能性。但考虑到后续K-means聚类需要较大的特征值才能将木马区分,因此我们取多值中的最大值作为该节点的电路深度。
(5)计算节点特征值
本发明需计算每一个节点的可控性CC和可观测性CO,量化地表示了设置、观察电路内部信号的难度。可控性CC被定义为将一个特定的逻辑信号设置为0或1的难度,包括0-可控制性CC0、1-可控制性CC1;而可观测性CO被定义为观测一个逻辑信号状态的难度。
本发明采用了一种由Goldstein等人提出的系统而高效的SCOAP算法,它被广泛用于计算可控性和可观测性。但是在计算每一个组合电路模块的节点特征值之前,需要根据节点本身的电路深度,对每一个组合电路模块的输入节点的CC0和CC1赋初值。赋初值这一步是本发明对SCOAP算法做出的改进。然后,根据有向图,从芯片输入节点开始,向芯片输出端遍历,依次计算每一个节点的0-可控制性CC0和1-可控制性CC1;计算完节点可控性后,从芯片输出节点开始,向芯片输入端遍历,依次计算每一个节点的可观测性CO。
由于CC0和CC1都是衡量一个逻辑信号的设置难度,所以可以将这两个特征值合并为一个可控性CC,计算公式如下:
计算完成后,可将每一个节点nz(z∈[1,Z])的特征值组成一个二维向量dz,即节点特征值向量:
dz=<CC(nz),CO(nz)>,nz∈N (7)
其中,CC(nz)表示节点nz的可控性,CO(nz)表示节点nz的可观测性。
(6)K-means聚类分析
得到每个节点的特征值向量后,将这些特征值向量输入到K-means神经网络中进行聚类分析。
本发明利用K-means聚类算法将所有的节点映射到二维坐标轴中,X轴为可控制性CC,Y轴为可观测性CO,并将该芯片网表中的所有节点分为三簇{C1,C2,C3},分别为原点簇C1、X轴簇C2、Y轴簇C3,进而根据这三簇之间的距离,判断芯片是否含有硬件木马。K-means聚类算法具体步骤如下:
第一步:初始化簇中心
由于木马节点的特征值比正常节点大得多,所以木马节点与正常节点相距甚远。因此,在这一步中不采用随机选取中心点的方式,而是分别选择坐标轴原点、芯片网表所有节点中位于Y轴且离X轴最远的点、芯片网表所有节点中位于X轴且离Y轴最远的点作为簇中心{μ1,μ2,μ3},如公式(8)所示:
其中,μ1表示原点簇C1的簇中心,μ2表示X轴簇C2的簇中心,μ3表示Y轴簇C3的簇中心,Max(CO)表示最大的可观测性值;Max(CC)表示最大的可控性值。
第二步:分簇
遍历每个节点的特征值向量dz(1≤z≤Z),分别计算特征值向量dz与各簇中心μj(1≤j≤3)的欧式距离Xj,并将每个节点分配给距它们最近的簇中心。
其中,|dZ-μj|表示以坐标轴原点为起点的特征值向量dZ的终点与簇中心μj的距离;
第三步:更新每个簇的簇中心
将各簇中所有节点的可控性值CC累加除以各簇的节点总数,得到对应簇中心的X轴坐标,将各簇中的所有节点的可观测性值CO累加除以各簇的节点总数,得到对应簇中心的Y轴坐标,由此计算每个簇的中心位置μ′j(1≤j≤3),计算公式如公式(10):
其中,|Sj|(1≤j≤3)表示簇Cj的节点总数,d为该芯片网表所有节点的特征值向量,Sj(1≤j≤3)表示簇Cj的节点特征值向量集。
如果中心位置μ′j与簇中心μj不一致,则将当前簇的中心点μj更新为μ′j;反之,μj保持不变;如果这三簇的簇中心{μ1,μ2,μ3}都没有改变,则聚类完成得到三个节点簇{C1,C2,C3}。反之则重复第二、三步。
第四步:分类
芯片底层电路中正常节点的可控性值CC和可观测性值CO都很小。由此推之,木马节点主要分为两类,一类是具有较大的可控制性值CC;另一类则是具有较大的可观测性值CO。所以,距离坐标轴原点最近的簇C1是由正常节点所组成的正常簇。通过标准差衡量原点簇C1的簇内分散程度,并设定一个差异阈值(例如,原点簇C1簇内距离的3倍)。当另外两簇{C2,C3}与正常簇C1的簇间最短距离大于或等于这个差异阈值,则将该簇分为木马簇。反之,则与正常簇C1合并。
实施例
下面是本发明的实施案例。本实验采用的是Trust-hub网站上的门级网表芯片测试用例,测试基准用例信息如表1所示。
表1测试基准信息
测试样本 | 门数量/个 | 木马类型 |
RS232_T1000 | 268 | 组合功能改变型 |
RS232_T1100 | 271 | 时序功能改变型 |
RS232_T1200 | 273 | 时序功能改变型 |
RS232_T1300 | 267 | 组合功能改变型 |
RS232_T1400 | 269 | 时序功能改变型 |
RS232_T1500 | 270 | 时序功能改变型 |
RS232_T1600 | 265 | 时序功能改变型 |
S15850_T100 | 2182 | 时序拒绝服务功能改变型 |
S35932_T100 | 5441 | 时序信息泄露功能改变型 |
S38417_T100 | 5341 | 组合拒绝服务功能改变型 |
S38417_T200 | 5344 | 组合拒绝服务功能改变型 |
wb_conmax_T100 | 20462 | 组合拒绝服务功能改变型 |
分别对每个芯片网表进行独立实验。先将芯片网表分级,计算每一个节点的电路深度,然后计算芯片中所有节点的特征向量输入到K-means聚类网络中,重复实验100次。统计这100次实验结果,最后得到平均检测时间和平均检测率。实验检测结果如表2所示。
表2实验检测结果
测试样本 | 平均检测时间/s | 平均检测率 |
RS232_T1000 | 6s | 100% |
RS232_T1100 | 6s | 100% |
RS232_T1200 | 7s | 100% |
RS232_T1300 | 7s | 100% |
RS232_T1400 | 6s | 100% |
RS232_T1500 | 7s | 100% |
RS232_T1600 | 5s | 100% |
S15850_T100 | 8s | 100% |
S35932_T100 | 13s | 100% |
S38417_T100 | 12s | 100% |
S38417_T200 | 13s | 100% |
wb_conmax_T100 | 65s | 100% |
平均检测率=(N′次实验中成功检测木马的次数)/N′,N′为重复实验次数N′=100。
从表2中可以发现,本发明所提出的规模化芯片网表级硬件后门检测方法对Trust-Hub网站上的芯片网表进行硬件木马检测,平均检测率高达100%。对于小于2万门器件数量的芯片网表平均检测时间不超过1分钟。且本发明即能检测出时序硬件木马,也能检测组合硬件木马,对功能改变型、拒绝服务型和信息泄露型共三类硬件后门都有很好的检测效果。
以上所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
Claims (4)
1.一种规模化芯片网表级硬件木马检测方法,其特征在于,该方法包括以下步骤:
步骤1)输入一个芯片网表;
步骤2)提取网表节点信息
首先,读取输入的芯片网表的文件,提取该芯片网表中每一个逻辑单元的输出节点信息,构成节点集N,根据该芯片网表中每一个门器件的输入输出节点,搭建边集E,若ni为某一门器件的输入节点,nj为该门器件的输出节点,则得到一条有向边eij:
eij=<ni,nj> (1)
根据节点集N和边集E,构成一个相当于芯片内部电路的有向图,该有向图中的顶点对应着芯片节点集N={n1,n2,n3,…,nZ}中的节点,其中Z为芯片网表中节点的总数;有向图中的边对应着芯片的边集E={e1,e2,e3,…,eK}中的有向边,其中K为芯片电路中所有门器件输入节点与该门器件输出节点的连接线的总数;通过该有向图,能够找到节点nz,z∈[1,Z]的输出节点集O和输入节点集I;
步骤3)划分模块
以芯片底层电路中的触发器为边界,将整个芯片网表划分多个组合电路模块,方便后续计算各个节点的特征值,其中,芯片网表划分组合电路模块的过程如下:
步骤31)提取输入输出节点
从节点集N中提取芯片的输出节点集O、芯片的输入节点集I以及芯片中所有触发器的输出节点集D;若要对整个芯片网表划分组合电路模块,那么芯片的输出节点一定是该芯片最后一个组合电路模块的输出节点,而芯片输入节点一定是该芯片第一个组合电路模块的输入节点,所以从芯片输出节点集向芯片的输入端追溯,划分芯片底层电路;
步骤32)记录已遍历的触发器
为了解决触发器之间存在反馈,从而导致组合电路模块循环重复问题,需定义一个用来记录已经遍历过的触发器的输出节点集M,划分组合电路模块时,若是遇到属于M的节点,则不将该节点的输入节点集添加到下一组合电路模块的输出节点集中;
步骤33)寻找组合电路模块
从当前组合电路模块的输出节点集curO开始,向芯片输入端搜索,在芯片节点集N中查找所有满足下式(2)的节点n,将节点n存入当前组合电路模块的中间节点集curP:
若是遇到触发器的输出节点集D或芯片输入节点集I中的节点i′,则停止搜索,并将该节点i′添加到当前组合电路模块的输入节点集curI中;
i′∈D and i′∈I (3)
将符合下述式(4)条件的节点m的所有输入节点,添加到下一个组合电路模块的输出节点集nextO:
综上所述,当前组合电路模块的输出节点集curO、中间节点集curP以及输入节点集curI构成了当前组合电路模块的节点集curM:
curO∪curP∪curI=curM (5)
由于起初只知道当前组合电路模块的输出节点集curO,所以采用了按层遍历算法,以输出节点集curO作为遍历的起始节点,搜索当前组合电路模块的所有节点;
其中,寻找组合电路模块的所有节点的具体步骤为:
a)将当前组合电路模块的所有输出节点全部加入队列queue中;
b)判断queue是否为空,若为空,返回步骤a),划分下一个组合电路模块;若不为空,进行步骤c);
c)记录队列queue当前的容量size;
d)若size不为0,从队列首部取出节点P,并将size减1,执行步骤e);若是size为0,返回步骤b);
e)若节点P不属于芯片触发器输出节点集D且不属于芯片输入节点集I,执行步骤f);若是该节点不属于已遍历的触发器输出节点集M且不属于芯片输入节点集I,执行步骤g);若该节点属于M或I,执行步骤h);
f)将节点P加入当前组合电路模块的中间节点集curP,并将该节点的输入节点集加入队列queue末端,返回步骤d);
g)将节点P的所有输入节点加入下一组合电路模块的输出节点集nextO,并将节点P加入M;
h)将节点P加入当前组合电路模块的输入节点集curI,返回步骤d);
步骤4)计算节点电路深度
基于划分的组合电路模块,通过深度遍历算法,以芯片输入节点集I为起始节点,向芯片输出端搜索,计算每一个节点的电路深度,其中,输入节点集I的电路深度为0;
步骤5)计算节点特征值
首先需计算每一个节点的可控性CC和可观测性CO,用于量化地表示设置、观察电路内部信号的难度,其中,可控性CC被定义为将一个特定的逻辑信号设置为0或1的难度,包括0-可控制性CC0、1-可控制性CC1;而可观测性CO被定义为观测一个逻辑信号状态的难度;
采用现有SCOAP算法计算可控性和可观测性,但在计算每一个组合电路模块的节点特征值之前,根据节点本身的电路深度,对每一个组合电路模块的输入节点的CC0和CC1赋初值,赋初值这一步是对现有SCOAP算法做出的改进;然后,根据有向图,从芯片输入节点开始,向芯片输出端遍历,依次计算每一个节点的CC0和CC1,并由此得到每一个节点的可控性;计算完每一个节点的可控性后,从芯片输出节点开始,向芯片输入端遍历,依次计算每一个节点的可观测性CO;
由于CC0和CC1都是衡量一个逻辑信号的设置难度,所以将这两个特征值合并为一个可控性CC,计算公式如下:
可控性和可观测性计算完成后,将每一个节点nz,z∈[1,Z]的特征值组成一个二维向量dz,即节点特征值向量:
dz=<CC(nz),CO(nz)>,nz∈N (7)
其中,CC(nz)表示节点nz的可控性,CO(nz)表示节点nz的可观测性;
步骤6)K-means聚类分析
得到每个节点的特征值向量后,将这些特征值向量输入到K-means神经网络中进行聚类分析,利用K-means聚类算法将所有的节点映射到二维坐标轴中,X轴表示可控制性CC,Y轴表示可观测性CO,并将该芯片网表中的所有节点分为三簇{C1,C2,C3},分别为原点簇C1、X轴簇C2、Y轴簇C3,进而根据这三簇之间的距离,判断芯片是否含有硬件木马。
2.根据权利要求1所述的规模化芯片网表级硬件木马检测方法,其特征在于,所述步骤4)中节点的电路深度的具体计算步骤如下:
步骤41)定义一个flag集合,用来储存已经遍历过的节点;
步骤42)依次以每一个芯片输入节点i″∈I为起始节点,起始节点的电路深度为0,当前电路深度为0;
步骤43)从起始节点开始,向芯片输出端搜索,若找到的节点属于flag集合,说明该节点已经有电路深度,则将找到的节点的电路深度设置成当前电路深度与该节点已有电路深度这两者中的最大值;若找到的节点不属于flag集合,将该节点电路深度设置成当前电路深度,并将找到的节点存入flag;每经过一个门器件,当前电路深度加1;
步骤44)直到搜索到芯片的输出节点o∈O,返回步骤步骤42);
经上述步骤,能够获得芯片中每一个节点的电路深度,由于门器件可能存在多个输入节点,所以节点的电路深度有多值的可能性,选取多值中的最大值作为对应节点的电路深度。
3.根据权利要求2所述的规模化芯片网表级硬件木马检测方法,其特征在于,所述步骤6)中K-means聚类算法的具体步骤为:
步骤61)初始化簇中心
由于木马节点的特征值比正常节点大,所以木马节点与正常节点相距甚远,因此分别选择坐标轴原点、芯片网表所有节点中位于Y轴且离X轴最远的点、芯片网表所有节点中位于X轴且离Y轴最远的点作为簇中心{μ1,μ2,μ3},如公式(8)所示:
其中,μ1表示原点簇C1的簇中心,μ2表示X轴簇C2的簇中心,μ3表示Y轴簇C3的簇中心,Max(CO)表示最大的可观测性值;Max(CC)表示最大的可控性值;
步骤62)分簇
遍历每个节点的特征值向量dz,1≤z≤Z,分别计算特征值向量dz与各簇中心μj,1≤j≤3的欧式距离Xj,并将每个节点分配给距它们最近的簇中心:
其中,|dz-μj|表示以坐标轴原点为起点的特征值向量dZ的终点与簇中心μj的距离;
步骤63)更新每个簇的簇中心
将各簇中所有节点的可控性值CC累加除以各簇的节点总数,得到对应簇中心的X轴坐标,将各簇中的所有节点的可观测性值CO累加除以各簇的节点总数,得到对应簇中心的Y轴坐标,由此计算每个簇的中心位置μ′j,计算公式如公式(10)所示:
其中,|Sj|表示簇Cj的节点总数,d为该芯片网表所有节点的特征值向量,Sj表示簇Cj的节点特征值向量集;
如果中心位置μ′j与簇中心μj不一致,则将当前簇的中心点μj更新为μ′j;反之,μj保持不变;如果这三簇的簇中心{μ1,μ2,μ3}都没有改变,则聚类完成得到三个节点簇{C1,C2,C3};反之则重复步骤62)-步骤63);
步骤64)分类
芯片底层电路中距离坐标轴原点最近的簇C1是由正常节点所组成的正常簇,通过标准差衡量原点簇C1的簇内分散程度,并设定一个差异阈值,当另外两簇C2和C3与正常簇C1的簇间最短距离大于或等于这个差异阈值,则将该簇分为木马簇;反之,则与正常簇C1合并。
4.根据权利要求3所述的规模化芯片网表级硬件木马检测方法,其特征在于,所述差异阈值为原点簇C1簇内距离的3倍。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210319027.1A CN114692227B (zh) | 2022-03-29 | 2022-03-29 | 一种规模化芯片网表级硬件木马检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210319027.1A CN114692227B (zh) | 2022-03-29 | 2022-03-29 | 一种规模化芯片网表级硬件木马检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114692227A true CN114692227A (zh) | 2022-07-01 |
CN114692227B CN114692227B (zh) | 2023-05-09 |
Family
ID=82141266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210319027.1A Active CN114692227B (zh) | 2022-03-29 | 2022-03-29 | 一种规模化芯片网表级硬件木马检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114692227B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117973285A (zh) * | 2024-04-01 | 2024-05-03 | 昆山元乐府科技有限公司 | 一种后硅电路异常的深度测试方法、装置及计算设备 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016080380A1 (ja) * | 2014-11-18 | 2016-05-26 | 学校法人早稲田大学 | ハードウェアトロイの検出方法、ハードウェアトロイの検出プログラム、およびハードウェアトロイの検出装置 |
CN107480561A (zh) * | 2017-07-21 | 2017-12-15 | 天津大学 | 基于少态节点遍历的硬件木马检测方法 |
US20180139119A1 (en) * | 2016-11-16 | 2018-05-17 | Goverment Of The United States As Represented By Te Secretary Of The Air Force | Pseudorandom communications routing |
CN109063475A (zh) * | 2018-07-31 | 2018-12-21 | 西南交通大学 | 一种硬件木马的检测方法、设备及计算机存储介质 |
CN109740348A (zh) * | 2019-01-29 | 2019-05-10 | 福州大学 | 一种基于机器学习的硬件木马定位方法 |
CN109784096A (zh) * | 2019-01-18 | 2019-05-21 | 电子科技大学 | 基于聚类算法的硬件木马检测和剔除方法 |
CN110059826A (zh) * | 2019-03-25 | 2019-07-26 | 天津大学 | 基于动态权重的测试向量生成与优化方法 |
CN110096879A (zh) * | 2019-04-26 | 2019-08-06 | 北京计算机技术及应用研究所 | 一种基于门级结构特征的静态硬件木马检测方法 |
CN110210258A (zh) * | 2019-05-10 | 2019-09-06 | 中国人民解放军国防科技大学 | 芯片网表级混淆防御硬件木马的装置、方法及检测方法 |
CN110287735A (zh) * | 2019-07-04 | 2019-09-27 | 电子科技大学 | 基于芯片网表特征的木马感染电路识别方法 |
CN110414277A (zh) * | 2018-04-27 | 2019-11-05 | 北京大学 | 基于多特征参数的门级硬件木马检测方法 |
CN111414622A (zh) * | 2020-03-26 | 2020-07-14 | 电子科技大学 | 针对ip固核网表的硬件后门移除方法 |
CN111488629A (zh) * | 2020-06-29 | 2020-08-04 | 广东电网有限责任公司佛山供电局 | 基于差分放大可控性的系统芯片硬件木马检测方法和系统 |
US20200394340A1 (en) * | 2016-01-22 | 2020-12-17 | Easy-Logic Technology Limited | Methods and Apparatus for Removing Functional Bugs and Hardware Trojans for Integrated Circuits Implemented by Field Programmable Gate Array (FPGA) |
US20210286881A1 (en) * | 2020-03-10 | 2021-09-16 | University Of South Florida | Graph-Based Approach Towards Hardware Trojan Vulnerability Analysis |
CN113626812A (zh) * | 2021-07-27 | 2021-11-09 | 西安电子科技大学 | 基于结构特征筛选及负载扩展的机器学习木马检测方法 |
-
2022
- 2022-03-29 CN CN202210319027.1A patent/CN114692227B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016080380A1 (ja) * | 2014-11-18 | 2016-05-26 | 学校法人早稲田大学 | ハードウェアトロイの検出方法、ハードウェアトロイの検出プログラム、およびハードウェアトロイの検出装置 |
US20200394340A1 (en) * | 2016-01-22 | 2020-12-17 | Easy-Logic Technology Limited | Methods and Apparatus for Removing Functional Bugs and Hardware Trojans for Integrated Circuits Implemented by Field Programmable Gate Array (FPGA) |
US20180139119A1 (en) * | 2016-11-16 | 2018-05-17 | Goverment Of The United States As Represented By Te Secretary Of The Air Force | Pseudorandom communications routing |
CN107480561A (zh) * | 2017-07-21 | 2017-12-15 | 天津大学 | 基于少态节点遍历的硬件木马检测方法 |
CN110414277A (zh) * | 2018-04-27 | 2019-11-05 | 北京大学 | 基于多特征参数的门级硬件木马检测方法 |
CN109063475A (zh) * | 2018-07-31 | 2018-12-21 | 西南交通大学 | 一种硬件木马的检测方法、设备及计算机存储介质 |
CN109784096A (zh) * | 2019-01-18 | 2019-05-21 | 电子科技大学 | 基于聚类算法的硬件木马检测和剔除方法 |
CN109740348A (zh) * | 2019-01-29 | 2019-05-10 | 福州大学 | 一种基于机器学习的硬件木马定位方法 |
CN110059826A (zh) * | 2019-03-25 | 2019-07-26 | 天津大学 | 基于动态权重的测试向量生成与优化方法 |
CN110096879A (zh) * | 2019-04-26 | 2019-08-06 | 北京计算机技术及应用研究所 | 一种基于门级结构特征的静态硬件木马检测方法 |
CN110210258A (zh) * | 2019-05-10 | 2019-09-06 | 中国人民解放军国防科技大学 | 芯片网表级混淆防御硬件木马的装置、方法及检测方法 |
CN110287735A (zh) * | 2019-07-04 | 2019-09-27 | 电子科技大学 | 基于芯片网表特征的木马感染电路识别方法 |
US20210286881A1 (en) * | 2020-03-10 | 2021-09-16 | University Of South Florida | Graph-Based Approach Towards Hardware Trojan Vulnerability Analysis |
CN111414622A (zh) * | 2020-03-26 | 2020-07-14 | 电子科技大学 | 针对ip固核网表的硬件后门移除方法 |
CN111488629A (zh) * | 2020-06-29 | 2020-08-04 | 广东电网有限责任公司佛山供电局 | 基于差分放大可控性的系统芯片硬件木马检测方法和系统 |
CN113626812A (zh) * | 2021-07-27 | 2021-11-09 | 西安电子科技大学 | 基于结构特征筛选及负载扩展的机器学习木马检测方法 |
Non-Patent Citations (4)
Title |
---|
GUO SHIZE等: ""Securing IoT Space via Hardware Trojan Detection"", IEEE INTERNET OF THINGS JOURNAL * |
NING WEN ET.AL.: ""Hardware Trojan Detection Technique Based on SOM Neural Network"" * |
严迎建等: ""基于多维结构特征的硬件木马检测技术"" * |
熊江涛: ""隐蔽型硬件后门多维诊断关键技术研究"" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117973285A (zh) * | 2024-04-01 | 2024-05-03 | 昆山元乐府科技有限公司 | 一种后硅电路异常的深度测试方法、装置及计算设备 |
CN117973285B (zh) * | 2024-04-01 | 2024-07-02 | 昆山元乐府科技有限公司 | 一种后硅电路异常的深度测试方法、装置及计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114692227B (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cakır et al. | Hardware Trojan detection for gate-level ICs using signal correlation based clustering | |
Sharpnack et al. | Changepoint detection over graphs with the spectral scan statistic | |
CN110287735B (zh) | 基于芯片网表特征的木马感染电路识别方法 | |
CN110414277B (zh) | 基于多特征参数的门级硬件木马检测方法 | |
Xie et al. | Hardware Trojans classification based on controllability and observability in gate-level netlist | |
Liakos et al. | Conventional and machine learning approaches as countermeasures against hardware trojan attacks | |
Mienye et al. | A deep learning ensemble with data resampling for credit card fraud detection | |
CN108846283A (zh) | 一种硬件木马实时检测系统及其设计方法 | |
Dong et al. | An unsupervised detection approach for hardware trojans | |
CN109684834A (zh) | 一种基于XGBoost的门级硬件木马识别方法 | |
Kok et al. | Net classification based on testability and netlist structural features for hardware Trojan detection | |
CN109740348B (zh) | 一种基于机器学习的硬件木马定位方法 | |
Tebyanian et al. | SC-COTD: Hardware trojan detection based on sequential/combinational testability features using ensemble classifier | |
Kundu et al. | Application of machine learning in hardware trojan detection | |
Pradhan et al. | Predicting ${X} $-Sensitivity of circuit-inputs on test-coverage: a machine-learning approach | |
CN114692227B (zh) | 一种规模化芯片网表级硬件木马检测方法 | |
Huang et al. | A hardware trojan detection and diagnosis method for gate-level netlists based on different machine learning algorithms | |
He et al. | ResNeXt+: Attention mechanisms based on ResNeXt for malware detection and classification | |
Piliposyan et al. | PCB Hardware Trojan Run-Time Detection Through Machine Learning | |
Kurihara et al. | Hardware-Trojan Detection Based on the Structural Features of Trojan Circuits Using Random Forests | |
Hashemi et al. | Graph centrality algorithms for hardware trojan detection at gate-level netlists | |
Liu et al. | A pca based svm hardware trojan detection approach | |
CN113821840A (zh) | 基于Bagging的硬件木马检测方法、介质、计算机 | |
CN111177713B (zh) | 一种基于XGBoost的硬件木马检测方法及装置 | |
Sutikno et al. | Detecting Unknown Hardware Trojans in Register Transfer Level Leveraging Verilog Conditional Branching Features |
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 |