硬體木馬(一)

江左子固發表於2024-10-03

摘要:近年來,我國積體電路設計與製造水平已取得了很大的進步,與已開發國家的差距正逐步縮小,但大多數積體電路依賴進口的局面尚未改變,也有部分積體電路晶片需要第三方代工生產,存在被植入硬體木馬的風險。而這些積體電路幾乎會應用到軍事、金融、通訊、交通等重要電子裝置中,這給我們國家和社會安全帶來了巨大的潛在威脅。因此,保證這些積體電路的可靠性和安全性變得越來越重要。

關鍵詞:硬體木馬,設計,檢測

一、介紹
硬體木馬技術是一個相當新的研究領域,最近幾年受到很大的關注。硬體木馬是指在積體電路中嵌入某種電路結構,在特殊條件觸發下,該模組能夠被他人利用以實現破壞性功能。硬體木馬可以獨立完成攻擊功能,如洩露資訊給攻擊者、改變電路功能、直接破壞電路。電路中的硬體木馬,多數時間不影響原始電路功能,因此,很難被檢測出來。與軟體惡意程式碼一樣,硬體木馬也具有破壞性、寄生性、隱蔽性和潛伏性。另外,硬體木馬攻擊目的性更強,隱蔽更深,難以檢測與清除。有相關資料分析,在海灣戰爭中,美軍透過硬體木馬破壞了伊拉克防空指揮系統,因此,硬體木馬及其檢測技術在資訊保安上有著不可輕視的作用。

二、硬體木馬的分類
根據硬體木馬的不同特性,從不同的角度將其分類,本文分類方式是將硬體木馬劃分為組合型木馬和時序型木馬[3,9,10]。組合型木馬是指當電路的某個內部訊號或節點出現特殊條件時才啟用的組合電路;時序型木馬是指當有限狀態機(FMS)檢測到某些內部電路訊號狀態出現特殊的序列時才啟用的時序電路。透過分析硬體的物理特性、啟用特性和活動特性對硬體木馬可以做進一步細分。

物理特性分為型別、尺寸、分佈、結構四個子類。其中,型別又分為功能型和引數型,功能型指那些透過增加或刪減電晶體或門在物理上實現的木馬;引數型是那些修改電路中已存在的線和邏輯而實現的木馬。尺寸是根據木馬在電路中新增、刪除、或損壞晶片中的元件數量來劃分的。分佈是指木馬在晶片的物理佈局的位置。結構是指攻擊者強行再生成佈局,以插入木馬,這會導致晶片的規格發生變化。這些變化會改變部分或所有的設計元件佈局,而任何對物理佈局的惡意修改都會改變晶片的延時和功率特性,這會有利於木馬的檢測。

啟用特性分成兩類:外部啟用,如透過天線或感測器與外面相互影響;內部啟用,它又可以分為永久型啟用和條件型啟用。“永久”的意思指木馬是一直都處於啟用狀態,可以在任何時候破壞晶片。條件型啟用木馬是指只有符合特定的條件時才被啟用的木馬。這種條件型啟用木馬都是透過增加晶片的邏輯閘和/或觸發器執行的,因此,它往往是一個組合電路或時序電路。

根據硬體木馬的破壞行為進行分類。木馬的行為分為三類:修改功能、修改規格、傳送資訊。修改功能型是指透過增加邏輯,或刪除或繞過現有的邏輯來改變晶片功能的木馬。修改規格型是指以修改晶片的效能引數作為攻擊重點的木馬,如攻擊者修改設計中的線和電晶體的幾何佈局而改變延遲。傳送資訊型是指傳送關鍵資訊給攻擊者的木馬。

三、設計技術
硬體木馬的植入通常都是秘密進行的,為了躲避檢測,木馬設計者通常會將木馬電路設計得極其隱蔽,使其在大多數情況下是處於靜默狀態,只有滿足了特定的條件或電路狀態時才能被啟用,從而避免硬體木馬在傳統的邏輯測試、功能檢測以及旁道訊號分析等方法中被檢測出來。此外,硬體木馬佔晶片總面積的比例也是木馬設計中需要重點考慮的問題,設計的太大就很很容易被發現。

3.1組合型木馬

