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