基于二維校準(zhǔn)的硬件木馬檢測(cè)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明主要涉及到芯片安全檢測(cè)領(lǐng)域,特指一種基于二維校準(zhǔn)的用于硬件木馬的檢測(cè)方法。
【背景技術(shù)】
[0002]在國(guó)家加快推動(dòng)集成電路產(chǎn)業(yè)發(fā)展相關(guān)政策的支持下,過(guò)去十余年間,我國(guó)的集成電路產(chǎn)業(yè)取得了較大發(fā)展。但在一些通用集成電路,尤其是高端專用集成電路上,仍然存在多處技術(shù)空白,國(guó)內(nèi)市場(chǎng)集成電路的需求嚴(yán)重依賴于進(jìn)口的局面仍未得到根本改善。而集成電路設(shè)計(jì)與制造業(yè)的分離,給芯片帶來(lái)了安全隱患。
[0003]硬件木馬(hardware trojan),是指對(duì)芯片底層硬件進(jìn)行惡意篡改的無(wú)良電路。硬件木馬電路通常規(guī)模較小,具有隱蔽性強(qiáng)、破壞力大、設(shè)計(jì)實(shí)施要求高、防護(hù)檢測(cè)難度大等特點(diǎn)。硬件木馬的植入方式靈活多變,可以在芯片的設(shè)計(jì)階段植入,也可以在芯片的生產(chǎn)制造階段植入,可以通過(guò)不可信的設(shè)計(jì)人員植入,可以由不可信的第三方提供的IP核或者EDA工具來(lái)植入,還可以由不可信的生產(chǎn)廠商來(lái)植入。而硬件木馬一旦被觸發(fā),將會(huì)造成數(shù)據(jù)泄露、功能擾亂等安全威脅,甚至?xí)斐上到y(tǒng)崩潰,最終對(duì)使用者帶來(lái)安全威脅。如將會(huì)采用死亡開(kāi)關(guān)(Kill Switch)造成系統(tǒng)崩潰,或是留下系統(tǒng)后門(mén)(Backdoor)造成數(shù)據(jù)泄露,最終對(duì)使用者造成安全威脅。
[0004]近年來(lái),隨著關(guān)注度的提高,硬件木馬檢測(cè)技術(shù)得到了迅猛發(fā)展,在硬件木馬的檢測(cè)技術(shù)中,檢測(cè)精度高、效果顯著的旁路分析中基于功耗信息的硬件木馬檢測(cè)技術(shù)逐漸成為了學(xué)術(shù)界關(guān)注的焦點(diǎn)。但是在功耗的采集過(guò)程很容易受到噪聲等因素的干擾,而硬件木馬電路的規(guī)模通常比較小,且在未被觸動(dòng)時(shí)基本處于“休眠”狀態(tài),因此由其產(chǎn)生的功耗信息相對(duì)芯片級(jí)功耗而言甚至是微不足道的。另一方面,隨著IC特征尺寸的不斷縮小,噪聲對(duì)功耗的影響已經(jīng)達(dá)到了不可忽視的地步,這給基于功耗信息的硬件木馬檢測(cè)技術(shù)中帶來(lái)了嚴(yán)峻挑戰(zhàn)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明要解決的技術(shù)問(wèn)題就在于:針對(duì)現(xiàn)有技術(shù)存在的技術(shù)問(wèn)題,本發(fā)明提供一種易實(shí)施、檢測(cè)代價(jià)小、適用性較強(qiáng)的基于二維校準(zhǔn)的硬件木馬檢測(cè)方法。
[0006]為解決上述技術(shù)問(wèn)題,本發(fā)明采用以下技術(shù)方案:
[0007]一種基于二維校準(zhǔn)的硬件木馬檢測(cè)方法,其步驟為:
[0008]S1:通過(guò)反向解剖的方法選擇一個(gè)不含硬件木馬的干凈芯片,記為Golden芯片;
[0009]S2:在與Golden芯片同一批次的芯片中隨機(jī)選擇m個(gè)芯片作為參考的樣本芯片;
[0010]S3:在另一批次的芯片中隨機(jī)抽取m個(gè)芯片作為待測(cè)芯片;
[0011]S4:對(duì)樣本芯片和待測(cè)芯片施加相同的測(cè)試激勵(lì),收集樣本芯片和待測(cè)芯片的功耗信息;
[0012]S5:抽取并統(tǒng)計(jì)出功耗信息數(shù)據(jù)中樣本芯片和待測(cè)芯片的動(dòng)態(tài)峰值電流Ipeak和靜態(tài)漏流I1-,并依據(jù)I_k和I lMkagJ^值將采集到的功耗數(shù)據(jù)分為9個(gè)區(qū)域;
[0013]S6:對(duì)分區(qū)后落在同一個(gè)區(qū)域內(nèi)的功耗數(shù)據(jù)分別建立相應(yīng)的功耗特征信息庫(kù);
[0014]S7:按照區(qū)域?qū)臄?shù)據(jù)進(jìn)行主成分分析;如果待測(cè)芯片的功耗數(shù)據(jù)與Golden芯片的功耗數(shù)據(jù)落在同一個(gè)區(qū)域內(nèi),說(shuō)明待測(cè)芯片是正常的,待測(cè)芯片中未被植入硬件木馬;反之,則說(shuō)明待測(cè)芯片中含有硬件木馬。
[0015]作為本發(fā)明的進(jìn)一步改進(jìn):所述步驟SI的具體流程為:
[0016]S1.1:對(duì)芯片進(jìn)行解剖、腐蝕,使待測(cè)芯片的硅片完全顯現(xiàn)出來(lái);
[0017]S1.2:對(duì)芯片各層的物理圖像進(jìn)行還原,同時(shí)利用電子顯微鏡或者光學(xué)顯微鏡,對(duì)還原得到的物理圖像進(jìn)行逐層拍照得到芯片的圖像;
[0018]S1.3:將拍照得到的圖像進(jìn)行拼接得到每層的完整圖像,利用逆向分析工具把照片整合成完整的芯片版圖;
[0019]S1.4:對(duì)整后的圖像與原始的⑶SII數(shù)據(jù)通過(guò)坐標(biāo)對(duì)圖像進(jìn)行校正;
[0020]S1.5:對(duì)校正后的數(shù)據(jù)進(jìn)行分析判斷二者之間的一致性;如果完全一致,則說(shuō)明待測(cè)芯片是正常的;如果不一致,則分析是由外因引起的還是由電路中可能存在的可疑結(jié)構(gòu)引起的。
[0021]作為本發(fā)明的進(jìn)一步改進(jìn):所述主成分分析法的流程為:
[0022]I)求出功耗數(shù)據(jù)的均值;
[0023]2)求出功耗數(shù)據(jù)的特征協(xié)方差矩陣;
[0024]3)求出特征協(xié)方差矩陣的特征值以及特征向量;
[0025]4)求出將特征值按照從大到小的順序排序,選擇其中最大的k個(gè),然后將其對(duì)應(yīng)的k個(gè)特征向量分別作為列向量組成特征向量矩陣;
[0026]5)將樣本點(diǎn)投影到選取的特征向量上。
[0027]作為本發(fā)明的進(jìn)一步改進(jìn):所述步驟S5和步驟S6中,先抽取出采集到的功耗數(shù)據(jù)的動(dòng)態(tài)峰值電流I_k以及靜態(tài)漏流I lMk_,抽取出I_k的最大值、最小值,同理抽取出I的最大值和最小值,將1“和I 均分為三部分,以I _k作為縱軸,I 作為橫軸,共構(gòu)成9個(gè)區(qū)域;然后,統(tǒng)計(jì)出落在各個(gè)區(qū)域的功耗數(shù)據(jù)的組數(shù),建立功耗特征信息庫(kù)。
[0028]與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:本發(fā)明的二維校準(zhǔn)硬件木馬檢測(cè)方法,通過(guò)二維校準(zhǔn)的方式對(duì)功耗數(shù)據(jù)進(jìn)行分區(qū),易實(shí)施、檢測(cè)代價(jià)小、適用性較強(qiáng),進(jìn)而大大提高了硬件木馬的識(shí)別效率。
【附圖說(shuō)明】
[0029]圖1是本發(fā)明方法的流程示意圖。
[0030]圖2是本發(fā)明在具體應(yīng)用實(shí)例中功耗數(shù)據(jù)分區(qū)結(jié)果的示意圖。
[0031]圖3是本發(fā)明在具體應(yīng)用實(shí)例中分區(qū)后各個(gè)區(qū)域的數(shù)據(jù)類(lèi)型統(tǒng)計(jì)結(jié)果示意圖。
[0032]圖4是本發(fā)明在具體應(yīng)用實(shí)例中未分區(qū)(154組)的功耗特征數(shù)據(jù)分布結(jié)構(gòu)示意圖。
[0033]圖5是本發(fā)明在具體應(yīng)用實(shí)例中區(qū)域I(46組)的功耗特征數(shù)據(jù)結(jié)構(gòu)分布示意圖。
[0034]圖6是本發(fā)明在具體應(yīng)用實(shí)例中區(qū)域2 (16組)的功耗特征數(shù)據(jù)分布結(jié)果示意圖。
[0035]圖7是本發(fā)明在具體應(yīng)用實(shí)例中區(qū)域4 (27組)的功耗特征數(shù)據(jù)分布結(jié)果示意圖。
[0036]圖8是本發(fā)明在具體應(yīng)用實(shí)例中區(qū)域7 (60組)的功耗特征數(shù)據(jù)分布結(jié)果示意圖。
【具體實(shí)施方式】
[0037]以下將結(jié)合說(shuō)明書(shū)附圖和具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)說(shuō)明。
[0038]如圖1所示,本發(fā)明的基于二維校準(zhǔn)的硬件木馬檢測(cè)方法,其步驟為:
[0039]S1:通過(guò)反向解剖的方法選擇一個(gè)不含硬件木馬的干凈芯片,記為Golden芯片;
[0040]S2:在與Golden芯片同一批次的芯片中隨機(jī)選擇m個(gè)芯片作為參考的樣本芯片;
[0041]S3:在另一批次的芯片中隨機(jī)抽取m個(gè)芯片作為待測(cè)芯片;
[0042]S4:對(duì)樣本芯片和待測(cè)芯片施加相同的測(cè)試激勵(lì),收集樣本芯片和待測(cè)芯片的功耗信息;
[0043]S5:抽取并統(tǒng)計(jì)出功耗信息數(shù)據(jù)中樣本芯片和待測(cè)芯片的動(dòng)態(tài)峰值電流Ipeak和靜態(tài)漏流IlMk_,并依據(jù)Ilreak和I lMkagJ^值將采集到的功耗數(shù)據(jù)分為9個(gè)區(qū)域;例如,可以利用Python腳本語(yǔ)言對(duì)采集到的芯片電流信息進(jìn)行統(tǒng)計(jì);
[0044]S6:對(duì)分區(qū)后落在同一個(gè)區(qū)域內(nèi)的功耗數(shù)據(jù)分別建立相應(yīng)的功耗特征信息庫(kù);
[0045]S7:按照區(qū)域?qū)臄?shù)據(jù)進(jìn)行主成分分析(PCA處理),如果待測(cè)芯片的功耗數(shù)據(jù)與Golden芯片的功耗數(shù)據(jù)落在同一個(gè)區(qū)域內(nèi),說(shuō)明待測(cè)芯片是正常的,待測(cè)芯片中未被植入硬件木馬;反之,則說(shuō)明待測(cè)芯片中含有硬件木馬。
[0046]在具體應(yīng)用實(shí)例中,步驟SI的具體流程為:
[0047]S1.1:用一定方法對(duì)芯片進(jìn)行解剖、腐蝕,使待測(cè)芯片的硅片完全顯現(xiàn)出來(lái);
[0048]S1.2:通過(guò)去層、染色等技術(shù)對(duì)芯片各層的物理圖像進(jìn)行還原,同時(shí)利用電子顯微鏡或者光學(xué)顯微鏡,對(duì)還原得到的物理圖像進(jìn)行逐層拍照得到芯片的圖像;
[0049]S1.3:將拍照得到的圖