王侃,陳浩,管旭光,顧勇
?
硬件木馬防護(hù)技術(shù)研究
王侃,陳浩,管旭光,顧勇
(密碼科學(xué)技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100878)
對(duì)硬件木馬防護(hù)技術(shù)進(jìn)行了深入研究,提出一種新的硬件木馬防護(hù)分類方法,系統(tǒng)全面地介紹了近年來主流的預(yù)防與檢測(cè)技術(shù),并通過分析比對(duì),給出各方法的特點(diǎn)和存在的問題。最后,提出新的防護(hù)技術(shù)設(shè)計(jì)思路,對(duì)未來研究方向和趨勢(shì)進(jìn)行了展望,并給出了基于木馬庫(kù)的硬件木馬檢測(cè)技術(shù)設(shè)計(jì)思路。
硬件木馬;預(yù)防技術(shù);檢測(cè)技術(shù);側(cè)信道分析
隨著集成電路技術(shù)的不斷發(fā)展,芯片的設(shè)計(jì)和制造逐步全球化。為了縮短芯片設(shè)計(jì)周期,降低設(shè)計(jì)風(fēng)險(xiǎn),越來越多的芯片公司使用第三方EDA工具或采用第三方IP的方式實(shí)現(xiàn)相應(yīng)模塊,芯片的制造、封裝工作也多由第三方公司或代工廠完成[1]。在這些過程中,芯片有可能被植入惡意電路,即硬件木馬[2]。研究發(fā)現(xiàn),硬件木馬不僅會(huì)影響芯片的性能,還會(huì)泄露芯片關(guān)鍵信息、改變電路功能、造成芯片失效等[3]。
近年來,硬件問題導(dǎo)致的安全事件層出不窮[4]。2007年,以色列轟炸敘利亞東北部的潛在核設(shè)施時(shí),由于通用處理器被植入后門,敘利亞預(yù)警雷達(dá)形同虛設(shè),沒有發(fā)出任何警報(bào)。2012年,伊朗布什爾核電站在物理隔絕的環(huán)境下依然遭受震網(wǎng)病毒的攻擊。作為信息系統(tǒng)的重要支持,芯片的安全至關(guān)重要。如果硬件木馬被植入醫(yī)療、金融、軍事等領(lǐng)域的核心安全系統(tǒng)或?qū)崟r(shí)性系統(tǒng)的芯片中,都將導(dǎo)致致命的后果,嚴(yán)重威脅國(guó)家安全。
硬件木馬的潛在安全威脅,引起了國(guó)際廣泛的關(guān)注。許多科研機(jī)構(gòu)提出了硬件木馬防護(hù)方法,為芯片的安全保護(hù)提供了保障。根據(jù)芯片設(shè)計(jì)生產(chǎn)的一般流程,硬件木馬防護(hù)主要包括預(yù)防技術(shù)和檢測(cè)技術(shù)。預(yù)防技術(shù)是在芯片設(shè)計(jì)時(shí),為防護(hù)硬件木馬進(jìn)行特別設(shè)計(jì),增強(qiáng)芯片抗修改的能力和自檢測(cè)能力,主要技術(shù)包括自檢邏輯、激活單元、可測(cè)性設(shè)計(jì)、混淆技術(shù)以及專用架構(gòu)技術(shù)等。檢測(cè)技術(shù)是在芯片生產(chǎn)制造后,通過檢測(cè)方法判斷硬件木馬的存在,常用的檢測(cè)技術(shù)包括反向工程、邏輯測(cè)試、側(cè)信道分析、運(yùn)行時(shí)監(jiān)控等。
在以往的工作中,有很多針對(duì)硬件木馬防護(hù)技術(shù)的綜述研究,然而這些研究大都面向檢測(cè)技術(shù),側(cè)重于側(cè)信道分析、邏輯檢測(cè)、反向工程等方面,而缺乏針對(duì)預(yù)防技術(shù)和其他檢測(cè)技術(shù)的總結(jié)。為此,本文對(duì)硬件木馬防護(hù)技術(shù)深入地進(jìn)行了研究,提出了一種新的硬件木馬防護(hù)分類方法,并對(duì)主流的防護(hù)方法進(jìn)行更系統(tǒng)全面的分析,為下一步硬件木馬防護(hù)的研究提供重要依據(jù)。
硬件木馬是指在設(shè)計(jì)、生產(chǎn)和制造過程中通過植入、篡改等方式加入原始電路的惡意電路,意在竊?。ɑ蛐孤叮?、破壞、改變電路或電路信息。
如圖1所示,典型的硬件木馬包含2個(gè)部分:觸發(fā)電路和負(fù)載電路[5]。觸發(fā)電路在特定輸入信號(hào)的條件下會(huì)被觸發(fā),從而激活實(shí)現(xiàn)了惡意功能的負(fù)載電路部分,實(shí)施惡意攻擊。
圖1 硬件木馬結(jié)構(gòu)示意
一般來說,硬件木馬具有以下幾個(gè)基本特點(diǎn)。
1) 惡意性:硬件木馬一般都是有目的性地惡意攻擊,意在竊取重要數(shù)據(jù),混淆、破壞原始電路功能,泄露秘密信息等。
2) 觸發(fā)性:在一般情況下,硬件木馬處于非激活狀態(tài);在滿足特殊條件或一定信號(hào)激勵(lì)下,才會(huì)觸發(fā)相應(yīng)功能。
3) 隱藏性:相對(duì)于一般電路,硬件木馬電路尺寸小、功耗小、激活概率低,且在非激活狀態(tài)不會(huì)影響原始電路運(yùn)作,不易發(fā)現(xiàn),具有很高的隱藏性。
4) 多樣性:根據(jù)實(shí)現(xiàn)方式、激活方式、目標(biāo)性的不同,硬件木馬可以分為不同類別,幾乎存在于芯片設(shè)計(jì)生產(chǎn)的每一個(gè)階段,如圖2所示[6],種類繁多,排查難度大。
圖2 硬件木馬可能的植入階段
硬件木馬可以按照植入階段、植入層次、激活方式、功能影響、存在形式和存在位置等因素進(jìn)行分類[7]。其中,按照植入階段不同,硬件木馬可以在設(shè)計(jì)、制造、測(cè)試等各個(gè)階段植入;按照植入層次不同,硬件木馬可以在系統(tǒng)級(jí)、寄存器級(jí)、門級(jí)、晶體管級(jí)甚至物理級(jí)植入;按照激活方式不同,硬件木馬可以分為常開型、內(nèi)部觸發(fā)型和外部觸發(fā)型等;按照功能影響不同,硬件木馬可分為改變功能型、降低性能型、泄露信息型和拒絕服務(wù)型等;按照存在形式不同,可分為組合型、時(shí)序型、模擬型等;按照存在位置不同,硬件木馬可以位于處理器、存儲(chǔ)器、輸入輸出端口、電源模塊、時(shí)鐘網(wǎng)絡(luò)、ASIC、DSP以及FPGA中。
為避免硬件木馬帶來的安全隱患,近年來,國(guó)內(nèi)外學(xué)者紛紛提出硬件木馬防護(hù)的技術(shù)和方法,根據(jù)實(shí)施方式不同,主要分為芯片生產(chǎn)前的預(yù)防技術(shù)[8~19]和芯片生產(chǎn)后的檢測(cè)技術(shù)[20~72],如圖3所示。
圖3 硬件木馬預(yù)防技術(shù)分類
硬件木馬預(yù)防技術(shù)是指在芯片設(shè)計(jì)階段,通過修改原有設(shè)計(jì)或加入額外的檢測(cè)電路等方法,增強(qiáng)芯片對(duì)電路修改或植入的檢測(cè)能力,提高被植入硬件木馬的激活概率,增加芯片對(duì)硬件木馬的防護(hù)能力。
3.1.1 自檢邏輯設(shè)計(jì)
一些研究在設(shè)計(jì)時(shí)加入了特定電路,形成自檢邏輯,以實(shí)現(xiàn)在硬件木馬植入時(shí)的自檢測(cè)。其中,Chakraborty等[8]利用攻擊者會(huì)選用電路中的低可達(dá)狀態(tài)節(jié)點(diǎn)和低可觀測(cè)輸出端點(diǎn)進(jìn)行攻擊的特點(diǎn),提出一種防硬件木馬設(shè)計(jì)方法。該方法在低可達(dá)狀態(tài)節(jié)點(diǎn)添加控制邏輯(由特定密鑰啟動(dòng)),能夠觸發(fā)節(jié)點(diǎn)狀態(tài)并生成相關(guān)“簽名值”,并根據(jù)在特定輸入密鑰下輸出“簽名值”的變化判斷系統(tǒng)是否包含硬件木馬。
Xiao等[9]利用攻擊者會(huì)采用空白區(qū)域植入木馬的特點(diǎn),提出了一種防止木馬植入的內(nèi)建自認(rèn)證技術(shù)。該技術(shù)在布局階段利用芯片的空白區(qū)域填充具有實(shí)際功能的標(biāo)準(zhǔn)單元,并將標(biāo)準(zhǔn)單元連接形成芯片的自檢電路,輸出特定范圍的簽名值。一旦標(biāo)準(zhǔn)單元被刪除或破壞,就會(huì)產(chǎn)生錯(cuò)誤的簽名值,通過對(duì)簽名值的判斷實(shí)現(xiàn)自認(rèn)證的功能。
Li等[10]提出了一種將傳感器作為自檢模塊來實(shí)現(xiàn)硬件木馬預(yù)防的方法。該方法在芯片設(shè)計(jì)時(shí)加入傳感器,預(yù)測(cè)特定操作序列下的時(shí)延特征,與基準(zhǔn)數(shù)值進(jìn)行比較。若比對(duì)結(jié)果存在較大差距,則可判定硬件木馬的存在。
此外,Kitsos等[65]利用環(huán)形振蕩器來預(yù)防硬件木馬的植入。研究發(fā)現(xiàn),硬件電路的改變會(huì)通過環(huán)形振蕩器的頻率變化體現(xiàn)。Zhang等[66]建立了環(huán)形振蕩器網(wǎng)絡(luò),并將網(wǎng)絡(luò)分布在整個(gè)芯片以監(jiān)控預(yù)防硬件木馬。Ferraiuolo等[67]還針對(duì)環(huán)形振蕩器的位置對(duì)檢測(cè)的影響進(jìn)行了分析研究,通過優(yōu)化振蕩器的位置提高自檢的效率。
3.1.2 激活單元設(shè)計(jì)
另外一部分研究通過添加特定單元,最大化地激活硬件木馬,以輔助生產(chǎn)后的硬件木馬檢測(cè),提高檢測(cè)成功率。
Salmani等[11]提出了一種提高硬件木馬激活概率的方法。文章首先分析了激活硬件木馬的可能性,并通過幾何分布(GD,geometric distribution)方法預(yù)估硬件木馬激活概率以及所需要的時(shí)鐘周期。然后在激活概率較低的節(jié)點(diǎn)線路上添加虛擬觸發(fā)器,提高這些節(jié)點(diǎn)狀態(tài)的可達(dá)概率,如圖4所示,其中,圖4(a)中括號(hào)左側(cè)數(shù)據(jù)表示該節(jié)點(diǎn)狀態(tài)為真概率,右側(cè)數(shù)據(jù)表示狀態(tài)為假概率。實(shí)驗(yàn)結(jié)果顯示,這種方法可以在對(duì)芯片面積不明顯增加的情況下,大大減少激活硬件木馬的時(shí)間,提高硬件木馬檢測(cè)的效率。
Zhou等[12]在電路中添加了多路復(fù)用器,將激活概率最低的線路通過復(fù)用器屏蔽掉,保證低激活率的線路不被選擇,從而提高激活的概率。
(a) 原始電路節(jié)點(diǎn)概率
(b) 添加虛擬觸發(fā)器后節(jié)點(diǎn)概率
圖4 虛擬觸發(fā)器示意
3.1.3 可測(cè)性設(shè)計(jì)
可測(cè)性設(shè)計(jì)是芯片功能測(cè)試的重要手段。有部分研究基于傳統(tǒng)可測(cè)性設(shè)計(jì)理念提出了針對(duì)硬件木馬的可測(cè)性設(shè)計(jì)方法,在設(shè)計(jì)時(shí)加入可測(cè)點(diǎn)以輔助邏輯檢測(cè),提高硬件木馬檢測(cè)的效率。
其中,Jin等[13]根據(jù)攻擊者一定會(huì)攻擊關(guān)鍵信號(hào)路徑的特點(diǎn),提出了一種硬件木馬可測(cè)性設(shè)計(jì)方法(DFTT, design for Trojan test)。該方法通過代碼分析、敏感路徑搜索和檢測(cè)點(diǎn)插入這3個(gè)環(huán)節(jié),實(shí)現(xiàn)對(duì)關(guān)鍵信號(hào)路徑的保護(hù),以防止泄露型硬件木馬的植入。此外,Banga等[14]提出了一種非掃描的可測(cè)性設(shè)計(jì)方法,利用觸發(fā)器的信號(hào)增加可達(dá)的狀態(tài)空間,從而提高木馬被觸發(fā)的概率,如圖5所示。
圖5 可測(cè)性設(shè)計(jì)方法
3.1.4 混淆技術(shù)
混淆技術(shù)是防止反向分析攻擊和芯片修改的有效方法,通過對(duì)芯片進(jìn)行迷惑性的設(shè)計(jì),使攻擊者不易找到真實(shí)電路,增加木馬植入的難度。此外,混淆設(shè)計(jì)還可以使設(shè)計(jì)者在木馬植入后及時(shí)發(fā)現(xiàn)芯片的改變。
Chakraborty等[15]使用文獻(xiàn)[8]的思想,提出一種基于混淆手段的SoC設(shè)計(jì)方法。該方法在芯片中創(chuàng)建了屏蔽實(shí)際功能模塊的“網(wǎng)關(guān)”,并使用特定的密鑰激活,通過這種方式對(duì)攻擊者進(jìn)行迷惑,從而保護(hù)門級(jí)IP不被硬件木馬植入。研究發(fā)現(xiàn),混淆技術(shù)可以保證在不影響面積、功耗和延遲的情況下,有效提高木馬檢測(cè)的效率,增加硬件木馬植入的難度。隨后,該方法被應(yīng)用于RTL級(jí)IP的檢測(cè)和保護(hù)[16]。Chakraborty在文獻(xiàn)[17]中,將混淆狀態(tài)機(jī)劃分為初始狀態(tài)機(jī)和隔離狀態(tài)機(jī)這2個(gè)部分,一旦有錯(cuò)誤的輸入,就會(huì)跳入隔離狀態(tài)機(jī)無法跳出。實(shí)驗(yàn)證明其在對(duì)抗硬件木馬植入方面效果顯著。
3.1.5 架構(gòu)技術(shù)
此外,Das等[18]提出了一種預(yù)防信息泄露型木馬的總線架構(gòu),其通過在CPU和內(nèi)存之間設(shè)置一個(gè)守護(hù)核,對(duì)CPU寫內(nèi)存的操作流進(jìn)行監(jiān)控,及時(shí)發(fā)現(xiàn)與正常的操作流不符的寫操作,防止惡意硬件對(duì)關(guān)鍵信息的泄露。
Bloom等[19]提出了一種面向FPGA SoC的設(shè)計(jì)架構(gòu),通過局部運(yùn)行可重構(gòu)(PRR,partial runtime reconfiguration)技術(shù)和硬件抽象層(HAL,hardware abstraction layer),運(yùn)用片上資源重組、加密執(zhí)行、功能等價(jià)變體等防御機(jī)制,有效防止惡意木馬的植入,保護(hù)芯片的關(guān)鍵敏感信息。
不同于軟件木馬,硬件木馬一旦植入就無法被刪除,因此包含硬件木馬的電路與原有電路一定會(huì)存在不同。硬件木馬檢測(cè)是指芯片在流片后通過反向分析、邏輯測(cè)試、側(cè)信道分析等技術(shù)對(duì)芯片進(jìn)行檢測(cè),對(duì)比芯片流片前后存在的不同,從而判斷硬件木馬是否存在。一個(gè)好的檢測(cè)方法能夠最大化提高測(cè)試的成功率,并能避免因誤差導(dǎo)致的檢測(cè)錯(cuò)誤。
3.2.1 反向分析法
反向分析法是迄今為止最徹底、最精確的木馬檢測(cè)方法。它通過逆向工程方法將封裝(或管芯)的芯片電路打開,逐層掃描拍照電路,然后使用圖形分析軟件和電路提取軟件重建電路結(jié)構(gòu)圖,將恢復(fù)出的設(shè)計(jì)與原始設(shè)計(jì)進(jìn)行對(duì)比分析,如圖6所示[21],根據(jù)電路的不同判斷硬件木馬的存在[20]。該檢測(cè)方法能準(zhǔn)確發(fā)現(xiàn)電路中的任何惡意修改,對(duì)結(jié)構(gòu)較簡(jiǎn)單的芯片檢測(cè)效果不錯(cuò),但相對(duì)比較耗時(shí),而且費(fèi)用較高。
(a) 目標(biāo)芯片的M6布局
(b) 目標(biāo)芯片的版圖
圖6 反向分析示意圖
為此,不少研究針對(duì)反向分析提出了優(yōu)化方法。其中,Bhasin等[21]針對(duì)傳統(tǒng)光學(xué)檢測(cè)的不足提出了改進(jìn)措施。研究顯示,具有高利用率(一般大于80%)的硬件木馬都會(huì)影響到高金屬層。因此,該方法只比較最高幾層金屬層的鏡像(與GDSII),并通過計(jì)算GDSII和高分辨率的高金屬層鏡像之間的互相關(guān)性來檢測(cè)。Zhou等[22]提出一種光學(xué)方法以檢測(cè)和確定硬件木馬位置。該方法首先將填充單元進(jìn)行修改,使其對(duì)近紅外的波長(zhǎng)光能夠強(qiáng)反射,然后對(duì)芯片進(jìn)行反面拍攝,利用填充單元生成的亮點(diǎn)作為芯片的水印,判別芯片是否被篡改。Bao等[23]提出一種反向工程實(shí)施方案,采用了成熟的機(jī)器學(xué)習(xí)方法,通過一類支持向量機(jī)(one-class support vector machine)來實(shí)現(xiàn)版圖比對(duì)和硬件木馬檢測(cè)。隨后Bao[24]基于該方法提出一種反向分析輔助方法,通過對(duì)每個(gè)單元敏感性的分析和對(duì)標(biāo)準(zhǔn)單元的劃分,降低反向分析時(shí)的難度。此外,文獻(xiàn)[25,26]也都針對(duì)反向分析方法的效率和成本進(jìn)行了改善。
3.2.2 邏輯測(cè)試法
邏輯測(cè)試法通過產(chǎn)生測(cè)試向量,試圖觸發(fā)隱藏的木馬激活條件,使硬件木馬生效并顯現(xiàn)相應(yīng)功能。由于芯片密度不斷增大,要找到覆蓋所有節(jié)點(diǎn)的測(cè)試向量幾乎不可能,因此邏輯測(cè)試的難點(diǎn)在于定義合適的測(cè)試向量激活硬件木馬[27]。對(duì)于典型的硬件木馬,其設(shè)計(jì)的一個(gè)指標(biāo)就是隱藏性,因此通過標(biāo)準(zhǔn)測(cè)試向量激活木馬的方法難度很大。
為此,不少研究人員提出了提高激活概率的邏輯測(cè)試方法。Zhang等[28]提出了一種完善的硬件木馬邏輯測(cè)試檢測(cè)流程,通過可疑信號(hào)檢測(cè)、覆蓋率分析、冗余電路刪除、ATPG生成以及等價(jià)定理分析等環(huán)節(jié),填補(bǔ)了傳統(tǒng)流程不能測(cè)試第三方IP的不足。其中,覆蓋率分析用于識(shí)別出可疑信號(hào),冗余電路刪除和等價(jià)定理用于減少可疑信號(hào)數(shù)量,而ATPG生成則用于產(chǎn)生激活硬件木馬的激勵(lì)信號(hào)。此外,Jha等[29]提出了一種隨機(jī)分布方法,通過比較原始電路和現(xiàn)實(shí)電路的邏輯功能區(qū)別,即時(shí)發(fā)現(xiàn)硬件木馬。Salmani[30]和Banga[14]等提出了一種輔助邏輯測(cè)試的硬件木馬激活方法,并分析了它的平均激活時(shí)間。
3.2.3 側(cè)信道分析方法
基于側(cè)信道分析的硬件木馬檢測(cè)方法是目前使用最多、最有效的檢測(cè)方法之一。該方法通過比對(duì)電路中物理特性和旁路信息的不同,發(fā)現(xiàn)電路的變化,如圖7所示[21]。它基于的思想是任何硬件電路的改變都會(huì)反映在一些電路參數(shù)上,如功率、時(shí)序、電磁、熱等。在側(cè)信道分析方法中,需要有一個(gè)比對(duì)芯片,即沒有被植入的“純凈芯片”。
圖7 側(cè)信道分析平臺(tái)示意圖
根據(jù)旁路信息的不同,側(cè)信道分析可分為基于功耗[31~37]、靜態(tài)電流[38~41]、電磁信息[42~44]、路徑時(shí)延信息[45~48]等的分析方法。除此以外,還有針對(duì)多種旁路信息的綜合分析和側(cè)信道分析增強(qiáng)技術(shù)[53~57]的研究。
1) 功耗分析
Agarwal等[31]首次提出利用側(cè)信道信息檢測(cè)硬件木馬的方法,該方法獲取芯片的功耗特征,通過K-L擴(kuò)展分析法生成芯片指紋,再將待測(cè)芯片與“純凈芯片”的功耗特征進(jìn)行比對(duì),以判斷芯片是否被篡改。Banga等[32]利用“持續(xù)向量技術(shù)”將功耗信息放大,使包含硬件木馬的芯片特征更加凸顯。Marchand等[33]在FPGA上實(shí)現(xiàn)并完成了硬件木馬測(cè)試。Liu等[34]在前人基礎(chǔ)上提出了新的功耗分析方法。
在國(guó)內(nèi)方面,大多數(shù)工作側(cè)重于功耗特征分析方法的研究。其中,劉長(zhǎng)龍等[35]基于相關(guān)性分析(Pearson相關(guān)系數(shù))對(duì)芯片中的功耗信息進(jìn)行分析比對(duì),根據(jù)功耗特征的變化實(shí)現(xiàn)硬件木馬的檢測(cè)。張鵬等[36]提出了一種硬件木馬無損檢測(cè)方法,即通過基于絕對(duì)信息散度指標(biāo)的投影尋蹤技術(shù),實(shí)現(xiàn)功耗特征提取識(shí)別與分析。薛明富等[37]提出了一種針對(duì)微弱木馬的信號(hào)檢測(cè)技術(shù),通過時(shí)域約束估計(jì)器和主成分投影技術(shù)、子空間投影和重構(gòu)信號(hào)分析方法,實(shí)現(xiàn)對(duì)芯片功耗信息的分析檢測(cè)。
2) 漏電流分析
除分析動(dòng)態(tài)功耗方法以外,還有一些針對(duì)漏電流的研究。其中,Wang等[38]提出一種通過電流信息檢測(cè)硬件木馬的方法。在該方法中,芯片漏電流和電流信息作為芯片的指紋信息被提取,并與“純凈芯片”相比對(duì)。不同于直接使用電流信息,該文使用電流整合技術(shù)來降低檢測(cè)誤差。Rad等[39]提出了一種基于漏電流和瞬變電流的信息分析方法,利用4種信號(hào)校準(zhǔn)機(jī)制提高判斷的準(zhǔn)確性。Wei等[40]通過追蹤漏電流信息來判斷芯片是否含有硬件木馬。Wilcox等[41]在最近的研究中通過多個(gè)芯片中拓?fù)浞植嫉亩它c(diǎn)進(jìn)行漏電流的測(cè)試以降低噪聲影響。
3) 電磁信息
Soll等[42]提出一種基于電磁信號(hào)的硬件木馬檢測(cè)方法。該方法基于FPGA實(shí)現(xiàn)了AES并植入硬件木馬,分析了其在不同位置、不同邏輯分布情況下對(duì)硬件木馬檢測(cè)的影響。Balasch等[43]在FPGA上實(shí)現(xiàn)了極小的硬件木馬,并通過電磁信號(hào)進(jìn)行分析檢測(cè),實(shí)驗(yàn)驗(yàn)證了檢測(cè)方法的有效性,同時(shí)對(duì)小尺寸硬件木馬的檢測(cè)難度給予了評(píng)定。李雄偉等[44]利用K-L變換對(duì)芯片中的電磁信號(hào)進(jìn)行特征提取,通過信號(hào)分析等方法實(shí)現(xiàn)硬件木馬的檢測(cè)。
4) 路徑延遲信息
此外,路徑延遲也會(huì)因?yàn)橛布抉R的植入發(fā)生變化?;谶@個(gè)特性,Jin[45]首次提出了利用芯片延遲信息生成芯片指紋實(shí)現(xiàn)硬件木馬檢測(cè)的方法。隨后,基于該項(xiàng)工作,Cha[46]和Kumar[47]等也先后提出了針對(duì)路徑延遲的檢測(cè)方法。Yoshimizu等[48]利用硬件木馬會(huì)破壞芯片的一些路徑對(duì)稱性的特點(diǎn),提出了一種基于對(duì)稱路徑的檢測(cè)手段,通過對(duì)稱路徑搜索、路徑延遲檢測(cè)等步驟,檢測(cè)硬件木馬是否植入。
5) 綜合分析
單一的測(cè)試可能會(huì)受到生產(chǎn)過程產(chǎn)生的噪聲影響而使測(cè)試不準(zhǔn)確,很多研究采用多種信息綜合分析的思路。其中,Narasimhan[49]分析了多個(gè)側(cè)信道參數(shù)之間的相關(guān)性,并首次提出利用多項(xiàng)旁路信息進(jìn)行硬件木馬檢測(cè)的方法。Nowroz等[50]利用芯片的熱量和功耗分布進(jìn)行側(cè)信道分析。Cao[51]和Ngo[52]等先后利用時(shí)延和功耗信息[51]、時(shí)延和電磁信息[52]進(jìn)行了綜合分析檢測(cè)。
6) 增強(qiáng)技術(shù)
也有一些研究提出了針對(duì)側(cè)信道分析的增強(qiáng)技術(shù),以提高分析的效率和準(zhǔn)確度。Banga[53]、Xue[54]和Du[55]分別提出基于芯片劃分的檢測(cè)方法,對(duì)不同芯片的不同區(qū)域分別提取側(cè)信道信息進(jìn)行統(tǒng)計(jì)分析,通過檢測(cè)點(diǎn)部署、最大化激勵(lì)測(cè)試向量生成以及信號(hào)校準(zhǔn)等技術(shù),改善檢測(cè)的敏感性,去除片間的生產(chǎn)制造產(chǎn)生的噪聲,從而提高側(cè)信道檢測(cè)時(shí)的效率和準(zhǔn)確性。文獻(xiàn)[51]同樣采用了芯片劃分的方法,每個(gè)區(qū)域都使用一個(gè)獨(dú)立的電流傳感器進(jìn)行信息采集。
此外,Potkonjak等[56]提出了針對(duì)門級(jí)特性的側(cè)信道分析方法,利用門級(jí)的漏電流、動(dòng)態(tài)功耗和時(shí)延等特征信息,建立木馬檢測(cè)的線性規(guī)劃模型,有效提高了側(cè)信道分析的精度。Karunakaran等[57]采用了類似的方法,分別針對(duì)與、或、非、與非、或非等門的漏功耗特性進(jìn)行了研究,建立線性規(guī)劃模型,通過求解該模型和表示硬件木馬存在的變量,實(shí)現(xiàn)硬件木馬的檢測(cè)。
表1 硬件木馬預(yù)防檢測(cè)技術(shù)分析對(duì)比匯總
注:H表示高,M表示中,L表示低;Y表示是,N表示否,Y/N表示兩者皆有。
3.2.4 運(yùn)行時(shí)監(jiān)控方法
盡管上述的預(yù)防檢測(cè)技術(shù)足以保證硬件木馬的有效防護(hù),但由于方法的局限性,依然不能覆蓋所有的硬件木馬。運(yùn)行時(shí)監(jiān)控方法就是在上述方法沒有成功的情況下,發(fā)揮最后的屏障作用,即在芯片運(yùn)轉(zhuǎn)期間,實(shí)時(shí)監(jiān)測(cè)重要信息,及時(shí)發(fā)現(xiàn)非法、惡意的操作,并采取相應(yīng)措施防止惡意功能的運(yùn)行。
McIntyre等[58]提出了基于功能等價(jià)變體(functionally equivalent variants)的檢測(cè)方法,通過不同變體在不同核中的運(yùn)行結(jié)果,判斷多核系統(tǒng)中的硬件木馬植入。Abramovici等[59]利用可重構(gòu)芯片中的可重構(gòu)核,對(duì)芯片的操作進(jìn)行實(shí)時(shí)監(jiān)控,排查非法操作。Bloom等[60]提出了一種軟硬件協(xié)同設(shè)計(jì),在操作系統(tǒng)層面,協(xié)助硬件木馬的檢測(cè)。Forte[61]和Bao[62]等提出了一種根據(jù)芯片運(yùn)行時(shí)的熱分布情況進(jìn)行實(shí)時(shí)監(jiān)控和檢測(cè)的方法,其在芯片設(shè)計(jì)時(shí)加入熱傳感器,并在芯片運(yùn)行時(shí)采集熱量信息,通過去噪處理和數(shù)據(jù)分析,實(shí)時(shí)檢測(cè)硬件木馬的存在。在文獻(xiàn)[63]中,一旦異常操作產(chǎn)生,芯片中的警戒模塊就會(huì)關(guān)閉芯片的相關(guān)功能,并觸發(fā)芯片安全機(jī)制,防止硬件木馬的進(jìn)一步攻擊。此外,Cui等[64]針對(duì)第三方IP核提出了硬件木馬實(shí)時(shí)檢測(cè)方法。該方法通過8條設(shè)計(jì)規(guī)則以及時(shí)延、面積、操作序列、開銷等約束,分析判斷IP核的可信度,并提出了使硬件木馬失效的快速恢復(fù)策略。
此外,還有部分研究通過在芯片頂層增加金屬屏蔽層,以主動(dòng)實(shí)時(shí)監(jiān)測(cè)探針探測(cè)和FIB修改等物理攻擊[68]。其中,Zhang等[69]提出一種應(yīng)用于高安全芯片的抗侵入式物理攻擊防篡改檢測(cè)技術(shù),利用芯片頂層金屬對(duì)侵入式攻擊進(jìn)行主動(dòng)監(jiān)測(cè),可有效地防止對(duì)電路存儲(chǔ)關(guān)鍵信息的提取。Briais等[70]利用旅行商算法和遺傳算法生成有源金屬屏蔽層,其生成的屏蔽層可以與檢測(cè)電路連接,有效防止芯片表面被探測(cè)攻擊。Shahrjerdi等[71]提出了一種金屬屏蔽層設(shè)計(jì)方法,通過添加傳感器等器件,以實(shí)時(shí)監(jiān)測(cè)物理攻擊,從而實(shí)現(xiàn)芯片的保護(hù)。Cioranesco等[72]還針對(duì)Mesh結(jié)構(gòu)的金屬防護(hù)層提出了密碼保護(hù)方法。
在實(shí)際的硬件木馬防護(hù)中,不會(huì)將所有的預(yù)防與檢測(cè)技術(shù)全部應(yīng)用,而是根據(jù)各種方法的特點(diǎn)和應(yīng)用領(lǐng)域,有選擇性地采用合適的方法實(shí)施防護(hù)。為此,本文將所有的預(yù)防與檢測(cè)技術(shù)按照復(fù)雜度、代價(jià)、有效性、覆蓋范圍、可實(shí)施性、可擴(kuò)展性、是否增加面積、是否需要原型等特性進(jìn)行了分析比對(duì),為方法的選擇提供依據(jù),如表1所示。使用者可以根據(jù)資金狀況、設(shè)計(jì)周期、應(yīng)用范圍等因素采用最合適的方法。
從表1中可以看出,每種方法的特性都不盡相同。在代價(jià)方面,由于反向工程會(huì)破壞芯片,且需要搭建專門的平臺(tái),因此硬件開銷較高;振蕩器網(wǎng)絡(luò)等預(yù)防方法需要額外的電路設(shè)計(jì),也會(huì)帶來芯片面積、功耗等開銷;相比較而言,邏輯測(cè)試不需要額外的檢測(cè)平臺(tái)和電路設(shè)計(jì),成本相對(duì)較低。在有效性方面,預(yù)防技術(shù)、反向工程和側(cè)信道分析技術(shù)都有不錯(cuò)的效果,而邏輯測(cè)試由于難以找到合適的測(cè)試向量,因此效果不佳。在覆蓋范圍方面,基于邏輯測(cè)試的方法基本可以應(yīng)對(duì)大多數(shù)硬件木馬,而其他方法在覆蓋范圍方面都存在局限;相比較單種測(cè)試方法,采用多種測(cè)試相結(jié)合的協(xié)同測(cè)試可以取長(zhǎng)補(bǔ)短,增加測(cè)試的覆蓋范圍。在可實(shí)施性方面,預(yù)防技術(shù)、邏輯測(cè)試以及側(cè)信道分析方面,都有較低的硬件開銷,平臺(tái)易搭建,實(shí)施性較強(qiáng)。在可擴(kuò)展性方面,邏輯測(cè)試和側(cè)信道分析都有易擴(kuò)展的優(yōu)點(diǎn)。由于預(yù)防技術(shù)需添加額外電路,因此會(huì)改變?cè)性O(shè)計(jì),增加芯片面積。在原型方面,反向工程需要有原始電路的版圖作為比對(duì)原型,而側(cè)信道分析則需要“純凈”電路作為測(cè)量基準(zhǔn)。
盡管硬件木馬預(yù)防檢測(cè)技術(shù)的研究已經(jīng)取得了許多成果,但其仍然是一個(gè)較新的研究領(lǐng)域,面臨許多挑戰(zhàn)??傮w來講主要分為以下幾個(gè)方面。
1) 預(yù)防技術(shù)的不可預(yù)估性
由于硬件木馬的多樣性特點(diǎn),在任何一種新型木馬出現(xiàn)之前,都無法預(yù)測(cè)硬件木馬的存在形式,因此要在芯片設(shè)計(jì)時(shí)考慮所有未知形式的硬件木馬幾乎不可能,這也為硬件木馬預(yù)防技術(shù)提出很大的挑戰(zhàn)。
2) 邏輯測(cè)試方法的局限性
邏輯測(cè)試方法的根本思想在于通過測(cè)試向量激活并顯現(xiàn)硬件木馬的相應(yīng)功能,從而發(fā)現(xiàn)硬件木馬的存在。然而,這種方式只能針對(duì)修改、破壞功能型的硬件木馬,對(duì)于竊取、泄露型硬件木馬沒有效果。此外,邏輯測(cè)試對(duì)于一些無法通過外部邏輯信號(hào)激活的木馬(如滿足一定周期或計(jì)數(shù)條件激活)也不適用。
3) 反向分析技術(shù)的高開銷成本
反向分析技術(shù)雖然有效,但其開銷成本大且測(cè)試周期長(zhǎng),難以大范圍實(shí)施。在實(shí)施反向分析后,原有的芯片會(huì)因遭到破壞而不能使用,因此反向分析方法只能采用抽樣檢測(cè)的形式,這就為部分或少量木馬植入的攻擊手段提供了機(jī)會(huì),不能保證所有芯片的安全性。
4) 側(cè)信道信息的提取困難大
側(cè)信道方法對(duì)于功能較為簡(jiǎn)單的芯片或密度較低的芯片應(yīng)用效果比較顯著。但是,對(duì)于更為復(fù)雜的芯片尤其是在硬件木馬比較分散的情況下,由于硬件木馬的尺寸很小,對(duì)于整個(gè)芯片的功耗、電磁等旁路信號(hào)的影響微不足道,側(cè)信道分析檢測(cè)方法難以實(shí)施。此外,由于工藝噪聲的存在,對(duì)于不同芯片或者同一芯片的不同批次,采集到的旁路信號(hào)不盡相同,這也給側(cè)信道分析帶來了極大困擾。
5) 運(yùn)行時(shí)監(jiān)控的漏洞多
運(yùn)行時(shí)監(jiān)控技術(shù)通過硬件或軟硬件相結(jié)合的方式,在運(yùn)行期間監(jiān)控總線或設(shè)備上的操作序列。這種方法不僅需要額外的設(shè)計(jì)開銷,而且會(huì)存在一些安全漏洞,僅能防止特定類型的硬件木馬,而無法應(yīng)對(duì)繞過監(jiān)控點(diǎn)的惡意攻擊。
硬件木馬和防護(hù)是黑與白的對(duì)抗,攻與防的較量,有新型的木馬出現(xiàn),也會(huì)相應(yīng)地有新的檢測(cè)手段問世。因此,為保證密碼芯片的絕對(duì)安全,要不斷深入研究新型硬件木馬安全防護(hù)技術(shù)。根據(jù)現(xiàn)有硬件木馬研究的一般特點(diǎn),未來硬件木馬防護(hù)技術(shù)的研究可以從以下幾個(gè)方面開展。
傳統(tǒng)的硬件木馬預(yù)防技術(shù)大都采用自檢模塊、虛擬觸發(fā)器等方式,而利用時(shí)延特性進(jìn)行敏感路徑的設(shè)計(jì)也是一種有效的方法。此外,硬件木馬在結(jié)構(gòu)設(shè)計(jì)等方面的研究,以及對(duì)硬件木馬通用特性的提取和描述,對(duì)硬件木馬預(yù)防技術(shù)的研發(fā)有很大幫助,也是未來研究的一個(gè)可行方向[27]。
如上文提到的,傳統(tǒng)的檢測(cè)方法都存在一些不足。一方面,可以在現(xiàn)有方法基礎(chǔ)上提出改善措施,降低成本,提高檢測(cè)效率,如采用自頂向下和分層的策略實(shí)現(xiàn)反向分析方法,與可測(cè)性設(shè)計(jì)相結(jié)合的測(cè)試向量生成方法,或者在物理設(shè)計(jì)時(shí)加入更多的測(cè)試點(diǎn)、提供更多的側(cè)信道信息等。另一方面,可以通過研究新的方法,豐富檢測(cè)手段,提高檢測(cè)成功率,如利用不可克隆函數(shù)(PUF)[73]和時(shí)延信息對(duì)路徑敏感的特性,為芯片創(chuàng)建識(shí)別密鑰,如圖8所示[74],芯片內(nèi)部電路任何的變化都可以通過密鑰的生效情況來體現(xiàn)[2]。
圖8 PUF結(jié)構(gòu)示意
在傳統(tǒng)的木馬檢測(cè)方法中,多為針對(duì)某一種特殊木馬或某一種特殊手段的研究。然而,由于硬件木馬的特殊性、多樣性,單一的檢測(cè)手段已經(jīng)不能滿足需求,而多方法協(xié)同檢測(cè)的方式也成為研究的必然趨勢(shì)。例如,將可測(cè)性設(shè)計(jì)與側(cè)信道分析技術(shù)相結(jié)合,在芯片設(shè)計(jì)時(shí)提供用于信號(hào)提取的接口;將反向工程與側(cè)信道檢測(cè)相結(jié)合,將反向分析的結(jié)果作為側(cè)信道檢測(cè)的基礎(chǔ),提高檢測(cè)的成功率;還可以將預(yù)防技術(shù)與邏輯測(cè)試、側(cè)信道分析技術(shù)相結(jié)合實(shí)施協(xié)同檢測(cè)。
由于硬件木馬的多樣性特點(diǎn),將會(huì)出現(xiàn)越來越多形式的硬件木馬,如針對(duì)FPGA內(nèi)部結(jié)構(gòu)和比特流的硬件木馬、針對(duì)第三方IP“配合型攻擊”硬件木馬(單個(gè)IP無攻擊性,多個(gè)IP聯(lián)合攻擊)以及性能減低型/拒絕服務(wù)型硬件木馬等,這些硬件木馬的存在形式在出現(xiàn)之前無法預(yù)知。在這種情況下,采用類似軟件木馬病毒庫(kù)的方式,建立硬件木馬庫(kù),為每個(gè)新增木馬建立模型,并在反向工程中與原始版圖進(jìn)行比對(duì),是解決現(xiàn)有問題的一種可行方案。通過對(duì)已知木馬電路類型進(jìn)行建模,錄入木馬庫(kù)中,再通過版圖分析工具對(duì)反向得到的版圖進(jìn)行可疑電路搜尋,與木馬庫(kù)中的木馬電路模型進(jìn)行匹配,從而實(shí)現(xiàn)硬件木馬的檢測(cè)。此外,建立專用的硬件木馬檢測(cè)EDA工具和統(tǒng)一的檢測(cè)平臺(tái)也成為必然需求,這不僅包括同時(shí)考慮預(yù)防技術(shù)和檢測(cè)技術(shù)的統(tǒng)一檢測(cè)[75],也包括對(duì)多種木馬類型的統(tǒng)一檢測(cè)。
硬件木馬的出現(xiàn)對(duì)信息安全構(gòu)成了嚴(yán)重威脅。硬件木馬的預(yù)防與檢測(cè)技術(shù)是硬件木馬防護(hù)的有效手段。本文提出一種新的硬件木馬防護(hù)分類方法,并系統(tǒng)全面地介紹了近年來主流的預(yù)防與檢測(cè)技術(shù),包括芯片設(shè)計(jì)時(shí)的預(yù)防技術(shù),芯片生產(chǎn)后的側(cè)信道檢測(cè)、邏輯測(cè)試、反向分析、運(yùn)行時(shí)監(jiān)控等。由于硬件木馬的特點(diǎn),現(xiàn)有的防護(hù)手段仍不能滿足安全防護(hù)的需求,針對(duì)不同硬件木馬存在形式的預(yù)防檢測(cè)方法、統(tǒng)一檢測(cè)平臺(tái)以及多方法協(xié)同檢測(cè)技術(shù)等是未來可行的研究方向。
[1] BHASIN S, REGAZZONI F. A survey on hardware Trojan detection techniques[C]//IEEE international Symposium on Circuits & Systems(ISCAS). 2015.
[2] TEHRANIPOOR M, KOUSHANFAR F. A survey of hardware Trojan taxonomy and detection[J]. Journal of IEEE Design& Test of Computers, 2010, 27(1): 10-25.
[3] 牛小鵬, 李清寶, 王煒, 等. 硬件木馬技術(shù)研究綜述[J]. 信息工程大學(xué)學(xué)報(bào), 2012, (6): 740-748. NIU X P, LI Q B, WANG W, et al. Survey on the hardware Trojan technologies[J]. Journal of Information Engineering University, 2012, (6): 740-748.
[4] LI H, LIU Q, ZHANG J. A survey of hardware Trojan threat and defense[J]. Integration the VLSI Journal, 2016, 55:426-437.
[5] XUAN T N, BHASIN S, DANGER J L, et al. Linear complementary dual code improvement to strengthen encoded circuit against hardware Trojan horses[C]//IEEE International Symposium on Hardware Oriented Security and Trust (HOST). 2015: 82-87.
[6] RAJENDRAN J, GAVAS E, JIMENEZ J. Towards a comprehensive and systematic classification of hardware Trojans[C]//IEEE international Symposium on Circuits and Systems (ISCAS). 2010: 1871-1874.
[7] KARRI R, RAJENDRAN J, ROSENFELD K. Trustworthy hardware: identifying and classifying hardware Trojans[J]. Journal of Computer, 2010, 43(10): 39-46.
[8] CHAKRABORTY R, PAUL S, BHUNIA S. On-demand transparency for improving hardware Trojan detectability[C]//The 2008 IEEE International Workshop on Hardware-Oriented Security and Trust (HOST). 2008: 48-50.
[9] XIAO K, FORTE D, TEHRANIPOOR M. A novel built-in self-authentication technique to prevent inserting hardware Trojans[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2014, 33(12):1778-1791.
[10] LI M, DAVOODI A, TEHRANIPOOR M. A sensor-assisted self-authentication framework for hardware Trojan detection[C]// Design, Automation & Test in Europe Conference & Exhibition. 2012:1331-1336.
[11] SALMANI H, TEHRANIPOOR M, PLUSQUELLIC J. A novel technique for improving hardware trojan detection and reducing Trojan activation time[C]//The 2009 IEEE International Workshop on Hardware-Oriented Security and Trust (HOST’2009), IEEE Computer Society. 2009: 112-125.
[12] ZHOU B, ZHANG W, THAMBIPILLAI S, TEO J. A low cost acceleration method for hardware Trojan detection based on fan-out cone analysis[C]//The International Conference on Hardware/Software Co-design and System Synthesis (CODES+ISSS). 2014: 1-10.
[13] JIN Y, KUPP N. DFTT: design for Trojan test[C]//2010 IEEE International Conference on Electronics Circuits and Systems (ICECS’2010). 2010: 1166-1171.
[14] BANGA M, MICHAEL S. ODTETTE: a non-scan design-for-test methodology for Trojan detection in ICs[C]//The 2011 IEEE International Workshop on Hardware-Oriented Security and Trust (HOST’2011), IEEE Computer Society. 2011: 18-23.
[15] CHAKRABORTY R, BHUNIA S. HARPOON: an obfuscation-based SoC design methodology for hardware protection[J]. IEEE Transactions on CAD of Integrated Circuits and Systems, 2009, 28(10):1493-1502.
[16] CHAKRABORTY R, BHUNIA S. Security through obscurity: an approach for protecting register transfer level hardware IP[C]//IEEE International Workshop on Hardware-Oriented Security and Trust(HOST). 2009.
[17] CHAKRABORTY R, BHUNIA S. Security against hardware Trojan through a novel application of design obfuscation[C]//ICCAD. 2009: 113-116.
[18] DAS A, MEMIK G, ZAMBRENO J, et al. Detecting preventing information leakage on the memory bus due to malicious hardware[C]//The Conference on Design, Automation and Test in Europe (DATE). 2010: 861-866.
[19] BLOOM G, NARAHARI B, SIMHA R, et al. FPGA SoC architecture and runtime to prevent hardware Trojans from leaking secrets[C]//IEEE International Workshop on Hardware-Oriented Security and Trust(HOST). 2015: 48-51.
[20] SANNO B. Detecting hardware Trojans [EB/OL]. http://www. crypto.rub.de/imperia/md/content/seminare/itsss09/benjamin_sanno. semembsec_termpaper_20090732_final.pdf.
[21] BHASIN S, DANGER J, GUILLEY S, et al. Hardware Trojan horses in cryptographic IP cores[C]//Fault Diagnosis and Tolerance in Cryptography. 2013:15-29.
[22] ZHOU B, ADATO R. Detecting hardware Trojans using backside optical imaging of embedded watermarks[C]//ACM/IEEE Design Automation Conference (DAC). 2015.
[23] BAO C, FORTE D, SRIVASTAVA A. On application of one-class SVM to reverse engineering-based hardware Trojan detection[C]//The International Symposium on Quality Electronic Design (ISQED). 2014: 47-54.
[24] BAO C, XIE Y, SRIVASTAVA A. A security-aware design scheme for better hardware Trojan detection sensitivity[C]//IEEE International Symposium on Hardware Oriented Security and Trust (HOST). 2015: 52-55.
[25] TORRANCE R, JAMES D. The state-of-the-art in semiconductor reverse engineering[C]//The 48th ACM/IEEE Design Automation Conference (DAC). 2011: 333-338.
[26] COURBON F, LOUBET-MOUNDI P, FOURNIER J J A, et al. A high efficiency hardware Trojan detection technique based on fast SEM imaging[C]//Design, Automation & Test in Europe Conference & Exhibition. 2015:788-793.
[27] MOEIN S, SUBRAMNIAN J, GULLIVER T A, et al. Classification of hardware Trojan detection techniques[C]//The 10th International Conference on Computer Engineering & Systems. 2016: 357-362.
[28] ZHANG X, TEHRANIPOOR M. Case study: detecting hardware Trojans in third-party digital IP cores[C]//IEEE International Symposium on Hardware-Oriented Security and Trust (HOST). 2011: 67-70.
[29] JHA S, JHA S K. Randomization based probabilistic approach to detect Trojan circuits[C]//IEEE High Assurance Systems Engineering Symposium, IEEE Computer Society. 2008:117-124.
[30] SALMANI H, TEHRANIPOOR M, PLUSQUELLIC J. A novel technique for improving hardware Trojan detection and reducing trojan activation time[J]. IEEE Transactions on Very Large Scale Integration Systems, 2012, 20(1):112-125.
[31] AGRAWAL D, BAKTIR S, KARAKOYUNLU D, et al. Trojan detection using IC fingerprinting[C]//The 2007 IEEE Symposium on Security and Privacy( SP’07). 2007: 296-310.
[32] BANGA M, HSIAO M S. A novel sustained vector technique for the detection of hardware Trojans[C]//The 2009 22nd International Conference on VLSI Design (VLSID’09). 2009: 327-332.
[33] MARCHAND C, FRANCQ J. Low-level implementation and side-channel detection of stealthy hardware Trojans on field programmable gate arrays[J]. IET Computers Digital Technology, 2014, 8(6): 246-255.
[34] LIU Y, HUANG K, MAKRIS Y. Hardware Trojan detection through golden chip-free statistical side-channel fingerprinting[C]//ACM/ IEEE Design Automation Conference. 2014: 1-6.
[35] 劉長(zhǎng)龍, 趙毅強(qiáng), 史亞峰, 等. 基于相關(guān)性分析的硬件木馬檢測(cè)方法[J]. 計(jì)算機(jī)工程, 2013, 39(9): 183-195. LIU C L, ZHAO Y Q, SI Y F, et al. Hardware Trojan detection method based on correlation analysis[J]. Computer Engineering, 2013, 39(9): 183-195.
[36] 張鵬, 王新成, 周慶. 基于投影尋蹤分析的芯片硬件木馬檢測(cè)[J]. 通信學(xué)報(bào), 2013, 34(4): 126-137. ZOU C, ZHANG P, DENG G M, et al. Design of hardware Trojan based on power side-channel exposure[J]. Computer Engineering, 2011, 37(11):135-137.
[37] 薛明富, 胡愛群, 劉威, 等. 基于子空間域特征提取的硬件木馬檢測(cè)方法[J]. 東南大學(xué)學(xué)報(bào)(自然科學(xué)版), 2014, 44(3): 457-461. XUE M, HU A, LIU W, et al. Detecting hardware Trojan through feature extraction in subspace domain[J]. Journal of Southeast University(Natural Science Edition), 2014, 44(3): 457-461.
[38] WANG X, SALMANI H, TEHRANIPOOR M, et al. Hardware Trojan detection and isolation using current integration and localized current analysis[C]//IEEE International Symposium on Defect and Fault Tolerance of VLSI Systems. 2008: 87-95.
[39] RAD R, WANG X, TEHRANIPOOR M, PLUSQUELIC J. Power supply signal calibration techniques for improving detection resolution to hardware Trojans[C]//IEEE/ACM International Conference on Computer-Aided Design (ICCAD). 2008: 632-639.
[40] WEI S, POTKONJAK M. Scalable hardware Trojan diagnosis[J]. IEEE Transactions on Very Large Scale Integration Systems, 2012, 20(6): 1049-1057.
[41] WILCOX I, SAQIB F, PLUSQUELLIC J. GDS-II Trojan detection using multiple supply pad VDD and GND IDDQs in ASIC functional units[C]//IEEE International Symposium on Hardware Oriented Security and Trust (HOST). 2015: 144-150.
[42] SOLL O, KORAK T, MUEHLBERGHUBER M, et al. EM-based detection of hardware Trojans on FPGAs[C]//IEEE International Symposium on Hardware-Oriented Security and Trust. 2014: 84-87.
[43] BALASCH J, GIERLICHS B, VERBAUWHEDE I. Electromagnetic circuit fingerprints for hardware Trojan detection[C]//IEEE International Symposium on Electromagnetic Compatibility. 2015: 246-251.
[44] 李雄偉, 徐徐, 張陽(yáng), 等. 一種基于電磁旁路分析的硬件木馬檢測(cè)方法[J]. 計(jì)算機(jī)工程與應(yīng)用, 2013, 49(12): 97-100. LI X, XU X, ZHANG Y, et al. Hardware Trojan detection method based on electromagnetic side-channel analysis[J]. Computer Engineering and Applications, 2013, 49(12): 97-100.
[45] JIN Y, MAKRIS Y. Hardware Trojan detection using path delay fingerprint[C]//IEEE International Symposium on Hardware Oriented Security and Trust (HOST). 2008: 51-57.
[46] CHA B, GUPTA S. Trojan detection via delay measurements: a new approach to select paths and vectors to maximize effectiveness and minimize cost[C]//Design, Automation and Test in Europe Conference and Exhibition (DATE). 2013: 1265-1270.
[47] KUMAR P, SRINIVASAN R. Detection of hardware Trojan in SEA using path delay[C]//Electrical, Electronics and Computer Science. 2014:1-6.
[48] YOSHIMIZU N. Hardware Trojan detection by symmetry breaking in path delays[C]//IEEE International Symposium on Hardware- Oriented Security and Trust (HOST). 2014: 107-111.
[49] NARASIMHAN S, DU D, CHAKRABORTY R S, et al. Multiple-parameter side-channel analysis: a non-invasive hardware Trojan detection approach[C]//IEEE International Symposium on Hardware-Oriented Security and Trust. 2010:13-18.
[50] NOWROZ A, HU K, KOUSHANFAR F, et al. Novel techniques for high-sensitivity hardware Trojan detection using thermal and power maps[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2014 (33): 1792-1805.
[51] CAO Y, CHANG C H, CHEN S. A cluster-based distributed active current sensing circuit for hardware Trojan detection[J]. IEEE Transactions on Information Forensics & Security, 2014, 9(12): 2220-2231.
[52] NGO X, EXURVILLE I, et al. Hardware Trojan detection by delay and electromagnetic measurements[C]//Design, Automation and Test in Europe Conference and Exhibition (DATE). 2015: 782-787.
[53] BANGA M, HSIAO M S. A region based approach for the identification of hardware Trojans[C]//IEEE International Workshop on Hardware-Oriented Security and Trust, IEEE Computer Society. 2008: 40-47.
[54] XUE M, HU A, LI G. Detecting hardware Trojan through heuristic partition and activity driven test pattern generation[C]//Communications Security Conference. 2014:1-6.
[55] DU D, NARASIMHAN S, CHAKRABORTY R S, et al. Self-referencing: a scalable side-channel approach for hardware Trojan detection[C]//The International Conference on Cryptographic Hardware and Embedded Systems (CHES). 2010:173-187.
[56] POTKONJAK M, NAHAPETIAN A, NELSON M, et al. Hardware Trojan horse detection using gate-level characterization[C]// ACM/IEEE Design Automation Conference(DAC). 2009: 688-693.
[57] KARUNAKARAN D K, MOHANKUMAR N. Malicious combinational hardware Trojan detection by gate level characterization in 90nm technology[C]//The International Conference on Computing, Communication and Networking Technologies. 2014: 1-7.
[58] MCINTYRE D, WOLFF F, PAPACHRISTOU C, et al. Dynamic evaluation of hardware trust[C]//IEEE International Workshop on Hardware-Oriented Security and Trust. 2009: 108-111.
[59] ABRAMOVICI M, BRADLEY P. Integrated circuit security: new threats and solutions[J]. China Gems & Jades, 2009:1-3.
[60] BLOOM G, NARAHARI B, SIMHA R. OS support for detecting Trojan circuit attacks[C]//IEEE International Symposium on Hardware Oriented Security and Trust (HOST). 2009: 100-103.
[61] FORTE D, BAO C, SRIVASTAVA A. Temperature tracking: an innovative run-time approach for hardware Trojan detection[C]// The International Conference on Computer-Aided Design. 2013: 532-539.
[62] BAO C, FORTE D, SRIVASTAVA A. Temperature tracking: toward robust run-time detection of hardware Trojans[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (TCAD), 2015, 34(10):1577-1585.
[63] XUAN T N, DANGER J L, GUILLEY S, et al. Hardware property checker for run-time hardware Trojan detection[C]//European Conference on Circuit Theory and Design. 2015:1-4.
[64] CUI X, MA K, SHI L, et al. High-level synthesis for run-time hardware Trojan detection and recovery[C]//ACM/IEEE Design Automation Conference (DAC). 2014:1-6.
[65] KITSOS P, VOYIATZIS A G. FPGA Trojan detection using length-optimized ring oscillators[C]//Digital System Design. 2014:675-678.
[66] ZHANG X, TEHRANIPOOR M. RON: an on-chip ring oscillator network for hardware Trojan detection[C]//Design, Automation and Test in Europe Conference and Exhibition. 2011: 1-6.
[67] FERRAIUOLO A, ZHANG X, TEHRANIPOOR M. Experimental analysis of a ring oscillator network for hardware Trojan detection in a 90nm ASIC[C]//IEEE/ACM International Conference on Computer-Aided Design (ICCAD). 2012: 37-42.
[68] NGO X, DANGER J, GUILLEY S, et al. Cryptographically secure shield for security IP protection[J]. IEEE Transaction on Computers, 2017, 66 (2): 354-360.
[69] 張赟, 趙毅強(qiáng), 劉軍偉, 等. 一種抗物理攻擊防篡改檢測(cè)技術(shù)[J]. 微電子學(xué)與計(jì)算機(jī), 2016, 33(4): 121-124.
ZHANG Y, ZHAO Y Q, LIU J W, et al. A temper-resistant detecting technique against physical attack[J]. Microelectronics & Computer, 2016, 33(4): 121-124.
[70] BRIAIS S, CIORANESCO J, DANGER J, et al. Random active shield[C]//Fault Diagnosis and Tolerance in Cryptography, 2012: 103-113.
[71] SHAHRJERDI D, RAJENDRAN J, GARG S, et al. Shielding and securing integrated circuits with sensors[C]//ICCAD. 2014: 170-174.
[72] CIORANESCO J, DANGER J, GRABA T, et al. Cryptographically secure shields[C]//HOST. 2014: 25-31.
[73] ZHANG J, QU G, LV Y, ZHOU Q. A survey on silicon PUFs and recent advances in ring oscillator PUFs[J]. Journal of Computer Science and Technology, 2014, 29 (4): 664-678.
[74] GASSEND B. Identification and authentication of integrated circuits: research articles[J]. Concurrency and Computation: Practice & Experience, 2004, 16(11): 1077-1098.
[75] WU T, GANESAN K, HU Y, et al. TPAD: Hardware Trojan prevention and detection for trusted integrated circuits[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (TCAD), 2016, 35(4):521-534.
Research on hardware Trojan defense
WANG Kan, CHEN Hao, GUAN Xu-guang, GU Yong
(State Key Laboratory of Cryptology, Beijing 100878, China)
The definition and features of hardware Trojan were described firstly. After that, recent researches of defense and detection techniques were categorized with complete comparison and analysis. Then, current researches limitations were discussed based on the concepts and the trends perspectives of hardware Trojan defense and detection were proposed.
hardware Trojan, defense technology, detection technology, side-channel analysis
TP402
A
10.11959/j.issn.2096-109x.2017.00197
2017-06-09;
2017-08-26。
王侃,wangkan_tsinghua@163.com
王侃(1987-),男,山東淄博人,博士,密碼科學(xué)技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室工程師,主要研究方向?yàn)樾酒锢碓O(shè)計(jì)理論與算法、芯片安全性設(shè)計(jì)、嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)。
陳浩(1978-),男,河南信陽(yáng)人,密碼科學(xué)技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室高級(jí)工程師,主要研究方向?yàn)榧呻娐肺锢碓O(shè)計(jì)、芯片安全性設(shè)計(jì)。
管旭光(1983-),男,黑龍江雞西人,博士,密碼科學(xué)技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室工程師,主要研究方向?yàn)樾酒O(shè)計(jì)與實(shí)現(xiàn)、芯片安全防護(hù)技術(shù)、嵌入式系統(tǒng)設(shè)計(jì)。
顧勇(1986-),男,江蘇鹽城人,密碼科學(xué)技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室工程師,主要研究方向?yàn)閿?shù)模混合信號(hào)電路設(shè)計(jì)、集成電路物理設(shè)計(jì)、芯片安全防護(hù)技術(shù)。