基于结构特征提取和集成学习的门级硬件木马检测方法

未命名 07-23 阅读:88 评论:0


1.本发明属于硬件安全技术领域,具体涉及一种门级硬件木马检测方法。


背景技术:

2.随着集成电路设计产业不断发展,第三方知识产权(ip)核被广泛用到集成电路的设计和制造过程中,以减少ic的设计成本,缩短设计周期。由于ip核的设计被承包给不可信的第三方,导致硬件木马插入的风险增大。被插入的硬件木马可能泄露信息,改变电路功能,甚至损害电路。传统的硬件木马检测包括逆向工程,功能验证和基于侧信道分析的检测技术。逆向工程成本高,过程耗时并且还会损坏电路。功能验证很难检测到设计规模较大的电路中的木马。基于侧信道分析的检测技术检测精度高,应用广泛,适合检测较大木马。但容易受工艺变量和各种噪声的影响,并且需要“黄金ic”进行比对。
3.近年来,机器学习被引入硬件木马检测领域,通过机器学习对门级电路的结构性特征进行分析,从而实现硬件木马检测。如,李东方等人通过对若干种基本硬件木马特征进行重要性度量,得到最优硬件木马特征集,利用机器学习模型进行硬件木马检测。刘鸿瑾等人通过将电路映射为有向图,利用图嵌入算法得到相应的图嵌入向量,输入机器学习模型中进行检测。k.hasegawa等人引入svm,rf和ann等机器学习方法,对提取到的硬件木马特征进行了检测,取得了较好的检测效果。严迎建等人利用表征硬件木马的7维结构性特征,利用svm进行分类。在后面的工作中,又结合行为特征,进一步提高了硬件木马的检测效率。
4.传统机器学习的方法在实践中非常有效,但其依赖于手动提取的电路特征,检测精度不高,存在误报现象。


技术实现要素:

