《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 一種基于快速激活的硬件木馬檢測(cè)法
一種基于快速激活的硬件木馬檢測(cè)法
2016年電子技術(shù)應(yīng)用第8期
裴 根,石朝陽(yáng),鄒雪城,劉政林
華中科技大學(xué) 光學(xué)與電子信息學(xué)院,湖北 武漢430074
摘要: 硬件木馬因其巨大的潛在威脅而受到學(xué)術(shù)界和工業(yè)界越來(lái)越廣泛的關(guān)注,而傳統(tǒng)的測(cè)試技術(shù)很難發(fā)現(xiàn)這些硬件木馬,因此,針對(duì)硬件木馬的隱藏機(jī)制,提出了一種快速激活并檢測(cè)木馬的方法,通過(guò)將木馬原型植入微處理器OR1200中,并利用大量測(cè)試用例激勵(lì),激活了木馬,驗(yàn)證了該方法的正確性。
中圖分類號(hào): TN918
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.08.014
中文引用格式: 裴根,石朝陽(yáng),鄒雪城,等. 一種基于快速激活的硬件木馬檢測(cè)法[J].電子技術(shù)應(yīng)用,2016,42(8):63-66.
英文引用格式: Pei Gen,Shi Zhaoyang,Zou Xuecheng,et al. A hardware Trojan detection method based on rapid activation[J].Application of Electronic Technique,2016,42(8):63-66.
A hardware Trojan detection method based on rapid activation
Pei Gen,Shi Zhaoyang,Zou Xuecheng,Liu Zhenglin
School of Optical and Electronic Information,Huazhong University of Science and Technology,Wuhan 430074,China
Abstract: Hardware Trojans draw more and more attention of the academia and industry because of its huge potential in recent years. Traditional testing technology is difficult to find these hardware Trojans. To solve this problem, considering the hardware Trojan hidden mechanism, a rapid hardware Trojan activation method is proposed in this paper. According to implant several hardware Trojan prototypes into microprocessor OR1200 and take advantage of a large number of test vectors incentives, then using the rapid hardware Trojan activation method, Trojan horses are activated. Thus, the correctness of the method proposed is verified.
Key words : hardware Trojan,turning probability;Trojan activation;Trojan detection

0 引言

  在過(guò)去幾十年,集成電路已經(jīng)滲透到人類社會(huì)活動(dòng)的各個(gè)領(lǐng)域,包括在金融、軍事、工業(yè)、交通等關(guān)乎國(guó)家命脈的領(lǐng)域也得到了廣泛的應(yīng)用,因此確保集成電路的安全性與可靠性變得尤為重要。

  圍繞硬件木馬檢測(cè),研究人員已經(jīng)做了很多工作,但目前學(xué)術(shù)界仍缺少相應(yīng)的用于評(píng)估各種木馬檢測(cè)方法有效性的評(píng)價(jià)準(zhǔn)則[1]。現(xiàn)有的硬件木馬檢測(cè)技術(shù)主要可分為基于物理分析的檢測(cè)方法、基于ATPG(自動(dòng)測(cè)試矢量生成)的檢測(cè)方法,以及基于旁路信號(hào)分析的檢測(cè)方法?;谖锢矸治龅姆椒ㄊ且环N破壞性的方法,對(duì)芯片進(jìn)行反向工程,還原出原始設(shè)計(jì)的電路,這種方法工作量很大,效果也不太好?;谂月沸盘?hào)的旁路分析技術(shù)最初主要應(yīng)用于密碼分析學(xué)領(lǐng)域,通過(guò)監(jiān)測(cè)采集IC密碼芯片在工作時(shí)泄露的物理特征信息(如功耗、聲波、運(yùn)行時(shí)間、電磁輻射等),利用數(shù)學(xué)分析(重點(diǎn)是統(tǒng)計(jì)分析)方法獲取IC密碼芯片中的秘密信息?;谂月贩治龅拿艽a芯片正是利用原始電路與木馬電路之間旁路信號(hào)的差異來(lái)檢測(cè)木馬,文獻(xiàn)[2]首次提出采用電路的功耗信息來(lái)檢測(cè)硬件木馬的方法。此外,通過(guò)測(cè)量芯片電源端的瞬態(tài)電流信號(hào),并對(duì)這些信號(hào)進(jìn)行電流集成化分析[3]或基于區(qū)域的分析[4],可以有效地檢測(cè)出小規(guī)模的硬件木馬。文獻(xiàn)[5]提出一種基于時(shí)延的物理不可克隆功能(Physical Unclonable Function,PUF)的電路結(jié)構(gòu),該結(jié)構(gòu)能在芯片的測(cè)試階段輔助檢測(cè)硬件木馬。文獻(xiàn)[6]提出一種基于全芯片路徑延時(shí)信息的新穎指紋生成方法。文獻(xiàn)[7]提出了一種未用電路識(shí)別(UCI)技術(shù),該文章結(jié)果顯示UCI技術(shù)可以檢測(cè)大多數(shù)常規(guī)簡(jiǎn)單的硬件木馬。文獻(xiàn)[8]提出了一種新的RTL級(jí)木馬的代碼設(shè)計(jì)風(fēng)格以規(guī)避文獻(xiàn)[7]中提到的UCI檢測(cè)技術(shù)。文獻(xiàn)[9]提出了一種反硬件木馬的電路設(shè)計(jì)方法,通過(guò)密鑰產(chǎn)生簽名,對(duì)簽名進(jìn)行匹配,以檢測(cè)硬件木馬。

  文獻(xiàn)[2]~[6]的方法都是基于旁路信號(hào)分析,要生產(chǎn)出實(shí)際的芯片做測(cè)試,花銷比較大,研究周期也很長(zhǎng)。文獻(xiàn)[7]提出的UCI技術(shù)實(shí)際上是基于冗余電路分析,但是目前也有很多木馬在設(shè)計(jì)過(guò)程中就巧妙地融合到正常電路中去了,并不能被當(dāng)作冗余電路中識(shí)別出來(lái),而且文獻(xiàn)[8]就針對(duì)此UCI技術(shù)提出了一種規(guī)避的方法。文獻(xiàn)[9]中的簽名匹配技術(shù)在簽名不匹配時(shí)只能警告電路可能植入了木馬,并不能精確指出木馬的存在位置。綜上所述,本文基于木馬的隱藏機(jī)制,提出了一種基于快速激活的RTL級(jí)硬件木馬檢測(cè)方法,本方法可以檢測(cè)一些將電路中的低活躍度信號(hào)作為觸發(fā)條件的硬件木馬,同時(shí)可以定位這些木馬,以方便恢復(fù)原始電路設(shè)計(jì)。

