參數型硬體木馬檢測方法
2023-09-17 18:24:20 2
參數型硬體木馬檢測方法
【專利摘要】參數型硬體木馬檢測方法,其方法包括步驟:獲取待檢晶片各層的晶片圖像和原始設計版圖,分別對晶片圖像以及原始設計版圖進行網格劃分,並保存劃分後晶片圖像的第一網格的第一位置信息、原始設計版圖的第二網格的第二位置信息;根據第一位置信息、第二位置信息確定第一網格與第二網格的位置對應關係,分別將各第一網格與相應的第二網格進行相似性比較得到各第一網格的特徵參數;根據特徵參數對各第一網格進行聚類劃分得到兩個網格聚類,分別根據特徵參數為兩個網格聚類中的第一網格分配類別標識;通過第一位置信息確定的類別標識表示有木馬的相鄰第一網格的數量判定待檢晶片中是否含有參數型硬體木馬,可以降低系統開銷,且可以提高檢測的準確性。
【專利說明】參數型硬體木馬檢測方法
【技術領域】
[0001]本發明涉及集成電路檢測【技術領域】,,特別是涉及一種參數型硬體木馬檢測方法。
【背景技術】
[0002]近年來,由於受到半導體產業全球化及成本等方面的影響,目前越來越多的集成電路(IC)設計公司選擇把集成電路的製造過程外包給專門的晶片代工廠(Foundry)來完成。這種模式雖然可以減小開銷,但卻極大地削弱了 IC設計方對於製造過程的管控能力,使得集成電路在製造階段可能遭受對手的惡意修改,這種惡意修改也被稱為「硬體木馬」。硬體木馬一旦被觸發後,可以影響晶片的功能、降低晶片的可靠性、向對手洩露晶片上正在處理的敏感信息,這給晶片的安全性帶來了極大的安全隱患。
[0003]一般來說,根據其所執行的破壞性行為,可以把硬體木馬分為「功能型」和「參數型」兩類。功能型硬體木馬指的是往晶片中加入的一些額外的惡意電路結構,它會導致原始晶片的版圖發生變化;而參數型硬體木馬並不改變原始晶片的版圖,它通過減窄晶片上金屬互連線的寬度等手段來削弱晶片的可靠性,使其壽命變短。對於功能型硬體木馬,目前國內外研究人員均提出了一些檢測方法,其中包括基於邏輯測試的硬體木馬檢測方法和基於旁路分析的硬體木馬檢測方法等,但對於參數型硬體木馬,目前還沒有很好的方法能實現檢測。由於參數型硬體木馬並不改變原始晶片的版圖和功能,因此具有極高的隱蔽性,導致現有的測試技術都不能直接被用於其檢測,這使得參數型硬體木馬的檢測十分困難。
[0004]美國凱斯西儲大學的Shiyanovskii等人提出可採用一種基於預先報警機制的電路延遲監測的方法來實現參數型硬體木馬的檢測。該技術方案需要往原始集成電路中插入額外的測試電路(如環形振蕩器等),這些測試電路把晶片上一個電晶體或若干個器件的傳播延遲與一個預先確定的參考值進行比較。隨著電晶體的退化,該比較的參考值也進行動態地調整。當電晶體的傳播延遲超出參考值時,測試電路會給出預警信號,表明參數型硬體木馬已經影響到了原始晶片的壽命,從而提醒使用人員對該晶片進行更換。該方案在晶片的使用階段,以一種在線實時監測的方式實現參數型硬體木馬的檢測。
[0005]然而,對於基於預先報警機制的電路延遲監測的方法來實現參數型硬體木馬的檢測方式,由於在晶片的使用階段,有其他因素可能影響電晶體的延遲(比如供電電壓的減小等),因此當該方案插入的測試電路監測到傳播延遲變大後,並不能完全確定該變化是由於硬體木馬而引起的,從而導致誤判的可能,需要往原始集成電路中插入一些額外的測試電路,因此會導致晶片面積的增大,此外,由於測試電路本身會發生退化,這會影響木馬檢測的準確性。
【發明內容】
[0006]本發明的目的在於提供一種參數型硬體木馬檢測方法,該方法在不造成集成電路的面積開銷的同時提高檢測的準確性。
[0007]本發明的目的通過如下技術方案實現:
[0008]一種參數型硬體木馬檢測方法,包括如下步驟:
[0009]獲取待檢晶片各層的晶片圖像和原始設計版圖,分別對所述晶片圖像以及所述原始設計版圖進行網格劃分,並保存劃分後所述晶片圖像的各第一網格的第一位置信息、所述原始設計版圖的各第二網格的第二位置信息;
[0010]根據所述第一位置信息、所述第二位置信息分別確定各所述第一網格與各所述第二網格的位置對應關係,根據所述位置對應關係分別將各所述第一網格與相應的第二網格進行相似性比較,得到各所述第一網格的特徵參數;
[0011]根據所述特徵參數對各所述第一網格進行聚類劃分得到兩個網格聚類,分別根據所述特徵參數為兩個網格聚類中的第一網格分配類別標識,其中,一個網格聚類中的第一網格分配的類別標識表示有木馬;
[0012]通過所述第一位置信息以及所述類別標識確定類別標識表示有木馬的相鄰第一網格的數量,根據所述數量判定所述待檢晶片中是否含有參數型硬體木馬。
[0013]一種參數型硬體木馬檢測系統,其包括:
[0014]網格劃分模塊,用於獲取待檢晶片各層的晶片圖像和原始設計版圖,分別對所述晶片圖像以及所述原始設計版圖進行網格劃分,並保存劃分後所述晶片圖像的各第一網格的第一位置信息、所述原始設計版圖的各第二網格的第二位置信息;
[0015]處理模塊,用於根據所述第一位置信息、所述第二位置信息分別確定各所述第一網格與各所述第二網格的位置對應關係,根據所述位置對應關係分別將各所述第一網格與相應的第二網格進行相似性比較,得到各所述第一網格的特徵參數;
[0016]聚類劃分模塊,用於根據所述特徵參數對各所述第一網格進行聚類劃分得到兩個網格聚類,分別根據所述特徵參數為兩個網格聚類中的第一網格分配類別標識,其中,一個網格聚類中的第一網格分配的類別標識表示有木馬;
[0017]判定模塊,用於通過所述第一位置信息以及所述類別標識確定類別標識表示有木馬的相鄰第一網格的數量,根據所述數量判定所述待檢晶片中是否含有參數型硬體木馬。
[0018]依據上述本發明的方案,其是獲取待檢晶片各層的晶片圖像和原始設計版圖,分別對該晶片圖像以及原始設計版圖進行網格劃分,並保存劃分後該晶片圖像的各第一網格的第一位置信息、該原始設計版圖的各第二網格的第二位置信息,基於該第一位置信息及第二位置信息分別確定各第一網格與各第二網格的位置對應關係,根據該位置對應關係分別將各第一網格與相應的第二網格進行相似性比較,得到各第一網格的特徵參數;基於該特徵參數對各所述第一網格進行聚類劃分得到兩個網格聚類,分別根據所述特徵參數為兩個網格聚類中的第一網格分配類別標識,其中,一個網格聚類中的第一網格分配的類別標識表示有木馬,通過所述第一位置信息以及所述類別標識確定類別標識表示有木馬的相鄰第一網格的數量,根據所述數量判定所述待檢晶片中是否含有參數型硬體木馬,由於不需要往原始集成電路中插入額外的測試電路,可以降低系統開銷,且可以提高檢測的準確性。
【專利附圖】
【附圖說明】
[0019]圖1為本發明的參數型硬體木馬檢測方法實施例的流程示意圖;
[0020]圖2為對晶片圖像進行網格劃分的示意圖;
[0021]圖3為一網格的原始設計版圖及實際版圖的對比圖;
[0022]圖4為圖1中的步驟S103在其中一個實施例中的細化流程示意圖;
[0023]圖5為本發明的參數型硬體木馬檢測系統的一個實施例的流程示意圖;
[0024]圖6為本發明的參數型硬體木馬檢測系統的另一個實施例的流程示意圖。
【具體實施方式】
[0025]為使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步的詳細說明。應當理解,此處所描述的【具體實施方式】僅僅用以解釋本發明,並不限定本發明的保護範圍。
[0026]在下述說明中,首先針對參數型硬體木馬檢測方法的實施例進行說明,再對本發明的參數型硬體木馬檢測系統的各實施例進行說明。
[0027]參見圖1所示,為本發明的參數型硬體木馬檢測方法實施例的流程示意圖。如圖1所示,本實施例中的參數型硬體木馬檢測方法包括如下步驟:
[0028]步驟SlOl:獲取待檢晶片各層的晶片圖像和原始設計版圖,分別對所述晶片圖像以及所述原始設計版圖進行網格劃分,並保存劃分後所述晶片圖像的各第一網格的第一位置信息、所述原始設計版圖的各第二網格的第二位置信息;
[0029]本實施例中的參數型硬體木馬檢測方法屬於破壞性的檢測方法,一般為了得到待檢晶片各層的晶片圖像,需要對待檢晶片進行開封、去層等操作,在其中一個實施例中,所述晶片圖像的獲得方式可以是去除所述待檢晶片的封裝得到裸片,逐層對所述裸片進行去層處理,採集各層的圖,以下對該過程進行詳細闡述:
[0030]為了獲取晶片每層的晶片圖像,首先要把裸片從封裝中取出,該過程也稱為封裝去除,以塑料封裝為例,通常情況下可採用濃硫酸或濃硝酸等試劑進行封裝去除;然後要進行去層處理,即利用化學反應或反應離子刻蝕的方法每次去除裸片的一層,每當暴露出裸片的一層後,都要利用掃描電子顯微鏡在一定放大倍數下進行該層的顯微晶片圖像採集,或者通過照相進行拍照,隨後要進行同層晶片圖像的無縫拼接,形成該解剖層次的整層晶片圖像,同時還要把兩個相鄰層次的整層晶片圖像進行鄰層晶片圖像對準,最終得到待檢晶片各層晶片圖像,可以將這些晶片圖像存儲到資料庫中,則可以從該資料庫中獲取待檢晶片各層的晶片圖像;
[0031]在對所述晶片圖像以及所述原始設計版圖進行網格劃分是,網格劃分尺寸、劃分方式,可以根據實際需要進行設置,但所述晶片圖像以及所述原始設計版圖的劃分尺寸、劃分方式一般應該相同,需要分別對每層的晶片圖像進行網格劃分,且需要分別對每層的原始設計版圖進行網格劃分,劃分後同一層的網格互不重疊,參見圖2所示,為對晶片圖像進行網格劃分的示意圖;
[0032]為了區分所述晶片圖像以及所述原始設計版圖劃分後的網格,將對所述晶片圖像劃分後的網格稱之為第一網格,將對原始設計版圖劃分後的網格稱之為第二網格;
[0033]步驟S102:根據所述第一位置信息、所述第二位置信息分別確定各所述第一網格與各所述第二網格的位置對應關係,根據所述位置對應關係分別將各所述第一網格與相應的第二網格進行相似性比較,得到各所述第一網格的特徵參數;
[0034]對於劃分好的每個第一網格,都需要進行特徵提取,首先,根據所述第一位置信息、所述第二位置信息分別確定各所述第一網格與各所述第二網格的位置對應關係,在選定一個第一網格後,可以根據該第一網格的第一位置信息確定該第一網格所在的層以及所在層的位置坐標,再根據第二位置信息確定相應層層的相應位置坐標的第二網格,每一網格都可以按照這種方式確定與其對應的第二網格,即位置對應關係;
[0035]其次,根據所述位置對應關係分別將各所述第一網格與相應的第二網格進行相似性比較,得到各所述第一網格的特徵參數,確定各所述第一網格的特徵參數的方式可以多種多樣的,以下詳細闡釋兩種方式:
[0036]方式一:根據所述位置對應關係分別將各所述第一網格與相應的第二網格的面積重疊部分/像素重疊部分,確定各所述第一網格的特徵參數;
[0037]如圖3所示,為某一網格的原始設計版圖及實際版圖的對比圖,圖中的Y代表待檢晶片的晶片圖像,z代表待檢晶片的原始設計版圖,此外,由於晶片製造過程中存在工藝擾動,因此實際製造出來的圖形不能與Z完全一致,而是存在一定的圖形縮放現象,而Zin和Zout分別代表Z的縮放可容忍下限和上限,它們的值可通過工藝仿真獲得,z代表Z的補集,即該網格中位於Z外部的所有像素點;
[0038]具體地,可以通過如下的公式(I)~公式(3)確定各第一網格的特徵參數:
【權利要求】
1.一種參數型硬體木馬檢測方法,其特徵在於,包括如下步驟: 獲取待檢晶片各層的晶片圖像和原始設計版圖,分別對所述晶片圖像以及所述原始設計版圖進行網格劃分,並保存劃分後所述晶片圖像的各第一網格的第一位置信息、所述原始設計版圖的各第二網格的第二位置信息; 根據所述第一位置信息、所述第二位置信息分別確定各所述第一網格與各所述第二網格的位置對應關係,根據所述位置對應關係分別將各所述第一網格與相應的第二網格進行相似性比較,得到各所述第一網格的特徵參數; 根據所述特徵參數對各所述第一網格進行聚類劃分得到兩個網格聚類,分別根據所述特徵參數為兩個網格聚類中的第一網格分配類別標識,其中,一個網格聚類中的第一網格分配的類別標識表示有木馬; 通過所述第一位置信息以及所述類別標識確定類別標識表示有木馬的相鄰第一網格的數量,根據所述數量判定所述待檢晶片中是否含有參數型硬體木馬。
2.根據權利要求1所述的參數型硬體木馬檢測方法,其特徵在於,所述晶片圖像通過如下方式獲得: 去除所述待檢晶片的封裝得到裸片,逐層對所述裸片進行去層處理,採集各層的晶片圖像。
3.根據權利要求1所述的參數型硬體木馬檢測方法,其特徵在於,所述根據所述位置對應關係分別將各所述第一網格與相應的第二網格進行相似性比較,得到各所述第一網格的特徵參數包括步驟: 根據所述位置對應關係分別將各所述第一網格與相應的第二網格的面積重疊部分/像素重疊部分,確定各所述第一網格的特徵參數; 或者/和 根據所述位置對應關係分別將各所述第一網格的重心與該相應的第二網格的重心,確定各所述第一網格的特徵參數。
4.根據權利要求1所述的參數型硬體木馬檢測方法,其特徵在於,所述根據所述特徵參數對各所述第一網格進行聚類劃分得到兩個網格聚類,分別根據所述特徵參數為兩個網格聚類中的第一網格分配類別標識包括步驟: 將各所述第一網格隨機的歸為第一類、第二類,並分別計算所述第一類的重心、所述第二類的重心; 分別判斷各所述第一網格與第一類的重心的距離是否小於與第二類的重心的距離,若是,則將第一網格歸為第一網格聚類,若否,則將第一網格歸為第二網格聚類; 分別根據所述特徵參數計算當前的第一網格聚類和第二網格聚類中的第一網格的特徵參數的均值和誤差平方和; 判斷是否已連續N次後的誤差平方和不變,其中,N為預設的迭代閾值; 若否,則任意從第一網格聚類或第二網格聚類中取一個第一網格,計算當前取出的第一網格的隸屬度,若該隸屬度大於已計算的第一網格的隸屬度的最小值,則將當前取出的第一網格從該第一網格當前所在的網格聚類移動到另一網格聚類,返回所述分別根據所述特徵參數計算當前的第一網格聚類和第二網格聚類中的第一網格的特徵參數的均值和誤差平方和的步驟; 若是,則分別根據所述特徵參數為當前的第一網格聚類和當前的第二網格聚類的第一網格分配類別標識,其中,一個網格聚類中的第一網格分配的類別標識表示有木馬。
5.根據權利要求1所述的參數型硬體木馬檢測方法,其特徵在於,所述根據所述數量判定所述待檢晶片中是否含有參數型硬體木馬包括步驟: 判斷所述數量是否大於預設的有木馬閾值,若是,則判定所述待檢晶片中含有數型硬體木馬,其中,所述相鄰包括位於不同層內的相鄰以及位於同一層內的相鄰。
6.一種參數型硬體木馬檢測系統,其特徵在於,包括如下步驟: 網格劃分模塊,用於獲取待檢晶片各層的晶片圖像和原始設計版圖,分別對所述晶片圖像以及所述原始設計版圖進行網格劃分,並保存劃分後所述晶片圖像的各第一網格的第一位置信息、所述原始設計版圖的各第二網格的第二位置信息; 處理模塊,用於根據所述第一位置信息、所述第二位置信息分別確定各所述第一網格與各所述第二網格的位置對應關係,根據所述位置對應關係分別將各所述第一網格與相應的第二網格進行相似性比較,得到各所述第一網格的特徵參數; 聚類劃分模塊,用於根據所述特徵參數對各所述第一網格進行聚類劃分得到兩個網格聚類,分別根據所述特徵參數為兩個網格聚類中的第一網格分配類別標識,其中,一個網格聚類中的第一網格分配的類別標識表示有木馬; 判定模塊,用於通過所述第一位置信息以及所述類別標識確定類別標識表示有木馬的相鄰第一網格的數量,根據所述數量判定所述待檢晶片中是否含有參數型硬體木馬。
7.根據權利要求6所述的參數型硬體木馬檢測系統,其特徵在於,所述晶片圖像的獲得方式為:去除所述待檢晶片的封裝得到裸片,逐層對所述裸片進行去層處理,採集各層的晶片圖像。
8.根據權利要求6所述的參數型硬體木馬檢測系統,其特徵在於: 所述處理模塊根據所述位置對應關係分別將各所述第一網格與相應的第二網格的面積重疊部分/像素重疊部分,確定各所述第一網格的特徵參數; 或者/和 所述處理模塊根據所述位置對應關係分別將各所述第一網格的重心與該相應的第二網格的重心,確定各所述第一網格的特徵參數。
9.根據權利要求6所述的參數型硬體木馬檢測系統,其特徵在於,所述聚類劃分模塊包括: 初始劃分單元,用於將各所述第一網格隨機的歸為第一類、第二類,並分別計算所述第一類的重心、所述第二類的重心,分別判斷各所述第一網格與第一類的重心的距離是否小於與第二類的重心的距離,若是,則將第一網格歸為第一網格聚類,若否,則將第一網格歸為第二網格聚類; 計算單元,用於分別根據所述特徵參數計算當前的第一網格聚類和第二網格聚類中的第一網格的特徵參數的均值和誤差平方和; 判斷單元,用於判斷是否已連續N次後的誤差平方和不變,其中,N為預設的迭代閾值; 聚類劃分單元,用於在所述判斷單元的判定結果為否時,任意從第一網格聚類或第二網格聚類中取一個第一網格,計算當前取出的第一網格的隸屬度,若該隸屬度大於已計算的第一網格的隸屬度的最小值,則將當前取出的第一網格從該第一網格當前所在的網格聚類移動到另一網格聚類; 分配單元,用於在所述判斷單元的判定結果為是時,分別根據所述特徵參數為當前的第一網格聚類和當前的第二網格聚類分配類別標識,其中,一個網格聚類中的第一網格分配的類別標識表示有木馬。
10.根據權利要求6所述的參數型硬體木馬檢測系統,其特徵在於: 所述判定模塊判斷所述數量是否大於預設的有木馬閾值,若是,則判定所述待檢晶片中含有數型硬體木馬,其中,所述相鄰包括位於不同層內的相鄰以及位於同一層內的相鄰。
【文檔編號】G01R31/28GK104198913SQ201410431718
【公開日】2014年12月10日 申請日期:2014年8月28日 優先權日:2014年8月28日
【發明者】王力緯, 侯波, 何春華, 恩雲飛, 謝少鋒 申請人:工業和信息化部電子第五研究所