5.为了克服现有技术的不足,本发明提供了一种基于结构特征提取和集成学习的门级硬件木马检测方法,首先定义硬件木马的门级结构特征,对门级网表进行提取,得到量化特征向量集。然后通过计算木马结构特征的各自信息增益值,筛选出最优的木马特征组合。接下来基于最优的硬件木马特征集,将待测电路的特征向量输入到训练好的硬件木马分类器中进行检测。本发明的方法利用电路的结构性特征和集成学习对硬件木马进行分类,在集成电路设计阶段规避硬件木马的安全隐患。
6.本发明解决其技术问题所采用的技术方案包括如下步骤:
7.步骤1:定义硬件木马的门级结构特征,选取公开数据集,对公开数据集的门级网表进行特征提取,得到n维硬件木马量化特征向量集;
8.步骤2:针对所提取的n维硬件木马量化特征向量集,计算各维特征的信息增益值,设置信息增益阈值为γ,选出信息增益值大于阈值γ的对应量化特征,组成最优木马特征集;
9.步骤3:基于最优木马特征集,组成训练数据集,对机器学习分类器进行训练,得到训练好的硬件木马分类器;
10.步骤4:将待测电路的特征向量输入到训练好的硬件木马分类器中进行检测,识别待测电路中的木马节点。
11.优选地,所述公开数据集包括rs232-t1000、rs232-t1100、rs232-t1200、rs232-t1300、rs232-t1400、rs232-t1500和rs232-t1600测试基准。
12.优选地,所述步骤1具体为:
13.所提取的特征包括扇入信号数量、触发器数量、输入输出距离和多路选择器数量4种硬件木马特征;
14.·
扇入信号数量:距离电路节点x级距离的逻辑门的扇入信号数量fan_in
x
,x=1,2,3,4,5;
15.·
触发器数量:距离电路节点输入端或输出端x级距离的触发器单元数量
16.in_flipflop
x
和out_flipflop
x
,x=1,2,3,4,5;
17.·
输入输出距离:距离电路节点最近的输入和输出的距离in_primary和out_primary;
18.·
多路选择器数量:距离电路节点x级距离的多路选择器数量mux
x
,x=1,2,3,4,5;
19.根据选取的n=22维基本特征,对公开数据集的门级网表进行特征提取,得到电路的22维硬件木马量化特征向量集,对硬件木马量化特征向量集的数据添加标签,正常节点标记为0,木马节点标记为1。
20.优选地,所述硬件木马量化特征向量集在获取之后采用重采样方法smote-enn进行重采样,解决数据不平衡问题,得到平衡的多维硬件木马量化特征向量集,再进入步骤2。
21.优选地,所述步骤3具体为:
22.采用stacking模型作为机器学习分类器进行分类任务,将最优木马特征集按照留一法划分训练集和测试集,每次留一个网表的数据集进行测试,其余网表数据集合成一个训练集进行模型的训练;选取knn、svm、rf、dt、gdbt、adaboost和catboost作为不同的基学习器,共同组成stacking的第一层模型;lr作为元学习器,构建stacking的第二层模型,对第一层模型的分类结果进行再分类。
23.优选地,所述机器学习分类器的评价方法如下:
24.选取acc、tpr、tnr、precision和f1值作为指标来评价分类模型的效果,计算方法如下:
25.acc=(tp+tn)/(tp+tn+fp+fn)
26.tpr=tp/(tp+fn)
27.tnr=tn/(tn+fp)
28.precision=tp/(tp+fp)
29.f1=(2
×
tp)/(2
×
tp+fp+fn)
30.其中,tp表示木马样本被正确检测为木马样本的个数;fp表示正常样本被错误检测为木马样本的个数;fn表示木马样本被错误检测为正常样本的个数;tn表示正常样本被正确检测为正常样本的个数。
31.本发明的有益效果如下:
32.(1)本发明提出的硬件木马检测方法,通过信息增益对木马特征进行重要性评估,
并设置阈值进行特征筛选,得到最优的硬件木马特征集,这有利于分类;
33.(2)本发明提出的硬件木马检测方法,通过集成学习融合不同机器学习模型学习到的木马数据的不同特征进行二次分类,提高木马检测效率。
附图说明
34.图1是本发明方法流程图。
35.图2是本发明一个门级网表对应的的电路结构图。
36.图3是图2的电路结构图对应的有向图。
37.图4是stacking模型的算法原理图。
具体实施方式
38.下面结合附图和实施例对本发明进一步说明。
39.本发明提出了一种基于结构特征提取和集成学习的门级硬件木马检测方法。定义扇入个数,触发器数量,输入输出级数,多选器数量等四类基本硬件木马特征,对门级网表进行提取,得到量化特征向量集;计算不同木马特征的信息增益值,设置阈值进行筛选,得到最优的硬件木马特征组合;基于最优硬件木马特征集得到作为输入模型的训练数据集,进行训练任务和检测任务。本发明的方法通过对多种硬件木马结构特征进行重要性评估,得到最优的硬件木马特征集,这有利于分类。同时利用集成学习方法进行分类,其可以融合不同机器学习模型学习到的木马数据的不同特征,经过融合后的分类结果往往能有更好的表现,提高木马检测效率。
40.如图1所示,一种基于结构特征提取和集成学习的门级硬件木马检测方法,包括如下步骤:
41.步骤1:如图2和图3所示,定义硬件木马的门级结构特征,对门级网表进行提取,得到量化特征向量集。此处选取扇入个数、触发器数量、输入输出级数、多路选择器数量等四种基本特征,通过对门级网表进行特征提取,得到量化特征值,组成n维特征向量集合。
42.步骤2:针对所提取的多维硬件木马特征向量集,计算不同特征的信息增益值,设置阈值进行特征筛选,得到最优的木马特征组合。设置特征阈值为γ,选出大于该阈值的对应特征,组成最优木马特征集,作为机器学习模型的输入。
43.步骤3:如图4所示,采用不同的机器学习分类器构建stacking分类模型。在第一层模型中选取多个不同的强分类模型,如:knn、rf、gdbt和adaboost等,对木马数据的不同特征进行学习。第二层模型使用lr等简单的弱分类模型,对强分类模型的结果进行二次分类,得到最终的分类结果。
44.步骤4:将待测电路进行特征提取,得到待测电路的特征向量集。输入到训练好的硬件木马检测模型中进行检测,将电路设计分为正常节点和木马节点。
45.电路设计以门级网表的形式输入。
46.选取若干个基本的硬件木马特征,其表征了硬件木马的结构性特征;
47.对基本硬件木马特征计算对应的信息增益值,设置阈值,得到最有利于分类的硬件木马特征组合。将最优硬件木马特征集用于训练分类器和检测任务。
48.选取的基本硬件木马特征为:
49.(1)扇入信号数量:距离电路节点x级距离的逻辑门的扇入信号数量fan_in
x
,x=1,2,3,4,5;
50.(2)触发器数量:距离电路节点输入端和输出端x级距离的触发器单元数量in_flipflop
x
和out_flipflop
x
,x=1,2,3,4,5;
51.(3)输入或输出的距离:距离电路节点最近的基本输入和基本输出的距离in_primary和out_primary;
52.(4)多路选择器数量:距离电路节点x级距离的多路选择器数量mux
x
,x=1,2,3,4,5;
53.根据不同特征的信息增益值,判断该特征对分类结果的影响程度和该特征的重要性,并设置阈值进行特征筛选,从而得到最优木马特征集。
54.选取acc,tpr,tnr,precision和f1值作为指标来评价分类模型的效果,计算方法如下:
55.acc=(tp+tn)/(tp+tn+fp+fn)
56.tpr=tp/(tp+fn)
57.tnr=tn/(tn+fp)
58.precision=tp/(tp+fp)
59.f1=(2
×
tp)/(2
×
tp+fp+fn)
60.其中,tp表示木马样本被正确检测为木马样本的个数;fp表示正常样本被错误检测为木马样本的个数;fn表示木马样本被错误检测为正常样本的个数;tn表示正常样本被正确检测为正常样本的个数。
61.采用stacking进行分类任务,通过集成不同基学习器学习到的数据的不同特征,保持多样性,提高木马检测的鲁棒性。在基学习器中选取多个不同结构的分类算法,如:knn、random forest(rf)、decision tree(dt)、gdbt和adaboost等,对木马数据的分布进行学习。元学习器使用稍微简单的分类算法,如linear regression(lr),对第一层模型的分类结果进行再分类,防止整体模型的过拟合。
62.具体实施例:
63.下面以trust-hub硬件木马测试基准为例,说明本发明的硬件木马检测方法。
64.(1)选取rs232-t1000、rs232-t1100、rs232-t1200、rs232-t1300、rs232-t1400、rs232-t1500和rs232-t1600测试基准作为数据集,以门级网表的形式作为输入。
65.(2)选取扇入数量、触发器数量、输入输出级数、多选器数量等4种硬件木马特征,共计组成22维基本特征组成基本特征集。
66.·
扇入信号数量:距离电路节点x级距离的逻辑门的扇入信号数量fan_in
x
,x=1,2,3,4,5;
67.●
触发器数量:距离电路节点输入端或输出端x级距离的触发器单元数量
68.in_flipflop
x
和out_flipflop
x
,x=1,2,3,4,5;
69.·
输入输出距离:距离电路节点最近的基本输入和基本输出的距离in_primary和out_primary;
70.·
多路选择器数量:距离电路节点x级距离的多路选择器数量mux
x
,x=1,2,3,4,5;
71.根据选取的22维基本特征,对其进行特征筛选。
72.(3)对数据集网表进行特征提取,得到电路的22维基本特征向量集,作为原始数据集。同时对原始数据集添加数据标签,正常节点标记为0,木马节点标记为1。
73.(4)由于木马电路的隐蔽性,木马节点只占整个电路中很小一部分,导致生成的原始数据集正负样本比例失衡。采用重采样方法smote-enn解决数据不平衡问题,得到平衡的木马特征数据集,作为机器学习模型的输入。处理前后的样本数据如表1所示:
74.表1数据集描述
[0075][0076]
(4)确定最优木马特征组合。由数据平衡后的22维基本特征向量集,计算得到不同特征的信息增益值,如表2所示:
[0077]
表2特征信息增益值
[0078]
基本特征重要性得分基本特征重要性得分fan_in10.00752401in_flipflop10.00465259fan_in20.01991226in_flipflop20.02415389fan_in30.01150915in_flipflop30.00569127fan_in40.11948694in_flipflop40.12633463fan_in50.20400031in_flipflop50.07847372mux10.00859637out_flipflop10.04705088mux20.01014864out_flipflop20.02569875mux30.04726196out_flipflop30.02758754mux40.05543422out_flipflop40.05601046mux50.05172412out_flipflop50.23783740in_primary0.10208432out_primary0.15990917
[0079]
设置重要性阈值为γ=0.1,选出增益值大于该阈值的特征,组成最优木马特征集,即:fan_in4,fan_in5,in_flipflop4,out_flipflop5,in_primary,out_primary,组成6维的最优木马特征集作为输入模型的训练数据集,进行训练任务和检测任务。
[0080]
(5)将数据集按照留一法划分训练集和测试集,每次留一个网表的数据集进行测
试,其余网表数据集合成一个训练集进行模型的训练。选取knn、svm、rf、dt、gdbt、adaboost和catboost为stacking的第一层模型,lr为第二层模型,对一层模型的分类结果进行再分类。表3为不同ml模型和stacking模型集成后的分类效果对比。可以看出,stacking模型相对于单个的ml模型,分类效果有了显著改进。
[0081]
表3不同模型的硬件木马检测结果对比
[0082][0083][0084]
(6)表4给出stacking模型对于每个测试电路的具体分类情况。
[0085]
表4stacking模型的检测结果
[0086]
测试基准tpfnfptnacctprtnrprecisionf1rs232-t1000130125599.63100.0099.6192.8696.30rs232-t1100120125899.63100.0099.6192.3196.00rs232-t12001400259100.00100.00100.00100.00100.00rs232-t1300900258100.00100.00100.00100.00100.00rs232-t14001300256100.00100.00100.00100.00100.00rs232-t1500140125699.63100.0099.6193.3396.55rs232-t16001200256100.00100.00100.00100.00100.00均值————99.84100.0099.8396.9398.41
[0087]
可以看出,本发明对所选的待测样本实现了acc:99.84%、tpr:100.00%、tnr:99.83%、precision:96.93%、f1:98.41%的平均检测率。

