文獻標識碼: 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.
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 集成樹模型
集成樹是由多個分類與回歸樹得到泛化的模型,,彌補了單棵決策樹預測性能局限性。
1.2 梯度提升
對式(2)集成樹模型中的目標函數(shù),,采用additive training方法訓練,,即每一次保留原來的模型不變,加入一個新的函數(shù)f到模型中,。
定義Ij={i|q(xi)=j},,將常數(shù)項移除且葉節(jié)點重新組合后目標函數(shù)為:
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在木馬電路上的布局,。
木馬電路本身的存在就會對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模型木馬檢測流程圖,。
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,。
根據(jù)圖2流程分別得到原始數(shù)據(jù)和木馬數(shù)據(jù)。統(tǒng)計不同位置RO樣本點的分布范圍,,以直觀顯示數(shù)據(jù)之間的差異,。T800電路在50 MHz下,RO為5階,,采集時間為0.1 ms下不同位置部分RO的數(shù)據(jù)對比,,如圖3所示。
從圖中可以看出:(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,。
3.2.2 XGBoost模型優(yōu)化結(jié)果
針對上述XGBoost模型中諸多重要參數(shù),,本文采用S-CV結(jié)合高負荷的柵格搜索(girdSearch)方法進行優(yōu)化選擇。
實驗驗證了上述模型交叉驗證方法,,根據(jù)S-CV算法選擇得到的參數(shù)見表3,。整體log損失值隨迭代次數(shù)的收斂變化如圖5所示,。
圖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é)果,。
從表中可總結(jié)出:(1)該方法能有效檢測出1.67%木馬占比的電路,;(2)對不同積分時間數(shù)據(jù)仍然保持較強的有效性,準確率能保持在97.80%以上,。
4 與其他算法性能對比
在以往的工作中已驗證了樸素貝葉斯分類算法,、SVM和馬氏距離方法的可行性,為驗證該方法的優(yōu)越性,,下面給出XGBoost模型與部分現(xiàn)有方法的性能對比,。
4.1 與馬氏距離算法性能對比
圖6給出相同條件下,使用PCA與馬氏距離相結(jié)合方法馬氏距離分析結(jié)果,,可以看出此判別方法無法有效將基準電路與木馬電路分離開來。
表5給出了不同特征下馬氏距離的分類判別結(jié)果,。對比表4可以看出,,在相同條件下,XGBoost模型檢測木馬的性能明顯優(yōu)于馬氏距離判別法,,并且馬氏距離無法識別數(shù)據(jù)相差不大和木馬占比較小的電路,。
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%。
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)