1 硬件木馬的快速激活方法

  1.1 木馬的激活概率分析

  硬件木馬具有隱蔽性高、激活概率低的特點(diǎn),并且通過(guò)常規(guī)的測(cè)試流程很難激活發(fā)現(xiàn)這些硬件木馬。圖1展示了一個(gè)簡(jiǎn)單的三級(jí)邏輯門電路概率計(jì)算過(guò)程。我們以(P0,P1)來(lái)表征一個(gè)節(jié)點(diǎn)值為0和1的概率。概率計(jì)算過(guò)程遵循如下原則:(1)P0+P1=1;(2)不考慮門之間的拓?fù)鋵W(xué)內(nèi)在聯(lián)系,每個(gè)節(jié)點(diǎn)都是獨(dú)立的;(3)最原始輸入端節(jié)點(diǎn)概率為(1/2,1/2)。從圖1可以看到,到第三級(jí)中虛線框中的與門輸出端值為1的概率為1/256。事實(shí)上,如果電路規(guī)模變大,級(jí)數(shù)增加,一些有更低的概率甚至難以觸發(fā)的節(jié)點(diǎn)是可以預(yù)見(jiàn)的。

圖像 001.png

圖1  電路的概率計(jì)算過(guò)程

  如果木馬植入者多利用有幾個(gè)這種低概率值的節(jié)點(diǎn)組合作為硬件木馬的觸發(fā)條件,根據(jù)統(tǒng)計(jì)學(xué)原理,木馬被觸發(fā)激活的概率為QQ圖片20161130095536.png由此可見(jiàn),硬件木馬就更難以在常規(guī)功能驗(yàn)證測(cè)試中被激活?;诖耍挛奶岢隽艘环N能可控地改變那些低概率節(jié)點(diǎn)概率的方法,通過(guò)加大那些節(jié)點(diǎn)的概率,使硬件木馬能夠被快速激活,從而被檢測(cè)到。

  1.2 快速激活木馬的機(jī)制

  為了綜合表征一個(gè)節(jié)點(diǎn)的概率分布,我們引入一個(gè)權(quán)重值——節(jié)點(diǎn)翻轉(zhuǎn)概率Pt,Pt=P0×P1,平均翻轉(zhuǎn)時(shí)間周期Tt=1/Pt??梢?jiàn),節(jié)點(diǎn)翻轉(zhuǎn)概率越小,需要的平均翻轉(zhuǎn)周期越大。為了確保Pt大于一個(gè)設(shè)定的閾值Pth,根據(jù)可測(cè)性設(shè)計(jì)思想,一個(gè)虛擬掃描觸發(fā)器(dummy scan flip-flop,dSFF)可以植入我們的電路中用來(lái)使P0和P1的值盡量靠近。如圖2所示是虛擬觸發(fā)器的結(jié)構(gòu)圖(與門和或門除外)。

