徐 皓, 易茂祥, 金禮玉, 梁華國, 魯迎春
(合肥工業(yè)大學(xué) 微電子學(xué)院,安徽 合肥 230601)
硬件木馬(hardware Trojan,HT)是電路安全攻擊者為了達到改變集成電路(integrated circuit,IC)功能或性能、泄漏敏感信息等非法目的而在電路中植入的惡意硬件模塊。近年來,HT攻擊在硬件安全領(lǐng)域引起了廣泛關(guān)注。當(dāng)今IC專業(yè)分工的設(shè)計與制造模式所導(dǎo)致的一個后果是在設(shè)計或制造過程中電路面臨著HT植入的風(fēng)險,這是由于任何能接觸到設(shè)計或制造并熟知電路的人都可能對電路進行惡意的修改。因此,對芯片設(shè)計階段或制造后進行HT檢測是十分重要和必要的。
目前,有很多針對芯片設(shè)計或制造階段的HT檢測方法,包括逆向工程、邏輯測試、旁路分析等。逆向工程[1-2]需要對芯片進行破壞性的解封裝,整個過程代價昂貴且耗時,使得該方法的應(yīng)用受到很大局限;邏輯測試[3-5]方法在面對觸發(fā)結(jié)構(gòu)和功能都很復(fù)雜的HT時,不能有效獲得HT激活向量而實現(xiàn)檢測;旁路分析法[6-10]在當(dāng)今納米級的設(shè)計與制造水平下,工藝變化(process variation,PV)將導(dǎo)致同類芯片間的旁路特征出現(xiàn)較大的差異,使HT引起的旁路信號變化可能被PV所覆蓋,造成HT檢測失敗。從PV影響HT檢測結(jié)果的角度來看,基于門級特性描述(gate-level characterization,GLC)的HT檢測方法[11-15]具有較明顯的優(yōu)勢,它將PV引起的電路特征變化作為電路的一種固有屬性,將電路中每個門受到的PV影響與一個比例因子對應(yīng)起來,通過比例因子與門的額定功率或延時相乘,實現(xiàn)在功率或延時的變化上對PV建模。通過測量各種輸入條件下的電路總功率或路徑延遲,得到以比例因子為變量的線性方程。HT的存在將導(dǎo)致方程求解結(jié)果的比例因子產(chǎn)生異常,利用這種比例因子的異常值即可實現(xiàn)對HT的檢測。通常基于GLC的HT檢測方法需要對每個門進行精確的GLC刻畫,這對于大規(guī)模的待檢測電路來說是非常復(fù)雜和耗時的;同時,采用傳統(tǒng)的GLC方法所得到的眾多比例因子并不能直接用于識別HT導(dǎo)致的電路指標異常,而需要引入黃金模型進行比較,從而完成HT檢測。但黃金模型的獲取難度大、成本高,因此需要解決基于GLC的HT檢測方法對黃金模型的依賴性以及檢測效率低下的問題。
本文在傳統(tǒng)的基于GLC木馬檢測方法的基礎(chǔ)上,提出利用電路分區(qū)后計算并直接利用各區(qū)域木馬比例因子自比較的方法,實現(xiàn)無需黃金模型約束條件下的電路HT檢測。
為了解決基于GLC的HT檢測方法對于黃金模型依賴的問題,文獻[14]、文獻[15]分別提出了相應(yīng)方案。文獻[14]將電路劃分為2個區(qū)域,約束條件要求2個區(qū)域共同包含1個重疊的門電路;采集分區(qū)后的泄漏功耗,對不同分區(qū)分別求解重疊門電路的比例因子,若兩者的比例因子存在差異,則判定其中一個區(qū)域植入了HT;但該方案在實現(xiàn)重疊門的篩選技術(shù)上存在較大的難度。文獻[15]提出將電路分成多個區(qū)域及時鐘樹區(qū),每個分區(qū)電路比例因子的求解需要包含時鐘樹區(qū),將不同分區(qū)下的時鐘樹區(qū)比例因子進行比較,作為判斷HT存在與否的依據(jù);同時,為防止時鐘樹區(qū)植入HT導(dǎo)致誤判,引入3條判定HT存在的規(guī)則。
針對以上基于GLC的HT檢測方法存在的不足,本文提出一種基于GLC與電路分區(qū)泄漏功耗測量的HT檢測方法。該方法根據(jù)電路各區(qū)域每個門的標準泄漏功耗和劃分后測量到的各區(qū)域?qū)嶋H泄漏功耗構(gòu)成線性回歸方程,通過相應(yīng)的回歸分析求解回歸方程,得到各分區(qū)電路的木馬比例因子,該因子是可以直接反映木馬泄漏功耗的參數(shù);將各個區(qū)域的木馬比例因子進行自參照比較,可以直接實現(xiàn)HT的檢測。本文方法在消除黃金模型依賴的同時采用分區(qū)電路木馬比例因子自比較的方式,有效提高了HT的檢測效率。
IC生產(chǎn)制造過程中的PV是由于在制造過程中對小的特征技術(shù)無法做到精確控制,生產(chǎn)的IC技術(shù)指標與實際參數(shù)測量值之間存在偏差,其中PV影響最大的是電路中的閾值電壓和有效溝道長度。工藝帶來的這2個參數(shù)的變化將影響IC的一些特性參數(shù),如傳播延遲和泄漏功耗,導(dǎo)致它們偏離設(shè)計值[14]。
GLC是根據(jù)器件物理特性(如有效溝道長度)或電路特性(如傳播延遲、泄漏功耗)來表征IC每個門的特征過程。其中泄漏功耗適用于HT檢測,由于植入的HT無論是否激活都會產(chǎn)生額外的電路泄漏功耗,這使得檢測出那些復(fù)雜且難以觸發(fā)的隱蔽HT成為可能。設(shè)Pleak,j表示電路中門j的標準泄漏功耗,Pleak,j′表示門j的實際泄漏功耗,令Pleak,j′=sjPleak,j,引入比例因子sj用于描述由于PV所導(dǎo)致的標準泄漏功耗與實際泄漏功耗之間的比值。因此,可以按照下式計算出整個電路(設(shè)共N個門電路)實際泄漏功耗與各個門標準泄漏功耗之間的關(guān)系,即
(1)
電路輸入的激勵不同,所處的狀態(tài)也不同,此時各個門的泄露功耗也會有所差別,而比例因子sj通常被認為不會發(fā)生改變。文獻[15]針對輸入激勵的改變是否影響比例因子sj的問題進行了相應(yīng)的蒙特卡羅仿真分析,將一個1位全加器的各個門置于不同的輸入模式下,測量實際泄露功耗與標準泄露功耗,并計算它們之間的比值。結(jié)果表明,對于電路的不同狀態(tài),電路泄露功耗的比例因子sj基本保持不變,因此電路總泄漏功耗在輸入向量vi情況下可以表示如下:
(2)
其中:Pleak(vi)為輸入向量vi激勵下的電路的總泄漏功耗;sj為第j個門的比例因子;Pleak,j(vi)為第j個門的標準泄漏功耗(1≤j≤n)。由(2)式可知,電路在不同輸入狀態(tài)下的總泄露功耗只與相應(yīng)輸入狀態(tài)下各個門的標準功耗相關(guān),而每個門對應(yīng)的比例因子不變。但非法植入電路的HT,不論是否激活都會產(chǎn)生額外泄露功耗,這樣勢必會打破(2)式的平衡。用PHT來表示所植入HT的泄露功耗,可以得到:
(3)
將多個不同輸入激勵條件下得到的(3)式構(gòu)成方程組,用于求解具體的比例因子,輸入激勵的數(shù)量需要大于電路中門的個數(shù),以滿足方程組的非相關(guān)性,完成求解。HT引起的額外泄漏功耗將導(dǎo)致實際求解的比例因子sj相較于實際比例因子值存在異常,因此可以通過識別比例因子的異常實現(xiàn)對HT的檢測。而要構(gòu)成和求解上述方程組,需要不同輸入激勵下實際的泄露功耗和標準的泄漏功耗數(shù)據(jù)。目前市場上一些測量儀器可以實現(xiàn)對功耗極低誤差的測量,如有些儀器的測量單元能將誤差降到10-4~10-5。因此,可以利用儀器完成實際泄漏功耗的采集,而電路中門的標準泄漏功耗在相應(yīng)的工藝庫里都有定義,電路標準泄漏功耗通過設(shè)計仿真工具能夠獲得。
因為電路的標準泄露功耗和實際泄露功耗可以在設(shè)計階段和實際測量中獲得,所以能計算出各個門的比例因子sj。若此時電路中植入了木馬,引起額外的泄漏功耗,比例因子sj的值會表現(xiàn)異常,但由于門的數(shù)量眾多,微小的差異反應(yīng)到每個比例因子上很難直接識別。因此,本文為方便木馬的鑒別,額外設(shè)置s0=PHT,表示木馬比例因子,單獨反映木馬引起的泄漏功耗。對于木馬比例因子s0的求解恰好是多元線性回歸的過程,將不同輸入激勵條件下得到的(3)式構(gòu)成一組線性回歸方程,通過回歸分析求得木馬比例因子s0的值,并根據(jù)其是否異常來判斷HT是否存在,則有:
Ptol=s0Im+s1P1+s2P2+s3P3+…snPn+ε
(4)
s1pi,1-s2pi,2-…-snpi,n)2
(5)
(6)
(7)
S=(PTP)-1PTPtol
(8)
(5)式表示均方誤差;n個向量Pj加上向量Im構(gòu)成m×(n+1)維矩陣P=[ImP1P2…Pn],將(5)式簡化為矩陣形式,如(6)式所示;當(dāng)均方誤差J(S)對參數(shù)sj的偏導(dǎo)數(shù)為0時取極值,此時均方誤差最小,線性回歸參數(shù)sj可以得到最優(yōu)解S=[s0s1s2…sn]T, 如(7)式所示;將(7)式中的項重新排列,得到向量S的標準求解式(8),比例因子sj(1≤j≤n)和木馬比例因子s0可根據(jù)(8)式求解獲得。即使一些回歸方程構(gòu)成的(PTP)-1不可逆,仍可通過奇異值分解計算(PTP)-1的偽逆,從而得到向量S。
理想情況下,無HT正常電路的木馬比例因子s0等于0,而當(dāng)電路植入有HT時,s0將是一個不等于0的異常值。但在實際情況下,由于測量誤差的存在,無HT電路的木馬比例因子s0并不是理想地等于0,也就不能通過s0值是否為0來判斷HT的植入。但是如果預(yù)先確定了無HT植入時電路木馬比例因子s0的標準值,進而進行比較以判斷是否存在HT,那么就仍然需要依賴黃金模型。為此,本文提出的方法將待測電路分成多個區(qū)域,對每個區(qū)域進行泄露功耗的門級特征描述,再采用線性回歸分析求解,得到各區(qū)域的木馬比例因子。對于無HT植入的電路,這些區(qū)域間的木馬比例因子值差異不大,但如果電路的某區(qū)域存在HT的植入,則該區(qū)域的s0值將明顯異常于其他區(qū)域的s0值,可以直觀地判斷出HT的存在且定位其所在的區(qū)域。除此之外,分區(qū)后的區(qū)域電路內(nèi)邏輯門數(shù)量減少,有利于降低求解計算工作量,同時也可以提高HT的檢測精度。
本文以ISCAS’85的C17電路為例,演示本文檢測方法實現(xiàn)HT檢測的過程。C17電路由6個與非門組成,將C17電路劃分為2個區(qū)域,其中區(qū)域1植入簡單的HT(非門),如圖1所示。
圖1 電路C17
通過Innovus軟件仿真得到無HT植入時C17電路各個門的標準泄漏功耗,結(jié)果見表1所列。在電路區(qū)域1中植入木馬,再次仿真,利用PV模型來模擬統(tǒng)計電路植入HT后2個區(qū)域的實際泄漏功耗,結(jié)果見表2所列。
表1 C17電路各個門的標準泄漏功耗
表2 區(qū)域1和區(qū)域2的總泄漏功耗
利用獲得的泄漏功耗數(shù)據(jù)構(gòu)成線性回歸方程,區(qū)域1的P、Pto1為:
(9)
區(qū)域2的P、Pto1為:
(10)
按照(8)式求解可得向量S=[s0s1s2s3],結(jié)果見表3所列。其中:s0為木馬比例因子,反映木馬泄漏功耗;s1、s2、s3為普通邏輯門的比例因子。此時,若將2個區(qū)域普通邏輯門的比例因子進行比較,則很難識別出異常的區(qū)域;而若直接比較2個區(qū)域的木馬比例因子s0的值,則可以觀察到由于HT植入了區(qū)域1,導(dǎo)致該區(qū)域的s0值明顯異常,于是判斷該電路在區(qū)域1中植入了HT。
表3 區(qū)域1和區(qū)域2的比例因子值
整個檢測方法的實施流程如圖2所示。首先對待測電路進行分區(qū),建議電路設(shè)計人員在完成芯片原始電路功能設(shè)計后,將電路按照一定的規(guī)則劃分成多個區(qū)域,可以根據(jù)不同的時鐘域和不同的功能模塊來劃分,每個區(qū)域包括1個或多個功能模塊;給劃分后的每個電路分區(qū)添加電源門控單元,各區(qū)域的供電電源受電源門控單元控制可隨意開關(guān),不受其余區(qū)域的影響,通過這樣的方式可以方便待測電路目標區(qū)域泄漏功耗的采集;獲取IC的標準泄漏功耗和實際泄漏功耗數(shù)據(jù),每個門在不同輸入激勵下的標準泄漏功耗可以通過電路仿真獲得,而每個區(qū)域?qū)嶋H泄漏功耗的采集,需要利用電源門控模塊使其他區(qū)域的電源處于關(guān)閉狀態(tài),再根據(jù)不同輸入激勵條件測量得到對應(yīng)區(qū)域的電路總泄漏功耗,隨后切換電源門控模塊測得所有區(qū)域的電路總泄漏功耗。最后,根據(jù)得到的IC各區(qū)域電路的泄漏功耗構(gòu)成線性回歸方程,并進行回歸分析,求得每個區(qū)域的木馬比例因子。
圖2 木馬球檢測方法流程
假設(shè)待測電路分成了N個區(qū)域,則可以得到N個木馬比例因子s0,通過直觀比較這些比例因子數(shù)據(jù),判斷某區(qū)域的木馬比例因子是否存在異常,實現(xiàn)HT的檢測與定位。
通過實驗將本文方法的實施流程應(yīng)用于ISCAS’85基準電路,分別對無HT植入和有HT植入的電路進行仿真。基于Nangate45nm單元庫,利用Cadence Innovus對基準電路的網(wǎng)表進行物理設(shè)計,通過功率仿真分析獲得電路中的標準泄漏功耗數(shù)據(jù),然后利用PV模型模擬電路總泄漏功耗。利用MATLAB工具對得到的泄漏功耗數(shù)據(jù)進行處理,選擇非相關(guān)性輸入激勵,構(gòu)成線性回歸方程,并通過回歸分析求解每個區(qū)域的木馬比例因子s0。實驗中對基準電路采用4分區(qū)和10分區(qū),目的是為了實現(xiàn)HT所在區(qū)域的判斷,也可以探討不同數(shù)量的分區(qū)對實驗結(jié)果的影響。
實驗將基準電路S298分別劃分為4個區(qū)域和10個區(qū)域,劃分時保證各區(qū)域的門數(shù)大致相等。均在區(qū)域1中植入非門HT,根據(jù)獲取的泄漏功耗計算得到電路區(qū)域的木馬比例因子s0,結(jié)果見表4、表5所列。從表4、表5可以看出:區(qū)域1中的s0相較于其他區(qū)域明顯異常,故以此判斷區(qū)域1植入有HT;而采用10個分區(qū)的實驗中,區(qū)域1與其他區(qū)域的木馬比例因子差值更大,說明分區(qū)越多可檢測木馬比例因子差異越高。
表4 4分區(qū)下S298電路木馬比例因子
表5 10分區(qū)下S298電路木馬比例因子
實驗同時按照4分區(qū)劃分對基準電路S344、C499、C880、C3540和C6288進行方案應(yīng)用,結(jié)果如圖3a所示,其中S344電路是需要規(guī)模由小到大的電路進行實驗對比。實驗預(yù)先在每個電路的分區(qū)1中植入HT(非門),從圖3a可以看出,分區(qū)1的木馬比例因子明顯高于其他分區(qū),而且隨著電路尺寸增加,含HT與不含HT區(qū)域的木馬比例因子差異性縮小,檢測能力降低。
對基準電路采用10分區(qū)劃分時的實驗結(jié)果如圖3b所示。從圖3b可以看出,分區(qū)數(shù)量的增加提高了方案的HT檢測能力。雖然電路規(guī)模擴大也會增加HT的檢測難度,但觀察發(fā)現(xiàn)仍然能夠根據(jù)區(qū)域1中的木馬比例因子明顯異常,判斷HT的存在和位置。
圖3 不同分區(qū)下基準電路的木馬比例因子
2種不同電路分區(qū)情況下,基準電路植入HT區(qū)域與無HT區(qū)域的木馬比例因子差值變化情況如圖4所示。從圖4可以看出,相較于4區(qū)域劃分,采用10區(qū)域劃分基準電路可比較的木馬比例因子差值更大,更有利于實現(xiàn)HT的檢測。
圖4 2種分區(qū)下各基準電路木馬比例因子差值
從上述實驗結(jié)果可以發(fā)現(xiàn),對于同一個待測電路,檢測方案中對電路的分區(qū)越多,HT產(chǎn)生的泄漏功耗在所在區(qū)域泄漏功耗的占比越大,對木馬比例因子的影響也越大,方案的檢測能力就越強。同時,隨著電路規(guī)模的擴大,HT引起的泄漏功耗相較于整個電路泄漏功耗占比減小。因此需要對電路進行更多的劃分以提高檢測能力。但分區(qū)增加會導(dǎo)致計算量增高,導(dǎo)致檢測成本增加。
根據(jù)C6288的實驗結(jié)果:在10分區(qū)情況下,可以通過不同區(qū)域木馬比例因子的差異實現(xiàn)對單非門HT的檢測;而采用4個分區(qū)時,區(qū)域木馬比例因子差異已經(jīng)無法識別,使HT的檢測變得困難。這是由于C6288包含的邏輯門門數(shù)達到2 406個,而HT門為單個非門,占比低于0.04%。實驗結(jié)果表明:當(dāng)HT電路超過總電路規(guī)模的0.04%時,可以實現(xiàn)對電路中HT的良好檢測。
本文方法用于更大更加復(fù)雜的待測電路時,可以采用更多分區(qū)劃分來保證HT的檢測能力。近幾年發(fā)表的基于電流、功率分析的HT檢測方法的實驗結(jié)果與本文方法實驗結(jié)果的檢測參數(shù)、可檢測木馬占比、木馬定位等性能的比較見表6所列。其中:檢測參數(shù)包括功耗或電流;可檢測木馬占比表示可檢測HT電路的大小占待測電路的比例;定位指是否可確定HT所在待測電路的劃分區(qū)域。
文獻[16]基于多電源瞬態(tài)電流分析,引入黃金模型比較待測芯片的總電源電流差,當(dāng)超過預(yù)定義的閾值時判定HT的存在;文獻[17]通過持續(xù)向量應(yīng)用,放大黃金模型和待測芯片的功率分布差異,根據(jù)差分功率輪廓分布的信息來判斷電路有無HT植入及其位置;文獻[18]根據(jù)泄漏電流參數(shù),利用線性回歸求解門級電路比例因子,按照其平均值和方差來估計全部待測電路的木馬比例因子的差異,實現(xiàn)對HT的檢測。表6中,文獻[15]設(shè)定時鐘樹區(qū)域為公共區(qū)域,與每個區(qū)域合并后對比例因子進行求解,利用公共區(qū)域的比例因子進行比較判斷HT,但需要限制未植入HT時的鐘樹區(qū)域,這是由于當(dāng)HT植入時鐘樹公共區(qū)域的情況下,合并后的每個區(qū)域?qū)⒍即嬖贖T,求解的比例因子都會異常,需要重新對HT進行評判。而本文方法是直接對電路進行分區(qū),根據(jù)每個分區(qū)的木馬比例因子差異識別HT,簡單實用、通用性更好。本文方法可檢測木馬占比高于0.04%,可以實現(xiàn)HT區(qū)域定位。
表6 不同木馬檢測方法比較
為改進基于GLC的HT檢測能力與效率,本文提出了一種基于電路分區(qū)自比較的HT檢測方法。直接將電路進行分區(qū),然后對區(qū)域電路的泄漏功耗進行門級特性仿真,并通過線性回歸算法求解得到每個區(qū)域的木馬比例因子,最后通過比較區(qū)域電路木馬比例因子異常性,判斷HT的存在并定位其所在區(qū)域。本文方法無需引入獲取困難的黃金模型,無需觸發(fā)HT活性,可以檢測規(guī)模占待測電路0.04%以上的微小型HT。未來工作將進一步研究探討電路劃分數(shù)量與檢測能力的具體依賴性,研究如何通過門組的概念引入以減少檢測時間。