999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于路徑延遲故障序列的硬件木馬檢測方法

2024-01-22 06:03:32伍遠翔胡一凡張吉良
計算機工程與設計 2024年1期
關鍵詞:故障檢測

伍遠翔,唐 明+,胡一凡,張吉良

(1.武漢大學 國家網絡安全學院 空天信息安全與可信計算教育部重點實驗室,湖北 武漢 430072;2.湖南大學 半導體學院(集成電路學院),湖南 長沙 410082)

0 引 言

硬件木馬(hardware trojan,HT)是由觸發電路和有效負載電路兩部分組成的[1]。觸發電路任務是監測特定導線的狀態,并根據預設的邏輯條件,來確定是否觸發。一旦觸發條件滿足,觸發電路將產生觸發信號,傳遞給有效負載電路,執行相應惡意操作。硬件木馬的小尺寸、低觸發概率以及功能未知性都對其檢測造成了困擾。

1 硬件木馬檢測

目前針對硅后HT的檢測方法主要分為破壞性和非破壞性兩種類型[2]。破壞性檢測在準確性上具有優勢,缺陷是實施過于復雜。非破壞性檢測方法主要包括邏輯測試和側信道分析。邏輯測試依賴測試向量來激活隱藏的HT,觀察異常輸出結果來檢測出HT[3]。然而對于插入在不易訪問卻易受攻擊節點上的木馬,邏輯測試是難以檢測的[4],并且檢測效果也依賴于功能型木馬對輸出的影響[5],檢測范圍受限。側信道分析則依據HT電路引入的額外電氣參數(主要包括功耗[6-8]和路徑延遲特性)完成檢測。然而,芯片工藝偏差限制了側信道分析的檢測效果,通常需要使用黃金芯片作為基準來識別HT電路。獲取黃金芯片可能需要對芯片進行解封裝、分層和成像等破壞性逆向工程[9]。對難以獲得的黃金芯片的依賴,增加了檢測的成本和復雜性。

在側信道分析方法中基于延遲的檢測具有獨特的優勢[10]。插入的木馬完全無需激活也會對路徑延遲產生影響,而且這種延遲影響相較于功耗更容易被觀察和分析,因為路徑延遲之間具有相對獨立性,受其它路徑的影響較小。大多數基于延遲的檢測方法仍然依賴于黃金芯片[11,12]或待檢測電路的網表ncd文件[5]和比特流文件[2]等黃金參考,也受限于工藝變化的影響。目前,基于黃金參考的檢測范圍存在限制,而且不能從待檢測的成品芯片直接獲得的黃金參考,并不一定適用于檢測。

針對檢測中黃金芯片的依賴和工藝變化的干擾問題,芯片內部的延遲自參考也被探索用于木馬檢測,主要包括將芯片內一些延遲相等的對稱路徑作為參照[13],以及通過比較不同區域的傳感器鏈的相對延遲來檢測[14]等方法。這兩種方法需要人為的去發現或構造同一芯片內用于檢測的參照,增加了檢測的復雜度,檢測的精度也受限于可用的參照物的規模。

現有技術還引入了機器學習方法來彌補延遲檢測中工藝變化和噪聲的影響。LASCA訓練神經網絡處理工藝變化,將靜態定時數據(在設計時產生)與時鐘頻率掃描(在測試時)獲得的延遲信息關聯起來,以檢測硬件木馬[15]。AVATAR技術通過從設計數據庫中提取的路徑特征,訓練一個神經網絡模型來預測每條延遲路徑的松弛度,跟蹤工藝變化[16]。

路徑延遲的測量成本也是檢測中不可忽略的問題,許多檢測方法需要在目標路徑上增加額外的電路來進行延遲測量。隨著路徑數量的增加,硅開銷和產量將受到嚴重影響。而且每條路徑都需要單獨測量,時間成本也隨之劇增?!皶r鐘掃描技術”致力于解決路徑延遲測量的面積和資源開銷[10],它通過從開始到失敗的時鐘頻率來得到被測試模式敏化的路徑延遲,而不需要額外硬件開銷。在路徑上執行時鐘掃描的能力則受到以下因素的限制:掃描時鐘頻率的可用性,電路中敏化路徑的程度以及芯片中目標路徑的長度。而且該工作將時鐘掃描用于HT檢測時仍需要無HT芯片的簽名構造三維凸殼(3-D convex hull),將不可信芯片的離群數據點劃分為HT候選。

