王柏人 曲 鳴
基于K-means聚類分析的硬件木馬檢測方法
王柏人 曲 鳴
北京電子科技學(xué)院電子與通信工程,北京 100070
為檢測芯片中存在的硬件木馬,利用側(cè)信道分析技術(shù),采集功耗信息,并利用K-means算法對待測芯片進(jìn)行聚類分析。利用K-means算法實(shí)現(xiàn)木馬檢測時(shí),準(zhǔn)確率與功耗數(shù)據(jù)中存在的噪聲以及木馬面積的大小有關(guān),實(shí)驗(yàn)中植入了占芯片原始模塊2.39%和1.49%的兩種木馬,均能夠很好的檢測出其中電路中的木馬,驗(yàn)證了方法的有效性。
硬件木馬;側(cè)信道分析;K-means算法
隨著集成電路制造的全球化進(jìn)程,設(shè)計(jì)、制造的分離技術(shù)以及第三方知識(shí)產(chǎn)權(quán)核的廣泛應(yīng)用,使得芯片中存在很多安全隱患。硬件木馬是一種不同于計(jì)算機(jī)軟件病毒和木馬的硬件漏洞,通過在芯片設(shè)計(jì)和制造的過程中植入惡意部件,使芯片增加額外的功能,或是在芯片中設(shè)置隱藏信道和后門,從而竊取芯片中的敏感信息。硬件木馬以其危害大,難以檢測的特點(diǎn),受到了安全領(lǐng)域的極大關(guān)注。
近年來,對硬件木馬的研究已經(jīng)有了許多成果。一些研究人員提出了一種針對硬件木馬的物理特點(diǎn)、激活方式以及特征功能的分類方法[1]。還有一些研究員通過分析硬件木馬的攻擊目標(biāo)、植入時(shí)機(jī)和觸發(fā)機(jī)制提出了不同的分類方法[2][3]。硬件木馬分類的完善,促進(jìn)了檢測方法的發(fā)展。國際上已經(jīng)出現(xiàn)很多類型的檢測方法,包括破壞性檢測[4]、芯片設(shè)計(jì)修改[5]、側(cè)信道分析等方法。
不同于破壞性檢測的高昂開銷和漫長周期,側(cè)信道分析技術(shù)以其價(jià)格低廉、檢測迅速、準(zhǔn)確性高的特性受到研究人員的關(guān)注。文獻(xiàn)[6]中首次提出了基于功耗信息的硬件木馬檢測方法;文獻(xiàn)[7]對芯片電源端的瞬態(tài)電流進(jìn)行測量和區(qū)域分析,能夠檢測出小規(guī)模的硬件木馬;文獻(xiàn)[8]提出利用路徑延遲生成指紋的方式,可以分辨出一些面積很小的硬件木馬模塊;文獻(xiàn)[9]根據(jù)一種基于區(qū)域的暫態(tài)電流信號分析方法來減小工藝偏差并增大漏電流。
本文提出一種基于K-means算法的硬件木馬檢測方法,通過采集芯片側(cè)信道功耗信息,分析識(shí)別樣本屬性,選擇質(zhì)心,完成聚類,從而實(shí)現(xiàn)硬件木馬的有效檢測。
1.1 功耗模型
對于一個(gè)由穩(wěn)壓電源供電的標(biāo)準(zhǔn)芯片,其功耗可由電流來表示:
其中,Ig為標(biāo)準(zhǔn)芯片運(yùn)行時(shí)所產(chǎn)生的總功耗,I(f,k)表示在頻率f下進(jìn)行運(yùn)算k的動(dòng)態(tài)電流;Ipv是工藝偏差帶來的電流變化;Ie表示芯片運(yùn)行過程中的噪聲。
而對于一個(gè)內(nèi)嵌硬件木馬的芯片,由于存在額外的惡意模塊,會(huì)產(chǎn)生一定的電流變化,即
其中,It為木馬芯片運(yùn)行時(shí)所產(chǎn)生的總功耗,It(f,k)表示木馬模塊在頻率f下進(jìn)行運(yùn)算k時(shí)的動(dòng)態(tài)電流。式中,Ipv和Ie的值取決于芯片的型號和數(shù)據(jù)采集過程,其影響可通過對同一芯片進(jìn)行多次測量取均值的方法來削減。因此,對于功耗分析而言,It(f,k)便是用于辨別芯片是否存在木馬的關(guān)鍵。
1.2 K-means算法
聚類是根據(jù)樣本屬性對一組未分類的樣本進(jìn)行識(shí)別,并將樣本按指定規(guī)則歸為若干類的方法。K-means是一種廣泛使用的聚類算法,其分類步驟如下:
1隨機(jī)選取K個(gè)對象作為初始K個(gè)簇的質(zhì)心;
2對剩余的對象,根據(jù)其與各質(zhì)心的距離賦給最近的簇;
3重新計(jì)算每個(gè)簇的質(zhì)心;
4重復(fù)2-3,直到準(zhǔn)則函數(shù)收斂。
通常使用的準(zhǔn)則函數(shù)為平方誤差和函數(shù)(sum of the squared error,SSE):
其中,SSE為樣本庫內(nèi)所有對象的平方誤差和,p為樣本對象,mi為簇Ci的均值。本文中討論硬件木馬檢測問題,只存在木馬類與標(biāo)準(zhǔn)類,故K取2。
2.1 功耗分析平臺(tái)
組成芯片功耗分析平臺(tái)的部件包括FPGA板、示波器、PC機(jī)和穩(wěn)壓電源,穩(wěn)壓電源提供穩(wěn)定電壓,示波器探頭對待測芯片側(cè)信道信息進(jìn)行采集,并傳輸至PC端利用MATALB編寫判別程序進(jìn)行分析,從而實(shí)現(xiàn)硬件木馬分類檢測。一個(gè)典型的分析平臺(tái)如圖1所示:
2.2 檢測流程
利用圖1中的功耗分析平臺(tái)設(shè)計(jì)基于K-means算法的硬件木馬檢測流程如下:
STEP1:對n個(gè)待測芯片的功耗信息進(jìn)行多次采樣,采樣時(shí)使用相同測試向量,設(shè)置采樣深度為p,采樣條數(shù)為q,得到n個(gè)功耗矩陣Gp×q;
STEP2:對每個(gè)功耗矩陣取均值,進(jìn)行降噪處理;
STEP3:在Matlab中編寫判別程序,對全部待測芯片進(jìn)行聚類;
STEP4:分析聚類結(jié)果,對木馬存在性進(jìn)行判斷。
STEP5:優(yōu)化并重復(fù)實(shí)驗(yàn),直至獲得理想結(jié)果。
3.1 實(shí)驗(yàn)環(huán)境
本次實(shí)驗(yàn)采用Altera公司的EP4CE6E22C8芯片,燒錄標(biāo)準(zhǔn)AES加密算法程序,并選取部分芯片加入木馬模塊。通過泰克示波器DPO7104C來采集和顯示芯片功耗信息,并傳輸至PC機(jī)端利用MATLAB進(jìn)行數(shù)據(jù)處理和分析。
3.2 實(shí)驗(yàn)結(jié)果與分析
待待測芯片進(jìn)行功耗采樣,設(shè)置采樣深度為2000,通過多條功耗取均值來進(jìn)行數(shù)據(jù)優(yōu)化,并從中隨機(jī)抽取400條作為待測樣本,進(jìn)行K-means聚類分析。
3.2.1 干擾對聚類結(jié)果的影響
為驗(yàn)證數(shù)據(jù)中存在的噪聲等干擾對聚類結(jié)果的影響,設(shè)置兩組實(shí)驗(yàn)進(jìn)行對比,圖2(a)中為12條功耗數(shù)據(jù)進(jìn)行降噪處理時(shí)的K-means聚類結(jié)果,圖2(b)為30條功耗數(shù)據(jù)進(jìn)行降噪的聚類結(jié)果。其中,芯片中所植入的木馬占芯片原始模塊的2.39%。
可以看出,用12條功耗數(shù)據(jù)進(jìn)行降噪處理時(shí),聚類結(jié)果與實(shí)際類存在一定的差異;而用30條功耗數(shù)據(jù)進(jìn)行降噪處理時(shí),聚類結(jié)果與實(shí)際類一致。表1中給出了兩種降噪條件下的判別結(jié)果,其中,誤判為標(biāo)準(zhǔn)芯片判為木馬芯片的比例,漏判為木馬芯片判為標(biāo)準(zhǔn)芯片的比例。
表1 降噪與判別結(jié)果
實(shí)驗(yàn)結(jié)果表明,在干擾降低到較低水平時(shí),K-means算法可以對全部待測芯片進(jìn)行準(zhǔn)確聚類。
3.2.2 木馬面積對聚類結(jié)果的影響
為驗(yàn)證木馬面積對聚類結(jié)果的影響,同樣設(shè)置兩組實(shí)驗(yàn),圖3中給出了占芯片原始模塊的2.39%的木馬1和1.49%的木馬2的聚類分析結(jié)果,兩組數(shù)據(jù)均采用12條功耗數(shù)據(jù)均值降噪處理。
可以看出,木馬較大時(shí),聚類分析的準(zhǔn)確較高。這是由于木馬越大,對芯片功耗信息的干擾就越大,就越容易區(qū)分。表2給出了兩種情況下的判別結(jié)果。
表2 木馬與判別結(jié)果
本文利用K-means算法對待測芯片的功耗信息進(jìn)行聚類分析,聚類分析的結(jié)果與樣本數(shù)據(jù)中的干擾以及木馬面積的大小有關(guān)。經(jīng)過降噪處理后,可以對400個(gè)待測樣本數(shù)據(jù)實(shí)現(xiàn)準(zhǔn)確聚類。利用K-means算法進(jìn)行硬件木馬檢測,優(yōu)點(diǎn)在于速度快,準(zhǔn)確率高,但也存在需要選擇K值的缺點(diǎn),當(dāng)芯片中植入多種硬件木馬時(shí),無法確定K值,會(huì)對判別結(jié)果造成影響。今后,將嘗試其他聚類方法在硬件木馬領(lǐng)域的應(yīng)用。
[1]Wang X,Tehranipoor M,Plusquellic J.Detecting malicious inclusions in secure hardware:Challenges and solutions[C]// IEEE International Workshop on Hardware-Oriented Security and Trust.IEEE,2008:15-19.
[2]Chakraborty R S,Narasimhan S,Bhunia S.Hardware Trojan:Threats and emerging solutions[C]//High Level Design Validation and Test Workshop,2009.HLDVT 2009.IEEE International.IEEE,2009:166-171.
[3]Rajendran J,Gavas E,Jimenez J,et al.Towardsa comprehensive and systematic classification ofhardware Trojans[C]// IEEE International Symposium on Circuits and Systems.IEEE,2010:1871-1874.
[4]Kash J A,Tsang J C,Knebel D R.Method and apparatus for reverse engineering integrated circuits by monitoring optical emission:US,US6496022[P].2002.
[5]Chakraborty R S,Paul S,Bhunia S.Ondemand transparency for improving hardware Trojan detectability[C]//IEEE International Workshop on Hardware-Oriented Security and Trust.IEEE Computer Society,2008:48-50.
[6]Wang X,Salmani H,Tehranipoor M,et al.Hardware Trojan Detection and Isolation Using CurrentIntegration and Localized Current Analysis[C]//IEEE International Symposium on Defect and Fault Tolerance of VlsiSystems. IEEE Computer Society,2008:87-95.
[7]Rad R M,Wang X,Tehranipoor M,et al.Power supply signal calibration techniques for improving detection resolution to hardware Trojans[C]// Computer-Aided Design,2008.ICCAD 2008.IEEE/ACM International Conference on.IEEE,2008: 632-639.
[8]Jin Y,Makris Y.Hardware Trojan detection using path delay fingerprint[C]//IEEE International Workshop on Hardware-Oriented Security and Trust.IEEE,2008:51-57.
[9]Rad R M,Wang X,Tehranipoor M,et al.Power supply signal calibration techniques for improving detection resolution to hardware Trojans[C]// Computer-Aided Design,2008.ICCAD 2008.IEEE/ACM International Conference on.IEEE,2008: 632-639.
Hardware Trojan Detection Based on K-means Algorithm
Wang Boren Qu Ming
Beijing Electronic Science and Technology Institute,Beijing 100070,China
In order to detect the hardware Trojan in the integrated circuits,the K-means algorithm based on the side-channel analysis was used to classify the chip under tested.Detected the hardware Trojan by the K-means algorithm,the accuracy was related to the noise and the size of Trojan.Experimental results showed that the hardware Trojan occupied about 1.49%and 2.39%of the original module could be precise recognition,and verified the validity of the method.
Hardware Trojan;Side-channel analysis;K-means Algorithm
TP309.5
A
1672-464X(2016)2-84-04
(責(zé)任編輯:張卷美)
中央高?;究蒲袠I(yè)務(wù)費(fèi)專項(xiàng)資金(2014GCYY04)
** 作者簡介:王柏人,男,碩士研究生,研究方向?yàn)樾酒踩?曲鳴,女,碩士研究生,研究方向?yàn)橥ㄐ虐踩?/p>