文獻標識碼: 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 引言
隨著集成電路產業的全球化生產策略和電路設計大規模化,IC設計公司很少能從設計到制造獨立完成所有的模塊設計,更多地是采用第三方的知識產權(IP),或將芯片的生產封裝承包給第三方。集成電路在設計、制造、測試以及封裝過程中都不完全自主可控,這為攻擊者對集成電路實施破壞或惡意修改提供了可能。攻擊者可以插入惡意電路到芯片中,破壞芯片功能或降低芯片可靠性,而這種惡意的變更,稱為硬件木馬。
近年來,國內外科研機構開展了很多針對硬件木馬防護的研究工作[1-2],這些研究主要面向檢測技術,尤其是旁路信息分析技術。文獻[3]和[4]利用了PCA、馬氏距離來檢測木馬;文獻[5]提出了基于神經網絡的硬件木馬檢測方法;文獻[6]和[7]分別利用了樸素貝葉斯分類器和支持向量機來檢測木馬。
本文將結合機器學習的分類思想,提出一種基于XGBoost(eXtreme Gradient Boosting)的硬件木馬檢測方法。將硬件木馬檢測的多維度向量數據作為訓練集,利用監督學習模型對其進行分類,從而實現將標準芯片與被植入木馬芯片分離的目的。
1 XGBoost算法與交叉驗證
XGboost(eXtreme Gradient Boosting)是GB(Gradient Boosting)的高效實現。GB是一種用于回歸和分類問題的學習模型,該模型以弱預測模型集合的形式產生強預測模型。通過每次迭代生成一棵新樹,選擇指向負梯度方向的弱預測模型,來優化函數空間上目標函數。XGBoost是在GBDT算法基礎上進一步優化,在基學習器損失函數采用二階泰勒展開式的形式并引入正則項,具有不易過擬合、靈活性高、收斂速度快、準確度高等特點,能夠處理稀疏特征,支持多線程并行處理。
1.1 集成樹模型
集成樹是由多個分類與回歸樹得到泛化的模型,彌補了單棵決策樹預測性能局限性。
1.2 梯度提升
對式(2)集成樹模型中的目標函數,采用additive training方法訓練,即每一次保留原來的模型不變,加入一個新的函數f到模型中。
定義Ij={i|q(xi)=j},將常數項移除且葉節點重新組合后目標函數為:
1.3 S折交叉驗證(S-CV)
S折交叉驗證(Cross Validation)是用來驗證分類器性能的一種常用統計分析方法。首先隨機地將已給數據切分為S個互不相交的大小相同的子集,然后利用S-1個子集的數據訓練模型,利用余下的子集測試模型,將這一過程對可能的S種選擇重復進行,最后選出S次評測中平均測試誤差最小的模型。
S-CV能從有限數據中獲取更多有效信息,一定程度上避免過擬合和欠擬合,更好描述模型數據。在XG-Boost中,采用與scikit-learn框架相結合來作交叉驗證。
2 硬件木馬檢測環境及流程
2.1 檢測環境
整個實驗平臺為一個內嵌9個環形振蕩器(Ring Oscillator,RO)的FPGA平臺。圖1為RO在木馬電路上的布局。
木馬電路本身的存在就會對RO輸出頻率產生一定的影響,不需要處于激活狀態,而且當RO的階數n越小時,RO對木馬越敏感,但如果階數n太小的話,RO輸出頻率就不能被片上計數器采到,而太大的話,硬件木馬的影響就會降低;同樣數據采集積分時間理論上來說越長,原始數據與木馬數據差異越大,但實際測試中RO積分值會受溫度的影響,時間太長會造成積分值變小、區分度減弱。通過仿真分析,本文選用5階作為最小的RO階數,且采集時間控制在0.1 ms~0.6 ms范圍之內。
2.2 檢測流程
基于XGBoost木馬檢測模型是利用XGBoost算法對硬件木馬檢測的多維度特征數據作分類判斷的一種監督學習模型。圖2為XGBoost模型木馬檢測流程圖。
3 硬件木馬檢測實驗
3.1 實驗環境
為了驗證提出的硬件木馬檢測方法,搭建了一個內嵌9個RO的FPGA實驗平臺。FPGA型號為Altera的EP4CE6F17C8,基準電路采用Trust-hub上的RS232的T100、T800電路。在SMIC 130 nm工藝庫下,Design Compiler 綜合結果見表1。
根據圖2流程分別得到原始數據和木馬數據。統計不同位置RO樣本點的分布范圍,以直觀顯示數據之間的差異。T800電路在50 MHz下,RO為5階,采集時間為0.1 ms下不同位置部分RO的數據對比,如圖3所示。
從圖中可以看出:(1)不同RO受到木馬的影響是不同的,越靠近木馬的RO受到的影響越大。雖然原始數據與木馬數據有部分分離,但仍有部分重疊在一起;(2)隨著FPGA工作時間增加,RO積分值呈下降趨勢,這是因為在電路運行過程中,會產生熱功耗,會引起溫度等環境的變化,RO積分值會受溫度的影響。
3.2 實驗結果
3.2.1 XGBoost預測結果
對RS232-T800電路,各采集1 000組數據分別作為訓練樣本和測試樣本,經過XGBoost模型訓練,分類測試樣本準確率只能達到78.80%,分類結果如圖4所示,相應模型參數見表2。
3.2.2 XGBoost模型優化結果
針對上述XGBoost模型中諸多重要參數,本文采用S-CV結合高負荷的柵格搜索(girdSearch)方法進行優化選擇。
實驗驗證了上述模型交叉驗證方法,根據S-CV算法選擇得到的參數見表3。整體log損失值隨迭代次數的收斂變化如圖5所示。
圖5中縱軸表示目標函數損失值,橫軸表示迭代次數。從圖中可以看出,交叉驗證參數選擇后梯度下降速度更快,且在迭代次數大于60時,損失值穩定范圍在0.1左右。實驗表明,經過交叉驗證參數選擇,優化了XGBoost模型,使得準確率從最初的78.80%提高到99.20%,相應地整體logloss值從最初的0.386 303降到了0.089 183。
3.2.3 不同特征下檢測結果
為了驗證基于XGBoost的硬件木馬檢測方法的健壯性,作不同特征變化下分類判別實驗。表4給出了不同木馬面積和不同積分時間下的木馬檢測結果。
從表中可總結出:(1)該方法能有效檢測出1.67%木馬占比的電路;(2)對不同積分時間數據仍然保持較強的有效性,準確率能保持在97.80%以上。
4 與其他算法性能對比
在以往的工作中已驗證了樸素貝葉斯分類算法、SVM和馬氏距離方法的可行性,為驗證該方法的優越性,下面給出XGBoost模型與部分現有方法的性能對比。
4.1 與馬氏距離算法性能對比
圖6給出相同條件下,使用PCA與馬氏距離相結合方法馬氏距離分析結果,可以看出此判別方法無法有效將基準電路與木馬電路分離開來。
表5給出了不同特征下馬氏距離的分類判別結果。對比表4可以看出,在相同條件下,XGBoost模型檢測木馬的性能明顯優于馬氏距離判別法,并且馬氏距離無法識別數據相差不大和木馬占比較小的電路。
4.2 與其他機器學習算法性能對比
在相同條件下,經過SCV算法優化,支持向量機的懲罰參數c=3.1且選擇RBF核函數的參數g=6.0時,準確率最高為98.20%,但樸素貝葉斯分類分類只能最高保持在77.40%的正確率上。
表6、表7給出了不同特性下各算法的分類判別結果。從表中可看出在相同條件下,SVM性能較優于樸素貝葉斯算法,能高準確識別木馬數據和原始數據,而與表4作比較,可看出本文所使用的XGBoost硬件木馬檢測方法能較高準確率識別木馬數據和原始數據,相比兩者平均準確率高出1.52%、29.2%。
5 結論
本文提出了一種基于XGBoost的硬件木馬檢測方法,利用S-CV與girdSearch相結合的交叉驗證方法優化模型。搭建FPGA實驗,驗證了該方法的有效性,并在與傳統方法和其他機器學習方法比較時,證實了該方法的優越性,更有效地實現木馬檢測。后續將提出一種工藝偏差的可信空間建模方法,減少工藝偏差的影響。
參考文獻
[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].華中科技大學學報(自然科學版),2016,44(2):51-55.
[6] 蘇靜,路文玲,趙毅強,等.基于支持向量機的硬件木馬檢測建模與優化[J].信息網絡安全,2017(8):33-38.
[7] 王建新,王柏人,曲鳴,等.基于樸素貝葉斯分類器的硬件木馬檢測方法[J].計算機應用研究,2017,34(10):3073-3076.
[8] LECOMTE M,FOURNIER 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)