《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于XGBoost的硬件木馬檢測(cè)方法
基于XGBoost的硬件木馬檢測(cè)方法
2019年電子技術(shù)應(yīng)用第4期
高洪波,李 磊,周婉婷,向祎堯
電子科技大學(xué) 電子科學(xué)技術(shù)研究院,四川 成都611731
摘要: 在環(huán)形振蕩器網(wǎng)絡(luò)分析的基礎(chǔ)上,提出一種基于XGBoost的硬件木馬檢測(cè)方法,并利用交叉驗(yàn)證方法進(jìn)行模型優(yōu)化。該方法能夠利用訓(xùn)練樣本數(shù)據(jù)集構(gòu)建XGBoost分類模型,采用監(jiān)督學(xué)習(xí)模式對(duì)數(shù)據(jù)進(jìn)行分類,從而實(shí)現(xiàn)將原始電路與木馬電路分離的目的。以RS232-T100、RS232-T800為木馬電路,進(jìn)行FPGA實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明:對(duì)RO在0.1 ms積分時(shí)間下的木馬數(shù)據(jù),檢測(cè)率達(dá)到100%、99.20%,驗(yàn)證了本方法的有效性。此外,在與傳統(tǒng)方法和其他機(jī)器學(xué)習(xí)方法比較時(shí),基于XGBoost的檢測(cè)方法表現(xiàn)出了更高的檢測(cè)率,能對(duì)多維度向量的關(guān)聯(lián)數(shù)據(jù)作特征重要性分析,而非降維,能最大限度地保留木馬檢測(cè)所需的關(guān)鍵特征。
中圖分類號(hào): TN47
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.182242
中文引用格式: 高洪波,李磊,周婉婷,等. 基于XGBoost的硬件木馬檢測(cè)方法[J].電子技術(shù)應(yīng)用,2019,45(4):55-59.
英文引用格式: Gao Hongbo,Li Lei,Zhou Wanting,et al. Hardware Trojan detection method based upon XGBoost model[J]. Application of Electronic Technique,2019,45(4):55-59.
Hardware Trojan detection method based upon XGBoost model
Gao Hongbo,Li Lei,Zhou Wanting,Xiang Yiyao
Research Institute of Electronic Science and Technology,University of Electronic Science and Technology of China, Chengdu 611731,China
Abstract: This paper proposed a hardware Trojan detection method based upon XGBoost(eXtreme Gradient Boosting) model by using the analysis results of ring oscillator network, and used the cross-validation method to optimize the model. It can utilize that train sample dataset to build the XGBoost classification model, and use the supervised learn mode to classify the data, thus realizing the separation of the original circuit and the Trojan circuit. Using RS232-T100 and RS232-T800 as Trojan circuits, the FPGA experiment was carried out. The experimental results showed that the detection rate of the Trojan data with RO at 0.1 ms integration time is 100% and 99.20%, which verified the validity of the method. In addition, when compared with traditional methods and other machine learning methods, the XGBoost-based detection method shows a higher detection rate, and can analyze the characteristic importance of the multi-dimensional vector correlation data instead of dimensionality reduction. It can maximize the key features required for Trojan detection.
Key words : hardware Trojan;XGBoost;cross-validation;ring oscillator;FPGA

0 引言

    隨著集成電路產(chǎn)業(yè)的全球化生產(chǎn)策略和電路設(shè)計(jì)大規(guī)?;琁C設(shè)計(jì)公司很少能從設(shè)計(jì)到制造獨(dú)立完成所有的模塊設(shè)計(jì),更多地是采用第三方的知識(shí)產(chǎn)權(quán)(IP),或?qū)⑿酒纳a(chǎn)封裝承包給第三方。集成電路在設(shè)計(jì)、制造、測(cè)試以及封裝過(guò)程中都不完全自主可控,這為攻擊者對(duì)集成電路實(shí)施破壞或惡意修改提供了可能。攻擊者可以插入惡意電路到芯片中,破壞芯片功能或降低芯片可靠性,而這種惡意的變更,稱為硬件木馬。

    近年來(lái),國(guó)內(nèi)外科研機(jī)構(gòu)開(kāi)展了很多針對(duì)硬件木馬防護(hù)的研究工作[1-2],這些研究主要面向檢測(cè)技術(shù),尤其是旁路信息分析技術(shù)。文獻(xiàn)[3]和[4]利用了PCA、馬氏距離來(lái)檢測(cè)木馬;文獻(xiàn)[5]提出了基于神經(jīng)網(wǎng)絡(luò)的硬件木馬檢測(cè)方法;文獻(xiàn)[6]和[7]分別利用了樸素貝葉斯分類器和支持向量機(jī)來(lái)檢測(cè)木馬。

    本文將結(jié)合機(jī)器學(xué)習(xí)的分類思想,提出一種基于XGBoost(eXtreme Gradient Boosting)的硬件木馬檢測(cè)方法。將硬件木馬檢測(cè)的多維度向量數(shù)據(jù)作為訓(xùn)練集,利用監(jiān)督學(xué)習(xí)模型對(duì)其進(jìn)行分類,從而實(shí)現(xiàn)將標(biāo)準(zhǔn)芯片與被植入木馬芯片分離的目的。