技术特征:
1.一种基于结构特征提取和集成学习的门级硬件木马检测方法,其特征在于,包括以下步骤:步骤1:定义硬件木马的门级结构特征,选取公开数据集,对公开数据集的门级网表进行特征提取,得到n维硬件木马量化特征向量集;步骤2:针对所提取的n维硬件木马量化特征向量集,计算各维特征的信息增益值,设置信息增益阈值为γ,选出信息增益值大于阈值γ的对应量化特征,组成最优木马特征集;步骤3:基于最优木马特征集,组成训练数据集,对机器学习分类器进行训练,得到训练好的硬件木马分类器;步骤4:将待测电路的特征向量输入到训练好的硬件木马分类器中进行检测,识别待测电路中的木马节点。2.根据权利要求1所述的一种基于结构特征提取和集成学习的门级硬件木马检测方法,其特征在于,所述公开数据集包括rs232-t1000、rs232-t1100、rs232-t1200、rs232-t1300、rs232-t1400、rs232-t1500和rs232-t1600测试基准。3.根据权利要求1所述的一种基于结构特征提取和集成学习的门级硬件木马检测方法,其特征在于,所述步骤1具体为:所提取的特征包括扇入信号数量、触发器数量、输入输出距离和多路选择器数量4种硬件木马特征;
·
扇入信号数量:距离电路节点x级距离的逻辑门的扇入信号数量fan_in
x
,x=1,2,3,4,5;