面對仍困擾著現有基于延遲的HT檢測的兩個挑戰,即對黃金芯片的依賴和測量成本過大,我們提出了一種將路徑延遲特性用于檢測HT的方法。通過誘導路徑延遲故障,將電路不同路徑產生時序沖突的先后順序反映到輸出結果上,建立輸出結果變化序列與路徑延遲相對大小順序的對應關系,作為芯片的檢測ID。檢測ID對HT是敏感的,一旦芯片被插入HT,由于木馬電路對路徑延遲的影響,電路路徑延遲的相對大小會有變化,對應的故障輸出結果偏離預期,芯片的檢測ID由此不同。檢測ID不需要任何黃金芯片,芯片的故障輸出結果可以通過仿真得到,其序列是反應路徑延遲大小順序的相對值。此外,檢測ID源于電路最終輸出結果,無需額外硬件采集,對待測電路也無構造要求。實驗在ISCAS-89專用集成電路基準和實際AES電路上進行,可以檢測出直接串聯payload和作為扇出連接的硬件木馬。

2 時序電路的延遲

時序電路根據時鐘信號來同步內部操作。在時鐘上升沿,數據被采樣進入一個輸入寄存器,經過組合邏輯電路路徑的運算,在下一個時鐘周期的上升沿,被輸出寄存器采樣。時序電路路徑的延遲組成及其對應的時序如圖1所示。

圖1 時序電路路徑(a)及其時序圖(b)

時鐘網絡包括發射路徑和捕獲路徑,在發射路徑上建模時鐘驅動器延遲和時鐘上升沿到輸入寄存器的輸出更新的延遲Tl,數據路徑延遲Td,以及時序電路元件的建立時間Ts,而捕獲路徑延遲Tc被賦予負延遲值。由此,時序電路路徑的延遲D可以表示為

D=Tl+Td+Ts-Tc

(1)

當時鐘周期Tclk滿足如下約束條件時,可以確保經過組合電路的輸出數據被正確地存儲到寄存器庫中

Tclk≥Tl+Td+Ts-Tc

(2)

當約束條件(2)不滿足時則會出現時序沖突,例如因建立時間過短或保持時間過短導致的電路不穩定。

建立時間Ts是指圖1中輸出寄存器的時鐘上升沿到來以前,組合電路輸出數據穩定不變的時間,如圖2所示。當組合電路的輸出數據還未穩定,而輸出寄存器的時鐘上升沿已經到來,則此次數據信號未能建立完成,無法傳遞給后續電路,此時引起電路時序的錯位。即Tc+Tclk-Tl-Td

圖2 建立時間

保持時間Th是指寄存器的時鐘上升沿到來之后,數據需要保持穩定不變的時間,如圖3所示。當時鐘信號上升沿寄存器讀取其輸入信號時,數據信號如果發生變化,則寄存器可能讀入不定態信號,使得后續電路的邏輯運算產生錯誤。即Tl+Td-Tc-Tclk

圖3 保持時間

3 基于故障序列的檢測方法

3.1 故障序列

當式(2)滿足時,電路中寄存器都能穩定存儲正確運算的結果,電路的最終輸出也是預期的正確結果。隨著時鐘周期Tclk縮短,經過某些組合電路的中間數據不能在預期的時鐘上升沿之前到達,式(2)不再滿足,則會觸發時序沖突,導致這些輸出寄存器會暫時存儲錯誤的中間數據,進入亞穩定狀態。這樣的時序沖突可以誘導電路中的路徑延遲故障,其效果反映在全局電路的最終輸出結果上,會出現預期之外的不正確輸出數據。

定義1 在一個選定時鐘周期Tclk下,電路執行某個給定輸入向量,一條延遲為D的時序電路路徑c的輸出值(即輸出寄存器的采樣值)ro變化過程如下

(3)

其中,roinit和roe分別表示輸出寄存器的初始值和預期最終值,rof1,…,rofk表示由于時序沖突產生預期之外的中間結果,該結果與給定的輸入向量有關。

