文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.182242
中文引用格式: 高洪波,李磊,周婉婷,等. 基于XGBoost的硬件木馬檢測方法[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.
0 引言
隨著集成電路產(chǎn)業(yè)的全球化生產(chǎn)策略和電路設(shè)計大規(guī)?;琁C設(shè)計公司很少能從設(shè)計到制造獨立完成所有的模塊設(shè)計,更多地是采用第三方的知識產(chǎn)權(quán)(IP),或?qū)⑿酒纳a(chǎn)封裝承包給第三方。集成電路在設(shè)計、制造、測試以及封裝過程中都不完全自主可控,這為攻擊者對集成電路實施破壞或惡意修改提供了可能。攻擊者可以插入惡意電路到芯片中,破壞芯片功能或降低芯片可靠性,而這種惡意的變更,稱為硬件木馬。
近年來,國內(nèi)外科研機構(gòu)開展了很多針對硬件木馬防護的研究工作[1-2],這些研究主要面向檢測技術(shù),尤其是旁路信息分析技術(shù)。文獻[3]和[4]利用了PCA、馬氏距離來檢測木馬;文獻[5]提出了基于神經(jīng)網(wǎng)絡(luò)的硬件木馬檢測方法;文獻[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是一種用于回歸和分類問題的學習模型,該模型以弱預(yù)測模型集合的形式產(chǎn)生強預(yù)測模型。通過每次迭代生成一棵新樹,選擇指向負梯度方向的弱預(yù)測模型,來優(yōu)化函數(shù)空間上目標函數(shù)。XGBoost是在GBDT算法基礎(chǔ)上進一步優(yōu)化,在基學習器損失函數(shù)采用二階泰勒展開式的形式并引入正則項,具有不易過擬合、靈活性高、收斂速度快、準確度高等特點,能夠處理稀疏特征,支持多線程并行處理。
1.1 集成樹模型
集成樹是由多個分類與回歸樹得到泛化的模型,彌補了單棵決策樹預(yù)測性能局限性。
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種選擇重復(fù)進行,最后選出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預(yù)測結(jié)果
對RS232-T800電路,各采集1 000組數(shù)據(jù)分別作為訓練樣本和測試樣本,經(jīng)過XGBoost模型訓練,分類測試樣本準確率只能達到78.80%,分類結(jié)果如圖4所示,相應(yīng)模型參數(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%,相應(yīng)地整體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)絡(luò)的硬件木馬檢測方法[J].華中科技大學學報(自然科學版),2016,44(2):51-55.
[6] 蘇靜,路文玲,趙毅強,等.基于支持向量機的硬件木馬檢測建模與優(yōu)化[J].信息網(wǎng)絡(luò)安全,2017(8):33-38.
[7] 王建新,王柏人,曲鳴,等.基于樸素貝葉斯分類器的硬件木馬檢測方法[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.
作者信息:
高洪波,李 磊,周婉婷,向祎堯
(電子科技大學 電子科學技術(shù)研究院,四川 成都611731)