文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.180581
中文引用格式: 張磊,殷夢婕,,肖超恩,,等. 基于優(yōu)化型支持向量機算法的硬件木馬檢測[J].電子技術(shù)應用,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é)都有可能被植入硬件木馬,在軍事,、金融,、政府等部門造成嚴重危害。
硬件木馬檢測方法多種多樣,,包括物理檢測,、邏輯測試、側(cè)信道分析等,。其中側(cè)信道分析[1]是通過對比和分析待測芯片與模板芯片運行時所產(chǎn)生的功耗,、時延和電磁輻射等側(cè)信道信息的方法,實現(xiàn)硬件木馬的檢測,。鑒于側(cè)信道分析準確率高,、速度快和價格低的優(yōu)點,,側(cè)信道分析逐漸成為硬件木馬檢測研究的主要方向[2]。文獻[3]運用歐式距離相關(guān)分類法進行硬件木馬的分類識別,。文獻[4]通過主成分分析(Principal Component Analysis,,PCA)對數(shù)據(jù)進行降維處理,通過馬氏距離方法進行硬件木馬檢測,。文獻[5]提出了一種構(gòu)建自組織競爭神經(jīng)網(wǎng)絡的方法進行硬件木馬檢測,。文獻[6]提出了一種能快速激活并能定位以低活躍度信號為觸發(fā)木馬的方法。
因此,,本文提出了一種基于支持向量機(Support Vector Machine,,SVM)的硬件木馬檢測方法,通過PCA解決樣本特征值之間相關(guān)的問題,,利用遺傳算法(Genetic Algorithm,,GA)對所需核函數(shù)參數(shù)和懲罰因子無法動態(tài)獲取的問題進行了優(yōu)化。實驗表明,,優(yōu)化型SVM方法提高了硬件木馬分類器的檢測準確率和檢測速度,。
1 基于分類的硬件木馬檢測方法
因硬件木馬芯片工作時存在功耗異常,在特定環(huán)境下多次采集其工作功耗,,通過與模板功耗的對比,,可進行硬件木馬的檢測?;诜诸惖挠布抉R檢測方法如圖1所示,。
在基于分類的硬件木馬檢測中,可采用距離判別分析方法[7],。其中歐氏距離判別法對噪聲干擾較為敏感,需要采用多條功耗取均值的方法進行預處理,,但也存在觸發(fā)木馬時的功耗被掩蓋的問題,;而馬氏距離雖受噪聲影響較小,但在應用時會受到樣本維度的限制,。
此外,,樸素貝葉斯算法利用概率統(tǒng)計進行分類,其檢測準確率表現(xiàn)良好,,但時間消耗過高[8],;而BP神經(jīng)網(wǎng)絡算法在使用時會存在過度擬合的缺陷[9]。
SVM算法是一種機器學習方法,,在解決小樣本,、非線性及高維模式識別中,表現(xiàn)出了獨特的優(yōu)勢[10],。因此,,本文結(jié)合側(cè)信道的信息特點,首先從中提取訓練集和測試集,然后通過優(yōu)化型SVM分類器來預測測試集中的標識屬性,,最后達到提高硬件木馬檢測的準確率和檢測速度的目的,。
2 硬件木馬分類器設計
本文設計的優(yōu)化型SVM分類器主要由3個核心部分構(gòu)成:PCA降維處理模塊、GA算法模塊和SVM分類器模塊,。模塊的運行與連接方式如圖2所示,。
在獲取側(cè)信道數(shù)據(jù)后,首先提取部分數(shù)據(jù)作為訓練集,,然后利用PCA對數(shù)據(jù)進行預處理,,接著采用GA對SVM參數(shù)尋優(yōu),最后根據(jù)得到的懲罰因子c和核函數(shù)參數(shù)值g構(gòu)建優(yōu)化型SVM硬件木馬分類器,。分類器中主要模塊實現(xiàn)如下:
(1)PCA降維處理
考慮到要處理的側(cè)信道數(shù)據(jù)量較大且存在噪聲,,所以選擇采用PCA方法降低冗余,精煉數(shù)據(jù),,從而加快分類器處理速度,,具體實現(xiàn)步驟如圖3所示。
PCA是一種簡單有效的特征提取方法,。通過線性變換將原始樣本變換為一組各維度線性無關(guān)的表示,,使得到的各變量在彼此不相關(guān)的前提下盡可能多地反映原始樣本所包含的信息。
(2)關(guān)鍵參數(shù)優(yōu)化
SVM算法的兩個關(guān)鍵參數(shù)懲罰因子c和核函數(shù)參數(shù)值g的初值一般由人工選取,,而導致的最終訓練結(jié)果不一定最優(yōu),,因此本設計中采用GA算法進行參數(shù)尋優(yōu),以提高參數(shù)選擇的可靠性和準確性,。
GA算法基本思想簡單,,實現(xiàn)步驟規(guī)范,具有實用高效,、魯棒性強等優(yōu)點,。利用GA算法進行啟發(fā)式優(yōu)化搜索的主要過程如圖4所示。
(3)基于SVM的分類器
在側(cè)信道數(shù)據(jù)分類時,,每條特征曲線代表一個訓練樣本,,每個訓練樣本中有多個屬性,因此硬件木馬檢測實際上是對多維數(shù)據(jù)進行分類,,故本文選擇SVM構(gòu)建分類模型,。
SVM是建立在統(tǒng)計學習理論基礎(chǔ)上的一種機器學習方法,其泛化準確率高,,計算效率高,,結(jié)果易解釋。其具體實現(xiàn)步驟如下:首先在低維空間中完成計算,,然后通過核函數(shù)將輸入空間映射到高維特征空間,,最終在高維特征空間中構(gòu)造出最優(yōu)分離超平面,,從而把平面上難以分離的非線性數(shù)據(jù)劃分開。
3 實驗驗證
3.1 實驗環(huán)境
基于FPGA的硬件木馬側(cè)信道采集分析平臺如圖5所示,,平臺主要包括PC,、FPGA板、示波器,、電源和采樣探頭5個部分,,能夠完成對芯片運行時所產(chǎn)生的功耗信息的采集和傳輸功能。
側(cè)信道平臺搭建的主要過程為:
(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 實驗結(jié)果與分析
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)的結(jié)果如圖7所示,,c和g分別是懲罰因子和核函數(shù)最優(yōu)參數(shù)值。
可以看出,,通過GA算法選取的最優(yōu)參數(shù)在三種木馬植入情況下的適應度均明顯高于平均適應度,,由此證實了GA用于SVM參數(shù)優(yōu)化的有效性。
3.2.3 優(yōu)化結(jié)果
為驗證優(yōu)化算法的有效性,,分別利用傳統(tǒng)型SVM和優(yōu)化型SVM構(gòu)建分類器,,對三種不同大小的硬件木馬進行識別。隨機選取木馬芯片和模板芯片的功耗信息各1 000條作為訓練樣本,,對分類器進行訓練,,再用分類器對4 000條待測芯片進行分類,統(tǒng)計分類結(jié)果和優(yōu)化后的性能提升幅度,。結(jié)果如表1所示,。
可以看出,經(jīng)過優(yōu)化后的SVM所構(gòu)建的分類器性能明顯優(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分類準確率與木馬的尺寸有關(guān),,木馬占用率越大,準確率越高,,與預期情況相符,,當木馬占用率為0.1%時,仍具有81.03%的準確率,,可以有效識別出芯片中所植入硬件木馬,。
3.3 木馬檢測性能分析
對于硬件木馬檢測而言,性能測試主要在兩方面:檢測準確率及檢測時間,。本文選取了基于主成分分析的歐式距離[3],、馬氏距離[4]以及樸素貝葉斯[8]和BP神經(jīng)網(wǎng)絡[9]等方法為對比實驗對象,以此來評估優(yōu)化型SVM硬件木馬檢測方法的性能,。設置相同的實驗條件,,性能對比結(jié)果如表2所示,。
據(jù)實驗結(jié)果可以看出,無監(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 結(jié)論
本文提出了一種基于優(yōu)化型SVM算法的硬件木馬分類器,。首先采集功耗曲線建立樣本庫,,然后利用PCA降維技術(shù)減少無用信息與分類器構(gòu)建時間,再以GA算法提高SVM最優(yōu)參數(shù)的選取效率和準確性能,,最后利用優(yōu)化型的SVM分類器進行硬件木馬檢測,。實驗表明,在未經(jīng)均值降噪處理的情況下,,本文提出的方法與傳統(tǒng)SVM方法相比,,硬件木馬檢測準確率提升了9%,對2 000組數(shù)據(jù)的分類耗時僅為0.75 s,;與其他硬件木馬檢測方法相比,,本文提出的方法在檢測準確率和檢測時間均有提高?! ?/p>
參考文獻
[1] 周昱,,于宗光.硬件木馬威脅與識別技術(shù)綜述[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].電子技術(shù)應用,,2016,,42(8):63-66.
[7] 楊松.基于主成分分析的硬件木馬檢測技術(shù)研究[D].天津:天津大學,2016.
[8] 王建新,,王柏人,,曲鳴,等.基于樸素貝葉斯分類器的硬件木馬檢測方法[J].計算機應用研究,,2017,,34(10):3073-3076.
[9] 馬瑞聰,馬虓,,李俊.基于BP神經(jīng)網(wǎng)絡的硬件木馬檢測方法[J].電信技術(shù)研究,,2017(2):22-28.
[10] 王振武,孫佳駿,,于忠義,,等.基于支持向量機的遙感圖像分類研究綜述[J].計算機科學,2016,,43(9):11-17.
作者信息:
張 磊,,殷夢婕,肖超恩,,董有恒
(北京電子科技學院 電子與信息工程系,,北京100071)