集成電路硬件木馬檢測方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種集成電路硬件木馬檢測方法及系統(tǒng),上述集成電路硬件木馬檢測方法包括:獲取待測芯片的旁路信息數(shù)據(jù);從待測芯片抽取若干個(gè)樣本芯片并聚類成兩個(gè)芯片聚類,并確定相應(yīng)的聚類中心;從兩個(gè)聚類中抽取幾個(gè)樣本芯片進(jìn)行逆向工程硬件木馬分析,確定其類型;根據(jù)除聚類芯片外的其它待測芯片與所述兩個(gè)聚類中心的歐氏距離,確定其它待測芯片的類型。上述集成電路硬件木馬檢測方法及系統(tǒng)不需要經(jīng)過大量的集成電路硬件木馬逆向工程分析工作便可以完成所有待測芯片的硬件木馬檢測工作,提高了集成電路硬件木馬檢測效率,并且降低了檢測過程中的成本。
【專利說明】集成電路硬件木馬檢測方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及集成電路檢測【技術(shù)領(lǐng)域】,特別是涉及一種集成電路硬件木馬檢測方法 及系統(tǒng)。
【背景技術(shù)】
[0002] 隨著半導(dǎo)體技術(shù)、制造技術(shù)的發(fā)展,硬件外包設(shè)計(jì)和流片已成為全球化趨勢,近年 來出現(xiàn)了一種針對(duì)集成電路新型硬件攻擊方式,稱為"硬件木馬"。硬件木馬主要是指在IC 設(shè)計(jì)和制造過程中人為地惡意添加一些非法電路或者篡改原始設(shè)計(jì)文件,從而留下"時(shí)間 炸彈"或"電子后門"等,為后續(xù)攻擊打開方便之門。硬件木馬一旦被人為隱蔽地插入一個(gè) 復(fù)雜的芯片中,要檢測出來是十分困難的,其危害主要包括竊取芯片重要的信息、影響電路 性能和可靠性、篡改芯片功能甚至損壞芯片。
[0003] 近年來,硬件木馬檢測技術(shù)發(fā)展迅速,主要包括基于失效分析、邏輯測試以及旁路 信號(hào)分析等檢測方法,然而,這些方法一般需要對(duì)大量的集成電路芯片逐個(gè)進(jìn)行硬件木馬 分析(例如反剖工程分析等)工作,使集成電路硬件木馬檢測工作效率較低,并且需要的成 本相對(duì)高。
【發(fā)明內(nèi)容】
[0004] 基于此,針對(duì)現(xiàn)有技術(shù)中硬件木馬檢測工作效率低,成本高的問題,本發(fā)明提供一 種集成電路硬件木馬檢測方法及系統(tǒng)。
[0005] -種集成電路硬件木馬檢測方法,包括如下步驟:
[0006] 獲取待測芯片的旁路信息數(shù)據(jù);
[0007] 從待測芯片抽取若干個(gè)樣本芯片,根據(jù)旁路信息數(shù)據(jù),將所述樣本芯片聚類成兩 個(gè)芯片聚類,并分別確定所述兩個(gè)芯片聚類的聚類中心;
[0008] 分別從兩個(gè)芯片聚類中抽取幾個(gè)樣本芯片進(jìn)行逆向工程硬件木馬分析,確定抽樣 芯片的類型,并根據(jù)抽樣芯片的類型辨識(shí)兩個(gè)芯片聚類的類型;其中,所述芯片類型包括木 馬芯片和非木馬芯片,所述聚類類型包括木馬芯片聚類和非木馬芯片聚類;
[0009] 根據(jù)除聚類芯片外的其它待測芯片的旁路信息數(shù)據(jù)計(jì)算其與所述兩個(gè)聚類中心 的歐氏距離,根據(jù)歐氏距離分別將待測芯片劃分至與待測芯片歐氏距離相對(duì)較小的聚類中 心所代表的聚類中,從而確定所有待測芯片的類型。
[0010] 一種集成電路硬件木馬檢測系統(tǒng),包括:
[0011] 信息獲取模塊,用于獲取待測芯片的旁路信息數(shù)據(jù);
[0012] 芯片聚類模塊,用于從待測芯片抽取若干個(gè)樣本芯片,根據(jù)所述樣本芯片的旁路 信息數(shù)據(jù),將所述樣本芯片聚類成兩個(gè)芯片聚類,并分別確定所述兩個(gè)芯片聚類的中心;
[0013] 聚類識(shí)別模塊,分別從兩個(gè)芯片聚類中抽取幾個(gè)樣本芯片進(jìn)行逆向工程硬件木馬 分析,確定抽樣芯片的類型,并根據(jù)抽樣芯片的類型辨識(shí)兩個(gè)芯片聚類的類型;其中,所述 芯片類型包括木馬芯片和非木馬芯片,所述聚類類型包括木馬芯片聚類和非木馬芯片聚 類;
[0014] 芯片識(shí)別模塊,根據(jù)除聚類芯片外的其它待測芯片的旁路信息數(shù)據(jù)計(jì)算其與所述 兩個(gè)聚類中心的歐氏距離,根據(jù)歐氏距離分別將待測芯片劃分至與待測芯片歐氏距離相對(duì) 較小的聚類中心所代表的聚類中,從而確定所有待測芯片的類型。
[0015] 上述集成電路硬件木馬檢測方法及系統(tǒng),先從待測芯片中抽取部分樣本芯片,根 據(jù)樣本芯片的旁路信息對(duì)其聚類成聚類芯片,并進(jìn)行硬件木馬分析,根據(jù)樣本芯片的聚類 和分析結(jié)果確定除聚類芯片外的其它待測芯片的類型,使本發(fā)明提供的集成電路硬件木馬 檢測方法及系統(tǒng)不需要經(jīng)過大量的集成電路解剖或逆向工程分析工作便可以完成所有待 測芯片的硬件木馬檢測工作,提高了集成電路硬件木馬檢測效率,并且降低了檢測過程中 的成本。
【專利附圖】
【附圖說明】
[0016] 圖1為一個(gè)實(shí)施例的集成電路硬件木馬檢測方法流程圖;
[0017] 圖2為一個(gè)實(shí)施例的根據(jù)樣本芯片瞬態(tài)電流(Iddt)和靜態(tài)電流(Iddq)信息聚類結(jié) 果示意圖;
[0018] 圖3為一個(gè)實(shí)施例的根據(jù)樣本芯片的三個(gè)旁路信息數(shù)據(jù)聚類結(jié)果示意圖;
[0019] 圖4為一個(gè)實(shí)施例的芯片模糊聚類流程圖;
[0020] 圖5為一個(gè)實(shí)施例的確定抽樣芯片的類型的方法流程圖;
[0021] 圖6為一個(gè)實(shí)施例的集成電路硬件木馬檢測系統(tǒng)的模塊圖;
[0022] 圖7為一個(gè)實(shí)施例的聚類識(shí)別模塊中芯片聚類系統(tǒng)的模塊圖;
[0023] 圖8為一個(gè)實(shí)施例的聚類識(shí)別模塊芯片類型識(shí)別系統(tǒng)的模塊圖。
【具體實(shí)施方式】
[0024] 下面結(jié)合附圖對(duì)本發(fā)明提供的集成電路硬件木馬檢測方法及系統(tǒng)的具體實(shí)施方 式作詳細(xì)描述。
[0025] 參考圖1,圖1所示為一個(gè)實(shí)施例的集成電路硬件木馬檢測方法流程圖,如圖所 示,本實(shí)施例提供的集成電路硬件木馬檢測方法包括如下步驟:
[0026] SlOO,獲取待測芯片的旁路信息數(shù)據(jù);
[0027] 上述步驟SlOO中,可以根據(jù)待測芯片的功能以及可能存在硬件木馬的區(qū)域?qū)?yīng) 的旁路信息等特點(diǎn)選擇性獲取所需要的旁路信息,并將上述旁路信息存入向量Xk中,用于 后續(xù)的芯片聚類和類型確定,其中,Xk中的下標(biāo)k= 1,2,…,η,η表示待測芯片的個(gè)數(shù)。
[0028] s300,從待測芯片抽取若干個(gè)樣本芯片,根據(jù)旁路信息數(shù)據(jù),將所述樣本芯片聚類 成兩個(gè)芯片聚類,并分別確定所述兩個(gè)芯片聚類的聚類中心;
[0029] 上述步驟S300中,先從待測芯片抽取部分芯片作為樣本芯片,根據(jù)上述旁路信息 數(shù)據(jù)的特點(diǎn)劃分為兩個(gè)聚類,并確定相應(yīng)的兩個(gè)聚類中心μ:和μ2,用于后續(xù)判斷除聚類 芯片(即聚類后的樣本芯片)外的其他待測芯片的類型。
[0030] S500,分別從兩個(gè)芯片聚類中抽取幾個(gè)樣本芯片進(jìn)行逆向工程硬件木馬分析,確 定抽樣芯片的類型,并根據(jù)抽樣芯片的類型辨識(shí)兩個(gè)芯片聚類的類型;其中,所述芯片類型 包括木馬芯片和非木馬芯片,所述聚類類型包括木馬芯片聚類和非木馬芯片聚類;
[0031] 上述步驟S500中,從兩個(gè)芯片聚類中分別抽取幾個(gè)樣本芯片作為抽樣芯片進(jìn)行 逆向工程硬件木馬分析,根據(jù)上述硬件木馬分析的結(jié)果便可以判斷出木馬芯片聚類和非木 馬芯片聚類,不需要對(duì)所有的聚類芯片逐個(gè)進(jìn)行硬件木馬檢測,降低了檢測過程中的工作 量,其中抽取的樣本芯片的個(gè)數(shù)可以預(yù)設(shè)比例,也可以是選擇樣本芯片中的小部分。
[0032] S700,根據(jù)除聚類芯片外的其它待測芯片的旁路信息數(shù)據(jù)計(jì)算其與所述兩個(gè)聚類 中心的歐氏距離,根據(jù)歐氏距離分別將待測芯片劃分至與待測芯片歐氏距離相對(duì)較小的聚 類中心所代表的聚類中,從而確定所有待測芯片的類型。
[0033] 上述步驟s700中,所述歐氏距離的表達(dá)式為心=-Al2,其中,k= 1,2, ···,!!!,m表示除聚類芯片外的其它待測芯片的個(gè)數(shù),j= 1,2,Xk表示第k個(gè)待測芯片,μ」表示第j個(gè)芯片聚類的聚類中心。
[0034] 上述實(shí)施例提供的集成電路硬件木馬檢測方法,先從待測芯片中抽取部分樣本芯 片,根據(jù)樣本芯片的旁路信息將其劃分為兩個(gè)芯片聚類,再分別從兩個(gè)芯片聚類中分別抽 取幾個(gè)樣本進(jìn)行逆向工程硬件木馬檢測,辨識(shí)兩個(gè)芯片聚類的類型,并能夠根據(jù)上述辨識(shí) 結(jié)果確定除聚類芯片外的其它待測芯片的類型,使本實(shí)施例提供的集成電路硬件木馬檢測 方法不用經(jīng)過大量的集成電路硬件木馬分析工作便可以完成所有待測芯片的硬件木馬檢 測工作,提高了集成電路硬件木馬檢測效率,降低了檢測成本。
[0035] 在一個(gè)實(shí)施例中,上述旁路信息可以包括:瞬態(tài)電流、靜態(tài)電流、最大工作頻率、 延時(shí)、電磁特性以及熱效應(yīng)中的一種或者多種。圖2所示為本實(shí)施例的根據(jù)樣本芯片的瞬 態(tài)電流(Iddt)和靜態(tài)電流(IddtJ)信息聚類結(jié)果示意圖,如圖2所示,X軸坐標(biāo)表示靜態(tài)電流 (Iddq),y軸坐標(biāo)表示瞬態(tài)電流(Iddt),上述集成電路硬件木馬檢測方法根據(jù)樣本芯片瞬態(tài)電 流(Iddt)和靜態(tài)電流(Iddq)的特征,將其分為木馬芯片和非木馬芯片兩個(gè)聚類,并能分別確 定兩個(gè)聚類中心:木馬芯片聚類中心和非木馬芯片聚類中心。觀察圖2所示結(jié)果可以發(fā)現(xiàn) 上述瞬態(tài)電流和靜態(tài)電流能夠比較準(zhǔn)確地反映一個(gè)集成電路的工作狀態(tài),區(qū)分聚類芯片的 類型。
[0036] 圖3所示為本實(shí)施例的根據(jù)上述樣本芯片的三個(gè)旁路信息數(shù)據(jù):第一旁路信息數(shù) 據(jù)、第二旁路信息數(shù)據(jù)以及第三旁路信息數(shù)據(jù)的聚類結(jié)果示意圖,其中,X軸坐標(biāo)代表第一 旁路信息數(shù)據(jù),y軸坐標(biāo)代表第二旁路信息數(shù)據(jù),z軸坐標(biāo)代表第三旁路信息數(shù)據(jù),觀察圖 3所示結(jié)果可以發(fā)現(xiàn)上述集成電路硬件木馬檢測方法能根據(jù)樣本芯片的三個(gè)旁路信息數(shù)據(jù) 準(zhǔn)確劃分出木馬芯片聚類和非木馬芯片聚類,并且確定相應(yīng)的聚類中心。
[0037] 上述旁路信息還可以包括相關(guān)信息中的一種或者多種,使本實(shí)施例中的旁路信息 能夠包含集成電路多個(gè)特點(diǎn),有利于從樣本芯片中辨識(shí)出包含較小電路硬件木馬的芯片。
[0038] 在一個(gè)實(shí)施例中,上述旁路信息數(shù)據(jù)可以指旁路信息原始測試數(shù)據(jù)或降維后的特 征數(shù)據(jù)。
[0039] 參考圖4,圖4所示為一個(gè)實(shí)施例的芯片模糊聚類流程圖,將所述樣本芯片聚類成 兩個(gè)芯片聚類,并分別確定所述兩個(gè)芯片聚類的聚類中心,可以包括:
[0040] S310,從所述樣本芯片的旁路信息數(shù)據(jù)中隨機(jī)選取兩個(gè)聚類中心;
[0041] 上述步驟s310,所述聚類中心為一個(gè)數(shù)據(jù)向量,有助于后續(xù)步驟中區(qū)分差別甚微 的待測芯片。
[0042] s320,預(yù)設(shè)樣本芯片的旁路信息數(shù)據(jù)對(duì)聚類中心的模糊隸屬度值;
[0043] 上述步驟s320中,所述樣本芯片的旁路信息數(shù)據(jù)對(duì)聚類中心的模糊隸屬度說明 上述樣本芯片不完全屬于某個(gè)聚類中心代表的聚類,可以同時(shí)隸屬于多個(gè)聚類,模糊隸屬 度值這一參數(shù)的引入可以提高聚類結(jié)果的精度,使異常情況不明顯的木馬芯片也能從非木 馬芯片中區(qū)分出來。
[0044] s330,通過迭代方法不斷修正聚類中心和模糊隸屬度值;其中,迭代過程以極小化 樣本芯片到各聚類中心的歐氏距離與模糊隸屬度值乘積的加權(quán)和為優(yōu)化目標(biāo);
[0045] 上述步驟s330中,不斷修正聚類中心和模糊隸屬度值,具體可以包括:
[0046] 根據(jù)預(yù)設(shè)的先驗(yàn)概率Ρ(ωρ以及具有確定數(shù)學(xué)形式的條件概率密度 P(XtIωΘ,.)得到樣本Xt的產(chǎn)生概率P(XtIΘ):
【權(quán)利要求】
1. 一種集成電路硬件木馬檢測方法,其特征在于,包括如下步驟: 獲取待測芯片的旁路信息數(shù)據(jù); 從待測芯片抽取若干個(gè)樣本芯片,根據(jù)旁路信息數(shù)據(jù),將所述樣本芯片聚類成兩個(gè)芯 片聚類,并分別確定所述兩個(gè)芯片聚類的聚類中心; 分別從兩個(gè)芯片聚類中抽取幾個(gè)樣本芯片進(jìn)行逆向工程硬件木馬分析,確定抽樣芯片 的類型,并根據(jù)抽樣芯片的類型辨識(shí)兩個(gè)芯片聚類的類型;其中,所述芯片類型包括木馬芯 片和非木馬芯片,所述聚類類型包括木馬芯片聚類和非木馬芯片聚類; 根據(jù)除聚類芯片外的其它待測芯片的旁路信息數(shù)據(jù)計(jì)算其與所述兩個(gè)聚類中心的歐 氏距離,根據(jù)歐氏距離分別將待測芯片劃分至與待測芯片歐氏距離相對(duì)較小的聚類中心所 代表的聚類中,確定所有待測芯片的類型。
2. 根據(jù)權(quán)利要求1所述的集成電路硬件木馬檢測方法,所述旁路信息包括:瞬態(tài)電流、 靜態(tài)電流、最大工作頻率、延時(shí)、電磁特性以及熱效應(yīng)中的一種或者多種。
3. 根據(jù)權(quán)利要求1所述的集成電路硬件木馬檢測方法,所述旁路信息數(shù)據(jù)是指旁路信 息原始測試數(shù)據(jù)、或降維后的特征數(shù)據(jù)。
4. 根據(jù)權(quán)利要求1所述的集成電路硬件木馬檢測方法,所述將所述樣本芯片聚類成兩 個(gè)芯片聚類,并分別確定所述兩個(gè)芯片聚類的聚類中心包括如下步驟: 從所述樣本芯片的旁路信息數(shù)據(jù)中隨機(jī)選取兩個(gè)聚類中心; 預(yù)設(shè)樣本芯片的旁路信息數(shù)據(jù)對(duì)聚類中心的模糊隸屬度值; 通過迭代方法不斷修正聚類中心和模糊隸屬度值;其中,迭代過程以極小化樣本芯片 到各聚類中心的歐氏距離與模糊隸屬度值乘積的加權(quán)和為優(yōu)化目標(biāo); 根據(jù)所述聚類中心和模糊隸屬度的修正值將樣本芯片聚類成兩個(gè)芯片聚類。
5. 根據(jù)權(quán)利要求1所述的集成電路硬件木馬檢測方法,所述確定抽樣芯片的類型包括 如下步驟: 分別解剖或逆向工程所述抽樣芯片; 比對(duì)解剖或逆向工程后的抽樣芯片與原芯片的設(shè)計(jì)圖; 判斷解剖或逆向工程后的抽樣芯片與原芯片的設(shè)計(jì)圖是否匹配,若匹配,判斷其為非 木馬芯片,若不匹配,則判斷其為木馬芯片。
6. -種集成電路硬件木馬檢測系統(tǒng),其特征在于,包括: 信息獲取模塊,用于獲取待測芯片的旁路信息數(shù)據(jù); 芯片聚類模塊,用于從待測芯片抽取若干個(gè)樣本芯片,根據(jù)所述樣本芯片的旁路信息 數(shù)據(jù),將所述樣本芯片聚類成兩個(gè)芯片聚類,并分別確定所述兩個(gè)芯片聚類的中心; 聚類識(shí)別模塊,分別從兩個(gè)芯片聚類中抽取幾個(gè)樣本芯片進(jìn)行逆向工程硬件木馬分 析,確定抽樣芯片的類型,并根據(jù)抽樣芯片的類型辨識(shí)兩個(gè)芯片聚類的類型;其中,所述芯 片類型包括木馬芯片和非木馬芯片,所述聚類類型包括木馬芯片聚類和非木馬芯片聚類; 芯片識(shí)別模塊,根據(jù)除聚類芯片外的其它待測芯片的旁路信息數(shù)據(jù)計(jì)算其與所述兩個(gè)聚類 中心的歐氏距離,根據(jù)歐氏距離分別將待測芯片劃分至與待測芯片歐氏距離相對(duì)較小的聚 類中心所代表的聚類中,從而確定所有待測芯片的類型。
7. 根據(jù)權(quán)利要求6所述的集成電路硬件木馬檢測系統(tǒng),所述旁路信息包括:瞬態(tài)電流、 靜態(tài)電流、最大工作頻率、延時(shí)、電磁特性以及熱效應(yīng)中的一種或者多種。
8. 根據(jù)權(quán)利要求6所述的集成電路硬件木馬檢測系統(tǒng),所述旁路信息數(shù)據(jù)是指旁路信 息原始測試數(shù)據(jù)或降維后的特征數(shù)據(jù)。
9. 根據(jù)權(quán)利要求6所述的集成電路硬件木馬檢測系統(tǒng),所述芯片聚類模塊包括: 選取模塊,用于從所述樣本芯片的旁路信息數(shù)據(jù)中隨機(jī)選取兩個(gè)聚類中心; 預(yù)設(shè)模塊,用于預(yù)設(shè)樣本芯片的旁路信息數(shù)據(jù)對(duì)聚類中心的模糊隸屬度值; 修正模塊,用于通過迭代方法不斷修正聚類中心和模糊隸屬度值;其中,迭代過程以極 小化樣本芯片到各聚類中心的歐氏距離與模糊隸屬度值乘積的加權(quán)和為優(yōu)化目標(biāo); 聚類模塊,用于根據(jù)所述聚類中心和模糊隸屬度的修正值將樣本芯片聚類成兩個(gè)芯片 聚類。
10. 根據(jù)權(quán)利要求6所述的集成電路硬件木馬檢測系統(tǒng),所述聚類識(shí)別模塊包括: 解剖模塊,用于解剖或逆向工程所述抽樣芯片; 比對(duì)模塊,用于比對(duì)解剖或逆向工程后的抽樣芯片與原芯片的設(shè)計(jì)圖; 判斷模塊,用于判斷解剖或逆向工程后的抽樣芯片與原芯片的設(shè)計(jì)圖是否匹配,若匹 配,判斷其為非木馬芯片,若不匹配,則判斷其為木馬芯片。
【文檔編號(hào)】G01R31/28GK104316861SQ201410549090
【公開日】2015年1月28日 申請(qǐng)日期:2014年10月16日 優(yōu)先權(quán)日:2014年10月16日
【發(fā)明者】何春華, 侯波, 王力緯, 恩云飛, 謝少鋒 申請(qǐng)人:工業(yè)和信息化部電子第五研究所