CN110955892A - 一种基于机器学习和电路行为级特征的硬件木马检测方法 - Google Patents

一种基于机器学习和电路行为级特征的硬件木马检测方法 Download PDF

Info

Publication number
CN110955892A
CN110955892A CN201911117317.2A CN201911117317A CN110955892A CN 110955892 A CN110955892 A CN 110955892A CN 201911117317 A CN201911117317 A CN 201911117317A CN 110955892 A CN110955892 A CN 110955892A
Authority
CN
China
Prior art keywords
node
behavior level
hardware trojan
signal
circuit
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
Application number
CN201911117317.2A
Other languages
English (en)
Other versions
CN110955892B (zh
Inventor
金铮斐
张颖
陈鑫
葛明慧
李森
姚嘉祺
毛志明
施聿哲
刘小雨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Aeronautics and Astronautics
Original Assignee
Nanjing University of Aeronautics and Astronautics
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University of Aeronautics and Astronautics filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN201911117317.2A priority Critical patent/CN110955892B/zh
Publication of CN110955892A publication Critical patent/CN110955892A/zh
Application granted granted Critical
Publication of CN110955892B publication Critical patent/CN110955892B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于机器学习和电路行为级特征的硬件木马检测方法,属于硬件安全的技术领域。本发明通过分析可疑电路在行为级的内在结构特征和信号特征,构建数学模型,然后通过机器学习算法训练生成各类木马的分类器,利用分类器即可对其他待检测的可疑电路进行硬件木马检测。相比于传统的硬件木马检测方法,本发明无需要求检测人员对可疑代码进行逐条分析,提高了检测效率。同时基于机器学习算法,本发明可以在后期的检测过程中针对新木马产生相应的分类器,不断学习完善,具有很强的适用性。

Description

一种基于机器学习和电路行为级特征的硬件木马检测方法
技术领域
本发明涉及硬件安全领域,具体涉及一种基于机器学习和电路行为级特征分析的硬件木马检测方法,属于计算、推算或计数的技术领域。
背景技术
集成电路是现代信息产业的基石,随着时代的发展,现代社会中各行各业对芯片都有着相当高的依赖度,但这些芯片在出厂时就可能存在硬件上的安全隐患,易导致信息安全事故的发生。近年来,随着集成电路的快速发展以及其设计和生产的全球化,现在的芯片公司很少能独立完成单个芯片的设计,超大规模SOC芯片中通常会集成第三方的IP核,第三方的IP核极有可能被植入恶意逻辑,而且在正常的功能测试中难以发现,同时,第三方的EDA工具如逻辑综合、物理设计工具也有可能在设计中加入恶意逻辑,即使在进行充分的功能验证后,可以保证设计没有被修改过,但在集成电路制造过程中仍然有可能被植入硬件木马。
目前,大部分的硬件木马检测技术都是基于门级电路、侧信道信息和物理版图的,但是对于芯片的行为级设计环节的监督检测的研究还是很少。然而,对于第三方IP而言,在行为级植入木马是最灵活,成本也相对较低,因此,越来越多的设计者试图在第三方IP的行为级植入恶意逻辑。针对这一现状,本发明旨在提出一种基于电路行为级特征的硬件木马检测方法,并通过机器学习算法提升整个检测方法的准确度。
发明内容
本发明的发明目的是针对上述背景技术的不足,提供了一种基于机器学习和电路行为级特征分析的硬件木马检测方法,将电路的行为级代码通过特征提取和建模的方式转换成为可以量化的数学模型,基于该模型通过数学方法进行数据分析,结合机器学习分类算法实现硬件木马检测,解决了现有硬件木马检测方法难以检测在电路行为级植入的恶意逻辑的技术问题。
本发明为实现上述发明目的采用如下技术方案:
一种基于机器学习和电路行为级特征分析的硬件木马检测方法,包括如下步骤:
步骤S1:对训练集中带硬件木马的行为级Verilog代码各模块进行初步分析得到各模块的基本信息列表;
步骤S2:对训练集中带有硬件木马的行为级Verilog代码各模块进行进一步地节点划分,细化整个设计的所有模块代码,便于特征分析;
步骤S3:对步骤S2中划分出的节点进行特征提取,提取每个节点的信号特征和内在结构特征;
步骤S4: 基于步骤S3中得到的节点的信号特征和内在结构特征通过进一步分析得到各个节点的行为级特征;
步骤S5:将步骤S4中得到的每个节点的行为级特征参数量化成向量形式,每个节点对应一个特征向量,特征向量的每个维度对应一个特征,训练集内所有节点的向量构成训练数据集;
步骤S6:使用步骤S5生成的数据集结合SVM算法生成检测硬件木马的SVM分类器;
步骤S7:对待检测的可疑电路按步骤S1、S2、S3、S4、S5,生成测试数据集;
步骤S8:将步骤S7生成的测试数据集送进SVM分类器进行硬件木马检测,分类器会给出各个节点的分类结果,若分类器对某个节点的检测结果为无木马,则代表该节点电路是安全的,若待检测电路的所有节点都是安全的,则代表待检测电路是安全的。
进一步地,步骤S1对模块进行初步分析的时候,使用脚本遍历模块的信号定义部分,获取该模块的基本信号信息,即输入输出端口以及内部定义的寄存器和线网等信号的名字和位宽。由于一个电路的行为级设计可能由多个模块构成,因此需要遍历整个行为级设计,找到所有独立的模块,并且通过设计的顶层文件提取各个模块的信号连接关系,最后为每个模块构建一个基本信息列表存放该模块的分析结果。
进一步地,步骤S2划分节点的依据为不含条件分支的语句块,即组合逻辑块和不带if或case语句的always语句块。在创建节点的时候首先忽略模块内的例化,分析独立的基本模块的节点划分,之后再根据电路顶层的模块例化结构并结合每个基本模块内部的模块例化,创建节点。
进一步地,步骤S3中,对于划分之后的节点,提取能够描述该节点的行为级特征的特征,包括内在结构和信号两部分。
信号分析:遍历每个节点中涉及的线网和寄存器等类型的信号,从节点所属模块的基本信息列表中检索其位宽信息,并根据节点内的逻辑功能语句提取信号的驱动情况,即该信号是由哪些其它信号驱动的,考虑到电路中的模块例化结构,需要再根据节点所属模块的基本信息列表中的模块连接信息,对节点的信号驱动信息进行更新。最后将包括信号名字、位宽和驱动情况的节点信号特征保存为节点的信号特征;
节点内在结构分析:遍历节点中的每条语句,提取节点内语句的类型属性(if或case或其它)、统计各类操作的执行次数、各条语句的操作数数量等内在结构信息,并保存为节点的内在结构特征。
然后,结合节点的信号特征和内在结构特征可以归纳出节点活跃度、节点相关性等节点的行为级特征,其中,节点活跃度、节点相关性的计算方法如下:
节点活跃度:若节点是if判断分支或者case条件分支,则根据判断条件或分支条件内的语句、信号可以计算得到该语句块节点执行的概率,即节点活跃度。
节点相关性:结合每个节点内的信号分析结果和步骤S1得到的信号信息,可以分析出节点内的信号是否由原始输入驱动,即与原始输入的相关性。
得到节点的全部行为级特征后,将其量化成数值向量形式,所有训练电路节点的向量即为训练数据集。
利用训练数据集和机器学习算法,完成硬件木马分类器的训练。
进一步地,待检测电路同样按上述方法生成测试数据集,送入分类器进行木马检测,若分类器对所有节点的检测结果都显示无木马,则代表待检测电路是安全的。
本发明采用上述技术方案,具有以下有益效果:
(1)本发明提出了一种在行为级提取特征检测硬件木马的方法,通过分析描述电路的行为级Verilog代码提取整个电路各模块的基本信息列表,再以不含条件分支的语句块为原则对电路行为级Verilog代码进行节点划分,接着分析各节点的语句操作以提取各节点的内在结构特征,并结合节点所在模块的基本信息列表提取节点的信号特征,然后综合节点的信息特征和内在结构特征生成每个节点的行为级特征,最后将节点的行为级特征用向量表示,所有节点的特征向量构成硬件木马电路的数据集,用于硬件木马检测,利用此方法能够在设计整合的阶段实施对硬件木马的检测,降低了后续的检测成本,同时也提高了检测效率;
(2)结合机器学习算法训练和更新分类器,使得该检测方法可以不断迭代和优化检测各类木马的能力,提高的检测方案的鲁棒性,具有很强的适用性。
附图说明
图1为一种基于机器学习和电路行为级特征的硬件木马检测方法整体框图。
图2为节点划分的示例图。
图3为测试电路AES-128-T100的节点划分框图。
图4为节点的行为级特征图。
具体实施方式
下面结合附图对发明的技术方案进行详细说明。
请参照图1,本发明提供一种基于机器学习和电路行为级特征的硬件木马检测方法,首先是用电路代码的行为级特征数据集训练分类器,然后是分析待检测电路的行为级代码生成测试数据集,最后由训练好的分类器检测测试数据集完成硬件木马检测。
生成分类器的训练过程,包括步骤S1至步骤S6。
步骤S1:对训练集中带有硬件木马的行为级Verilog代码各模块进行初步分析得到各模块的基本信息列表。
输入输出、寄存器、线网等类型的信号构成了整个行为级代码的数据流,某些类型的硬件木马会使用这些信号进行木马的开关控制或者执行恶意逻辑。在分析特征之前,需要对各个模块内的信号信息进行提取。对于行为级代码里的每一个模块,脚本首先会遍历定义寄存器等信号的代码部分得到该模块里所有信号的名字以及其位宽,将一个模块里所有信号的名字以及其位宽保存到一个列表中,例如,模块定义了一个32位的信号k0,则分析得到的存进该模块基本信息列表的条目为{“k0”:[32]}。
此外,由于各个模块是通过顶层的模块例化连接起来的,因此通过遍历顶层模块,可以提取各个模块实际的输入输出信号,即模块的连接信息,存进各模块的基本信息列表。例如,分析例化语句expand_key_128 a1 (clk, k0, k9, k0b, 8'd1);可以得到模块expand_key的例化模块a1的连接信息为{“clk”: “clk”, “in”: “aes_128#k0”,“out_1”:“aes_128#k9”,“out_2”:“aes_128#k0b”,“rcon”:“aes_128#8’d1”},其中,为了避免不同模块中的同名信号的干扰,在信号名字前加上信号所在模块名和“#”来唯一表征这个信号。
步骤S2:对训练集中带有硬件木马的行为级Verilog代码各模块进行进一步地节点划分,细化整个设计的所有模块代码,便于特征分析。
鉴于硬件木马模块的隐蔽性,为了能更加准确地分析出木马,原始的行为级代码需要被划分成更加细小的节点。参照图2,划分节点的标准为:无条件分支的语句块。具体在行为级代码上的体现就是assign语句构成的组合逻辑语句块、不带if和case语句的always块,如果always语句块内含有if或者case语句,则将if语句的每个判断分支或者case语句的每个条件分支单独拆分出来构成一个节点。在创建节点的时候首先不考虑模块内的例化,分析基本模块的节点划分,之后再根据电路顶层的模块例化结构,结合每个基本模块内部的模块例化,参照图3,创建节点。
步骤S3:对步骤S2中划分的节点进行特征提取,提取每个节点的信号特征和内在结构特征。
对于节点的信号特征主要分析每个节点中信号的驱动信息和位宽信息。脚本会遍历每个节点内的各条语句,将阻塞赋值符号‘=’或非阻塞赋值符号‘<=’左边的信号标记为被驱动信号,右边的信号标记为驱动信号,分析完所有语句后可以得到每个节点内每个信号对应的驱动情况,由于在步骤S1中已经得到了每个模块中所有寄存器或者线网等类型信号的位宽等信息,通过检索所在模块的基本信息列表可以得到节点内信号的位宽信息,然后结合信号驱动信息保存到节点对应的信号特征列表中,例如语句“assign k0 = in;”分析得到的信号特征为{“k0”:[32,“in”]}。
由于每个模块是通过顶层的例化联结在一起的,而且各个模块内部也可能有其它模块的例化,因此,节点内信号的分析不能只看节点内的语句逻辑,还需要结合节点所在模块例化时的真实输入输出,即模块基本信息列表中的信息,对节点的信号驱动信息进行更新。例如,由模块基本信息列表中的信息可得,AES-128电路中的密钥扩展模块expand_key_128中的输入信号“in”实际是由模块top中的输出信号“k0”驱动的,因此模块expand_key_128中的节点里但凡有信号是由“in”信号驱动的,就将驱动信号列表中的“in”信号替换成“top#k0”,代表节点里的该信号实际由模块top的“k0”信号驱动的,同样为了避免不同模块中的同名信号的干扰,在信号名字前加上信号所在模块名和“#”来唯一表征这个信号。即,信号特征{“k0”:[32,“in”]}更新为{“expand_key_128#k0”:[32,“top#k0”]}。
对于节点的内在结构主要分析它的语句操作。基本的行为级操作有加法、减法、与、或、异或、位拼接、取反、移位等。此外,节点还有一些其它特征,例如,各条语句中的最大操作数个数、节点是否属于if判断分支、节点是否属于case条件分支、节点内共有多少条语句等。通过统计节点内这些特征的数量得到节点的内在结构特征信息。
根据顶层模块的层级结构,在先不考虑模块内部例化的情况下,完成对各模块节点的信号和内在结构特征提取,若模块内部例化了其它模块,则再添加被例化模块的所有节点。
步骤S4: 基于步骤S3中得到的节点内在结构特征可以得到节点内所涵盖的各类逻辑操作的数量,进而通过计算得到节点内各逻辑操作的占比,例如,经统计一个节点内共有4条语句,8个加操作,可计算得到加操作的占比为8/4=2,以此类推,能够归纳出如图4所示节点行为级特征中的前八个特征。
基于步骤S3中得到的节点信号特征可以进一步得到节点如图4所示节点行为级特征中的后两个:节点活跃度、节点相关性。
节点活跃度:若节点是if判断分支或者case条件分支,则根据判断条件或分支条件内的语句、判断或跳转使用的条件信号可以计算得到该语句块节点执行的概率,即节点活跃度。例如,判断条件语句为if(cnt<=3’d4),可知cnt为一个位宽为3的寄存器,可表示的数为0到7共8个数,那么该语句块执行的条件就是cnt为0到4共5个数,即节点的活跃度为5/8。
节点相关性:由步骤1中的信号分析可以获取到各个节点内部所有信号的被驱动情况,以及整个设计顶层的输入输出信号。对于每个节点内的信号,如果有信号的驱动列表中存在顶层的输入信号或者输出信号,则代表该节点内存在与顶层的输入输出信号有关的信号,故该节点的信号相关性值为1,如果节点内全部信号都与顶层的输入信号或者输出信号无关,则该节点的信号相关性值为0。
步骤S5:将步骤S4中得到的节点的行为级特征参数量化成向量形式,每个节点对应一个特征向量,向量的每个维度对应一个特征,训练集内所有节点的向量构成用作训练数据集。
由于之后将采用机器学习算法训练生成分类器,因此需要将分析得到的节点特征转换成可供机器学习算法使用的向量数据格式。
步骤S6:使用步骤S5生成的数据集结合SVM算法生成硬件木马检测的SVM分类器。
利用训练电路的节点行为级特征向量数据可以结合SVM算法训练得到用于硬件木马检测的分类器。若后续发现了新类型的硬件木马则可以按上述的同样流程使用新的训练数据生成针对该类型硬件木马的分类器,使用新的分类器对木马进行检测,提高该方案的鲁棒性。
步骤S7:对待检测的可疑电路按步骤S1、S2、S3、S4、S5,生成测试数据集;
使用分类器对待检测的可疑电路进行硬件木马检测时,需要按测试数据集的生成步骤,生成待检测电路的测试数据集。
步骤S8:将步骤S7生成的测试数据集送进SVM分类器中,进行硬件木马检测,分类器会给出各个节点的分类结果,若分类器对某个节点的检测结果显示无木马,则代表该节点是安全的,若待检测电路的所有节点都是安全的,则代表待检测电路是安全的。

Claims (8)

1.一种基于机器学习和电路行为级特征的硬件木马检测方法,其特征在于,
首先,分析硬件木马电路行为级代码的数据流,生成硬件木马电路行为级代码各模块的基本信息列表;
其次,按照将不含条件分支的语句块划分为一个节点的原则对硬件木马电路行为级代码的各个模块进行节点划分;
接着,结合节点所在模块的基本信息列表和节点内的信号信息得到节点的信号特征,分析节点内的语句得到节点的内在结构特征;
然后,融合节点的信号特征和内在结构特征归纳出各节点的行为级特征;
最后,向量化各节点的行为级特征得到硬件木马行为级代码的数据集,采用机器学习算法训练硬件木马行为级代码的向量数据集生成检测硬件木马的分类器,利用该分类器对待检测电路的行为级硬件木马进行检测。
2.根据权利要求1所述一种基于机器学习和电路行为级特征的硬件木马检测方法,其特征在于,分析硬件木马电路行为级代码的数据流,生成硬件木马电路行为级代码各模块的基本信息列表的方法为:
遍历硬件木马电路行为级代码各模块内所有的信号定义和输入输出端口部分,将所有信号的名称及位宽存入各模块的基本信息列表;
遍历硬件木马电路行为级代码的顶层模块,获取各个模块的信号连接信息,存入各模块的基本信息列表。
3.根据权利要求1所述一种基于机器学习和电路行为级特征的硬件木马检测方法,其特征在于,按照将不含条件分支的语句块划分为一个节点的原则对硬件木马电路行为级代码的各个模块进行节点划分的方法为:将组合逻辑块或不带if或case语句的always语句块划分一个节点,对于含有if或者case语句的always语句块,继续按照节点划分原则将if语句的每个判断分支或者case语句的每个条件分支进行语句块划分,直到每个语句块内都没有条件分支时,把每个语句块划分为一个节点。
4.根据权利要求1所述一种基于机器学习和电路行为级特征的硬件木马检测方法,其特征在于,结合节点所在模块的基本信息列表和节点内的信号信息得到的节点信号特征包括节点内各信号的名字、位宽、驱动信息,其中,位宽信息来源于节点所在模块的基本信息列表,驱动信息先由节点的信号信息得到,再根据节点所在模块的基本信息列表进行更新修正;分析节点内的语句得到的节点内在结构特征,包括各节点各条语句中操作数的最大个数、是否属于if判断分支、是否属于case条件分支、共有语句条数的语句操作信息。
5.根据权利要求4所述一种基于机器学习和电路行为级特征的硬件木马检测方法,其特征在于,融合各节点的信号特征和内在结构特征归纳出的各节点的行为级特征具体为:单条语句最大操作数数量,加法、减法操作占比,与、或操作占比,异或操作占比,位拼接操作占比,移位操作占比,是否为if语句块,是否为case语句块,节点活跃度,节点相关性;其中,
各节点的各类操作占比为节点内各类运算操作执行的次数与节点总语句条数计算得到;
各节点的活跃度为各节点执行的概率,各节点执行的概率根据各节点内判断条件或分支条件内的语句以及判断或跳转所使用的条件信号计算得到;
各节点的相关性表征节点内信号是否与设计顶层的输入信号或输出信号相关,查找硬件木马行为级代码各模块的基本信息列表和模块内节点的信息特征,在节点内信号的驱动信号为设计顶层的输入信号或输出信号时标记节点相关性为1,在节点内所有信号的驱动信号不是设计顶层的输入信号或输出信号时标记节点相关性为0。
6.根据权利要求1所述一种基于机器学习和电路行为级特征的硬件木马检测方法,其特征在于,采用生成硬件木马行为级代码的向量数据集的方法提取待检测电路行为级代码各节点的行为级特征构成测试数据集。
7.根据权利要求1所述一种基于机器学习和电路行为级特征的硬件木马检测方法,其特征在于,利用该分类器对待检测电路的行为级硬件木马进行检测的具体方法为:将从待测电路行为级代码各节点提取的测试数据集输入分类器得到数据集中每个节点行为级特征向量后的分类结果,若测试数据集中所有节点的检测结果均为无木马时表明该待检测电路是安全的,否则,根据节点的分类结果找出待检测电路中的硬件木马电路,对于后续发现的新型硬件木马,则按硬件木马行为级代码的向量数据集的生成方法生成新类型硬件木马的新分类器。
8.根据权利要求4所述一种基于机器学习和电路行为级特征的硬件木马检测方法,其特征在于,所述共有语句条数的语句操作信息包括:节点语句总条数、加减操作数量、与或操作数量、异或操作数量、移位操作数量、拼接操作数量。
CN201911117317.2A 2019-11-15 2019-11-15 一种基于机器学习和电路行为级特征的硬件木马检测方法 Active CN110955892B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911117317.2A CN110955892B (zh) 2019-11-15 2019-11-15 一种基于机器学习和电路行为级特征的硬件木马检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911117317.2A CN110955892B (zh) 2019-11-15 2019-11-15 一种基于机器学习和电路行为级特征的硬件木马检测方法

Publications (2)

Publication Number Publication Date
CN110955892A true CN110955892A (zh) 2020-04-03
CN110955892B CN110955892B (zh) 2022-05-13

Family

ID=69977294

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911117317.2A Active CN110955892B (zh) 2019-11-15 2019-11-15 一种基于机器学习和电路行为级特征的硬件木马检测方法

Country Status (1)

Country Link
CN (1) CN110955892B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051858A (zh) * 2021-03-22 2021-06-29 北京计算机技术及应用研究所 基于子图同构的fpga软件可疑电路检测方法
CN114861573A (zh) * 2022-04-08 2022-08-05 西北工业大学 一种基于lut特征提取和机器学习的硬件木马检测方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170213026A1 (en) * 2016-01-22 2017-07-27 Yu-Liang Wu Methods and Apparatus for Automatic Detection and Elimination of Functional Hardware Trojans in IC Designs
CN107367686A (zh) * 2017-06-19 2017-11-21 西北工业大学 一种rtl硬件木马测试向量的生成方法
CN109657461A (zh) * 2018-11-26 2019-04-19 浙江大学 基于梯度提升算法的rtl硬件木马检测方法
US20190347417A1 (en) * 2018-05-14 2019-11-14 University Of Florida Research Foundation, Inc. Hardware trojan detection through information flow security verification

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170213026A1 (en) * 2016-01-22 2017-07-27 Yu-Liang Wu Methods and Apparatus for Automatic Detection and Elimination of Functional Hardware Trojans in IC Designs
CN107367686A (zh) * 2017-06-19 2017-11-21 西北工业大学 一种rtl硬件木马测试向量的生成方法
US20190347417A1 (en) * 2018-05-14 2019-11-14 University Of Florida Research Foundation, Inc. Hardware trojan detection through information flow security verification
CN109657461A (zh) * 2018-11-26 2019-04-19 浙江大学 基于梯度提升算法的rtl硬件木马检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
成祥等: "基于RTL级硬件木马的检测方法", 《微电子学与计算机》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051858A (zh) * 2021-03-22 2021-06-29 北京计算机技术及应用研究所 基于子图同构的fpga软件可疑电路检测方法
CN113051858B (zh) * 2021-03-22 2024-04-30 北京计算机技术及应用研究所 基于子图同构的fpga软件可疑电路检测方法
CN114861573A (zh) * 2022-04-08 2022-08-05 西北工业大学 一种基于lut特征提取和机器学习的硬件木马检测方法
CN114861573B (zh) * 2022-04-08 2024-03-08 西北工业大学 一种基于lut特征提取和机器学习的硬件木马检测方法

Also Published As

Publication number Publication date
CN110955892B (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
US10664660B2 (en) Method and device for extracting entity relation based on deep learning, and server
CN109905385A (zh) 一种webshell检测方法、装置及系统
CN107967152B (zh) 基于最小分支路径函数胎记的软件局部抄袭证据生成方法
CN110955892B (zh) 一种基于机器学习和电路行为级特征的硬件木马检测方法
CN109815705B (zh) 一种基于扫描链特征分析的硬件木马检测方法
CN109657461B (zh) 基于梯度提升算法的rtl硬件木马检测方法
CN105138335A (zh) 一种基于控制流图的函数调用路径提取方法及装置
CN111523116B (zh) 基于机器学习的混合模式多层级的门级硬件木马检测方法
CN105095756A (zh) 可移植文档格式文档的检测方法和装置
CN114861194A (zh) 一种基于bgru与cnn融合模型的多类型漏洞检测方法
Niemetz et al. Precise and complete propagation based local search for satisfiability modulo theories
Zeng et al. EtherGIS: a vulnerability detection framework for ethereum smart contracts based on graph learning features
CN112836735A (zh) 一种优化的随机森林处理不平衡数据集的方法
CN116150757A (zh) 一种基于cnn-lstm多分类模型的智能合约未知漏洞检测方法
CN116340952A (zh) 一种基于操作码程序依赖图的智能合约漏洞检测方法
CN113904844B (zh) 基于跨模态教师-学生网络的智能合约漏洞检测方法
Stephan et al. Identifying instances of model design patterns and antipatterns using model clone detection
CN114239083A (zh) 一种基于图神经网络的高效状态寄存器识别方法
CN110162472A (zh) 一种基于fuzzing测试的测试用例生成方法
CN108647533A (zh) 用于检测硬件木马的安全断言自动生成方法
CN116702157A (zh) 一种基于神经网络的智能合约漏洞检测方法
CN115878498A (zh) 一种基于机器学习预测程序行为的关键字节提取方法
JP5075695B2 (ja) プロパティ記述のカバレッジ測定装置及びプログラム
CN114611103A (zh) 一种基于机器学习与混合采样的硬件木马检测方法
KR102405799B1 (ko) 사이버 공간에서 실시간 공격 탐지를 위한 시간에 따른 지속적인 적응형 학습을 제공하는 방법 및 시스템

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