組合型木馬是指木馬電路完全由組合邏輯組成。如圖1所示是一種組合型硬體木馬電路,其中灰色區域內為木馬的觸發部分,其輸入訊號都來自於原始電路中的節點A、B、C、D;木馬的載荷是一個一個異或門。當木馬觸發部分輸出邏輯1時,原始電路中的節點ER就會發生錯誤的翻轉並輸出ER*。因此,只有當電路內部節點A和B都為高電平,且C和D均為低電平時,硬體木馬才會被啟用。

圖 1組合型木馬
3.2時序型硬體木馬

時序型硬體木馬則是指木馬電路中包含時序元件的木馬電路。一般來說,隨著觸發序列長度的增加,時序型硬體木馬要比組合型硬體木馬更難檢測出來。此外,時序型硬體木馬的面積可以設計得非常小從而很難透過現有的木馬檢測技術檢測出來。最簡單的時序型木馬就是同步自增計數器,也就是俗稱的“定時炸彈”,當計數到特定值時木馬被啟用,其缺點是面積和功耗開銷較大,因為要保證木馬經過較長一段時間才被觸發就必須引入較大的計數器,而基於FSM狀態複用型硬體木馬可以較好解決這一問題

圖 2時序型木馬
四、檢測技術
4.1破壞性檢測

破壞性檢測方法是基於失效分析技術的檢測手段。對積體電路進行封裝後,無法觀察內部的元件資訊,透過逆向工程方法將封裝的積體電路開啟,逐層掃描電路,然後重建電路結構圖,對比需求規格,找出電路中是否存在硬體木馬,以保證積體電路安全[1]。該檢測方法的優點是能進行徹底的檢測,但缺點是耗時長,根據積體電路複雜程度的不同,需花費幾周到幾個月的時間。並且,經過破壞性檢測後的晶片不能再使用,不適合對所有晶片進行逐個檢測,只能透過抽樣的方式,檢測結論的可靠性大大降低。

4.2邏輯測試

由於木馬具有潛伏性,在非常特殊的條件下才能被啟用,針對這一特性,Wolff等[2]提出使用邏輯測試方法來進行檢測。該方法源於基於VLSI故障測試的ATPG(Automatic Test Pattern Generation)測試技術,主要透過生成測試激勵,並在輸出埠觀察硬體木馬對電路值造成的影響,從而達到檢測目的。由於硬體木馬空間能夠根據電路節點數而無限放大,無法透過列舉來生成關鍵性的測試向量或者計算測試覆蓋。因此,邏輯測試的首要目標是最大木馬啟用機率下最佳化測試向量生成方法。

4.3旁路分析

由於晶片在工作時會產生一些熱訊號、電磁輻射訊號以及功耗訊號等旁路訊號[3],植入的硬體木馬勢必會對其造成影響,例如降低效能和改變功耗等特徵。雖然硬體木馬多數時間處於未啟用狀態,但是硬體木馬時刻檢測觸發條件的行為也會對旁路訊號產生一些影響,使之成為檢測的突破口。旁路分析方法就是基於這一現象,比對待測晶片與“金片”(不含硬體木馬的晶片)之間旁路訊號的差異,如果不同則表明待測晶片中可能含有硬體木馬。

4.3.1基於功耗的旁路分析

基於功耗方法是比較待測晶片和“金片”的電路功耗,一般是在同等條件下測量晶片電路VDD引腳上的電流。其中,每條電流包含若干元素,主要包括:1)主電路電流;2)測量噪聲,可以透過多次測量求平均來消除;3)工藝噪聲,隨機產生不能被抵消;4)可能存在的木馬訊號,透過比對電流差異(木馬訊號)來判斷是否含有木馬。

4.3.2基於延遲的旁路分析

如果硬體木馬的植入導致電路中閘電路個數的變化,就會改變電路的延遲特徵[4-6],如訊號翻轉延遲以及訊號傳輸延遲。基於延遲的旁路分析就是透過比對測量電路的延遲資訊差異來檢測木馬。

4.3.3基於多引數的旁路分析

理論上透過功耗和延遲資訊可以檢測出電路中存在的木馬,但是由於工藝噪聲的存在,檢測效果往往不是很理想,尤其是基於延遲資訊的旁路檢測,因此Narasimhan等[7]提出可透過測量多個旁路引數來提高檢測效果,將電路最大工作頻率與靜態電流和動態電流2個引數進行運算,減小工藝噪聲的影響,提高木馬檢測效果。

4.4木馬啟用