圖像 002.png

(a)dSFF-AND                  (b)dSFF-OR

圖2  虛擬觸發(fā)器的結(jié)構(gòu)圖

  當(dāng)節(jié)點(diǎn)i的P0<<P1時(shí),一個(gè)與門放在dSFF后面,同時(shí)將節(jié)點(diǎn)i與dSFF的輸出Q連入與門輸入端,與門輸出作為新的節(jié)點(diǎn)i。當(dāng)節(jié)點(diǎn)i的P0>>P1時(shí) ,一個(gè)或門放在dSFF后面,同時(shí)將節(jié)點(diǎn)i與dSFF的輸出Q連入或門輸入端,或門輸出作為新的節(jié)點(diǎn)i。本文中,dSFF-AND和dSFF-OR分別代表dSFF后面接了一個(gè)與門和或門。當(dāng)TE(Test Enable)信號(hào)使能時(shí),dSFF的輸出Q由SI(Scan Input)來(lái)決定。當(dāng)TE不使能時(shí),植入電路內(nèi)的dSFF對(duì)原始電路的功能不會(huì)有影響。

  在測(cè)試模式下,dSFF的輸出概率分布為(1/2,1/2)。假設(shè)節(jié)點(diǎn)i的概率分布(P0,P1),P1<<P0,有

  QQ圖片20161130095400.png

  在插入dSFF后,新的節(jié)點(diǎn)i′的概率分布QQ圖片20161130095802.png

  QQ圖片20161130095403.png

  可見(jiàn)新節(jié)點(diǎn)的概率P0和P1的值互相靠近1/2。那么節(jié)點(diǎn)翻轉(zhuǎn)概率變化如下

  QQ圖片20161130095407.png

  如圖3所示為在圖1電路圖基礎(chǔ)上添加dSFF后對(duì)電路節(jié)點(diǎn)概率的影響。原電路中虛線框中的與門輸出節(jié)點(diǎn)翻轉(zhuǎn)概率為QQ圖片20161130095503.png平均翻轉(zhuǎn)時(shí)間周期Tt=255.6,插入dSFF后,節(jié)點(diǎn)翻轉(zhuǎn)概率變?yōu)?img src="http://files.chinaaet.com/images/2016/11/30/6361609644052200007069167.png" title="QQ圖片20161130095506.png" alt="QQ圖片20161130095506.png"/>,平均翻轉(zhuǎn)時(shí)間周期QQ圖片20161130095721.png由此對(duì)比可見(jiàn),dSFF的插入大大增加了低翻轉(zhuǎn)概率節(jié)點(diǎn)的翻轉(zhuǎn)概率,縮短了木馬的激活時(shí)間。

圖像 003.png

圖3  添加dSFF

2 實(shí)驗(yàn)驗(yàn)證

  2.1 測(cè)試方法

  為了真實(shí)模擬硬件木馬的植入及檢測(cè)過(guò)程,我們使用了開(kāi)源微處理器OR1200作為我們的測(cè)試平臺(tái)。我們從TRUST-HUB上提供的一些benchmarks中提取了10個(gè)木馬原型,如表1所示,植入到OR1200的源代碼中。我們寫了10個(gè)不同功能的C語(yǔ)言程序,利用opencores提供的工具鏈編譯成機(jī)器碼,作為OR1200的測(cè)試用例,以便盡可能覆蓋所有處理器功能。

圖像 007.png

  首先我們通過(guò)功能測(cè)試確保木馬在功能驗(yàn)證過(guò)程中不會(huì)被暴露,同時(shí),用Perl編寫腳本統(tǒng)計(jì)信號(hào)節(jié)點(diǎn)的翻轉(zhuǎn)概率(翻轉(zhuǎn)次數(shù)/仿真時(shí)鐘周期數(shù)),將dSFF插入代碼中。dSFF的插入流程如圖4所示。Pth為節(jié)點(diǎn)翻轉(zhuǎn)概率Pt的可設(shè)閾值。

圖像 004.png

圖4  dSFF插入流程

  2.2 結(jié)果分析

  在檢測(cè)實(shí)驗(yàn)過(guò)程中,我們?cè)O(shè)置不同的Pth值,并利用腳本分析電路內(nèi)部信號(hào)節(jié)點(diǎn)的翻轉(zhuǎn)次數(shù)統(tǒng)計(jì)值Toggle,如圖5所示,隨著Pth的逐漸加大,電路的信號(hào)節(jié)點(diǎn)激活度逐漸增大。在Pth>10-3后,激活度增長(zhǎng)趨勢(shì)放緩??梢?jiàn),插入dSFF在一定范圍內(nèi)可以增大電路的激活率,但是并不能無(wú)限增強(qiáng),有一個(gè)極限值。