1 XGBoost算法與交叉驗(yàn)證

    XGboost(eXtreme Gradient Boosting)是GB(Gradient Boosting)的高效實(shí)現(xiàn)。GB是一種用于回歸和分類問(wèn)題的學(xué)習(xí)模型,該模型以弱預(yù)測(cè)模型集合的形式產(chǎn)生強(qiáng)預(yù)測(cè)模型。通過(guò)每次迭代生成一棵新樹(shù),選擇指向負(fù)梯度方向的弱預(yù)測(cè)模型,來(lái)優(yōu)化函數(shù)空間上目標(biāo)函數(shù)。XGBoost是在GBDT算法基礎(chǔ)上進(jìn)一步優(yōu)化,在基學(xué)習(xí)器損失函數(shù)采用二階泰勒展開(kāi)式的形式并引入正則項(xiàng),具有不易過(guò)擬合、靈活性高、收斂速度快、準(zhǔn)確度高等特點(diǎn),能夠處理稀疏特征,支持多線程并行處理。

1.1 集成樹(shù)模型

    集成樹(shù)是由多個(gè)分類與回歸樹(shù)得到泛化的模型,彌補(bǔ)了單棵決策樹(shù)預(yù)測(cè)性能局限性。

wdz5-gs1-2.gif

1.2 梯度提升

    對(duì)式(2)集成樹(shù)模型中的目標(biāo)函數(shù),采用additive training方法訓(xùn)練,即每一次保留原來(lái)的模型不變,加入一個(gè)新的函數(shù)f到模型中。

wdz5-gs3-7.gif

    定義Ij={i|q(xi)=j},將常數(shù)項(xiàng)移除且葉節(jié)點(diǎn)重新組合后目標(biāo)函數(shù)為:

wdz5-gs8-10.gif

1.3 S折交叉驗(yàn)證(S-CV)

    S折交叉驗(yàn)證(Cross Validation)是用來(lái)驗(yàn)證分類器性能的一種常用統(tǒng)計(jì)分析方法。首先隨機(jī)地將已給數(shù)據(jù)切分為S個(gè)互不相交的大小相同的子集,然后利用S-1個(gè)子集的數(shù)據(jù)訓(xùn)練模型,利用余下的子集測(cè)試模型,將這一過(guò)程對(duì)可能的S種選擇重復(fù)進(jìn)行,最后選出S次評(píng)測(cè)中平均測(cè)試誤差最小的模型。

    S-CV能從有限數(shù)據(jù)中獲取更多有效信息,一定程度上避免過(guò)擬合和欠擬合,更好描述模型數(shù)據(jù)。在XG-Boost中,采用與scikit-learn框架相結(jié)合來(lái)作交叉驗(yàn)證。

2 硬件木馬檢測(cè)環(huán)境及流程

2.1 檢測(cè)環(huán)境

    整個(gè)實(shí)驗(yàn)平臺(tái)為一個(gè)內(nèi)嵌9個(gè)環(huán)形振蕩器(Ring Oscillator,RO)的FPGA平臺(tái)。圖1為RO在木馬電路上的布局。

wdz5-t1.gif

    木馬電路本身的存在就會(huì)對(duì)RO輸出頻率產(chǎn)生一定的影響,不需要處于激活狀態(tài),而且當(dāng)RO的階數(shù)n越小時(shí),RO對(duì)木馬越敏感,但如果階數(shù)n太小的話,RO輸出頻率就不能被片上計(jì)數(shù)器采到,而太大的話,硬件木馬的影響就會(huì)降低;同樣數(shù)據(jù)采集積分時(shí)間理論上來(lái)說(shuō)越長(zhǎng),原始數(shù)據(jù)與木馬數(shù)據(jù)差異越大,但實(shí)際測(cè)試中RO積分值會(huì)受溫度的影響,時(shí)間太長(zhǎng)會(huì)造成積分值變小、區(qū)分度減弱。通過(guò)仿真分析,本文選用5階作為最小的RO階數(shù),且采集時(shí)間控制在0.1 ms~0.6 ms范圍之內(nèi)。

