《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于XGBoost的硬件木馬檢測方法
基于XGBoost的硬件木馬檢測方法
2019年電子技術應用第4期
高洪波,,李 磊,,周婉婷,向祎堯
電子科技大學 電子科學技術研究院,,四川 成都611731
摘要: 在環(huán)形振蕩器網(wǎng)絡分析的基礎上,,提出一種基于XGBoost的硬件木馬檢測方法,并利用交叉驗證方法進行模型優(yōu)化,。該方法能夠利用訓練樣本數(shù)據(jù)集構(gòu)建XGBoost分類模型,,采用監(jiān)督學習模式對數(shù)據(jù)進行分類,從而實現(xiàn)將原始電路與木馬電路分離的目的,。以RS232-T100、RS232-T800為木馬電路,,進行FPGA實驗,,實驗結(jié)果表明:對RO在0.1 ms積分時間下的木馬數(shù)據(jù),檢測率達到100%,、99.20%,,驗證了本方法的有效性。此外,,在與傳統(tǒng)方法和其他機器學習方法比較時,,基于XGBoost的檢測方法表現(xiàn)出了更高的檢測率,能對多維度向量的關聯(lián)數(shù)據(jù)作特征重要性分析,,而非降維,,能最大限度地保留木馬檢測所需的關鍵特征。
中圖分類號: TN47
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.182242
中文引用格式: 高洪波,,李磊,,周婉婷,等. 基于XGBoost的硬件木馬檢測方法[J].電子技術應用,,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)策略和電路設計大規(guī)?;琁C設計公司很少能從設計到制造獨立完成所有的模塊設計,,更多地是采用第三方的知識產(chǎn)權(quán)(IP),,或?qū)⑿酒纳a(chǎn)封裝承包給第三方。集成電路在設計,、制造,、測試以及封裝過程中都不完全自主可控,這為攻擊者對集成電路實施破壞或惡意修改提供了可能,。攻擊者可以插入惡意電路到芯片中,,破壞芯片功能或降低芯片可靠性,而這種惡意的變更,,稱為硬件木馬,。

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

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

1 XGBoost算法與交叉驗證

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

1.1 集成樹模型

    集成樹是由多個分類與回歸樹得到泛化的模型,,彌補了單棵決策樹預測性能局限性。

wdz5-gs1-2.gif

1.2 梯度提升

    對式(2)集成樹模型中的目標函數(shù),,采用additive training方法訓練,,即每一次保留原來的模型不變,加入一個新的函數(shù)f到模型中,。

wdz5-gs3-7.gif

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

wdz5-gs8-10.gif

1.3 S折交叉驗證(S-CV)

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

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

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

2.1 檢測環(huán)境

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

wdz5-t1.gif

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

2.2 檢測流程

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

wdz5-t2.gif

3 硬件木馬檢測實驗

3.1 實驗環(huán)境

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

wdz5-b1.gif

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

wdz5-t3.gif

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

3.2 實驗結(jié)果

3.2.1 XGBoost預測結(jié)果

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

wdz5-t4.gif

wdz5-b2.gif

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

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

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

wdz5-b3.gif

wdz5-t5.gif

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

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

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

wdz5-b4.gif

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

4 與其他算法性能對比

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

4.1 與馬氏距離算法性能對比

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

wdz5-t6.gif

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

wdz5-b5.gif

4.2 與其他機器學習算法性能對比

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

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

wdz5-b6.gif

wdz5-b7.gif

5 結(jié)論

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

參考文獻

[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] 趙毅強,,楊松,何家驥,,等.基于主成分分析的硬件木馬檢測方法[J].華中科技大學學報(自然科學版),,2015,43(8):66-69.

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

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

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

[7] 王建新,,王柏人,曲鳴,等.基于樸素貝葉斯分類器的硬件木馬檢測方法[J].計算機應用研究,,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.



作者信息:

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

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

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