文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.180581
中文引用格式: 張磊,殷夢婕,肖超恩,等. 基于優(yōu)化型支持向量機算法的硬件木馬檢測[J].電子技術應用,2018,44(11):17-20.
英文引用格式: Zhang Lei,Yin Mengjie,Xiao Chaoen,et al. Hardware trojan detection based on the optimized SVM algorithm[J]. Application of Electronic Technique,2018,44(11):17-20.
0 引言
由于芯片設計和制造過程的全球化,集成電路變得更易受到惡意更改和攻擊,用戶也更難以把控集成電路供應鏈中的各個環(huán)節(jié)。硬件木馬可以操縱掩碼改變設計網(wǎng)表,植入惡意邏輯電路,而不影響設計的主要功能。芯片在RTL設計代工階段各環(huán)節(jié)都有可能被植入硬件木馬,在軍事、金融、政府等部門造成嚴重危害。
硬件木馬檢測方法多種多樣,包括物理檢測、邏輯測試、側信道分析等。其中側信道分析[1]是通過對比和分析待測芯片與模板芯片運行時所產(chǎn)生的功耗、時延和電磁輻射等側信道信息的方法,實現(xiàn)硬件木馬的檢測。鑒于側信道分析準確率高、速度快和價格低的優(yōu)點,側信道分析逐漸成為硬件木馬檢測研究的主要方向[2]。文獻[3]運用歐式距離相關分類法進行硬件木馬的分類識別。文獻[4]通過主成分分析(Principal Component Analysis,PCA)對數(shù)據(jù)進行降維處理,通過馬氏距離方法進行硬件木馬檢測。文獻[5]提出了一種構建自組織競爭神經(jīng)網(wǎng)絡的方法進行硬件木馬檢測。文獻[6]提出了一種能快速激活并能定位以低活躍度信號為觸發(fā)木馬的方法。
因此,本文提出了一種基于支持向量機(Support Vector Machine,SVM)的硬件木馬檢測方法,通過PCA解決樣本特征值之間相關的問題,利用遺傳算法(Genetic Algorithm,GA)對所需核函數(shù)參數(shù)和懲罰因子無法動態(tài)獲取的問題進行了優(yōu)化。實驗表明,優(yōu)化型SVM方法提高了硬件木馬分類器的檢測準確率和檢測速度。
1 基于分類的硬件木馬檢測方法
因硬件木馬芯片工作時存在功耗異常,在特定環(huán)境下多次采集其工作功耗,通過與模板功耗的對比,可進行硬件木馬的檢測。基于分類的硬件木馬檢測方法如圖1所示。
在基于分類的硬件木馬檢測中,可采用距離判別分析方法[7]。其中歐氏距離判別法對噪聲干擾較為敏感,需要采用多條功耗取均值的方法進行預處理,但也存在觸發(fā)木馬時的功耗被掩蓋的問題;而馬氏距離雖受噪聲影響較小,但在應用時會受到樣本維度的限制。
此外,樸素貝葉斯算法利用概率統(tǒng)計進行分類,其檢測準確率表現(xiàn)良好,但時間消耗過高[8];而BP神經(jīng)網(wǎng)絡算法在使用時會存在過度擬合的缺陷[9]。
SVM算法是一種機器學習方法,在解決小樣本、非線性及高維模式識別中,表現(xiàn)出了獨特的優(yōu)勢[10]。因此,本文結合側信道的信息特點,首先從中提取訓練集和測試集,然后通過優(yōu)化型SVM分類器來預測測試集中的標識屬性,最后達到提高硬件木馬檢測的準確率和檢測速度的目的。
2 硬件木馬分類器設計
本文設計的優(yōu)化型SVM分類器主要由3個核心部分構成:PCA降維處理模塊、GA算法模塊和SVM分類器模塊。模塊的運行與連接方式如圖2所示。
在獲取側信道數(shù)據(jù)后,首先提取部分數(shù)據(jù)作為訓練集,然后利用PCA對數(shù)據(jù)進行預處理,接著采用GA對SVM參數(shù)尋優(yōu),最后根據(jù)得到的懲罰因子c和核函數(shù)參數(shù)值g構建優(yōu)化型SVM硬件木馬分類器。分類器中主要模塊實現(xiàn)如下:
(1)PCA降維處理
考慮到要處理的側信道數(shù)據(jù)量較大且存在噪聲,所以選擇采用PCA方法降低冗余,精煉數(shù)據(jù),從而加快分類器處理速度,具體實現(xiàn)步驟如圖3所示。
PCA是一種簡單有效的特征提取方法。通過線性變換將原始樣本變換為一組各維度線性無關的表示,使得到的各變量在彼此不相關的前提下盡可能多地反映原始樣本所包含的信息。
(2)關鍵參數(shù)優(yōu)化
SVM算法的兩個關鍵參數(shù)懲罰因子c和核函數(shù)參數(shù)值g的初值一般由人工選取,而導致的最終訓練結果不一定最優(yōu),因此本設計中采用GA算法進行參數(shù)尋優(yōu),以提高參數(shù)選擇的可靠性和準確性。
GA算法基本思想簡單,實現(xiàn)步驟規(guī)范,具有實用高效、魯棒性強等優(yōu)點。利用GA算法進行啟發(fā)式優(yōu)化搜索的主要過程如圖4所示。
(3)基于SVM的分類器
在側信道數(shù)據(jù)分類時,每條特征曲線代表一個訓練樣本,每個訓練樣本中有多個屬性,因此硬件木馬檢測實際上是對多維數(shù)據(jù)進行分類,故本文選擇SVM構建分類模型。
SVM是建立在統(tǒng)計學習理論基礎上的一種機器學習方法,其泛化準確率高,計算效率高,結果易解釋。其具體實現(xiàn)步驟如下:首先在低維空間中完成計算,然后通過核函數(shù)將輸入空間映射到高維特征空間,最終在高維特征空間中構造出最優(yōu)分離超平面,從而把平面上難以分離的非線性數(shù)據(jù)劃分開。
3 實驗驗證
3.1 實驗環(huán)境
基于FPGA的硬件木馬側信道采集分析平臺如圖5所示,平臺主要包括PC、FPGA板、示波器、電源和采樣探頭5個部分,能夠完成對芯片運行時所產(chǎn)生的功耗信息的采集和傳輸功能。
側信道平臺搭建的主要過程為:
(1)通過ISCAS’89基準測試電路完成原始功能,并設計三種資源占比不同的硬件木馬植入載體電路。其中木馬1、木馬2、木馬3的資源占比約為原始電路的0.1%、0.2%、0.3%。
(2)采用Altera EP4CE6E22C8作為實驗芯片,利用FPGA測試板下載線將工程下載至芯片。在芯片的電源引腳上連接電阻,利用Tektronix DPO7104C示波器的差分探頭連接電阻兩端。
(3)多次對標準芯片及待測芯片進行采集,通過LAN通信傳輸至PC端,得到兩類功耗數(shù)據(jù)。其采樣頻率為10 Gb/s,采樣點數(shù)為1 000,每類芯片采樣2 000條。
(4)在PC端,利用標準芯片功耗信息建立模板,使用MATLAB編寫,進行木馬檢測性能驗證。
3.2 實驗結果與分析
3.2.1 PCA數(shù)據(jù)降維
在利用PCA進行數(shù)據(jù)降維時,必須考慮所得到的各主成分所對應的方差百分比和累積方差百分比,圖6給出了前100個主成分的貢獻率情況。
可以看出,大部分方差都包含在較前的主成分中,舍棄貢獻率很低的主成分并不會損失很多有用信息,但能夠大幅度減少運算量,降低時間開銷。
3.2.2 GA參數(shù)尋優(yōu)
由于核函數(shù)參數(shù)和懲罰因子在很大程度上決定著SVM的分類精度,而人工選取的方式效率較低且精度不足,利用GA進行參數(shù)尋優(yōu)的結果如圖7所示,c和g分別是懲罰因子和核函數(shù)最優(yōu)參數(shù)值。
可以看出,通過GA算法選取的最優(yōu)參數(shù)在三種木馬植入情況下的適應度均明顯高于平均適應度,由此證實了GA用于SVM參數(shù)優(yōu)化的有效性。
3.2.3 優(yōu)化結果
為驗證優(yōu)化算法的有效性,分別利用傳統(tǒng)型SVM和優(yōu)化型SVM構建分類器,對三種不同大小的硬件木馬進行識別。隨機選取木馬芯片和模板芯片的功耗信息各1 000條作為訓練樣本,對分類器進行訓練,再用分類器對4 000條待測芯片進行分類,統(tǒng)計分類結果和優(yōu)化后的性能提升幅度。結果如表1所示。
可以看出,經(jīng)過優(yōu)化后的SVM所構建的分類器性能明顯優(yōu)于傳統(tǒng)SVM,經(jīng)過PCA降維處理后,不僅時間消耗大幅減少,而且還能濾除數(shù)據(jù)中的部分無用信息,提升判別效率;利用遺傳算法對SVM進行參數(shù)尋優(yōu),使得分類器能夠以最佳參數(shù)運行,與傳統(tǒng)人工選擇參數(shù)的方式相比,參數(shù)選擇更加準確和科學,經(jīng)過優(yōu)化,基于SVM的硬件木馬分類器的分類性能最高可以提升15.6%,時間消耗減少98.1%。
此外,SVM分類準確率與木馬的尺寸有關,木馬占用率越大,準確率越高,與預期情況相符,當木馬占用率為0.1%時,仍具有81.03%的準確率,可以有效識別出芯片中所植入硬件木馬。
3.3 木馬檢測性能分析
對于硬件木馬檢測而言,性能測試主要在兩方面:檢測準確率及檢測時間。本文選取了基于主成分分析的歐式距離[3]、馬氏距離[4]以及樸素貝葉斯[8]和BP神經(jīng)網(wǎng)絡[9]等方法為對比實驗對象,以此來評估優(yōu)化型SVM硬件木馬檢測方法的性能。設置相同的實驗條件,性能對比結果如表2所示。
據(jù)實驗結果可以看出,無監(jiān)督型的檢測算法由于其規(guī)則、算法復雜度等因素在檢測時間上要優(yōu)于監(jiān)督型算法。監(jiān)督型算法耗時較長,但是在準確率上要高于無監(jiān)督型算法。本文提出的優(yōu)化型SVM算法,經(jīng)過PCA的預處理以及GA 算法的參數(shù)尋優(yōu)后,在檢測速度上與歐式距離和馬氏距離相比耗時較長,但與樸素貝葉斯和BP神經(jīng)網(wǎng)絡相比有大幅提高。同時在準確率方面比其他監(jiān)督型算法高。
4 結論
本文提出了一種基于優(yōu)化型SVM算法的硬件木馬分類器。首先采集功耗曲線建立樣本庫,然后利用PCA降維技術減少無用信息與分類器構建時間,再以GA算法提高SVM最優(yōu)參數(shù)的選取效率和準確性能,最后利用優(yōu)化型的SVM分類器進行硬件木馬檢測。實驗表明,在未經(jīng)均值降噪處理的情況下,本文提出的方法與傳統(tǒng)SVM方法相比,硬件木馬檢測準確率提升了9%,對2 000組數(shù)據(jù)的分類耗時僅為0.75 s;與其他硬件木馬檢測方法相比,本文提出的方法在檢測準確率和檢測時間均有提高?! ?/p>
參考文獻
[1] 周昱,于宗光.硬件木馬威脅與識別技術綜述[J].信息網(wǎng)絡安全,2016(1):11-17.
[2] 倪林,李少青,馬瑞聰,等.硬件木馬檢測與防護[J].數(shù)字通信,2014,41(1):59-63.
[3] 王建新,王柏人,曲鳴,等.基于改進歐式距離的硬件木馬檢測[J].計算機工程,2017,43(6):92-96.
[4] CUI Q,SUN K,WANG S,et al.Hardware trojan detection based on cluster analysis of mahalanobis distance[C].International Conference on Intelligent Human-Machine Systems and Cybernetics.IEEE,2016.
[5] ZHAO Y,LIU S,HE J,et al.Hardware trojan detection technology based on self-organizing competition neural network[J].Journal of Huazhong University of Science and Technology(Natural Science Edition),2016(2):51-55.
[6] 裴根,石朝陽,鄒雪城,等.一種基于快速激活的硬件木馬檢測法[J].電子技術應用,2016,42(8):63-66.
[7] 楊松.基于主成分分析的硬件木馬檢測技術研究[D].天津:天津大學,2016.
[8] 王建新,王柏人,曲鳴,等.基于樸素貝葉斯分類器的硬件木馬檢測方法[J].計算機應用研究,2017,34(10):3073-3076.
[9] 馬瑞聰,馬虓,李俊.基于BP神經(jīng)網(wǎng)絡的硬件木馬檢測方法[J].電信技術研究,2017(2):22-28.
[10] 王振武,孫佳駿,于忠義,等.基于支持向量機的遙感圖像分類研究綜述[J].計算機科學,2016,43(9):11-17.
作者信息:
張 磊,殷夢婕,肖超恩,董有恒
(北京電子科技學院 電子與信息工程系,北京100071)