文獻(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.
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è)性能局限性。
1.2 梯度提升
對(duì)式(2)集成樹(shù)模型中的目標(biāo)函數(shù),采用additive training方法訓(xùn)練,即每一次保留原來(lái)的模型不變,加入一個(gè)新的函數(shù)f到模型中。
定義Ij={i|q(xi)=j},將常數(shù)項(xiàng)移除且葉節(jié)點(diǎn)重新組合后目標(biāo)函數(shù)為:
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在木馬電路上的布局。
木馬電路本身的存在就會(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è)流程圖。
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。
根據(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所示。
從圖中可以看出:(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。
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所示。
圖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é)果。
從表中可總結(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)。
表5給出了不同特征下馬氏距離的分類判別結(jié)果。對(duì)比表4可以看出,在相同條件下,XGBoost模型檢測(cè)木馬的性能明顯優(yōu)于馬氏距離判別法,并且馬氏距離無(wú)法識(shí)別數(shù)據(jù)相差不大和木馬占比較小的電路。
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%。
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)