触发器数量:距离电路节点输入端或输出端x级距离的触发器单元数量in_flipflop
x
和out_flipflop
x
,x=1,2,3,4,5;
·
输入输出距离:距离电路节点最近的输入和输出的距离in_primary和out_primary;
·
多路选择器数量:距离电路节点x级距离的多路选择器数量mux
x
,x=1,2,3,4,5;根据选取的n=22维基本特征,对公开数据集的门级网表进行特征提取,得到电路的22维硬件木马量化特征向量集,对硬件木马量化特征向量集的数据添加标签,正常节点标记为0,木马节点标记为1。4.根据权利要求1所述的一种基于结构特征提取和集成学习的门级硬件木马检测方法,其特征在于,所述硬件木马量化特征向量集在获取之后采用重采样方法smote-enn进行重采样,解决数据不平衡问题,得到平衡的多维硬件木马量化特征向量集,再进入步骤2。5.根据权利要求1所述的一种基于结构特征提取和集成学习的门级硬件木马检测方法,其特征在于,所述步骤3具体为:采用stacking模型作为机器学习分类器进行分类任务,将最优木马特征集按照留一法划分训练集和测试集,每次留一个网表的数据集进行测试,其余网表数据集合成一个训练集进行模型的训练;选取knn、svm、rf、dt、gdbt、adaboost和catboost作为不同的基学习器,共同组成stacking的第一层模型;lr作为元学习器,构建stacking的第二层模型,对第一层模型的分类结果进行再分类。6.根据权利要求1所述的一种基于结构特征提取和集成学习的门级硬件木马检测方法,其特征在于,所述机器学习分类器的评价方法如下:选取acc、tpr、tnr、precision和f1值作为指标来评价分类模型的效果,计算方法如下:
acc=(tp+tn)/(tp+tn+fp+fn)tpr=tp/(tp+fn)tnr=tn/(tn+fp)precision=tp/(tp+fp)f1=(2
×
tp)/(2
×
tp+fp+fn)其中,tp表示木马样本被正确检测为木马样本的个数;fp表示正常样本被错误检测为木马样本的个数;fn表示木马样本被错误检测为正常样本的个数;tn表示正常样本被正确检测为正常样本的个数。

技术总结
本发明公开了一种基于结构特征提取和集成学习的门级硬件木马检测方法,首先定义硬件木马的门级结构特征,对门级网表进行提取,得到量化特征向量集。然后通过计算木马结构特征的各自信息增益值,筛选出最优的木马特征组合。接下来基于最优的硬件木马特征集,将待测电路的特征向量输入到训练好的硬件木马分类器中进行检测。本发明的方法利用电路的结构性特征和集成学习对硬件木马进行分类,在集成电路设计阶段规避硬件木马的安全隐患。路设计阶段规避硬件木马的安全隐患。路设计阶段规避硬件木马的安全隐患。


技术研发人员:洪亮 胡伟 朱格 周婧
受保护的技术使用者:西北工业大学
技术研发日:2023.03.26
技术公布日:2023/7/22
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