2.2 檢測(cè)流程

    基于XGBoost木馬檢測(cè)模型是利用XGBoost算法對(duì)硬件木馬檢測(cè)的多維度特征數(shù)據(jù)作分類判斷的一種監(jiān)督學(xué)習(xí)模型。圖2為XGBoost模型木馬檢測(cè)流程圖。

wdz5-t2.gif

3 硬件木馬檢測(cè)實(shí)驗(yàn)

3.1 實(shí)驗(yàn)環(huán)境

    為了驗(yàn)證提出的硬件木馬檢測(cè)方法,搭建了一個(gè)內(nèi)嵌9個(gè)RO的FPGA實(shí)驗(yàn)平臺(tái)。FPGA型號(hào)為Altera的EP4CE6F17C8,基準(zhǔn)電路采用Trust-hub上的RS232的T100、T800電路。在SMIC 130 nm工藝庫(kù)下,Design Compiler 綜合結(jié)果見(jiàn)表1。

wdz5-b1.gif

    根據(jù)圖2流程分別得到原始數(shù)據(jù)和木馬數(shù)據(jù)。統(tǒng)計(jì)不同位置RO樣本點(diǎn)的分布范圍,以直觀顯示數(shù)據(jù)之間的差異。T800電路在50 MHz下,RO為5階,采集時(shí)間為0.1 ms下不同位置部分RO的數(shù)據(jù)對(duì)比,如圖3所示。

wdz5-t3.gif

    從圖中可以看出:(1)不同RO受到木馬的影響是不同的,越靠近木馬的RO受到的影響越大。雖然原始數(shù)據(jù)與木馬數(shù)據(jù)有部分分離,但仍有部分重疊在一起;(2)隨著FPGA工作時(shí)間增加,RO積分值呈下降趨勢(shì),這是因?yàn)樵陔娐愤\(yùn)行過(guò)程中,會(huì)產(chǎn)生熱功耗,會(huì)引起溫度等環(huán)境的變化,RO積分值會(huì)受溫度的影響。

3.2 實(shí)驗(yàn)結(jié)果

3.2.1 XGBoost預(yù)測(cè)結(jié)果

    對(duì)RS232-T800電路,各采集1 000組數(shù)據(jù)分別作為訓(xùn)練樣本和測(cè)試樣本,經(jīng)過(guò)XGBoost模型訓(xùn)練,分類測(cè)試樣本準(zhǔn)確率只能達(dá)到78.80%,分類結(jié)果如圖4所示,相應(yīng)模型參數(shù)見(jiàn)表2。

wdz5-t4.gif

wdz5-b2.gif

3.2.2 XGBoost模型優(yōu)化結(jié)果

    針對(duì)上述XGBoost模型中諸多重要參數(shù),本文采用S-CV結(jié)合高負(fù)荷的柵格搜索(girdSearch)方法進(jìn)行優(yōu)化選擇。

    實(shí)驗(yàn)驗(yàn)證了上述模型交叉驗(yàn)證方法,根據(jù)S-CV算法選擇得到的參數(shù)見(jiàn)表3。整體log損失值隨迭代次數(shù)的收斂變化如圖5所示。

wdz5-b3.gif

wdz5-t5.gif

    圖5中縱軸表示目標(biāo)函數(shù)損失值,橫軸表示迭代次數(shù)。從圖中可以看出,交叉驗(yàn)證參數(shù)選擇后梯度下降速度更快,且在迭代次數(shù)大于60時(shí),損失值穩(wěn)定范圍在0.1左右。實(shí)驗(yàn)表明,經(jīng)過(guò)交叉驗(yàn)證參數(shù)選擇,優(yōu)化了XGBoost模型,使得準(zhǔn)確率從最初的78.80%提高到99.20%,相應(yīng)地整體logloss值從最初的0.386 303降到了0.089 183。

3.2.3 不同特征下檢測(cè)結(jié)果

    為了驗(yàn)證基于XGBoost的硬件木馬檢測(cè)方法的健壯性,作不同特征變化下分類判別實(shí)驗(yàn)。表4給出了不同木馬面積和不同積分時(shí)間下的木馬檢測(cè)結(jié)果。

wdz5-b4.gif

    從表中可總結(jié)出:(1)該方法能有效檢測(cè)出1.67%木馬占比的電路;(2)對(duì)不同積分時(shí)間數(shù)據(jù)仍然保持較強(qiáng)的有效性,準(zhǔn)確率能保持在97.80%以上。

