李雄偉 劉俊延 張陽(yáng) 陳開(kāi)顏 劉林云
摘要:針對(duì)傳統(tǒng)芯片檢測(cè)方法存在檢測(cè)效率低、要求高、適用性差等問(wèn)題,提出了基于電磁旁路信號(hào)和機(jī)器學(xué)習(xí)方法的偽芯片檢測(cè)框架.首先,在持有正品芯片的基礎(chǔ)上通過(guò)引入神經(jīng)網(wǎng)絡(luò)和多種特征提取方法提取特征向量,并將正樣本的指令信號(hào)作為模板庫(kù);然后,對(duì)待測(cè)芯片近場(chǎng)電磁信號(hào)進(jìn)行加窗分幀,并對(duì)每幀信號(hào)進(jìn)行特征提取;最后,將特征向量輸入改進(jìn)核函數(shù)的一類(lèi)支持向量機(jī)進(jìn)行掃描式匹配,從而達(dá)到芯片檢測(cè)的目的.實(shí)驗(yàn)結(jié)果表明,該方法能夠適用于以次充好重標(biāo)記類(lèi)型的偽芯片檢測(cè).
關(guān)鍵詞:集成電路;偽芯片檢測(cè);旁路分析;自動(dòng)編碼器;一類(lèi)支持向量機(jī)
中圖分類(lèi)號(hào):TN407
文獻(xiàn)標(biāo)志碼:A
隨著半導(dǎo)體行業(yè)的迅猛發(fā)展,集成電路芯片廣泛應(yīng)用于各領(lǐng)域中,并發(fā)揮著十分重要的作用.中國(guó)是集成電路芯片的最大市場(chǎng),隨著新基建大力建設(shè),2020年芯片需求與上年相比增長(zhǎng)3%.由于芯片的廣泛應(yīng)用和工業(yè)終端設(shè)備的特殊應(yīng)用需求,對(duì)芯片的穩(wěn)定性、可靠性、安全性、大規(guī)模一致性、壽命等提出極高的要求.在極其復(fù)雜的應(yīng)用環(huán)境下,要求產(chǎn)品能夠7*24小時(shí)連續(xù)穩(wěn)定運(yùn)行,壽命達(dá)十年以上.然而,集成電路芯片產(chǎn)業(yè)鏈涵蓋設(shè)計(jì)、生產(chǎn)、分銷(xiāo)等眾多環(huán)節(jié),且需由眾多廠(chǎng)商分別完成,無(wú)法保證每一環(huán)節(jié)的可信性[1].在此過(guò)程中,芯片設(shè)計(jì)可能被仿制、芯片生產(chǎn)可能被篡改、芯片分銷(xiāo)可能會(huì)存在以假充真、以次充好、以舊充新等情況,這些都是典型的偽芯片問(wèn)題[2],對(duì)芯片的可靠性及其應(yīng)用安全性造成嚴(yán)重威脅.這些芯片一旦被部署在關(guān)鍵的電子系統(tǒng)或設(shè)備中,運(yùn)行過(guò)程中出現(xiàn)故障,將造成不可預(yù)估的損失和嚴(yán)重后果.因此,確保芯片的真實(shí)和可靠至關(guān)重要.
偽芯片通常包括重標(biāo)記、過(guò)量生產(chǎn)、不合格、克隆等類(lèi)型[3].本文主要針對(duì)以次充好、以假充真等重標(biāo)記類(lèi)型的偽芯片進(jìn)行檢測(cè).傳統(tǒng)的檢測(cè)方法主要分為物理檢測(cè)和電氣檢測(cè)[3]兩大類(lèi).物理檢測(cè)包括:封裝分析、芯片開(kāi)封、材料分析等方法.其中封裝分析和芯片開(kāi)封會(huì)對(duì)芯片造成破壞,一般適用于抽樣檢測(cè);材料分析的方法通過(guò)X射線(xiàn)或紅外光譜進(jìn)行檢測(cè),檢測(cè)時(shí)間長(zhǎng)效率低.電氣檢測(cè)包括:參數(shù)測(cè)試、功能測(cè)試、結(jié)構(gòu)測(cè)試等方法.雖然這些方法成本較低,對(duì)芯片也不會(huì)造成損壞,但對(duì)檢測(cè)人員要求高,過(guò)分依賴(lài)人為的規(guī)范操作,并且當(dāng)芯片中的電氣參數(shù)相差較大時(shí),很難斷定其究竟是偽芯片還是由工藝或環(huán)境的干擾所致.
近年來(lái),旁路分析[4]逐漸成為密鑰攻擊、硬件木馬檢測(cè)的主流方法,并在實(shí)踐中證明了該方法的有效性[5-6].因此,本文希望通過(guò)對(duì)芯片的電磁旁路信號(hào)進(jìn)行分析,從而達(dá)到檢測(cè)偽芯片的目的.
1相關(guān)工作
現(xiàn)代集成電路中包含了數(shù)十億的載流金屬線(xiàn)和電子元件,通過(guò)電磁探針能夠有效的采集到芯片運(yùn)行時(shí)的近場(chǎng)電磁信號(hào)[7].該信號(hào)受到許多電路參數(shù)影響,例如技術(shù)、布局和布線(xiàn)、代碼、內(nèi)部濾波、封裝、溫度、老化等,對(duì)這些參數(shù)進(jìn)行任何修改都將導(dǎo)致磁場(chǎng)發(fā)生變化.不同級(jí)別的差異在旁路信號(hào)中以不同的量級(jí)體現(xiàn)出來(lái),相似而不同芯片之間的差異可能體現(xiàn)在其中很微小的部分.由于集成電路的硬件特性,可以認(rèn)為其工作狀態(tài)下的電磁信號(hào)是相對(duì)穩(wěn)定的.因此,業(yè)內(nèi)普遍認(rèn)為基于旁路分析的檢測(cè)技術(shù)是一種較為有效的檢測(cè)手段.
Huang等人較早提出了利用“電磁指紋”實(shí)現(xiàn)對(duì)集成芯片檢測(cè)的思想[8],并展開(kāi)了利用電磁信號(hào)區(qū)分真實(shí)設(shè)備和不同設(shè)備的第一次探索性實(shí)驗(yàn),以證實(shí)該方法的可行性.作者討論和研究了兩種數(shù)據(jù)分析方法并通過(guò)實(shí)驗(yàn)表明:當(dāng)對(duì)原始設(shè)計(jì)實(shí)施某些修改或進(jìn)行加速老化測(cè)試時(shí),將引起電路電磁指紋的變化.并且采用近場(chǎng)測(cè)量方法對(duì)其他電路進(jìn)行的幾次并行測(cè)試也得出了相同的結(jié)果.但該方法要求條件比較嚴(yán)苛,需保證測(cè)量環(huán)境完全相同,且其測(cè)量的精度和速度也并不可觀(guān).Andrew stern等人提出了一種基于電磁信號(hào)的芯片檢測(cè)框架,用于檢測(cè)標(biāo)記和克隆的偽造芯片[9].作者演示了該框架在有參考和無(wú)參考情況下的分類(lèi)方法,并通過(guò)在所有IC上執(zhí)行非監(jiān)督(主成分分析)和監(jiān)督(線(xiàn)性判別分析)的機(jī)器學(xué)習(xí)方法,從而確定不同廠(chǎng)商和相同廠(chǎng)商所生產(chǎn)同系列芯片的相似性.作者采用了多種認(rèn)證的手段,能夠減小錯(cuò)分的可能性,但受限于僅啟用芯片的時(shí)鐘網(wǎng)絡(luò),未考慮芯片實(shí)際應(yīng)用場(chǎng)景,適用性較差.在文獻(xiàn)[10]中,作者同樣提出了基于芯片輻射的物聯(lián)網(wǎng)設(shè)備檢測(cè)方案(CREBAD),首先用快速傅里葉變換對(duì)芯片的電磁信號(hào)進(jìn)行時(shí)頻轉(zhuǎn)換,再利用遺傳算法和近似熵等理論對(duì)旁路信號(hào)進(jìn)行特征提取和選擇后進(jìn)行分類(lèi).該文獻(xiàn)在特征提取方面做了充足的考慮,并且一分類(lèi)的方法能夠適用于更加復(fù)雜的場(chǎng)景.但是該文獻(xiàn)沒(méi)有考慮近場(chǎng)電磁信號(hào)不穩(wěn)定的問(wèn)題.文獻(xiàn)[11-12]中,作者通過(guò)分析密碼芯片旁路信號(hào),從而獲得程序執(zhí)行的指令代碼,這為偽芯片的檢測(cè)提供了新的思路.JungminPark等人利用KL散度和PCA等方法提取特征并降維,再結(jié)合機(jī)器學(xué)習(xí)算法來(lái)確定在設(shè)備上執(zhí)行的指令.該方法能夠以較高的準(zhǔn)確率來(lái)實(shí)現(xiàn)旁路反匯編,但是其算法在提取特征過(guò)程中效率較低.
在總結(jié)分析相關(guān)工作基礎(chǔ)上,本文提出了一種基于SAE-OCSVM(Sparse Autoencoder-One Class SupportVectorM achines)的偽芯片檢測(cè)框架,主要貢獻(xiàn)有以下幾個(gè)方面:
1)提出了基于操作指令的芯片檢測(cè)方法,并采用滑窗搜索的策略匹配模板指令,從而實(shí)現(xiàn)芯片運(yùn)行時(shí)的無(wú)損在線(xiàn)檢測(cè).
2)提出了神經(jīng)網(wǎng)絡(luò)結(jié)合人工提取特征的方法,實(shí)現(xiàn)高效、表征性強(qiáng)的特征提取.
3)采用一類(lèi)支持向量機(jī)對(duì)特征向量進(jìn)行分類(lèi)并對(duì)算法中高斯核函數(shù)做了一定改進(jìn),以適應(yīng)融合特征向量中不同量綱的特征.
2偽芯片檢測(cè)框架
本文提出的偽芯片檢測(cè)框架建立在持有受信任來(lái)源的正品芯片基礎(chǔ)之上,其核心思想是通過(guò)現(xiàn)有的正品芯片對(duì)有限的匯編指令信號(hào)進(jìn)行特征提取并訓(xùn)練為模板庫(kù),這些模板作為后續(xù)識(shí)別待測(cè)芯片的依據(jù).將待測(cè)芯片的采集信號(hào)加窗分幀并進(jìn)一步識(shí)別,從而將雜亂無(wú)章的信號(hào)反匯編,實(shí)現(xiàn)與模板信號(hào)的匹配識(shí)別.偽芯片檢測(cè)框架如圖1所示.
1)信號(hào)采集.獲取正品芯片在執(zhí)行不同匯編指令時(shí)泄露的旁路信號(hào),可以在其內(nèi)部添加電壓觸發(fā)信號(hào)以采集到更加準(zhǔn)確的信號(hào)模板.將采樣信號(hào)模數(shù)轉(zhuǎn)換為離散的采樣點(diǎn),用于后續(xù)的特征提取和檢測(cè).采樣頻率越高,信號(hào)還原度越高,但增加了數(shù)據(jù)的計(jì)算量;采樣頻率越低,可能損失的信息量越多,比如丟失極值點(diǎn)的情況.對(duì)于已經(jīng)封裝好的芯片,電磁探針應(yīng)當(dāng)緊貼芯片正中位置的上方采集近場(chǎng)信號(hào)(遠(yuǎn)場(chǎng)信號(hào)微弱,干擾信號(hào)較多).由于近場(chǎng)信號(hào)隨空間距離變化快,電磁探針的信號(hào)采集位置不應(yīng)有較大變化,否則將影響識(shí)別準(zhǔn)確率,可以將待測(cè)設(shè)備固定在微動(dòng)平臺(tái)上確保探針位置的精準(zhǔn)放置.
2)特征提取.由于原始信號(hào)內(nèi)含有大量無(wú)關(guān)的冗余信息,因此需要建立多特征融合的模型來(lái)表述該信號(hào).自動(dòng)編碼器作為一種無(wú)監(jiān)督學(xué)習(xí)的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)[13],一般用于降噪、特征提取和降維.通過(guò)損失函數(shù)(1)最小化重構(gòu)誤差達(dá)到自動(dòng)學(xué)習(xí)輸入數(shù)據(jù)中隱含特征的∑目的:
式中:h為編碼器的映射函數(shù),g為解碼器的映射函數(shù),l為訓(xùn)練樣本數(shù),θ和θ′為編碼器和解碼器的訓(xùn)練參數(shù).本文構(gòu)建的自動(dòng)編碼器特征提取分為兩個(gè)步驟:首先利用卷積層、池化層和上采樣層代替?zhèn)鹘y(tǒng)的全連接層,構(gòu)建卷積自動(dòng)編碼器對(duì)電磁輻射這樣的時(shí)間序列信號(hào)進(jìn)行特征提取,能夠有效避免序列信息丟失并解決采樣信號(hào)不對(duì)齊的問(wèn)題.然后利用只含全連接層的自動(dòng)編碼器對(duì)卷積自動(dòng)編碼器提取出的特征進(jìn)一步降維.通過(guò)該方法能夠自動(dòng)提取信號(hào)中的隱含特征,其結(jié)構(gòu)如圖2所示.
為解決梯度消失和過(guò)擬合等問(wèn)題,目前激活函數(shù)主流使用Relu函數(shù).在第一步的卷積自動(dòng)編碼器中,由于原始電磁信號(hào)的幅值在-1到1之間,所以最
后一層卷積核的激活函數(shù)采用Tanh函數(shù),這樣能夠在輸出層實(shí)現(xiàn)信號(hào)的重構(gòu).并且實(shí)驗(yàn)中發(fā)現(xiàn),在損失函數(shù)∑中加入稀疏懲罰項(xiàng)能夠提高識(shí)別的準(zhǔn)確度:
式中:ρ為稀疏參數(shù),ρ?j為編碼層神經(jīng)元的活躍度.它能將編碼層的平均激活度控制在一個(gè)比較小的值,通過(guò)這種神經(jīng)元的稀疏性表達(dá)[14]可有助于提取特征,由于引用了稀疏懲罰項(xiàng),編碼層的卷積核采用Sigmoid激活函數(shù),而不能用Relu,否則會(huì)導(dǎo)致ρ?j出現(xiàn)大于1的可能.
卷積自動(dòng)編碼器所提取的特征主要是與時(shí)間序列相關(guān)等一些抽象的特征信息,它對(duì)信號(hào)的描述相對(duì)來(lái)說(shuō)比較宏觀(guān),難以對(duì)信號(hào)細(xì)節(jié)差異部分進(jìn)行有效的描述,當(dāng)兩條差異很小的信號(hào)作為自動(dòng)編碼機(jī)的輸入,它們可能提取出相同的特征向量并把這些細(xì)微差異當(dāng)作噪聲濾掉.因此,需進(jìn)一步人工提取原始信號(hào)的特征∑f′(cext,cvar):
式(3)中的e為信號(hào)中的各極值點(diǎn).在大量的測(cè)試實(shí)驗(yàn)中發(fā)現(xiàn),不同匯編指令對(duì)應(yīng)的信號(hào)差異體現(xiàn)在各極值點(diǎn)處明顯,并且在密碼分析的公共數(shù)據(jù)集中,原始信號(hào)被處理成了只含有極值點(diǎn)的數(shù)據(jù)集[15].式(4)是信號(hào)離散程度的度量,近場(chǎng)的電磁強(qiáng)度隨距離的變換較大,在這個(gè)空間內(nèi)磁場(chǎng)十分不均勻,電磁探針在空間上的細(xì)微偏差容易導(dǎo)致采集的信號(hào)在幅值上不穩(wěn)定,與均值作商能夠一定程度上消除這種影響.
3)待測(cè)芯片旁路信號(hào)采集.與模板信號(hào)采集不同,待測(cè)芯片的旁路信號(hào)是在線(xiàn)采集的,它可以在芯片執(zhí)行任何操作時(shí)采集任意時(shí)間段的旁路信號(hào).事實(shí)上,許多芯片也作為模塊化設(shè)計(jì)中的組成部件已經(jīng)焊接完成,無(wú)法進(jìn)行拆解檢測(cè).
在實(shí)驗(yàn)中發(fā)現(xiàn):連續(xù)兩條匯編指令之間會(huì)互相產(chǎn)生一定的影響,可以采用Hamming窗或者長(zhǎng)度略小于指令周期的矩形窗.信號(hào)采集時(shí)長(zhǎng)大于4個(gè)機(jī)器周期(51單片機(jī)),這樣能夠保證采集到的信號(hào)至少包含一條完整的指令信息.通過(guò)對(duì)采集的信號(hào)加窗分幀,并對(duì)每幀加窗信號(hào)進(jìn)行上述的特征提取步驟:
x為每幀窗信號(hào)Y中離散點(diǎn),W為加窗函數(shù),將人工提取的特征f′與自動(dòng)編碼器提取的特征hθ(W?Y)融合成特征向量f作為支持向量機(jī)的輸入.
4)采用一類(lèi)支持向量機(jī)對(duì)融合特征向量進(jìn)行訓(xùn)練和分類(lèi).一類(lèi)支持向量機(jī)是指訓(xùn)練數(shù)據(jù)中只含有一種類(lèi)別的數(shù)據(jù)(Positive or Negative),能夠通過(guò)調(diào)整參數(shù)控制學(xué)習(xí)樣本的邊界,把異類(lèi)數(shù)據(jù)排除在邊界之外.支持向量機(jī)中核函數(shù)的選取非常關(guān)鍵[16],核函數(shù)通過(guò)隱式地改變樣本向量到特征空間的映射,進(jìn)而影響分類(lèi)的效果.傳統(tǒng)的一類(lèi)支持向量機(jī)核函數(shù)有線(xiàn)性核函數(shù)和非線(xiàn)性核函數(shù),非線(xiàn)性核函數(shù)以高斯核函數(shù)最為著名,高斯核函數(shù)等非線(xiàn)性核函數(shù)2通常采用歐氏距離x1-x2來(lái)描述樣本之間的相似性,但采用歐氏距離時(shí)會(huì)導(dǎo)致在分類(lèi)過(guò)程中把不同量綱的特征元素等同的看待.因此,本文在高斯核函數(shù)基礎(chǔ)上,將計(jì)算歐式距離的絕對(duì)差改用相對(duì)差來(lái)描述,以適應(yīng)提取的融合特征:
式中:x1為待測(cè)樣本,x2為正樣本;m為特征向量的維度,算法外推能力隨著參數(shù)σ的增大而變?nèi)?為了直觀(guān)的觀(guān)察核函數(shù)改進(jìn)后的優(yōu)越性,選取二維的特征向量進(jìn)行實(shí)驗(yàn)?zāi)M上述情況,按照正態(tài)分布隨機(jī)生成30個(gè)正樣本點(diǎn)和30個(gè)負(fù)樣本點(diǎn),第一維度按照正態(tài)分布的隨機(jī)性是第二維度的數(shù)倍,決策邊界劃分結(jié)果如圖3所示.
從圖3能夠看出,在只有正樣本作為訓(xùn)練集的情況下,線(xiàn)性核函數(shù)(例如Linear、Poly、Sigmoid等核函數(shù))無(wú)法適應(yīng)一分類(lèi)的情況.而基于歐氏距離的高斯核函數(shù)分類(lèi)效果也不太理想,許多負(fù)樣本被誤判為正樣本.按照上述思想對(duì)高斯核函數(shù)進(jìn)行修改,實(shí)驗(yàn)結(jié)果如圖4所示.
高斯核函數(shù)改進(jìn),能夠有效的應(yīng)對(duì)此類(lèi)情況;一類(lèi)支持向量機(jī)的核函數(shù)能夠?qū)?shù)據(jù)映射到高維特征空間,通過(guò)假定坐標(biāo)原點(diǎn)為唯一的一個(gè)異常樣本,在聚集性的特征空間中劃出一個(gè)參數(shù)為ω,ρ的最優(yōu)的超平面并將目標(biāo)數(shù)據(jù)和坐∑標(biāo)原點(diǎn)最大分離:
式中:?i為松弛變量,調(diào)整參數(shù)υ允許在分界面和坐標(biāo)原點(diǎn)之間存在少部分的樣本.與二分類(lèi)的SVM不同但又相似,能夠在訓(xùn)練數(shù)據(jù)集只有正樣本的時(shí)候通過(guò)計(jì)算距離和決策邊界的范圍判斷其正負(fù).當(dāng)待測(cè)設(shè)備中未匹配到模板中的任何信號(hào),推斷該芯片存在問(wèn)題.
偽芯片檢測(cè)框架的算法流程描述如下:1:建立模板庫(kù)輸入:正品芯片執(zhí)行各指令的旁路信號(hào)X(離散信號(hào));
輸出:特征向量模板庫(kù)L,自動(dòng)編碼器神經(jīng)網(wǎng)絡(luò)模型model;
1model←modeltraining(X)
2whileThetemplatehasnotbeenestablisheddo
3feature1←mode(lX)I
4feature2←artificialfeatures(X)I
5L[I]←(feature1,feature2)
6I←i+1
7end
8returnL,model
2:待測(cè)芯片檢測(cè)
輸入:特征向量模板庫(kù)L,自動(dòng)編碼器神經(jīng)網(wǎng)絡(luò)模型model,待測(cè)芯片工作狀態(tài)下旁路信號(hào)X′(離散信號(hào));
輸出:芯片檢測(cè)結(jié)果
1frame signal←window-framing(X′)
2for j←0 tooNumber of framesdo
3Feature vector1←model(framesignal)
4Featurevector2←artificialfeatures(framesigna)l
5Featurevector←(Featurevector1,F(xiàn)eaturevecto)r6Resul[tj]←OCSVM(L,F(xiàn)eature vector)
7end
8return Result
3實(shí)驗(yàn)與分析
3.1實(shí)驗(yàn)設(shè)計(jì)
本實(shí)驗(yàn)選用8051系列中STC89C52RC40I-PDIP40作為正品芯片,并選取了具有非常相似功能特性的AT89S52、STC89C51RC40I(工業(yè)級(jí))、STC89C52RC40C(商業(yè)級(jí))芯片模擬偽芯片的存在,因?yàn)槠渲噶罴軜?gòu)、工作電壓和封裝類(lèi)型都是相同的.將40枚正品芯片的指令信號(hào)進(jìn)行訓(xùn)練,另外10枚正品芯片與假定偽芯片(每種各10枚)混合在一起模擬芯片工作狀態(tài)下的檢測(cè).其中AT芯片模擬“以假充真”的情形,該芯片不論是在整體布線(xiàn)上還是其它參數(shù)上都與正品芯片有著較大的差異;STC芯片模擬“以次充好”的情形.其中STC89C52RC40C在材料和工藝上相比于工業(yè)級(jí)芯片存在一定的差異,但正常環(huán)境使用時(shí)與工業(yè)級(jí)芯片幾乎沒(méi)有區(qū)別;STC89C51RC40I芯片與正品芯片之間的差異僅僅體現(xiàn)在存儲(chǔ)器上,其電磁輻射與正品芯片之間的差異極小.
實(shí)驗(yàn)環(huán)境搭建如圖5所示,將待測(cè)設(shè)備固定在微米級(jí)微動(dòng)平臺(tái)(KOHZU)上,采用單路穩(wěn)壓穩(wěn)流電源(DH1719A-3)供電.電磁探針(LANGERRF-B3-2)將采集到的電磁信號(hào)傳送給示波器(TektronixDPO-4104),并通過(guò)數(shù)據(jù)線(xiàn)傳送到計(jì)算機(jī)存儲(chǔ),信號(hào)采集過(guò)程通過(guò)計(jì)算機(jī)上的LabVIEW軟件控制.
3.2實(shí)驗(yàn)步驟
1)驗(yàn)證實(shí)驗(yàn)
為證實(shí)匯編指令和旁路信號(hào)的相關(guān)性,選取STC89C52RC40I芯片進(jìn)行一項(xiàng)驗(yàn)證性實(shí)驗(yàn).通過(guò)對(duì)芯片在連續(xù)執(zhí)行3條匯編指令期間的信號(hào)進(jìn)行分析.實(shí)驗(yàn)分兩次按照1、2、3和2、1、3先后順序的情況執(zhí)行這三條指令.該系列芯片的1個(gè)機(jī)器周期等于12個(gè)時(shí)鐘周期(振蕩周期),當(dāng)晶振為12MHz的時(shí)候,周期即為1μs.圖6所示芯片在執(zhí)行指令時(shí),其時(shí)間按指令周期對(duì)應(yīng)分別為兩個(gè)2周期指令和一個(gè)1周期指令,情況1和情況2的三條匯編指令的Pearson相關(guān)系數(shù)分別達(dá)到了0.99894、0.99914和0.99952,充分證明了依靠旁路信號(hào)與指令相關(guān)性對(duì)芯片進(jìn)行檢測(cè)識(shí)別的可行性.如果執(zhí)行相同操作時(shí)采用不同數(shù)據(jù),其差異主要體現(xiàn)在信號(hào)部分拐點(diǎn)處,且數(shù)量級(jí)遠(yuǎn)小于指令操作級(jí)別的差異.與不同操作數(shù)據(jù)的差異體現(xiàn)方式不同,指令之間的信號(hào)差異體現(xiàn)在信號(hào)波峰處,而通過(guò)合理的參數(shù)調(diào)整控制決策邊界或者給予大量的訓(xùn)練數(shù)據(jù)集仍然能夠?qū)⑵湔_的識(shí)別出來(lái).
2)信號(hào)的采集
51單片機(jī)一共有111條匯編指令,由于篇幅限制,在實(shí)驗(yàn)環(huán)境中僅選用MOVA,#DATA指令作為識(shí)別的模板并進(jìn)行訓(xùn)練.訓(xùn)練樣本在3次不同的時(shí)間和環(huán)境下通過(guò)電壓觸發(fā)信號(hào)采集.電壓觸發(fā)信號(hào)下降沿至上升沿期間,正樣本執(zhí)行MOV指令.信號(hào)采集窗口如圖7所示.
3)建立識(shí)別信號(hào)的模板
將正樣本執(zhí)行MOVA,#DATA指令時(shí)采集到的400條離散信號(hào)分批量送入自動(dòng)編碼器中訓(xùn)練.隨著訓(xùn)練迭代次數(shù)的增加,損失函數(shù)逐漸收斂,同時(shí)重構(gòu)信號(hào)與原始輸入信號(hào)的相關(guān)系數(shù)在接近1處趨于平穩(wěn),此時(shí)自動(dòng)編碼器訓(xùn)練完成,見(jiàn)圖8.
取編碼層的輸出數(shù)據(jù)作為自動(dòng)編碼器學(xué)習(xí)到的特征,融合人工提取的特征為最終提取到的特征向量,把400條正樣本的特征向量作為一類(lèi)支持向量機(jī)的正樣本訓(xùn)練.
4)待測(cè)芯片檢測(cè)
待測(cè)芯片的信號(hào)采樣頻率應(yīng)當(dāng)與訓(xùn)練樣本保持一致,若采樣頻率不同,可以利用實(shí)現(xiàn)相同的采樣頻率.將采集到的信號(hào)加窗分幀,本文采用矩形窗,窗口大小取1μs,窗口移動(dòng)的步長(zhǎng)為1個(gè)采樣點(diǎn)(1ns),如圖9所示,將信號(hào)分為數(shù)幀的窗口信號(hào).
步長(zhǎng)越大能夠減少檢測(cè)時(shí)間,步長(zhǎng)越小能夠提高檢測(cè)的準(zhǔn)確度.
加窗信號(hào)按照上述方案進(jìn)一步提取特征:通過(guò)自動(dòng)編碼器的編碼層得到的10維特征再加上人工提取的兩個(gè)特征值組成12維的特征向量.把每一幀的特征向量放入支持向量機(jī)與正樣本信號(hào)進(jìn)行掃描式的匹配,匹配到正樣本模板信號(hào)輸出1,未匹配到則輸出-1.根據(jù)匹配到模板指令的頻率來(lái)判定芯片真?zhèn)?圖10為兩種識(shí)別結(jié)果示例.
3.3結(jié)果與分析
核函數(shù)中參數(shù)σ和υ對(duì)支持向量機(jī)的決策邊界影響較大.σ越小,支持向量越少,σ越大,支持向量越多.υ決定了訓(xùn)練誤差分?jǐn)?shù)的上界和支持向量分?jǐn)?shù)的下界.考慮到高精準(zhǔn)的把負(fù)樣本識(shí)別出來(lái),而又不把正樣本排除在決策邊界外,經(jīng)過(guò)多次對(duì)不同的參數(shù)進(jìn)行試驗(yàn),σ和υ分別取0.1和0.42,實(shí)驗(yàn)結(jié)果數(shù)據(jù)如表1所示.
從實(shí)驗(yàn)結(jié)果看出:對(duì)于整體布線(xiàn)差異的芯片(STC89C52RC40C和AT89S52),信號(hào)區(qū)分度較高,其中不同廠(chǎng)家間的芯片(AT89S52)識(shí)別率能達(dá)到100%,對(duì)于局部差異的芯片(STC89C51RC40I),由于其信號(hào)差異非常的小,識(shí)別正確率與其它芯片相比較低.
該芯片檢測(cè)框架可擴(kuò)展性強(qiáng),能根據(jù)特定應(yīng)用場(chǎng)景結(jié)合不同特征提取和分類(lèi)算法.例如在信號(hào)差異很小的同廠(chǎng)家生產(chǎn)芯片情況中,不同類(lèi)型芯片的信號(hào)差異會(huì)被不同指令產(chǎn)生的信號(hào)差異所掩蓋.此類(lèi)情況下,可以根據(jù)實(shí)際需要提取出表征性強(qiáng)的特征來(lái)實(shí)現(xiàn)較高準(zhǔn)確率.這一點(diǎn)在多數(shù)同類(lèi)文獻(xiàn)中都未體現(xiàn)出來(lái),他們所采用的實(shí)驗(yàn)對(duì)象大多信號(hào)差異非常明顯(由不同廠(chǎng)家生產(chǎn)).其次,該檢測(cè)方法能夠?qū)⑿酒ぷ鲿r(shí)輻射的旁路信號(hào)“語(yǔ)義分割”為指令信號(hào),完成搜索匹配式的識(shí)別判斷,無(wú)需事先為每一塊待測(cè)芯片準(zhǔn)備測(cè)試環(huán)境,只需要為該款芯片建立指令信號(hào)模板,就能實(shí)現(xiàn)芯片的無(wú)損在線(xiàn)檢測(cè),適用性強(qiáng).
4結(jié)論
實(shí)驗(yàn)證明,本文提出的偽芯片檢測(cè)框架能夠有效檢測(cè)以假充真、以次充好等情況的芯片,并且能夠擴(kuò)展適用于所有與正品芯片在工藝技術(shù)、布局布線(xiàn)等方面存在差異的偽芯片類(lèi)型.本文采用卷積自動(dòng)編碼器能夠自動(dòng)高效的提取出電磁信號(hào)中的隱含特征,融合人工提取出的特征向量在一類(lèi)支持向量機(jī)的判別下能夠?qū)崿F(xiàn)對(duì)偽芯片的在線(xiàn)檢測(cè).在指令模板建立好的情況下,通常數(shù)分鐘就能完成一塊待測(cè)芯片的檢測(cè).該偽芯片檢測(cè)方法成本低、易于實(shí)施且可擴(kuò)展性和適用性強(qiáng),為偽芯片的檢測(cè)提供了一個(gè)新穎的思路.未來(lái)工作中,應(yīng)探尋電磁探針最佳的信號(hào)采集點(diǎn),并提出更具代表性的人工特征提取方法以應(yīng)對(duì)類(lèi)似硬件木馬等細(xì)微差異的偽芯片.
參考文獻(xiàn)
[1]崔曉通.集成電路生產(chǎn)外包過(guò)程中的安全問(wèn)題研究[D].重慶:重慶大學(xué),2018.
[2]李雄偉,馬佳巍,張陽(yáng),等.偽芯片防護(hù)研究進(jìn)展及其挑戰(zhàn)[J].火力與指揮控制,2020,45(6):177-183.
[3] TEHRANIPOOR M,SALMANI H,ZHANG X. Integrated Circuit Authentication:Hardware Trojans and Counterfeit Detection[M]. Berlin: Springer Publishing Company, Incorporated, 2013: 138-146.
[4] JIN S,KIM S,KIM H,et al.Recent advances in deep learning- based side-channel analysis[J].ETRI Journal,2020,42(2):292-304.
[5]張陽(yáng),全厚德,李雄偉,等.基于自差分分析的硬件木馬檢測(cè)研究[J].華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2019,47(2):98-102.
[6]李浪,李仁發(fā),鄒祎,等.密碼算法芯片抗功耗攻擊能力量化模型研究[J].湖南大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,37(3):73-76.
[7] AGRAWAL D,ARCHAMBEAULT B,RAO J R,et al.The EM side—channel(s)[M]//Cryptographic Hardware and Embedded Systems - CHES 2002.Berlin,Heidelberg:Springer Berlin Hei?d e l b e r g ,2 0 0 3 :2 9 - 4 5 .
[8] HUANG H,BOYER A,BEN DHIA S.Electronic counterfeit de?tection based on the measurement of electromagnetic fingerprint [J].Microelectronics Reliability,2015,55(9/10):2050-2054.
[9] STERN A,BOTERO U,RAHMAN F,et al.EMFORCED:EM- based fingerprinting framework for remarked and cloned counter?feit IC detection using machine learning classification[J].IEEE Transactions on Very Large Scale Integration(VLSI)Systems, 2 0 2 0 ,2 8( 2 ):3 6 3 - 3 7 5 .
[10]倪明濤,趙波,吳福生,等.CREBAD:基于芯片輻射的物聯(lián)網(wǎng)設(shè)備異常檢測(cè)方案[J].計(jì)算機(jī)研究與發(fā)展,2018,55(7):1451-1461.
[11] PARK J,XU X L,JIN Y E,et al. Power-based side-channel instruction-level disassembler[C]//2018 55th ACM/ESDA/IEEE Design Automation Conference (DAC). San Francisco,CA, U S A :I E E E ,2 0 1 8 :1 - 6 .
[12] YILMAZ B B,PRVULOVIC M,ZAJIC? A. Electromagnetic side channel information leakage created by execution of series of in?structions in a computer processor[J].IEEE Transactions on In?formation Forensics and Security,2020,15:776-789.
[13] DENG J,ZHANG Z X,EYBEN F,et al.Autoencoder-based un?supervised domain adaptation for speech emotion recognition[J]. IEEE Signal Processing Letters,2014,21(9):1068-1072.
[14]練秋生,韓冬梅.基于卷積稀疏編碼和K-SVD聯(lián)合字典的稀疏表示[J].系統(tǒng)工程與電子技術(shù),2012,34(7):1493-1498.
[15] BENADJILA R,PROUFF E,STRULLU R,et al. Deep learning for side-channel analysis and introduction to ASCAD database[J]. Journal of Cryptographic Engineering,2020,10(2):163-188.
[16]王振武,何關(guān)瑤.核函數(shù)選擇方法研究[J].湖南大學(xué)學(xué)報(bào)(自然科學(xué)版),2018,45(10):155-160.