定義2 在一個選定時鐘周期Tclk下,電路執行給定輸入向量,電路中n條路徑的延遲組成一個遞增的有序集合DS={D(1),…,D(n)}, 上標表示路徑延遲在從小到大排序中的位置,對應的路徑分別表示為c(1),…,c(n)。 其中發生時序沖突的路徑集合DF={c(i)|Tclk

(4)

其中,oinit和oe分別表示電路輸出的初始值和預期最終值,of1,…,ofk表示由于路徑的時序沖突導致的預期之外的電路輸出結果,該結果與輸入向量和DF有關。

當發生時序沖突時,中間寄存器暫時存儲不正確中間數據,將導致預期之外的不正確的輸出結果數據。該結果會出現在當前選定時鐘下的輸出模式中,反映出對應路徑延遲故障的效果。

故障序列(fault sequence,FS)采集了電路路徑按照延遲從大到小的順序依次產生路徑延遲故障的效果,是電路路徑延遲相對大小關系的反映,可以作為芯片的檢測ID。

命題1(FS脆弱性):電路插入HT后,至少存在一條路徑延遲被改變,即D(i)*≠D(i), 上標帶*表示插入HT后的結果。當存在D(i)D(j)*時,FS*≠FS。

所以,D(i)*≠D(i)。

設用于檢測的輸入向量數目為t,每個輸入下至少有q(q≥1) 對路徑延遲的大小順序被改變。

所以調整輸入向量數目t可使FS*≠FS。 由此可檢測出HT的插入。

證畢。

3.2 故障序列的采集

在時鐘周期按步長縮短的m個時鐘clk1,…,clkm下,出現的路徑延遲故障情況是DFuni={?,{c(n)},{c(n-1),c(n)},…,{c(1),…,c(n)}} 的一個包含m個DF的子集,當該子集中存在插入HT后發生變化的DF,則實際采集的故障序列因此改變,可檢測出HT的插入。

由此,可檢測出HT的插入。證畢。

總結來說,故障序列的采集過程如下:選取輸入向量集合,對每一輸入向量在時鐘頻率從低到高情況下多次重復運行待測電路,記錄每次的輸出模式,作為每個輸入向量下的故障序列,這些故障序列即是可用于檢測電路是否發生更改的ID。實際檢測時,通過選取盡可能小的時鐘周期步長,以及增加輸入向量數目,可以提高HT檢測成功的概率。另一方面,為了壓縮故障序列的規模,對其中連續且相同的輸出模式進行合并。

故障序列采集過程如圖4所示。圖中豎狀點劃線到y軸的距離表示時鐘周期的長度,按照從右到左的示意,時鐘周期的長度逐步縮短。當路徑的數據信號跳變晚于下一個時鐘上升沿時,發生路徑延遲故障。如圖4中所示,逐步縮短時鐘周期,使得β,γ和α這3條時序電路路徑依次發生延遲故障。每個時鐘周期下的輸出結果記錄到一個輸出模式中,最終組合成故障序列。

圖4 故障序列采集

圖4中虛線表示插入HT后電路路徑信號跳變時間點發生了偏移。當該偏移導致不同路徑產生故障的先后順序改變時,采集的故障序列將與原始電路預期的結果不同,反映了插入HT所造成的效果。例如在圖4中clkp時鐘下,對原始電路觀察到的數據結果是路徑β先發生延遲故障的效果,即DF={cβ}。 由于HT對路徑γ延遲的影響,導致路徑γ先發生延遲故障,即DF*={cγ,cβ}, 該時鐘周期的輸出模式發生改變,導致故障序列檢測ID不同。同理在clkp-1下,DF={?} 而DF*={cγ}, 同樣可以檢測出HT的插入。

3.3 檢測流程

(1)基本假設

出于芯片設計者的檢測需求,我們假設原始設計是可用的。HT往往是在制造階段才插入的,原始設計是無木馬的。如圖5所示,不受信任的制造廠可能在制造階段插入HT,產生被篡改的芯片。

圖5 檢測流程

(2)基本檢測流程

如推論1所述,添加的HT會改變原始電路的故障序列,可以以故障序列為檢測ID來檢測芯片是否被篡改,基本流程如圖5所示。

在制造前階段,選取一系列測試向量來激活電路的不同路徑,并分別在時鐘周期逐步縮短的測試時鐘下對設計電路進行仿真執行,收集對應的一系列仿真故障序列,作為目標芯片的檢測ID。

對于制造后的芯片,在與仿真相同的一系列測試向量和測試時鐘下運行測試,實測觀察芯片輸出,將輸出模式組合成實測故障序列。

將實測故障序列與仿真階段的檢測ID進行比對,驗證芯片是否被插入了HT。若實測故障序列中的所有輸出模式與仿真的完全相同,則判定芯片是無木馬的,否則判定芯片被植入了木馬。

檢測的關鍵在于:

電路內部數據路徑的延遲受到HT的影響,不同路徑之間的延遲相對大小順序發生改變,使故障序列檢測ID與原始電路的不同。

仿真故障序列與實測故障序列的一致性。故障序列是時序電路不同路徑發生延遲故障先后順序的相對值,所以在大范圍的環境變化和工藝偏差中可以保持不變。

檢測的成本開銷。由于采集的是可以直接觀察的輸出結果,檢測不需要為了實現延遲的測量而引入額外資源開銷。

(3)檢測示例

對一個小規模設計電路進行了檢測的可行性驗證。圖6(a)示例實驗的縮略電路圖。該時序電路輸出結果為3位數據,存在5條數據路徑,分別對應c1_out[0],c1_out[1],out[0],out[1],out[2]。

圖6 插入HT前后實驗設計電路縮略

在給定輸入測試向量下,如圖7(a)所示通過逐步縮短時鐘周期,采集每個時鐘下的輸出模式,如圖7(a)標注在每條虛線上方的結果。隨著逐步縮短時鐘周期得到的輸出模式分別是:[000→111],[000→111],[000→110→111],[000→111],[000→001→111],[000→111]。

圖7 插入HT前后設計電路采集結果

將這些輸出模式整合為該時序電路的故障序列:[[000→111],[000→110→111],[000→111],[000→001→111],[000→111]]。

在該時序電路第三條路徑out[0]上插入HT電路,如圖6(b)所示,該路徑延遲將顯著增加。而其它路徑受到HT電路的旁路影響,延遲也有所變化,表現在圖7(b)的各條路徑信號跳變的位置偏移上。由于在布局布線時c1_out[0] 和c1_out[1]路徑更靠近HT電路,它們的時間延遲受HT電路的影響要大于out[1]和out[2]的。

插入HT后采集的輸出模式有部分被改變,如圖7(b)標注在每條虛線上方的結果所示。獲得的篡改后的故障序列是:[[000→111],[000→010→111],[000→111]]。

將篡改后的故障序列與制造前階段該時序電路的故障序列進行比較,序列中任何新增、缺失或順序更改的故障模式,都認為違反了故障序列。本例中對插入HT后的電路觀察到3個缺失的故障模式和1個新增的故障模式,通過故障序列可以有效檢測出HT電路的插入。

4 實 驗

4.1 實驗設置

實驗在Xilinx Spartan6 FPGA測試平臺上使用Verilog構建設計。通過PLL以1 ns為步長生成周期逐步縮短的時鐘。

由于我們的檢測方法基于電路不同路徑發生延遲故障的先后順序,所以木馬電路的功能并不關鍵。HT影響電路路徑延遲的方式有兩種:①有效載荷HT門與原始路徑串聯插入,用于在HT激活時惡意修改電路狀態;②扇出的HT門連接到現有路徑,監測電路狀態的觸發條件。一般來說HT門數量越小,就越難通過側信道對策檢測到。檢測實驗中插入兩種僅由兩個門組成的小尺寸木馬,如圖8所示,HT框格部分表示添加的HT門,其它部分表示現有的門。HT #1在數據路徑串聯插入了兩個反相器,HT #2為現有導線增加了電容性負載。預計插入這兩種HT后,經過數據路徑到寄存器的延遲都會增加,而原始電路功能未發生改變。

圖8 插入的HT

基于故障序列的檢測不需要任何額外測量開銷,我們通過一系列實驗對檢測的有效性進行評估:

(1)檢測效果實驗。在ISCAS-89基準電路上進行了兩種不同類型HT的插入實驗,分別是直接串聯payload和作為扇出連接,觀察木馬引入的路徑延遲影響以及故障序列的變化,驗證檢測方法的效果。

(2)硬件案例測試。對AES-128電路[17]隨機選取了1000組明文-密鑰對測試向量進行檢測實驗。對于檢測實驗中仿真所使用的頻率范圍,實測驗證待測電路輸出的一致性。

4.2 檢測效果實驗

選用了3個不同規模的ISCAS-89基準電路進行實驗,它們的規模特征見表1。每次插入的HT僅連接到原始電路的一條路徑上,僅對一位輸出產生影響。

表1 基準電路參數

通過觀察插入的HT對路徑延遲的影響,發現插入路徑的不同對檢測效果存在影響。一方面,木馬總是對插入路徑位置附近電路的延遲產生更顯著的影響,隨插入路徑的不同每條路徑的延遲變化幅度也各異。如圖7(b)所示,在out[0]路徑插入HT后,距離最近的c1_out[0]路徑延遲也顯著增加。另一方面,不同路徑延遲即便在相同變化量下,導致木馬被檢測的機會也不同,這取決于它與其它路徑延遲的大小順序是否發生改變。如3.3節的檢測示例中c1_out[0]路徑的延遲雖然顯著增加,但仍小于c1_out[1]路徑的延遲,所以當c1_out[0]路徑產生時序沖突時,故障輸出模式沒有改變,仍是[000→111],此時未能檢測HT。

考慮到不同位置的影響,每個基準電路實驗中插入的HT會隨機連接到待測電路中10條不同路徑。根據相應基準電路的輸入要求,隨機生成輸入向量,同時保持插入的HT電路部分靜默,不影響原始電路功能。在逐步升高的時鐘頻率下統計電路輸出值的變化,即輸出模式,組成故障序列。比對插入HT前后的故障序列的差異進行檢測實驗。圖9展示對不同基準電路插入兩類HT的檢測結果。

圖9 ISCAS-89基準電路分別插入兩種HT的檢測結果

圖9中每個子圖的橫軸表示時間(單位ns),縱軸從下往上表示時鐘頻率(只顯示了輸出有變化的時鐘頻率),柱形表示電路輸出,柱形塊的灰度從深到淺表示輸出值變化的過程,即當前時鐘下的輸出模式。其中柱形帶條紋標記表示插入HT后的輸出結果。采集到的輸出值標記在對應柱形塊上。由于篇幅限制,省略了部分輸出值的顯示,而對受HT影響發生改變的故障輸出結果進行了突出顯示。如圖9所示,從下往上隨著時鐘頻率的逐步提高,電路中越來越多的路徑產生時間沖突,故障序列中出現新的故障輸出模式,最終暴露HT帶來的延遲影響。

從實驗的故障輸出結果上看,3個基準電路都能由故障序列的不同來檢測出插入的兩種類型HT。3個基準電路實驗中,電路規模從下往上遞增,伴隨著HT在總電路中的相對大小逐步下降,側信道檢測的難度也在增大。而基于故障序列的檢測方法在面對大規模電路時,能夠利用更多受HT影響的路徑,將HT帶來的路徑延遲影響反映到故障輸出上,保持檢測的有效性,可以檢測出s5378電路中相對原始電路大小為0.76%的HT。從輸出端口數目的限制上看,實驗中僅有5位輸出的s1423電路也能通過故障序列的差異完成HT檢測,表明故障序列可以有效反映出電路路徑延遲的變化。實驗結果表明,基于故障序列的檢測,在面對不同待測電路以及多種類型HT時,可以實現有效檢測。

4.3 硬件案例測試

對一個下載到Sakura板卡[18]的AES-128電路實例,同樣進行了兩種類型HT的檢測實驗。加密算法每一輪運算的128位中間狀態用4個32位的狀態塊寄存器(state[0]~state[3])進行存儲。為了控制HT電路的影響范圍,將HT門僅插入到距離加密輸出最近的最后一輪運算電路中。同樣為了減輕插入位置對檢測效果評估的影響,對AES最后一輪的4個狀態塊的運算路徑逐次進行HT的插入實驗。隨機選取1000組明文-密鑰對測試向量,通過布局布線后仿真同樣在逐步升高的時鐘頻率下進行故障序列采集,其中一組測試向量下將兩類HT分別插入4條路徑的8次實驗檢測結果如圖10所示。

圖10 AES最后一輪的4個狀態塊分別插入兩種HT的檢測結果

如圖10中示例的檢測實驗結果所示,對于兩種類型HT插入4個不同位置,都能明顯觀察到插入HT前后故障序列的改變。1000組輸入向量的重復實驗中,都能在250 Mhz頻率范圍以內統計到AES電路故障輸出的變化,完成HT檢測。在實測過程中,以同樣的測試向量和時鐘頻率進行實測輸出的采集,通過比對驗證了用于檢測的時鐘頻率范圍內的仿真與實測輸出結果相同,體現了故障序列的一致性。

5 結束語

本文提出一種通過路徑延遲檢測硅后硬件木馬的方案,通過改變芯片時鐘頻率產生錯誤輸出,由于木馬電路的引入,發生錯誤輸出與原始設計的預期輸出不一致,將這種檢測技術稱為基于故障序列的檢測?;诠收闲蛄械臋z測可以在無需黃金芯片條件下進行硬件木馬檢測,且僅需觀測電路最終輸出,極大降低測量成本。在實驗測試的ISCAS-89基準和AES-128電路上,可以成功檢測硬件木馬,無論木馬電路直接串連還是作為扇出連接。最后,在Sakura板卡上驗證了輸出結果的一致性。

猜你喜歡
故障檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
故障一點通
奔馳R320車ABS、ESP故障燈異常點亮
小波變換在PCB缺陷檢測中的應用
故障一點通
故障一點通
主站蜘蛛池模板: 亚洲无码A视频在线| 全部毛片免费看| 亚洲欧洲自拍拍偷午夜色| 欧美激情视频二区| 国产午夜无码专区喷水| 97在线免费| 久久夜色精品国产嚕嚕亚洲av| 免费欧美一级| 精品小视频在线观看| 亚洲精选无码久久久| 久久这里只精品热免费99| 99久久精品免费看国产免费软件| 亚洲精品色AV无码看| 色婷婷视频在线| jizz在线观看| 欧美国产日韩在线| 国产福利在线观看精品| 久久亚洲黄色视频| 精品少妇人妻av无码久久| 伊人成人在线| 久夜色精品国产噜噜| 国产h视频免费观看| 久久亚洲日本不卡一区二区| 制服丝袜一区| 2021国产精品自产拍在线观看| 久久久久人妻精品一区三寸蜜桃| 亚洲婷婷丁香| 狠狠干欧美| 综合色婷婷| 国产真实自在自线免费精品| 国产成人高清在线精品| 亚洲国产系列| 国产女人综合久久精品视| 亚洲精品va| 国产日韩欧美视频| 中文字幕免费播放| 国产乱子精品一区二区在线观看| 国产一级二级三级毛片| 综合亚洲网| 久久久久青草大香线综合精品| 国产呦精品一区二区三区下载| 日韩欧美国产综合| 在线观看无码a∨| av在线5g无码天天| 亚洲a免费| 97免费在线观看视频| 日韩精品一区二区三区中文无码| 亚洲高清日韩heyzo| 国产精品55夜色66夜色| 青青草原偷拍视频| 亚洲国产成人久久77| 国产91色在线| 久综合日韩| 国产迷奸在线看| 一本大道视频精品人妻| 国产精品所毛片视频| 欧美69视频在线| 欧美精品成人| 欧亚日韩Av| 国产欧美精品专区一区二区| 又污又黄又无遮挡网站| 伊人中文网| 国产成人乱无码视频| 亚洲九九视频| 91美女视频在线| 久久婷婷五月综合色一区二区| 亚洲AV无码久久天堂| 成人福利在线观看| 亚洲综合日韩精品| av在线人妻熟妇| 欧美国产精品拍自| 日韩欧美高清视频| 一级香蕉人体视频| 国产成人欧美| 亚洲欧美在线综合一区二区三区| 国产免费精彩视频| 波多野衣结在线精品二区| 无码AV高清毛片中国一级毛片 | 国产一二三区视频| 久久久久人妻一区精品| 黄色成年视频| 福利一区三区|