在有同樣從輸出端口無(wú)法到達(dá)的結(jié)點(diǎn),將其歸并為同一個(gè)結(jié)點(diǎn)集合中。對(duì)于該類硬 件木馬,電路特征抽取將得到所有滿足上述條件的結(jié)點(diǎn)集合。
[0059] (5. 3)對(duì)于輸入數(shù)據(jù)相關(guān)的單次觸發(fā)硬件木馬,其電路特征抽取方式為:在觸發(fā) 器間數(shù)據(jù)流圖中統(tǒng)計(jì)所有結(jié)點(diǎn)的入度。
[0060] (5. 4)對(duì)于輸入數(shù)據(jù)相關(guān)的多次觸發(fā)硬件木馬,其電路特征抽取方式為:首先,在 觸發(fā)器間數(shù)據(jù)流圖中找到所有帶有自環(huán)的結(jié)點(diǎn);之后,將相互之間有連接關(guān)系的自環(huán)結(jié)點(diǎn) 進(jìn)行歸并,得到所有帶環(huán)結(jié)點(diǎn)的結(jié)點(diǎn)集合。
[0061] (5. 5)對(duì)于時(shí)序電路中由多個(gè)組合邏輯電路塊組成的硬件木馬,其電路特征抽取 方式為:在觸發(fā)器間數(shù)據(jù)流圖中統(tǒng)計(jì)所有結(jié)點(diǎn)的出度,并得到出度小于N6的全部結(jié)點(diǎn);對(duì) 于根據(jù)前述過(guò)程所有得到的結(jié)點(diǎn),若對(duì)于任意結(jié)點(diǎn),其前驅(qū)結(jié)點(diǎn)或者后繼結(jié)點(diǎn)中含有同樣 在前述過(guò)程中得到的結(jié)點(diǎn),或者與前述過(guò)程中得到的結(jié)點(diǎn)共享同一個(gè)后繼結(jié)點(diǎn),將這些結(jié) 點(diǎn)歸并為一個(gè)結(jié)點(diǎn)集合。對(duì)于該類硬件木馬,電路特征抽取將得到所有滿足經(jīng)過(guò)前述過(guò)程 得到的結(jié)點(diǎn)集合。
[0062] (5. 6)對(duì)于內(nèi)部延遲電路進(jìn)行觸發(fā)的硬件木馬,獲取電路特征抽取得到的所有結(jié) 點(diǎn)集合,將所含結(jié)點(diǎn)數(shù)大于N1的結(jié)點(diǎn)集合報(bào)告為該類硬件木馬的嫌疑對(duì)象,并產(chǎn)生所有嫌 疑對(duì)象清單及其所含結(jié)點(diǎn)數(shù)。
[0063] (5. 7)對(duì)于泄露芯片內(nèi)部信息的硬件木馬,獲取電路特征抽取得到的所有結(jié)點(diǎn)集 合,將所含結(jié)點(diǎn)數(shù)大于N2的結(jié)點(diǎn)集合報(bào)告為該類硬件木馬的可疑對(duì)象,并產(chǎn)生所有嫌疑對(duì) 象清單及其所含結(jié)點(diǎn)數(shù)。
[0064] (5. 8)對(duì)于輸入數(shù)據(jù)相關(guān)的單次觸發(fā)硬件木馬,獲取電路特征抽取得到的所有結(jié) 點(diǎn)的入度數(shù)據(jù),將入度大于N3的所有結(jié)點(diǎn)報(bào)告為該類硬件木馬的可疑對(duì)象,并產(chǎn)生所有嫌 疑對(duì)象清單及其入度。
[0065] (5. 9)對(duì)于輸入數(shù)據(jù)相關(guān)的多次觸發(fā)硬件木馬,獲取電路特征抽取得到的所有結(jié) 點(diǎn)集合,將從非結(jié)點(diǎn)集合內(nèi)部獲得的入度之和大于N4的所有結(jié)點(diǎn)集合報(bào)告為該類硬件木 馬可疑對(duì)象,并產(chǎn)生所有嫌疑對(duì)象清單及其從非結(jié)點(diǎn)集合內(nèi)部的入度之和。
[0066] (5. 10)對(duì)于時(shí)序電路中由多個(gè)組合邏輯電路塊組成的硬件木馬,獲取電路特征抽 取得到的所有結(jié)點(diǎn)集合,將所含結(jié)點(diǎn)數(shù)大于N5的所有結(jié)點(diǎn)集合報(bào)告為該類硬件木馬嫌疑 對(duì)象,并產(chǎn)生所有嫌疑對(duì)象清單及其所含結(jié)點(diǎn)數(shù)。
[0067] 6.關(guān)于分類的特征分析結(jié)果的描述。
[0068] 在該示例中,分類的特征分析結(jié)果例如包括:上述(5. 6)部分所產(chǎn)生的所有內(nèi)部 延遲電路進(jìn)行觸發(fā)的硬件木馬嫌疑對(duì)象清單及其所含結(jié)點(diǎn)數(shù);上述(5.7)部分所產(chǎn)生的所 有泄露芯片內(nèi)部信息的硬件木馬嫌疑對(duì)象清單及其所含結(jié)點(diǎn)數(shù);上述(5.8)部分所產(chǎn)生的 所有輸入數(shù)據(jù)相關(guān)的單次觸發(fā)硬件木馬嫌疑對(duì)象清單及其入度;上述(5.9)部分所產(chǎn)生的 所有輸入數(shù)據(jù)相關(guān)的多次觸發(fā)硬件木馬嫌疑對(duì)象清單及其從非結(jié)點(diǎn)集合內(nèi)部的入度之和; 上述(5. 10)部分所產(chǎn)生的所有時(shí)序電路中由多個(gè)組合邏輯電路塊組成的硬件木馬嫌疑對(duì) 象清單及其所含結(jié)點(diǎn)數(shù)。
[0069] 7?關(guān)于分類結(jié)果綜合分析的描述。
[0070] 根據(jù)上述得到的每一類硬件木馬嫌疑對(duì)象的數(shù)量、所對(duì)應(yīng)特征的數(shù)據(jù)、嫌疑對(duì)象 綜述占電路總規(guī)模的比例,以及根據(jù)被檢測(cè)電路功能所設(shè)置的標(biāo)準(zhǔn),進(jìn)行分析,并產(chǎn)生硬件 木馬的清單、種類以及置信度三類電路的可信性信息。
[0071] 8.檢測(cè)輸出,將特征評(píng)價(jià)結(jié)果分析得到的信息輸出給用戶。
[0072] 進(jìn)一步地,如下表1所示,顯示了利用本發(fā)明實(shí)施例的方法進(jìn)行基于電路特征分 析的硬件木馬檢測(cè)實(shí)現(xiàn)時(shí)獲得的性能結(jié)果??梢钥闯鲈陔娐芬?guī)模很大,如十幾萬(wàn)門(mén)的情況 下,本實(shí)施例中的觸發(fā)器間數(shù)據(jù)流圖的規(guī)模仍然不大,為數(shù)千結(jié)點(diǎn)數(shù)量級(jí)。通過(guò)預(yù)處理與特 征分析,每類硬件木馬檢測(cè)出來(lái)的可疑對(duì)象數(shù)量都很小,并且都命中了植入在測(cè)試電路中 的硬件木馬。對(duì)于所有的測(cè)試電路,其運(yùn)行時(shí)間在毫秒量級(jí),比分析組合邏輯的方法快了數(shù) 個(gè)數(shù)量級(jí)。同時(shí),對(duì)于時(shí)序電路中多塊組合邏輯電路組成的硬件木馬,本發(fā)明實(shí)施例的方法 也展示出了很好的檢測(cè)效果。
[0073] 表 1
【主權(quán)項(xiàng)】
1. 一種基于電路特征分析的硬件木馬檢測(cè)方法,其特征在于,包括以下步驟: 輸入被檢測(cè)電路,并獲取被檢測(cè)電路的高層描述文件; 根據(jù)所述被檢測(cè)電路的高層描述文件對(duì)所述被檢測(cè)電路中的功能模塊進(jìn)行識(shí)別,以判 斷所述功能模塊的可信度,以及當(dāng)所述功能模塊可信時(shí),對(duì)所述被檢測(cè)電路進(jìn)行標(biāo)記; 從標(biāo)記后的被檢測(cè)電路中提取分類特征,并與預(yù)設(shè)的硬件木馬電路特征庫(kù)中的每一類 硬件木馬的特征進(jìn)行匹配,并根據(jù)匹配結(jié)果,輸出分類的特征分析結(jié)果; 對(duì)所述分類的特征分析結(jié)果進(jìn)行綜合分析,以得到所述被檢測(cè)電路的可信性信息。
2. 根據(jù)權(quán)利要求1所述的基于電路特征分析的硬件木馬檢測(cè)方法,其特征在于,所述 硬件木馬電路特征庫(kù)針對(duì)不同種類的硬件木馬,對(duì)于其特征進(jìn)行總結(jié),并可以針對(duì)所述被 檢測(cè)電路的功能對(duì)于特征匹配的判決標(biāo)準(zhǔn)進(jìn)行調(diào)整。
3. 根據(jù)權(quán)利要求1所述的基于電路特征分析的硬件木馬檢測(cè)方法,其特征在于,所述 被檢測(cè)電路的描述層次為:輸入端口、觸發(fā)器、輸出端口之間數(shù)據(jù)流動(dòng)的觸發(fā)器間數(shù)據(jù)流 圖。
4. 根據(jù)權(quán)利要求3所述的基于電路特征分析的硬件木馬檢測(cè)方法,其特征在于,所述 觸發(fā)器間數(shù)據(jù)流圖為有向圖。
5. 根據(jù)權(quán)利要求2所述的基于電路特征分析的硬件木馬檢測(cè)方法,其特征在于,所述 硬件木馬電路特征庫(kù)包括:內(nèi)部延遲電路進(jìn)行觸發(fā)的硬件木馬、泄露芯片內(nèi)部信息的硬件 木馬、輸入數(shù)據(jù)相關(guān)的單次觸發(fā)硬件木馬、輸入數(shù)據(jù)相關(guān)的多次觸發(fā)硬件木馬、時(shí)序電路中 由多個(gè)分離的組合邏輯電路塊組成的硬件木馬。
6. 根據(jù)權(quán)利要求4所述的基于電路特征分析的硬件木馬檢測(cè)方法,其特征在于,所述 硬件木馬電路特征庫(kù)中對(duì)于硬件木馬特征的描述為所述觸發(fā)器間數(shù)據(jù)流圖中結(jié)點(diǎn)的特征 以及結(jié)點(diǎn)集合特征的描述。
7. 根據(jù)權(quán)利要求6所述的基于電路特征分析的硬件木馬檢測(cè)方法,其特征在于,從標(biāo) 記后的被檢測(cè)電路中提取分類特征,具體包括: 根據(jù)所述硬件木馬電路特征庫(kù)中包含的五種硬件木馬及其對(duì)應(yīng)的特征描述,對(duì)于觸發(fā) 器間數(shù)據(jù)流圖的結(jié)點(diǎn)或者結(jié)點(diǎn)集合的信息進(jìn)行提??; 如果一類硬件木馬的電路特征為其觸發(fā)器間數(shù)據(jù)流圖含有具有滿足一定條件的結(jié)點(diǎn) 集合,電路特征抽取將提取被檢測(cè)電路中所有的符合所述條件的結(jié)點(diǎn)集合; 如果一類硬件木馬的電路特征為其觸發(fā)器間數(shù)據(jù)流圖含有具有滿足一定條件的結(jié)點(diǎn), 電路特征抽取將統(tǒng)計(jì)所述條件上每個(gè)結(jié)點(diǎn)的數(shù)據(jù)。
8. 根據(jù)權(quán)利要求7所述的基于電路特征分析的硬件木馬檢測(cè)方法,其特征在于,所述 與預(yù)設(shè)的硬件木馬電路特征庫(kù)中的每一類硬件木馬的特征進(jìn)行匹配,進(jìn)一步包括: 根據(jù)所述硬件木馬電路特征庫(kù)中對(duì)于每一類硬件木馬電路特征的特征匹配判決標(biāo)準(zhǔn), 對(duì)所述被測(cè)電路特征抽取所得到結(jié)點(diǎn)或結(jié)點(diǎn)集合進(jìn)行分析,判決被抽取的電路特征是否符 合硬件木馬電路特征庫(kù)中所述特征。
9. 根據(jù)權(quán)利要求8所述的基于電路特征分析的硬件木馬檢測(cè)方法,其特征在于,所述 分類的特征分析結(jié)果指所述匹配結(jié)果中滿足所述特征匹配判決標(biāo)準(zhǔn)、符合所述硬件木馬電 路特征庫(kù)的所有嫌疑對(duì)象,其中,對(duì)于不同的特征,其對(duì)應(yīng)的嫌疑對(duì)象的單位為結(jié)點(diǎn)或者結(jié) 點(diǎn)集合。
10.根據(jù)權(quán)利要求1所述的基于電路特征分析的硬件木馬檢測(cè)方法,其特征在于,所述 對(duì)所述分類的特征分析結(jié)果進(jìn)行綜合分析,以得到所述被檢測(cè)電路的可信性信息,進(jìn)一步 包括: 根據(jù)每一類硬件木馬嫌疑對(duì)象的數(shù)量、對(duì)于判決標(biāo)準(zhǔn)的滿足程度、占電路總規(guī)模的比 例以及所述被檢測(cè)電路所專門(mén)制定的標(biāo)準(zhǔn)對(duì)所述分類的特征分析結(jié)果進(jìn)行分析,并產(chǎn)生硬 件木馬的清單、種類以及置信度三類電路的可信性信息。
【專利摘要】本發(fā)明提出一種基于電路特征分析的硬件木馬檢測(cè)方法,包括以下步驟:輸入被檢測(cè)電路,并獲取被檢測(cè)電路的高層描述文件;根據(jù)被檢測(cè)電路的高層描述文件對(duì)被檢測(cè)電路中的功能模塊進(jìn)行識(shí)別,以判斷功能模塊的可信度,以及當(dāng)功能模塊可信時(shí),對(duì)被檢測(cè)電路進(jìn)行標(biāo)記;從標(biāo)記后的被檢測(cè)電路中提取分類特征,并與預(yù)設(shè)的硬件木馬電路特征庫(kù)中的每一類硬件木馬的特征進(jìn)行匹配,并根據(jù)匹配結(jié)果,輸出分類的特征分析結(jié)果;對(duì)分類的特征分析結(jié)果進(jìn)行綜合分析,以得到被檢測(cè)電路的可信性信息。本發(fā)明的方法能夠有效提高對(duì)于硬件木馬的檢測(cè)速度、不同種類硬件木馬的檢測(cè)區(qū)分度和時(shí)序電路中硬件木馬的檢測(cè)效果。
【IPC分類】G06F21-76
【公開(kāi)號(hào)】CN104850804
【申請(qǐng)?zhí)枴緾N201510282294
【發(fā)明人】姚頌, 陳曉明, 汪玉, 楊華中
【申請(qǐng)人】清華大學(xué)
【公開(kāi)日】2015年8月19日
【申請(qǐng)日】2015年5月28日