圖像 005.png

圖5  電路激活度曲線

  圖6是植入木馬被激活發(fā)現(xiàn)的個(gè)數(shù)與Pth的關(guān)系。在一定值內(nèi),由圖5可知,電路激活度隨著Pth的增大而增大,木馬的發(fā)現(xiàn)個(gè)數(shù)也隨著Pth的增大而增大,在Pth>10-3后,木馬的被激活個(gè)數(shù)趨于穩(wěn)定,說(shuō)明木馬的發(fā)現(xiàn)個(gè)數(shù)與電路的激活度有著直接的關(guān)系。同時(shí)我們可以看到,在不同的Pth值范圍里,并不能檢測(cè)到所有植入的木馬,可見(jiàn),本方法還有一些局限性。

圖像 006.png

圖6  木馬的發(fā)現(xiàn)個(gè)數(shù)曲線

  表2顯示了試驗(yàn)中硬件開(kāi)銷,數(shù)據(jù)由Quartus II軟件的compilation report獲得??梢钥吹?,植入的10個(gè)硬件木馬對(duì)于原始設(shè)計(jì)的硬件開(kāi)銷影響1%都不到,基本上可以忽略不計(jì)。插入dSFF的開(kāi)銷隨著Pth的增大而顯著增大。所以,結(jié)合圖6的數(shù)據(jù),在檢測(cè)木馬的時(shí)候,硬件開(kāi)銷和Pth值的選擇需要有一個(gè)折衷考慮。

圖像 008.png

3 結(jié)語(yǔ)

  為了縮短硬件木馬的激活時(shí)間,本文提出了一種快速激活以檢測(cè)木馬的方法,在設(shè)計(jì)的功能驗(yàn)證測(cè)試階段,通過(guò)對(duì)電路內(nèi)在節(jié)點(diǎn)的翻轉(zhuǎn)概率分析,植入dSFF模塊,縮短節(jié)點(diǎn)的激活時(shí)間。基于OR1200的測(cè)試結(jié)果表明,對(duì)于利用低活躍度信號(hào)作為觸發(fā)條件的硬件木馬,本方法可以很容易激活并檢測(cè)出來(lái),對(duì)于用特殊序列作為觸發(fā)條件的硬件木馬,本方法的激活成功率很有限??偟膩?lái)說(shuō),硬件木馬千千萬(wàn)萬(wàn),并非本方法可以全部檢測(cè),新的方法需要我們繼續(xù)努力研究去發(fā)現(xiàn)。

  參考文獻(xiàn)

  [1] JIN Y,KUPP N,MAKRIS Y.Experiences in hardware Trojan design and implementation[C].Hardware-Oriented Security and Trust.San Francisco:IEEE,2009:50-57.

  [2] AGRAWAL D,BAKTIR S,KARAKOYUNLU D,et al.Trojan detection using IC fingerprinting[C].Security and Privacy.Berkeley:IEEE,2007:296-310.

  [3] WANG X,SALMANI H,TEHRANIPOOR M,et al.Hardware Trojan detection and isolation using current integration and localized current analysis[C].Defect and Fault Tolerance in VLSI Systems,2008.Boston:IEEE,2008:87-95.

  [4] RAD R M,WANG X,TEHRANIPOOR M,et al.Power supply signal calibration techniques for improving detection resolution to hardware Trojans[C].Proceedings of the 2008 IEEE/ACM International Conference on Computer-Aided Design.San Jose:IEEE Press,2008:632-639.

  [5] LI J,LACH J.At-speed delay characterization for IC authentication and Trojan horse detection[C].HardwareOriented Security and Trust.Anaheim:IEEE,2008:8-14.

  [6] JIN Y,MAKRIS Y.Hardware Trojan detection using path delay fingerprint[C].Hardware-Oriented Security and Trust.Anaheim:IEEE,2008:51-57.

  [7] HICKS M,F(xiàn)INNICUM M,KING S T,et al.Overcoming an untrusted computing base:Detecting and removing malicious hardware automatically[C].Security and Privacy.Brisbane:IEEE,2010:159-172.

  [8] STURTON C,HICKS M,WAGNER D,et al.Defeating UCI:Building stealthy and malicious hardware[C].Security and Privacy.Berkeley:IEEE,2011:64-77.

  [9] CHAKRABORTY R S,PAUL S,BHUNIA S.On-demand transparency for improving hardware Trojan detectability[C].Hardware-Oriented Security and Trus.Anaheim:IEEE,2008:48-50.

  [10] TRUST_HUB[EB/OL].[2015-8-12].https://www.trusthub.org/

  [11] OR1200 OpenRISC Processor.[EB/OL].[2015-8-12].http://opencores.org/or1k/OR1200_OpenRISC_Processor

  


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。