裴 根,石朝陽,鄒雪城,劉政林
(華中科技大學 光學與電子信息學院,湖北 武漢430074)
摘 要: 硬件木馬因其巨大的潛在威脅而受到學術界和工業界越來越廣泛的關注,而傳統的測試技術很難發現這些硬件木馬,因此,針對硬件木馬的隱藏機制,提出了一種快速激活并檢測木馬的方法,通過將木馬原型植入微處理器OR1200中,并利用大量測試用例激勵,激活了木馬,驗證了該方法的正確性。
中圖分類號: TN918
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.08.014
中文引用格式: 裴根,石朝陽,鄒雪城,等. 一種基于快速激活的硬件木馬檢測法[J].電子技術應用,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.
0 引言
在過去幾十年,集成電路已經滲透到人類社會活動的各個領域,包括在金融、軍事、工業、交通等關乎國家命脈的領域也得到了廣泛的應用,因此確保集成電路的安全性與可靠性變得尤為重要。
圍繞硬件木馬檢測,研究人員已經做了很多工作,但目前學術界仍缺少相應的用于評估各種木馬檢測方法有效性的評價準則[1]。現有的硬件木馬檢測技術主要可分為基于物理分析的檢測方法、基于ATPG(自動測試矢量生成)的檢測方法,以及基于旁路信號分析的檢測方法。基于物理分析的方法是一種破壞性的方法,對芯片進行反向工程,還原出原始設計的電路,這種方法工作量很大,效果也不太好。基于旁路信號的旁路分析技術最初主要應用于密碼分析學領域,通過監測采集IC密碼芯片在工作時泄露的物理特征信息(如功耗、聲波、運行時間、電磁輻射等),利用數學分析(重點是統計分析)方法獲取IC密碼芯片中的秘密信息。基于旁路分析的密碼芯片正是利用原始電路與木馬電路之間旁路信號的差異來檢測木馬,文獻[2]首次提出采用電路的功耗信息來檢測硬件木馬的方法。此外,通過測量芯片電源端的瞬態電流信號,并對這些信號進行電流集成化分析[3]或基于區域的分析[4],可以有效地檢測出小規模的硬件木馬。文獻[5]提出一種基于時延的物理不可克隆功能(Physical Unclonable Function,PUF)的電路結構,該結構能在芯片的測試階段輔助檢測硬件木馬。文獻[6]提出一種基于全芯片路徑延時信息的新穎指紋生成方法。文獻[7]提出了一種未用電路識別(UCI)技術,該文章結果顯示UCI技術可以檢測大多數常規簡單的硬件木馬。文獻[8]提出了一種新的RTL級木馬的代碼設計風格以規避文獻[7]中提到的UCI檢測技術。文獻[9]提出了一種反硬件木馬的電路設計方法,通過密鑰產生簽名,對簽名進行匹配,以檢測硬件木馬。
文獻[2]~[6]的方法都是基于旁路信號分析,要生產出實際的芯片做測試,花銷比較大,研究周期也很長。文獻[7]提出的UCI技術實際上是基于冗余電路分析,但是目前也有很多木馬在設計過程中就巧妙地融合到正常電路中去了,并不能被當作冗余電路中識別出來,而且文獻[8]就針對此UCI技術提出了一種規避的方法。文獻[9]中的簽名匹配技術在簽名不匹配時只能警告電路可能植入了木馬,并不能精確指出木馬的存在位置。綜上所述,本文基于木馬的隱藏機制,提出了一種基于快速激活的RTL級硬件木馬檢測方法,本方法可以檢測一些將電路中的低活躍度信號作為觸發條件的硬件木馬,同時可以定位這些木馬,以方便恢復原始電路設計。
1 硬件木馬的快速激活方法
1.1 木馬的激活概率分析
硬件木馬具有隱蔽性高、激活概率低的特點,并且通過常規的測試流程很難激活發現這些硬件木馬。圖1展示了一個簡單的三級邏輯門電路概率計算過程。我們以(P0,P1)來表征一個節點值為0和1的概率。概率計算過程遵循如下原則:(1)P0+P1=1;(2)不考慮門之間的拓撲學內在聯系,每個節點都是獨立的;(3)最原始輸入端節點概率為(1/2,1/2)。從圖1可以看到,到第三級中虛線框中的與門輸出端值為1的概率為1/256。事實上,如果電路規模變大,級數增加,一些有更低的概率甚至難以觸發的節點是可以預見的。
如果木馬植入者多利用有幾個這種低概率值的節點組合作為硬件木馬的觸發條件,根據統計學原理,木馬被觸發激活的概率為由此可見,硬件木馬就更難以在常規功能驗證測試中被激活。基于此,下文提出了一種能可控地改變那些低概率節點概率的方法,通過加大那些節點的概率,使硬件木馬能夠被快速激活,從而被檢測到。
1.2 快速激活木馬的機制
為了綜合表征一個節點的概率分布,我們引入一個權重值——節點翻轉概率Pt,Pt=P0×P1,平均翻轉時間周期Tt=1/Pt。可見,節點翻轉概率越小,需要的平均翻轉周期越大。為了確保Pt大于一個設定的閾值Pth,根據可測性設計思想,一個虛擬掃描觸發器(dummy scan flip-flop,dSFF)可以植入我們的電路中用來使P0和P1的值盡量靠近。如圖2所示是虛擬觸發器的結構圖(與門和或門除外)。
當節點i的P0<<P1時,一個與門放在dSFF后面,同時將節點i與dSFF的輸出Q連入與門輸入端,與門輸出作為新的節點i。當節點i的P0>>P1時 ,一個或門放在dSFF后面,同時將節點i與dSFF的輸出Q連入或門輸入端,或門輸出作為新的節點i。本文中,dSFF-AND和dSFF-OR分別代表dSFF后面接了一個與門和或門。當TE(Test Enable)信號使能時,dSFF的輸出Q由SI(Scan Input)來決定。當TE不使能時,植入電路內的dSFF對原始電路的功能不會有影響。
在測試模式下,dSFF的輸出概率分布為(1/2,1/2)。假設節點i的概率分布(P0,P1),P1<<P0,有
2 實驗驗證
2.1 測試方法
為了真實模擬硬件木馬的植入及檢測過程,我們使用了開源微處理器OR1200作為我們的測試平臺。我們從TRUST-HUB上提供的一些benchmarks中提取了10個木馬原型,如表1所示,植入到OR1200的源代碼中。我們寫了10個不同功能的C語言程序,利用opencores提供的工具鏈編譯成機器碼,作為OR1200的測試用例,以便盡可能覆蓋所有處理器功能。
首先我們通過功能測試確保木馬在功能驗證過程中不會被暴露,同時,用Perl編寫腳本統計信號節點的翻轉概率(翻轉次數/仿真時鐘周期數),將dSFF插入代碼中。dSFF的插入流程如圖4所示。Pth為節點翻轉概率Pt的可設閾值。
2.2 結果分析
在檢測實驗過程中,我們設置不同的Pth值,并利用腳本分析電路內部信號節點的翻轉次數統計值Toggle,如圖5所示,隨著Pth的逐漸加大,電路的信號節點激活度逐漸增大。在Pth>10-3后,激活度增長趨勢放緩。可見,插入dSFF在一定范圍內可以增大電路的激活率,但是并不能無限增強,有一個極限值。
圖6是植入木馬被激活發現的個數與Pth的關系。在一定值內,由圖5可知,電路激活度隨著Pth的增大而增大,木馬的發現個數也隨著Pth的增大而增大,在Pth>10-3后,木馬的被激活個數趨于穩定,說明木馬的發現個數與電路的激活度有著直接的關系。同時我們可以看到,在不同的Pth值范圍里,并不能檢測到所有植入的木馬,可見,本方法還有一些局限性。
表2顯示了試驗中硬件開銷,數據由Quartus II軟件的compilation report獲得。可以看到,植入的10個硬件木馬對于原始設計的硬件開銷影響1%都不到,基本上可以忽略不計。插入dSFF的開銷隨著Pth的增大而顯著增大。所以,結合圖6的數據,在檢測木馬的時候,硬件開銷和Pth值的選擇需要有一個折衷考慮。
3 結語
為了縮短硬件木馬的激活時間,本文提出了一種快速激活以檢測木馬的方法,在設計的功能驗證測試階段,通過對電路內在節點的翻轉概率分析,植入dSFF模塊,縮短節點的激活時間。基于OR1200的測試結果表明,對于利用低活躍度信號作為觸發條件的硬件木馬,本方法可以很容易激活并檢測出來,對于用特殊序列作為觸發條件的硬件木馬,本方法的激活成功率很有限。總的來說,硬件木馬千千萬萬,并非本方法可以全部檢測,新的方法需要我們繼續努力研究去發現。
參考文獻
[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].Hardware-Oriented 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,FINNICUM 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.trust-hub.org/
[11] OR1200 OpenRISC Processor.[EB/OL].[2015-8-12].http://opencores.org/or1k/OR1200_OpenRISC_Processor