硬體木馬在其大多數生命週期中都處於“休眠”狀態,影響了基於旁路訊號檢測的效果,如果能結合 邏輯測試方法來使木馬電路完全啟用或者部分啟用,使木馬電路表現出更多的惡意行為或者洩露更多的旁路訊號,將有助於木馬的檢測。當前木馬啟用 策略主要分為全區啟用和區域感知2類。

4.4.1全區啟用

該類方法不考慮木馬的位置資訊,而是依靠木馬的偶然或者有意啟用。Jha等[8]使用基於隨機機率的方法來檢測木馬,該方法根據電路的測試向量構建一個特殊的機率簽名,並以相同的機率將測試向量應用到待測電路中,將測試結果與原始電路的輸出結果相比較,如果有差異就表明存在木馬,並評估其置信水平。Wolff等[1]分析設計中的稀有節點組合,針對以稀有事件作為觸發的木馬,生成一個向量集來啟用這些稀有節點,並結合該向量集和傳統的ATPG測試向量來啟用木馬,如在邏輯測試中用到的MERO方法。

4.4.2區域感知

該類方法的主要目標是區域性放大待測電路和原始設計功耗波形之間的差異。Banga和Hsiao[8]提出了基於區域的測試向量生成方法,該方法根據電路結構的連通性,將待測電路中的觸發器分到不同的區域,並找出可能存在木馬的區域作為被測試區域,對被測試區域生成新的測試向量來放大原始電路和可能含木馬電路之間的功耗差異。此外,Banga和Hsiao[1]透過持續測試向量技術來放大木馬的活動,其思路源於電路活動主要來自設計的狀態元件(如暫存器),若保持輸入引腳的狀態幾個時鐘週期不變,可以減少整體的翻轉活動,並限制設計中特定部分的翻轉活動,有助於定位木馬。

五、結束語

由於硬體木馬植入方式的靈活性和自身的隱蔽性,很難透過單一的檢測方法檢測出各種未知的惡意電路。目前,各種檢測技術還不成熟,仍然存在多種不同的侷限性,並且很多方法還只是在模擬實驗階段,並沒有真正應用於實際工程之中,需要進一步的發展。同時,研究人員面臨缺少實際的木馬樣本的境地,沒有樣本就沒有資料,難以採用科學的方法有的放矢進行硬體木馬檢測研究。現在解決這個問題的可行方法是先設計硬體木馬,然後再針對這些硬體木馬研究具體的檢測方法。因此,硬體木馬相關技術還是一個較新的研究領域,硬體木馬的開展對硬體木馬的隱蔽設計技術、無損檢測和防範技術等內容的研究充滿了挑戰。

參考文獻
[1] Wang X, Tehranipoor M, Plusquellic J, et al. Detecting malicious inclusions in secure hardware: Challenges and solutions[C]. hardware oriented security and trust, 2008: 15-19.

[2] Wolff F, Papachristou C, Bhunia S, et al. Towards trojan-free trusted ICs: problem analysis and detection scheme[C]. design, automation, and test in europe, 2008: 1362-1365.

[3] Chakraborty R S, Narasimhan S, Bhunia S, et al. Hardware Trojan: Threats and emerging solutions[C]. high level design validation and test, 2009: 166-171.

[4] Jin Y, Makris Y. Hardware Trojan detection using path delay fingerprint[C]. hardware oriented security and trust, 2008: 51-57.

[5] Rai D, Lach J. Performance of delay-based Trojan detection techniques under parameter variations[C]. hardware oriented security and trust, 2009: 58-65.

[6] Li J, Lach J. At-speed delay characterization for IC authentication and Trojan Horse detection[C]. hardware oriented security and trust, 2008: 8-14.

[7] Narasimhan S, Du D, Chakraborty R S, et al. Multiple-parameter side-channel analysis: A non-invasive hardware Trojan detection approach[C]. hardware oriented security and trust, 2010: 13-18.

[8] Jha S, Jha S K. Randomization Based Probabilistic Approach to Detect Trojan Circuits[C]. high-assurance systems engineering, 2008: 117-124.

[9] Banga M, Hsiao M S. A Novel Sustained Vector Technique for the Detection of Hardware Trojans[J]. international conference on vlsi design, 2009: 327-332.

[10] Banga M, Hsiao M S. A region based approach for the identification of hardware Trojans[C]. hardware oriented security and trust, 2008: 40-47.

轉自https://zhuanlan.zhihu.com/p/340602396


很有意思的一個點,可以深入

相關文章