一种基于XGBoost的门级硬件木马识别方法与流程

文档序号:17539392发布日期:2019-04-29 14:23阅读:199来源:国知局
一种基于XGBoost的门级硬件木马识别方法与流程
本发明属于信息安全和硬件木马检测
技术领域
,涉及针对集成电路门级网表中的硬件木马进行检测的方法,尤其是一种基于xgboost的门级网表硬件木马检测方法。
背景技术
:硬件木马的检测方法主要分为两大类:前硅检测和后硅检测。后硅检测包括侧信道检测、破坏性检测和功能测试。由于后硅检测需要依赖金片作为参照,高花费,需要特定的检测设备以及在检测过程中容易受到噪声的影响,因此在实际应用中受到一定的限制。尤其在超大集成电路(vlsi)中,硬件木马的检测难度更大,后硅检测方法更加的不适用。前硅检测是在芯片设计阶段的一类检测方法,不存在后硅检测的条件约束,因此是硬件木马检测的重点研究方向。近年来,一些研究学者将svm[1]、nn[2]、randomforest[3]等机器学习的方法应用到门级网表硬件木马的检测方法中,并取得了相对不错的检测效果。这些方法主要是通过precision和accuracy两个指标进行检测效果的判定。但是通过分析,在门级网表中,正常线网(net)的个数远大于木马net的个数,precision和accuracy两个指标的计算结果受正常net的检测结果所主导,而在硬件木马检测过程中,应该侧重尽可能将木马net检测出来。因此,通过recall和f-measure两个指标判定硬件木马的检测效果更加科学。在现有将机器学习应用到门级网表硬件木马检测的方法中,randomforest方法的使用可以取得94.9%precision和99.2%accuracy,这是目前最好的检测效果。但是,该方法的recall和f-measure仅为74.9%和79.8%。因此,机器学习方法在门级网表硬件木马检测的应用还存在一定的提升空间。参考文献:[1]k.hasegawaetal.,hardwaretrojansclassificationforgate-levelnetlistsbasedonmachinelearning,ieeeinternationalsymposiumonon-linetestingandrobustsystemdesign(2016),203–206.[2]k.hasegawa,m.yanagisawa,andn.togawa,ahardware-trojanclassificationmethodusingmachinelearningatgate-levelnetlistsbasedontrojanfeatures,ieicetransactionsonfundamentalsofelectronicscommunications&computersciencese100.a(2017),no.7,1427–1438.[3]k.hasegawa,m.yanagisawa,andn.togawa,trojan-featureextractionatgate-levelnetlistsanditsapplicationtohardware-trojandetectionusingrandomforestclassifier,ieeeinternationalsymposiumoncircuitsandsystems(2017),1-4.。技术实现要素:本发明的目的在于针对现有后硅检测方法需要依赖金片作为参照,高花费,需要特定的检测设备以及在检测过程中容易受到噪声影响的问题以及针对现有利用机器学习方法进行门级网表硬件木马检测方法对木马net检测效果的不足,而提供一种基于xgboost的门级硬件木马识别方法,该方法不需要金片作为参照,花费低,不需要特定的检测设备,检测过程中不受噪声影响,且通过定义门级网表中的有效木马net,并利用xgboost进行门级网表硬件木马的检测,进一步提升了门级网表硬件木马的检测效果。为实现上述目的,本发明的技术方案是:一种基于xgboost的门级硬件木马识别方法,包括如下步骤:步骤s1、依据n个木马特征,对集成电路门级网表进行解析,采集不同门级网表中各net的特征数据集;步骤s2、采用留一法,将门级网表特征数据集分为训练数据集和测试数据集;步骤s3、利用训练数据集对xgboost分类器进行训练,得到初始的门级网表硬件木马检测模型;步骤s4、利用训练得到的门级网表硬件木马检测模型对测试数据集进行硬件木马的检测,根据检测结果的混淆矩阵,可计算得到recall(r)、f-measure、precision(p)和accuracy指标;步骤s5、若步骤s4计算得到的测试数据集的recall(r)、f-measure、precision(p)和accuracy的平均结果偏低,则对门级网表硬件木马检测模型进行参数调整优化;步骤s6、将待检测的门级网表进行特征数据集的提取,并将数据集输入到训练优化后的门级网表硬件木马检测模型中,即可判定该门级网表中是含有硬件木马。在本发明一实施例中,所述步骤s1中,n取51。在本发明一实施例中,所述步骤s2的具体实现方式为:将不同门级网表提取出的特征数据集记为netlist(1)、netlist(2)…netlist(k),对特征数据集进行k种组合分组,进行k次实验;其中,第i种分组情况是将netlist(i)作为测试数据集,其余的k-1个特征数据集组合为训练数据集。在本发明一实施例中,所述步骤s4中,recall(r)、f-measure、precision(p)和accuracy指标,计算方法如下:recall(r)=tp/(tp+fn)f-measure=2p*r/(p+r)precision(p)=tn/(tn+fn)accuracy=(tp+tn)/(tp+fn+fp+tn);其中,tp表示的是木马net被正确检测为木马net的个数;fp表示木马net被错误检测为正常net的个数;fn表示正常net被错误检测为木马net的个数;tn表示正常net被正常识别为木马net的个数。在本发明一实施例中,所述步骤s1中,定义有效木马net为木马电路内部net,基于有效木马net进行数据集正负样本的划分,其中,木马net为负样本,正常net为正样本。相较于现有技术,本发明具有以下有益效果:本发明对门级网表中的有效木马线网进行了定义,并利用xgboost对门级网表硬件木马进行有效的检测,进一步提升了门级网表硬件木马的检测效果;本发明能较好的在集成电路门级网表设计阶段对硬件木马进行检测,相比于现有硬件木马检测方法中的后硅检测方法,本发明不依赖金片作为参照物、花费低、不需要特殊的检测设备以及不受噪声的影响,且本算法效率和准确率高,同时本发明还适用于vlsi的硬件木马检测。附图说明图1rs232-t1000门级网表木马电路图。图2门级网表硬件木马检测流程图。图3混淆矩阵。具体实施方式下面结合附图,对本发明的技术方案进行具体说明。图1,本发明中定义门级网表中有效的木马net。典型的木马由触发电路和负载电路组成。负载电路通过监听正常电路中的特定信号,将其转化成负载部分的有效触发信号,从而激活硬件木马。因此本发明中定义有效木马net为木马电路内部net,图1中虚线net即为有效木马net。基于有效木马net进行数据集正负样本的划分,其中,木马net为负样本,正常net为正样本。请参照图2,本发明提供一种基于xgboost的门级网表硬件木马检测方法,其特征在于,包括以下步骤:步骤1:依据文献[3]中的51个木马特征,对集成电路门级网表进行解析,采集不同门级网表中各net的特征数据集;步骤2:采用留一法,将门级网表特征数据集分为训练数据集和测试数据集。具体做法,将不同门级网表提取出的特征数据集记为netlist(1)、netlist(2)…netlist(k),对数据集进行k种组合分组,进行k次实验。其中,第i种分组情况是将netlist(i)作为测试数据集,其余的k-1个网表数据集组合为训练数据集;步骤3:利用训练数据集对xgboost分类器进行训练,得到初始的门级网表硬件木马检测模型;步骤4:利用训练得到的门级网表硬件木马检测模型对测试数据集进行硬件木马的检测,依据图3的混淆矩阵进行测试结果的统计。混淆矩阵中,tp表示的是木马net被正确检测为木马net的个数;fp表示木马net被错误检测为正常net的个数;fn表示正常net被错误检测为木马net的个数;tn表示正常net被正常识别为木马net的个数。根据检测结果的混淆矩阵,可计算得到recall(r)、f-measure、precision(p)和accuracy指标。其中四个指标的计算方法如下:recall(r)=tp/(tp+fn)f-measure=2p*r/(p+r)precision(p)=tn/(tn+fn)accuracy=(tp+tn)/(tp+fn+fp+tn);步骤5:若步骤4计算得到的k组测试数据集的recall(r)、f-measure、precision(p)和accuracy的平均结果偏低,则对门级网表硬件木马检测模型进行参数调整优化;步骤6:将待检测的门级网表文件进行特征数据集的提取,并将数据集输入到训练优化后的门级网表硬件木马检测模型中,可以判定该门级网表文件中是含有硬件木马。实验模拟:第一步,采集不同网表中各net的特征数据集。对trust-hub提供的门级网表文件依据文献[3]的51个木马特征进行解析,采集不同门级网表中各net的特征数据集。表1列出了实验中使用的门级网表,统计了不同网表中正常net和木马net的数量。对各网表进行特征提取后,得到对应各网表的.csv文件。该文件中共有52列数据,前51列表示该网表中每个net的51个特征值,第52列为类标签列,正常木马net标记为0,木马net标记为1。该文件的行数为对应网表中所有的net数。例如,rs232-t1000.csv中共有313行样本数据(正常net数与木马net数的总和),每一行样本数据有51个特征值以及1个类标签。第二步,训练样本和测试样本的划分。本实验的测试样本为含木马的门级网表和不含木马的门级网表两类。我们将表1中的23个网表中前12个含木马的网表按照留一法进行训练集和含木马网表的测试集的划分。例如,当rs232-t1000网表的数据集作为测试集时,其余的11个网表数据集合成一个训练集进行模型的训练。每个网表的数据集轮流当作含木马网表的测试集,因此共进行12次的模型训练和测试,最后通过对12次实验的结果进行求和平均,得到该模型对含木马网表的检测效果,如表2所示。表1中的后11个不含木马的网表主要是作为测试集,将训练好的模型对11个不含木马的网表进行测试,通过将11次实验的结果进行求和平均,得到该模型对不含木马网表的检测效果,如表3所示。表1不同门级网表正常net与木马net数据统计表门级网表正常net数量木马net数量rs232-t100030310rs232-t110031011rs232-t120031013rs232-t13003097rs232-t140030612rs232-t150031111rs232-t160031110s35932-t100640913s35932-t200640512s35932-t300640537s38417-t100579911s38417-t200580211free-rs232-t10003130free-rs232-t11003140free-rs232-t12003160free-rs232-t13003080free-rs232-t14003120free-rs232-t15003160free-rs232-t16003100free-s1585024190free-s3593264050free-s3841757980free-s3858473430表2本发明针对含木马的网表的检测结果门级网表tnfpfntprecallf-measureprecisionaccuracyrs232-t100029871990.0%69.2%56.3%97.5%rs232-t11003091011100.0%95.7%91.7%99.7%rs232-t12003100013100.0%100.0%100.0%100.0%rs232-t1300309007100.0%100.0%100.0%100.0%rs232-t14003060012100.0%100.0%100.0%100.0%rs232-t15003083011100.0%88.0%78.6%99.1%rs232-t160031101990.0%94.7%100.0%99.7%s35932-t1006409021184.6%91.7%100.0%100.0%s35932-t200640501118.3%15.4%100.0%99.8%s35932-t3006403223594.6%94.6%94.6%99.9%s38417-t100579092981.8%62.1%50.0%99.8%s38417-t200579752981.8%72.0%64.3%99.9%平均值----85.9%81.9%86.3%99.6%表3本发明针对不含木马的网表的检测结果门级网表tnfpfntprecallf-measureprecisionaccuracyfree-rs232-t10003121000.0%0.0%0.0%99.7%free-rs232-t11003068000.0%0.0%0.0%97.5%free-rs232-t12003106000.0%0.0%0.0%98.1%free-rs232-t13003026000.0%0.0%0.0%98.1%free-rs232-t14003048000.0%0.0%0.0%97.4%free-rs232-t15003088000.0%0.0%0.0%97.5%free-rs232-t16003064000.0%0.0%0.0%98.7%free-s1585024190000.0%0.0%0.0%100.0%free-s3593264050000.0%0.0%0.0%100.0%free-s3841757980000.0%0.0%0.0%100.0%free-s3858473430000.0%0.0%0.0%100.0%平均值-------98.8%第三步,训练xgboost分类器,并依据recall、f-measure、accuracy和precision四个评价指标对分类器的参数进行调整。通过多次实验的调整,针对含木马网表的xgboost分类器的参数设置为:“max_depth=2”,“lambda=10”,“subsample=1”,“colsample_bytree=1”,“min_child_weight=1”,“learning_rate=0.01”,“nthread=8”,“n_estimators=500”,“scale_pos_weight=214”,“num_boostround=5000”;针对不含木马网表的xgboost分类器的参数设置为:“max_depth=10”,“lambda=10”,“subsample=0.85”,“colsample_bytree=0.75”,“min_child_weight=2”,“learning_rate=0.001”,“nthread=8”,“n_estimators=500”,“num_boostround=5000”。表2和表3分别列出了本发明针对含木马的硬件木马网表和针对不含木马的硬件木马网表的检测效果。我们可以看出本发明针对含木马的网表可以取得85.9%recall,86.3%precision,81.9%f-measure以及99.6%accuracy的检测效果。本发明针对不含木马的网表可以取得98.8%accuracy的检测效果。本发明对rs232-t1200、rs232-t1300、rs232-t1400、free-s15850、free-s35932、free-s38417以及free-s38584这几个网表可以准确的识别出正常net和木马net,不存在误判情况。以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1