一種硬體木馬檢測系統及其檢測方法與流程
2023-10-18 17:36:59

本發明涉及集成電路晶片檢測技術領域,尤其是一種硬體木馬檢測系統及其檢測方法。
背景技術:
隨著半導體設計、製造與使用進一步全球化的發展趨勢,特別是硬體製造採取外包方式的日益普及,集成電路(IC)晶片易於受到各種類型的惡意攻擊,尤其是「硬體木馬(Hardware Trojan)」。所謂硬體木馬,就是對IC原始設計進行更改形成的惡意電路,實現功能篡改、規格篡改、信息洩漏等目標,可以輕易突破現有的安全防護體制,造成巨大威脅。硬體木馬具有設計精巧、隱蔽性強等特點,傳統物理檢查、功能測試等晶片測試方法無法勝任硬體木馬檢測任務。晶片運行過程中會消耗能量,產生電磁輻射、熱輻射等旁路信號,實驗證明晶片旁路信號與其內部結構具有緊密的關聯。基於旁路分析的硬體木馬檢測方法充分利這種關聯,通過分析旁路信號的變化特點來分析其內部結構的異常變化,從而實現硬體木馬的檢測,是當前最具前景的硬體木馬檢測方法。
基於旁路分析的硬體木馬檢測主要包含兩個步驟:(1)採集旁路信號。分別採集安全晶片(通過逆向工程、自參考分析等方法檢測證明沒有硬體木馬的純淨晶片,或稱為金片,Golden Chip)和待檢測晶片(Chip Under Test,CUT)的旁路信號。(2)旁路信號分析。利用統計方法分析金片與待測晶片的旁路信號差異,檢測可能存在的木馬電路。
當前已經提出了多種基於旁路分析的硬體木馬分析方法,根據分析旁路信號的類型可以分為功耗分析、電磁分析、熱輻射分析、路徑延遲分析等類型,分析方法主要包括主成分分析方法(Principal Component Analysis,PCA)、投影尋蹤方法、馬氏距離判別方法等,已經取得了一定的效果。然而基於旁路分析的硬體木馬檢測方法主要存在的問題包括:(1)驗證實驗普遍採用了仿真方法,主要採用HSPICE環境和ISCAS標準庫進行仿真。然而,實際實驗中,旁路信號受噪聲幹擾嚴重,與仿真環境差異較大,使得仿真結論難以在實際實驗中復現。(2)針對硬體電路的實際實驗主要針對ISCAS標準庫中的簡單電路,能夠檢測出的硬體木馬規模普遍較大,佔電路總體的比率較高。因此迫切需要對現有的硬體試驗系統進行改進,並提出更有效的分析方法。
技術實現要素:
本發明要解決的技術問題是提供一種硬體木馬檢測系統及其檢測方法,能夠解決現有技術的不足,提高了硬體檢測的精度。
為解決上述技術問題,本發明所採取的技術方案如下。
一種硬體木馬檢測系統,包括控制器,控制器通過USB通訊線路與數字示波器連接,控制器通過RS232通訊線路與測試板卡連接,測試板卡設置有穩壓電源,測試板卡通過測量電阻與數字示波器連接。
一種使用上述的硬體木馬檢測系統的檢測方法,包括以下步驟:
A、計算測量電阻阻值邊界;
B、功耗旁路信號測量時,根據當前電路的工作電流,選擇最接近阻值邊界下限的阻值,
C、構建單個晶片模板;
D、構建該型號晶片的整體模板;
E、計算每個晶片模板與整體模板的匹配程度,並統計其分布特徵;
F、判定其匹配程度是否在閾值範圍內,如果不在則認定為含有木馬,否則認為不含有木馬。
作為優選,步驟A中,計算測量電阻阻值邊界包括以下步驟,
A1、根據晶片穩定工作的最大允許壓降ΔV及其最大工作電流IMAX計算得出接入的最小阻值,
A2、根據晶片的靜態電流Istatic及最大允許壓降ΔV計算得到接入的最大阻值,
A3、據得到的阻值邊界,設定採樣電阻陣列,電阻陣列中的電阻數量為5~10個。
作為優選,步驟C中,構建單個晶片模板包括以下步驟,
C1、採集每一個晶片的旁路信號,每個晶片均執行相同的動作序列,採集相同時刻的旁路信號;
C2、對每個晶片採集m條功耗軌跡,每條功耗軌跡包含n個樣本點,每一個晶片測得一個採樣矩陣,
功耗軌跡的數量大於等於1000條;
C3、第i個晶片對應的模板如下式所示,
作為優選,步驟D中,構建該型號晶片的整體模板包括以下步驟,
D1、將步驟C中構建的單個晶片模板進行集合,構成k行n列的晶片模板矩陣,
其中代表第i個晶片模板軌跡上的第j個點的功耗值;
D2、採用多元正態特徵函數來生成整體模板,
其中
為k個晶片模板的均值,其中包含了工藝偏差的相關分量;協方差矩陣C包含不同參數列兩兩之間的協方差,即功耗軌跡上不同時刻點上的旁路信號列向量之間的相關係數。
作為優選,步驟E中,晶片模板與整體模板的匹配程度的計算式為,
其中分別代表第i個金片模板和整體模板,令統計集合S={S1,S2,...,Sk}的分布規律,計算式為,
作為優選,步驟F中,閾值範圍為
採用上述技術方案所帶來的有益效果在於:本發明提高了旁路信號採集的質量,並充分考慮了噪聲、工藝擾動等因素對木馬檢測的影響,提出了基於多晶片的模板分析方法,能夠在實際試驗中取得比其它現有檢測方法更高的檢測精度。本發明相對於現有技術的主要優點在於:
1、採集板卡中匹配電阻的改進,使得旁路信號質量更高。
2、實驗中採用活動卡座的形式採集了多個同型號晶片的旁路信號,從而能夠更好的體現工藝偏差的影響。
3、採用了多元正態分布模型來刻畫旁路信號的多點特性,通過協方差矩陣來體現不同點列之間的關聯,對信號的刻畫與分析更為精準。
附圖說明
圖1是本發明一個具體實施方式的原理圖。
圖中:1、控制器;2、數字示波器;3、測試板卡;4、穩壓電源;5、測量電阻;6、USB通訊線路;7、RS232通訊線路。
具體實施方式
本發明中使用到的標準零件均可以從市場上購買,異形件根據說明書的和附圖的記載均可以進行訂製,各個零件的具體連接方式均採用現有技術中成熟的螺栓、鉚釘、焊接、粘貼等常規手段,在此不再詳述。
參看附圖1,本具體實施例包括控制器1,控制器1通過USB通訊線路6與數字示波器2連接,控制器1通過RS232通訊線路7與測試板卡3連接,測試板卡3設置有穩壓電源4,測試板卡3通過測量電阻5與數字示波器2連接。
一種使用上述硬體木馬檢測系統的檢測方法,包括以下步驟:
A、計算測量電阻阻值邊界;
B、功耗旁路信號測量時,根據當前電路的工作電流,選擇最接近阻值邊界下限的阻值,
C、構建單個晶片模板;
D、構建該型號晶片的整體模板;
E、計算每個晶片模板與整體模板的匹配程度,並統計其分布特徵;
F、判定其匹配程度是否在閾值範圍內,如果不在則認定為含有木馬,否則認為不含有木馬。
步驟A中,計算測量電阻阻值邊界包括以下步驟,
A1、根據晶片穩定工作的最大允許壓降ΔV及其最大工作電流IMAX計算得出接入的最小阻值,
A2、根據晶片的靜態電流Istatic及最大允許壓降ΔV計算得到接入的最大阻值,
A3、據得到的阻值邊界,設定採樣電阻陣列,電阻陣列中的電阻數量為5~10個。
本實施例使用的Xilinx公司的XC3S400晶片為例進行計算。根據晶片手冊可得允許最大壓降為:0.06V,允許的最大電流為:Imax≈268mA,因此Rmin≈224mΩ。根據XC3S400晶片手冊,得到晶片靜態電流Istatic≈30mA,Rmax≈2Ω。本實施例中的XC3S400晶片的測量電路阻值範圍為[224mΩ,2Ω]。實際應用中,精密採樣電阻的阻值一般不超過1Ω,且要選購市場上的貨架產品(阻值並不能隨意設定)。因此設定該晶片所對應的採樣電阻陣列的阻值分別為200mΩ、400mΩ、600mΩ、800mΩ、1Ω等5種阻值。
選擇阻值的過程為:
(1)在FPGA晶片中燒寫待測邏輯,測量晶片邏輯正常工作時的電流。
(2)根據測試電流和晶片允許最大壓降計算得出理論電阻值,對該阻值向下取最接近的阻值。仍以XC3S400晶片為例,其燒些AES加密程序後,運行時電流Itest約為82mA,允許最大壓降ΔV為0.06V,則計算得到對應阻值Rtest約為731mΩ,則陣列中低於該阻值並且最接近的阻值為600mΩ,因此將其對應阻值選擇為600mΩ。
步驟C中,構建單個晶片模板包括以下步驟,
C1、採集每一個晶片的旁路信號,每個晶片均執行相同的動作序列,採集相同時刻的旁路信號;
C2、對每個晶片採集m條功耗軌跡,每條功耗軌跡包含n個樣本點,每一個晶片測得一個採樣矩陣,
功耗軌跡的數量大於等於1000條;
C3、第i個晶片對應的模板如下式所示,
驟D中,構建該型號晶片的整體模板包括以下步驟,
D1、將步驟C中構建的單個晶片模板進行集合,構成k行n列的晶片模板矩陣,
其中代表第i個晶片模板軌跡上的第j個點的功耗值;
D2、採用多元正態特徵函數來生成整體模板,
其中
為k個晶片模板的均值,其中包含了工藝偏差的相關分量;協方差矩陣C包含不同參數列兩兩之間的協方差,即功耗軌跡上不同時刻點上的旁路信號列向量之間的相關係數。
步驟E中,晶片模板與整體模板的匹配程度的計算式為,
其中分別代表第i個金片模板和整體模板,令統計集合S={S1,S2,...,Sk}的分布規律,計算式為,
步驟F中,閾值範圍為
為對檢測效果進行評價,給出以下定義:
檢出率(True Negative):被檢測出來的有木馬晶片佔有木馬晶片總體的比例。
錯判率(False Negative):無木馬晶片被誤判為有木馬晶片,其佔無木馬晶片總體的比例。
採用本發明所提及的試驗系統,在其中的FPGA晶片上燒寫待驗證的有/無硬體木馬電路。從TrustHUB平臺得到T500、T800兩種類型的典型木馬及其所附屬的8051微處理器電路。為了驗證本發明方法的有效性,進一步對T500木馬進行了優化,使其佔用儘可能少的面積(邏輯量小),設計得到Tj1、Tj2、Tj3木馬,分別為1位比較器、4位比較器和8位比較器木馬。Tj-free代表無木馬的原始8051微處理器電路。幾種電路均佔用了相同數量的寄存器(628個),主要在LUT使用上存在差異,因此主要比較各個電路佔用LUT數的差別。
測試集:取100片晶片,分別燒寫Tj-free、Tj1、Tj2、Tj3、T500、T800六種電路,按照發明中提及的檢測方法依次進行金片模板構建、整體模板構建、匹配模板測試,得到統計結果如下表所示:
由上表可以看出,採用3σ檢驗標準,可以檢出低至0.025%規模的硬體木馬,遠低於同類檢測的0.6%規模,證明了本發明的有效改進。3σ檢驗標準下仍有1個有木馬晶片沒有被檢出,同時產生了19%的錯檢率。如果進一步提高檢驗標準至2σ,則可檢出全部有木馬晶片,但是相應的錯檢率提高到了46%。因此實際使用中應該根據應用需求選定合理的檢驗標準。
上述描述僅作為本發明可實施的技術方案提出,不作為對其技術方案本身的單一限制條件。