4 與其他算法性能對(duì)比

    在以往的工作中已驗(yàn)證了樸素貝葉斯分類算法、SVM和馬氏距離方法的可行性,為驗(yàn)證該方法的優(yōu)越性,下面給出XGBoost模型與部分現(xiàn)有方法的性能對(duì)比。

4.1 與馬氏距離算法性能對(duì)比

    圖6給出相同條件下,使用PCA與馬氏距離相結(jié)合方法馬氏距離分析結(jié)果,可以看出此判別方法無(wú)法有效將基準(zhǔn)電路與木馬電路分離開(kāi)來(lái)。

wdz5-t6.gif

    表5給出了不同特征下馬氏距離的分類判別結(jié)果。對(duì)比表4可以看出,在相同條件下,XGBoost模型檢測(cè)木馬的性能明顯優(yōu)于馬氏距離判別法,并且馬氏距離無(wú)法識(shí)別數(shù)據(jù)相差不大和木馬占比較小的電路。

wdz5-b5.gif

4.2 與其他機(jī)器學(xué)習(xí)算法性能對(duì)比

    在相同條件下,經(jīng)過(guò)SCV算法優(yōu)化,支持向量機(jī)的懲罰參數(shù)c=3.1且選擇RBF核函數(shù)的參數(shù)g=6.0時(shí),準(zhǔn)確率最高為98.20%,但樸素貝葉斯分類分類只能最高保持在77.40%的正確率上。

    表6、表7給出了不同特性下各算法的分類判別結(jié)果。從表中可看出在相同條件下,SVM性能較優(yōu)于樸素貝葉斯算法,能高準(zhǔn)確識(shí)別木馬數(shù)據(jù)和原始數(shù)據(jù),而與表4作比較,可看出本文所使用的XGBoost硬件木馬檢測(cè)方法能較高準(zhǔn)確率識(shí)別木馬數(shù)據(jù)和原始數(shù)據(jù),相比兩者平均準(zhǔn)確率高出1.52%、29.2%。

wdz5-b6.gif

wdz5-b7.gif

5 結(jié)論

    本文提出了一種基于XGBoost的硬件木馬檢測(cè)方法,利用S-CV與girdSearch相結(jié)合的交叉驗(yàn)證方法優(yōu)化模型。搭建FPGA實(shí)驗(yàn),驗(yàn)證了該方法的有效性,并在與傳統(tǒng)方法和其他機(jī)器學(xué)習(xí)方法比較時(shí),證實(shí)了該方法的優(yōu)越性,更有效地實(shí)現(xiàn)木馬檢測(cè)。后續(xù)將提出一種工藝偏差的可信空間建模方法,減少工藝偏差的影響。

參考文獻(xiàn)

[1] ZHANG X,TEHRANIPOOR M.RON:an on-chip ring oscillator network for hardware Trojan detection[C].Design, Automation & Test in Europe Conference & Exhibition.IEEE,2011:1638-1643.

[2] CHEN T,GUESTRIN C.XGBoost:a scalable tree boosting system[C].ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.ACM,2016:785-794.

[3] 趙毅強(qiáng),楊松,何家驥,等.基于主成分分析的硬件木馬檢測(cè)方法[J].華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,43(8):66-69.

[4] 王力緯,賈鯤鵬,方文嘯,等.基于馬氏距離的硬件木馬檢測(cè)方法[J].微電子學(xué),2013(6):817-820.

[5] 趙毅強(qiáng),劉沈豐,何家驥,等.基于自組織競(jìng)爭(zhēng)神經(jīng)網(wǎng)絡(luò)的硬件木馬檢測(cè)方法[J].華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2016,44(2):51-55.

[6] 蘇靜,路文玲,趙毅強(qiáng),等.基于支持向量機(jī)的硬件木馬檢測(cè)建模與優(yōu)化[J].信息網(wǎng)絡(luò)安全,2017(8):33-38.

[7] 王建新,王柏人,曲鳴,等.基于樸素貝葉斯分類器的硬件木馬檢測(cè)方法[J].計(jì)算機(jī)應(yīng)用研究,2017,34(10):3073-3076.

[8] LECOMTE M,F(xiàn)OURNIER J,MAURINE P.An on-chip technique to detect hardware Trojans and assist counterfeit identification[J].IEEE Transactions on Very Large Scale Integration Systems,2016,PP(99):3317-3330.



作者信息:

高洪波,李  磊,周婉婷,向祎堯

(電子科技大學(xué) 電子科學(xué)技術(shù)研究院,四川 成都611731)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。