史江義 溫 聰 劉鴻瑾 王澤坤 張紹林 馬佩軍* 李 康
①(西安電子科技大學(xué) 西安 710000)
②(北京軒宇空間科技有限公司 北京 100190)
隨著現(xiàn)代集成電路設(shè)計(jì)的規(guī)模和復(fù)雜度快速增加,芯片供應(yīng)商在芯片設(shè)計(jì)、制造和測(cè)試方面面臨著日益增長(zhǎng)的成本壓力、緊迫的上市時(shí)間壓力以及資源限制。由于使用第三方知識(shí)產(chǎn)權(quán)(Third-Party Intellectual Property, 3PIP)具有可重用性和高的成本效益,設(shè)計(jì)者可以將資源專注于應(yīng)對(duì)新的市場(chǎng)需求。然而,這樣增大了產(chǎn)品通過(guò)3PIP的形式被植入硬件木馬的風(fēng)險(xiǎn)。硬件木馬(Hardware Trojan, HT)是指故意或惡意修改集成電路(Integrated Circuit, IC)的設(shè)計(jì),通常具有信息泄露、功能更改、降低芯片性能或拒絕芯片服務(wù)等危害[1]。由于集成電路在軍事系統(tǒng)、關(guān)鍵基礎(chǔ)設(shè)施、醫(yī)療設(shè)備等領(lǐng)域的廣泛應(yīng)用,硬件木馬引發(fā)的安全事故將非常致命。而隨著集成電路的市場(chǎng)連年增長(zhǎng),不可信的3PIP將成為國(guó)家信息安全、消費(fèi)電子領(lǐng)域的巨大隱患。
3PIP很難獲取其黃金IC模型(黃金IC模型,經(jīng)驗(yàn)證沒(méi)有硬件木馬植入的IC),因此需要黃金模型的方式具有很大的局限性。同時(shí)在物理實(shí)現(xiàn)前找出硬件木馬是非常關(guān)鍵的,因?yàn)樵陧?xiàng)目后期移除硬件木馬的成本將成倍增加。在一個(gè)大規(guī)模工業(yè)級(jí)3PIP中檢測(cè)僅有幾十個(gè)乃至幾個(gè)門構(gòu)成的硬件木馬邏輯是一項(xiàng)極具挑戰(zhàn)性的工作,因?yàn)楝F(xiàn)有通過(guò)邏輯驗(yàn)證[2]、形式驗(yàn)證[3]、手動(dòng)的代碼檢查等硬件木馬檢測(cè)方式非常耗時(shí),而且不具備拓展性[4]。因此,目前迫切需要一種可拓展且不需要黃金模型的方案來(lái)提高硬件木馬的檢測(cè)效率。
鑒于上述挑戰(zhàn),本文提出一種應(yīng)用圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Network, GNN)的硅前硬件木馬檢測(cè)方式,本方法可以在沒(méi)有黃金參考電路的情況下準(zhǔn)確定位網(wǎng)表級(jí)電路中植入的硬件木馬。由于門級(jí)網(wǎng)表是一種非歐的圖結(jié)構(gòu),因此本文應(yīng)用更適用的圖神經(jīng)網(wǎng)絡(luò)來(lái)學(xué)習(xí)門級(jí)電路行為,用于檢測(cè)網(wǎng)表中的異常存在。本文提供了一個(gè)全自動(dòng)的硬件木馬檢測(cè)流程,通過(guò)自動(dòng)解析網(wǎng)表構(gòu)建圖結(jié)構(gòu)、自動(dòng)提取網(wǎng)表中門的本征特征以及相關(guān)圖特征用于節(jié)點(diǎn)表征,用于圖神經(jīng)網(wǎng)絡(luò)的訓(xùn)練及硬件木馬檢測(cè)。本文使用兩個(gè)數(shù)據(jù)集[5](基于新思90 nm通用庫(kù)(Synopsys 90 nm generic library, SAED)以及基于系統(tǒng)250 nm庫(kù)(LEDA))來(lái)評(píng)估檢測(cè)模型,在SAED中實(shí)現(xiàn)了92.9%的平均召回率以及86.2%的平均F1分?jǐn)?shù),相比目前最先進(jìn)的學(xué)習(xí)模型F1分?jǐn)?shù)提高了8.4%。而在基于LEDA的數(shù)據(jù)集上,分別在組合邏輯類型硬件木馬檢測(cè)中獲得平均83.6%的召回率、70.8%的F1,在時(shí)序邏輯類型硬件木馬檢測(cè)工作中獲得平均95.0%的召回率以及92.8%的F1分?jǐn)?shù)。
本文實(shí)現(xiàn)了一種無(wú)需黃金參考模型的門硬件木馬檢測(cè)方式,應(yīng)用先進(jìn)的有監(jiān)督圖神經(jīng)網(wǎng)絡(luò)構(gòu)建檢測(cè)模型,具有魯棒的硬件木馬和正常電路的區(qū)分能力。由于將硬件木馬檢測(cè)問(wèn)題轉(zhuǎn)換成圖節(jié)點(diǎn)二分類問(wèn)題,因此不需要和IC的黃金模型進(jìn)行對(duì)比。并通過(guò)兩個(gè)數(shù)據(jù)集來(lái)評(píng)估模型檢測(cè)能力,在數(shù)據(jù)量較小的SAED上進(jìn)行方法的調(diào)優(yōu),并在大數(shù)據(jù)量上的LEDA數(shù)據(jù)集上進(jìn)行模型有效性的評(píng)估。主要貢獻(xiàn)如下:
(1) 本模型不依賴IC設(shè)計(jì)的黃金參考模型,不需要生成高覆蓋率的測(cè)試向量,可以顯著提高檢測(cè)效率。
(2) 本文應(yīng)用節(jié)點(diǎn)特征為節(jié)點(diǎn)本征特征以及圖結(jié)構(gòu)特征,不涉及硬件木馬的啟發(fā)式特征,具有更高的靈活性、拓展性和更強(qiáng)的模型泛化能力。
(3) 構(gòu)建了一個(gè)全自動(dòng)的硅前硬件木馬檢測(cè)流程,其中包括門級(jí)網(wǎng)表的解析、門級(jí)圖結(jié)構(gòu)的生成、門特征提取以及圖神經(jīng)網(wǎng)絡(luò)訓(xùn)練和檢測(cè)。
近年來(lái),深度學(xué)習(xí)在計(jì)算機(jī)視覺(jué)、自然語(yǔ)言處理等領(lǐng)域具有廣泛應(yīng)用,并逐漸應(yīng)用于硬件木馬檢測(cè)的問(wèn)題上。電路的結(jié)構(gòu)和功能特征為深度學(xué)習(xí)模型提供了重要數(shù)據(jù)[6]。Shen等人[7,8]使用基于自然語(yǔ)言處理的方法,使用統(tǒng)計(jì)門序列的方式獲取節(jié)點(diǎn)嵌入,之后采用循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)進(jìn)行檢測(cè)模型的訓(xùn)練,結(jié)果顯示[8]獲得82%的平均召回率以及96%的真負(fù)類率(True Negative Rate, TNR)。文獻(xiàn)[9]建立多維度的硬件木馬特征庫(kù),并使用最近鄰不平衡數(shù)據(jù)分類算法均衡硬件木馬特征分布,最終通過(guò)支持向量機(jī)訓(xùn)練檢測(cè)模型獲得97.02%的硬件木馬檢測(cè)準(zhǔn)確率。文獻(xiàn)[10]使用極度梯度提升樹(eXtreme Gradient Boosting,XGBoost)的混合模式,結(jié)合硬件木馬靜態(tài)特征、結(jié)構(gòu)特征以及動(dòng)態(tài)特征,實(shí)現(xiàn)了94.0%的平均召回率。這些特征相關(guān)的工作都極度依賴啟發(fā)式特征來(lái)表征硬件木馬的特性,雖然在已有的數(shù)據(jù)集中有效,但隨著硬件木馬設(shè)計(jì)的對(duì)抗升級(jí)[11],檢測(cè)模型極有可能失去當(dāng)前的檢測(cè)精度。此外硬件木馬邊緣節(jié)點(diǎn)的特征與正常節(jié)點(diǎn)特征相近[12,13],導(dǎo)致檢測(cè)模型很容易將其識(shí)別為正常節(jié)點(diǎn)。在傳統(tǒng)的機(jī)器學(xué)習(xí)范式中,特征一旦提取就不會(huì)改變,這也是它在硬件木馬檢測(cè)工作上的天然劣勢(shì)。
門級(jí)網(wǎng)表是非歐圖結(jié)構(gòu),可以被圖神經(jīng)網(wǎng)絡(luò)天然兼容,因此圖神經(jīng)網(wǎng)絡(luò)也被應(yīng)用到硬件木馬相關(guān)工作中。由于圖神經(jīng)網(wǎng)絡(luò)具有消息傳遞機(jī)制以及能夠聚合圖結(jié)構(gòu)特征和節(jié)點(diǎn)自身特征,因此基于圖學(xué)習(xí)的硬件木馬檢測(cè)方式對(duì)特征的依賴大大減小。文獻(xiàn)[14]是一項(xiàng)應(yīng)用于寄存器傳輸級(jí)硬件木馬檢測(cè)的工作,該模型能夠判斷代碼中是否植入硬件木馬。該方法將寄存器傳輸級(jí)代碼轉(zhuǎn)換成數(shù)據(jù)流圖,并建立圖神經(jīng)網(wǎng)絡(luò)模型對(duì)數(shù)據(jù)流圖進(jìn)行圖分類。不過(guò)該工作只能識(shí)別設(shè)計(jì)中是否植入HT,可以用于鎖定硬件木馬的檢測(cè)范圍,但無(wú)法找到硬件木馬節(jié)點(diǎn)。文獻(xiàn)[15]通過(guò)對(duì)比學(xué)習(xí)和圖卷積神經(jīng)網(wǎng)絡(luò)結(jié)合的方式構(gòu)建硬件木馬觸發(fā)器的檢測(cè)模型,能準(zhǔn)確識(shí)別硬件木馬觸發(fā)器。文獻(xiàn)[16]是一種采用圖神經(jīng)網(wǎng)絡(luò)尋找狀態(tài)寄存器的工作可以協(xié)助硬件木馬檢測(cè)工作。
本文的威脅模型是在假設(shè)不可信的第三方IP供應(yīng)商在布局布線前的階段植入硬件木馬的前提下進(jìn)行的。威脅模型的對(duì)象是可以綜合成門級(jí)網(wǎng)表的軟核或者是門級(jí)網(wǎng)表級(jí)IP,并被最終的電路設(shè)計(jì)使用。而硬件木馬的植入方式可以有以下場(chǎng)景:
(1) 可信的第三方通過(guò)不可信的電子設(shè)計(jì)自動(dòng)化工具(Electronic Design Automation, EDA)無(wú)意插入HT;
(2) 不可信的第三方直接在交付設(shè)計(jì)上植入硬件木馬;
(3) 在掃描鏈上植入硬件木馬;
(4) 外包設(shè)計(jì)的不可信第三方設(shè)計(jì)師或者團(tuán)隊(duì)中潛在的惡意設(shè)計(jì)師。
本節(jié)概述一些用于全文的背景知識(shí)。
圖是一種非歐幾里得數(shù)據(jù)結(jié)構(gòu),圖論(graph theory)中的圖是通過(guò)若干個(gè)點(diǎn)及連接兩點(diǎn)之間的線所構(gòu)成的。其中的點(diǎn)代表某個(gè)實(shí)體,而其中連接點(diǎn)之間的線代表兩個(gè)點(diǎn)(即這兩個(gè)實(shí)體)之間所具有的特定關(guān)系。類似地,硬件設(shè)計(jì)根據(jù)電路元件及其連接來(lái)描述電路。
在圖神經(jīng)網(wǎng)絡(luò)中,圖數(shù)據(jù)結(jié)構(gòu)通常表示為G={V,E,A}, 其中,V代表節(jié)點(diǎn)的集合,即點(diǎn)集,E代表兩點(diǎn)之間的線的集合,即邊集,A代表節(jié)點(diǎn)屬性的集合。
圖神經(jīng)網(wǎng)絡(luò)(GNN)是非歐圖學(xué)習(xí)范式,其實(shí)質(zhì)是迭代集合鄰居特征的過(guò)程,而從計(jì)算機(jī)數(shù)學(xué)視角來(lái)看則是某個(gè)空間結(jié)構(gòu)上的映射過(guò)程[17]。GNN擅長(zhǎng)于將復(fù)雜的高維圖信息解碼成低維特征嵌入。特征嵌入將結(jié)合節(jié)點(diǎn)的圖上位置信息、節(jié)點(diǎn)自身屬性、相鄰節(jié)點(diǎn)信息以及結(jié)構(gòu)信息。為此,GNN設(shè)計(jì)了消息傳遞機(jī)制,可以實(shí)現(xiàn)消息在圖上節(jié)點(diǎn)的傳播,并通過(guò)神經(jīng)網(wǎng)絡(luò)完成消息的更新。下面將通過(guò)公式來(lái)了解GNN的細(xì)節(jié)。
在第k層圖神經(jīng)網(wǎng)絡(luò)消息傳遞階段,節(jié)點(diǎn)u將接受其相鄰節(jié)點(diǎn)N(u)的信息并進(jìn)行自身特征的更新,可以表達(dá)為
其中,AGG和UP均屬于可微的函數(shù),可用于反向傳播算法更新權(quán)重矩陣。m(u)為消息傳遞函數(shù),它實(shí)現(xiàn)了將周圍節(jié)點(diǎn)特征聚合的功能。h是將消息傳遞和自身上一層GNN合成的節(jié)點(diǎn)特征h-1進(jìn)行更新??傊?,GNN就是通過(guò)上述消息傳遞范式實(shí)現(xiàn)了將圖上特征和自身節(jié)點(diǎn)特征的聚合更新。一旦得到節(jié)點(diǎn)特征嵌入,則可以使用端到端的方式應(yīng)用于一系列學(xué)習(xí)任務(wù)中,例如節(jié)點(diǎn)分類、圖分類、機(jī)器視覺(jué)等工作。在這項(xiàng)工作中,本文將門級(jí)網(wǎng)表中的邏輯門作為圖節(jié)點(diǎn),使用有監(jiān)督的方式訓(xùn)練GNN對(duì)硬件木馬門和正常邏輯門進(jìn)行二分類,將問(wèn)題轉(zhuǎn)化為節(jié)點(diǎn)分類。
圖1闡釋了本文門級(jí)硬件木馬檢測(cè)方法全自動(dòng)流程的框架。主要思路是使用基準(zhǔn)訓(xùn)練集訓(xùn)練圖神經(jīng)網(wǎng)絡(luò)模型,之后用已經(jīng)訓(xùn)練好的模型對(duì)待測(cè)網(wǎng)表進(jìn)行推理。第1步是對(duì)網(wǎng)表進(jìn)行格式化并解析,之后構(gòu)建有向無(wú)環(huán)圖用于圖神經(jīng)網(wǎng)絡(luò)的輸入,自動(dòng)提取相關(guān)特征并與節(jié)點(diǎn)進(jìn)行關(guān)聯(lián)。第3步是將特征和圖輸送給3層GraphSAGE管道生成節(jié)點(diǎn)嵌入,最后經(jīng)過(guò)多層感知機(jī)和Softmax激活函數(shù)輸出預(yù)測(cè)結(jié)果,即該嵌入對(duì)應(yīng)的節(jié)點(diǎn)是否為硬件木馬。接下來(lái)將具體介紹上述內(nèi)容。
圖1 基于GraphSAGE的硬件木馬檢測(cè)框架
本文將門級(jí)網(wǎng)表轉(zhuǎn)化為一種通用的圖數(shù)據(jù)結(jié)構(gòu),其中包含著網(wǎng)表中存在的所有邏輯門的連接關(guān)系以及對(duì)應(yīng)門的相應(yīng)特征向量,其中邏輯門是節(jié)點(diǎn),而連接線為邊。本文將門的類型進(jìn)行模糊處理,僅對(duì)門邏輯功能進(jìn)行大體分類,不在意邏輯門扇入、扇出大小的差異,盡可能避免過(guò)多門類型對(duì)特征的稀釋。同時(shí)將圖中的環(huán)進(jìn)行拆解,生成有向無(wú)環(huán)圖。圖2中將顯示特征的具體表現(xiàn)。本文采用的節(jié)點(diǎn)特征向量包含以下信息:節(jié)點(diǎn)類型的獨(dú)熱碼、節(jié)點(diǎn)入度、節(jié)點(diǎn)出度、節(jié)點(diǎn)與主輸入的最小距離PI、節(jié)點(diǎn)與主輸出的最小距離PO。
圖2 本文特征向量表示以及GNN模型架構(gòu)
如上所述,節(jié)點(diǎn)的類型由獨(dú)熱碼構(gòu)成,由于對(duì)門類型進(jìn)行處理,本文從Trusthub測(cè)試集中歸納出18種基本門類型,因此獨(dú)熱碼的維度為18。節(jié)點(diǎn)入度是對(duì)應(yīng)節(jié)點(diǎn)輸入端連接節(jié)點(diǎn)的數(shù)量,該特征補(bǔ)充所在門的扇入大小信息。出度則是對(duì)應(yīng)節(jié)點(diǎn)輸出端連接節(jié)點(diǎn)的個(gè)數(shù)。節(jié)點(diǎn)與主輸入與主輸出的最小距離將揭示節(jié)點(diǎn)在組合邏輯鏈上的位置信息(由于圖神經(jīng)網(wǎng)絡(luò)限定了深度,因此無(wú)法應(yīng)對(duì)于長(zhǎng)的組合邏輯鏈)。上述特征都可以根據(jù)節(jié)點(diǎn)信息和圖上連接關(guān)系快速得到,提取所需要的算法復(fù)雜度低,與硬件木馬相關(guān)的先驗(yàn)特性耦合度小,極大提高了檢測(cè)模型的泛化能力。
在網(wǎng)表的圖結(jié)構(gòu)、圖上節(jié)點(diǎn)特征以及標(biāo)簽得到后,將歸一化后的節(jié)點(diǎn)特征放入圖采樣聚合算法(Graph Sample and AGgrEgate, GraphSAGE)模型中進(jìn)行節(jié)點(diǎn)嵌入生成及模型訓(xùn)練。本文使用的GraphSAGE[17]是一個(gè)基于空域卷積算法的歸納式(Inductive)圖神經(jīng)網(wǎng)絡(luò)。GraphSAGE能實(shí)現(xiàn)批次訓(xùn)練方案,不僅使訓(xùn)練過(guò)程更高效,也能很好地泛化到推理中,在大規(guī)模圖的準(zhǔn)確性、泛化能力和可擴(kuò)展性方面展示出極大的優(yōu)勢(shì)。實(shí)驗(yàn)中的GraphSAGE算法流程如圖3所示:
圖3 GraphSAGE算法流程
(1) 對(duì)節(jié)點(diǎn)圖中的每一個(gè)頂點(diǎn)的鄰居節(jié)點(diǎn)進(jìn)行采樣;
(2) 通過(guò)模型的聚合函數(shù)聚合各鄰居節(jié)點(diǎn)的信息;
(3) 將各節(jié)點(diǎn)的信息轉(zhuǎn)換為模型訓(xùn)練所需的圖向量;
其中,Wk為第k層神經(jīng)網(wǎng)絡(luò)可訓(xùn)練的權(quán)重矩陣,σ為非線性激活函數(shù),例如常用的ReLU。N(v)是采樣到節(jié)點(diǎn)v相鄰節(jié)點(diǎn)的集合。AGG是Graph-SAGE的聚合方式,一般有3種形式:平均聚合(mean)、池化聚合(pool)以及長(zhǎng)短期記憶(Long Short-Term Memory, LSTM)聚合。本文對(duì)這3種聚合方式都進(jìn)行了實(shí)驗(yàn),并采用效果最好的聚合方式作為最終檢測(cè)模型的方案。在通過(guò)GNN的管道后,使用多層感知機(jī)(MultiLayer Perceptron,MLP)和Softmax函數(shù)輸出2維概率向量,分別表示為硬件木馬和正常邏輯門的概率,最終完成分類任務(wù)。
本節(jié)將對(duì)本檢測(cè)模型性能進(jìn)行一個(gè)詳細(xì)的評(píng)估,介紹本次評(píng)估的平臺(tái)集測(cè)試集信息,并與基于支持向量機(jī)(Support Vector Machine, SVM)的基準(zhǔn)測(cè)試和目前最新的3種方法進(jìn)行比較:Grams-Det[8]、隨機(jī)森林[18]和對(duì)抗訓(xùn)練[19]。最后應(yīng)用于基于LEDA的大數(shù)據(jù)集來(lái)驗(yàn)證本方法的有效性。
本實(shí)驗(yàn)從Trust-Hub[5,20]中選取了兩組使用不同標(biāo)準(zhǔn)單元庫(kù)的網(wǎng)表,其中之一采用SAED庫(kù),另外一組采用LEDA系統(tǒng)250 nm庫(kù)。數(shù)據(jù)集信息如表1所示。由于SAED數(shù)據(jù)集相對(duì)較小,并且現(xiàn)有工作大部分在SAED數(shù)據(jù)集上實(shí)現(xiàn),因此本文將通過(guò)SAED數(shù)據(jù)集進(jìn)行模型尋優(yōu)以及結(jié)果比對(duì)。而LEDA數(shù)據(jù)集包含大量網(wǎng)表,本文隨機(jī)選取其中80個(gè)網(wǎng)表進(jìn)行本方法有效性的驗(yàn)證。
表1 Trust-Hub數(shù)據(jù)集
對(duì)于實(shí)驗(yàn)的檢測(cè)結(jié)果,在本文中選用以下3個(gè)指標(biāo)作為評(píng)價(jià)實(shí)驗(yàn)結(jié)果的指標(biāo),它們分別是:TPR(recall), TNR, F1。其中F1可以綜合評(píng)估檢測(cè)模型的分類能力,對(duì)于硬件木馬檢測(cè)這種數(shù)據(jù)集極端不平衡的任務(wù)來(lái)說(shuō)是嚴(yán)苛的指標(biāo)。這3個(gè)評(píng)價(jià)指標(biāo)的公式以及相關(guān)含義如表2所示。
表2 實(shí)驗(yàn)評(píng)價(jià)指標(biāo)
本實(shí)驗(yàn)的模型算法由pytorch以及深度圖學(xué)習(xí)庫(kù)(Deep Graph Library, DGL)[21]搭建,其中DGL是面向圖神經(jīng)網(wǎng)絡(luò)的開源框架,幫助用戶更容易在現(xiàn)有深度學(xué)習(xí)框架的基礎(chǔ)上高效地執(zhí)行相應(yīng)的圖算法。實(shí)驗(yàn)運(yùn)行的硬件為NVIDIA GeForce RTX 2080ti, Intel(R) Xeon(R) W-2123 CPU @3.60 GHz和16 GB運(yùn)行內(nèi)存。
在GraphSAGE模型的聚合算法中,本文分別采用了3層GraphSAGE以及1個(gè)MLP用于分類。本文將調(diào)查mean, pool, lstm這3種不同聚合方式對(duì)硬件木馬檢測(cè)結(jié)果的影響。相關(guān)模型參數(shù)以及訓(xùn)練參數(shù)如表3所示。
表3 圖神經(jīng)網(wǎng)絡(luò)配置參數(shù)以及訓(xùn)練參數(shù)
同時(shí),由于硬件木馬檢測(cè)屬于極端不平衡的分類任務(wù),本文采用帶權(quán)重的交叉熵作為模型的損失函數(shù)來(lái)平衡數(shù)據(jù),權(quán)重為網(wǎng)表中正常邏輯門數(shù)量與硬件木馬數(shù)量的比值,具體表達(dá)式為
本節(jié)通過(guò)SAED數(shù)據(jù)集和留一法的交叉驗(yàn)證來(lái)訓(xùn)練模型并研究不同優(yōu)化方法對(duì)模型檢測(cè)能力影響,最后使用最佳方案的結(jié)果與現(xiàn)有文獻(xiàn)進(jìn)行對(duì)比。通過(guò)將提取出的待測(cè)電路特征數(shù)據(jù)放入到GraphSAGE模型中,統(tǒng)計(jì)計(jì)算得出對(duì)應(yīng)網(wǎng)表的TPR, TNR和F1-score。
表4展示了SAED數(shù)據(jù)集中網(wǎng)表的部分信息。該數(shù)據(jù)集為基于6個(gè)宿主電路的10個(gè)組合邏輯硬件木馬嵌入網(wǎng)表以及11個(gè)時(shí)序邏輯硬件木馬嵌入網(wǎng)表。其中硬件木馬種類比較全面,從組合邏輯到時(shí)序邏輯乃至環(huán)形振蕩器都有涉及。硬件木馬的門數(shù)相對(duì)于整個(gè)網(wǎng)表的比例低至0.24%,屬于極端非平衡的數(shù)據(jù)集。
表4 SAED數(shù)據(jù)集門級(jí)木馬電路信息
4.4.1 權(quán)重以及聚合方式的研究
在該實(shí)驗(yàn)中,主要研究損失添加權(quán)重以及不同聚合方式對(duì)檢測(cè)結(jié)果的影響。為了能夠?qū)Ω鱾€(gè)方式提供一個(gè)公平的評(píng)估,訓(xùn)練方式、超參數(shù)設(shè)置以及訓(xùn)練輪數(shù)都固定。最終結(jié)果如圖4所示。
圖4 權(quán)重平衡方式結(jié)果對(duì)比
從F1分?jǐn)?shù)圖可知,采用平均聚合以及權(quán)重平衡的方式在SAED數(shù)據(jù)集上得到了最佳的檢測(cè)結(jié)果,而使用權(quán)重平衡的方式都比同聚合方式的普通方法高。從TPR和TNR圖來(lái)看,使用帶權(quán)重的損失函數(shù)相比于不帶權(quán)重的方式,能夠在小幅降低TNR(小于0.3%)的情況下大幅提高(大于10%)檢測(cè)模型的TPR,從而提高檢測(cè)模型的F1分?jǐn)?shù)。
考慮在同時(shí)使用權(quán)重平衡的方式的情況下,對(duì)比不同聚合方式對(duì)結(jié)果的影響。可以發(fā)現(xiàn)采用mean的聚合方式在F1分?jǐn)?shù)和TPR都獲得最好效果,而pool聚合方式在TNR上獲得最好結(jié)果,但LSTM的方式結(jié)果是最差的。
4.4.2 比較
最后采用平均聚合以及權(quán)重平衡的方式在SAED數(shù)據(jù)集上得到了最佳的檢測(cè)結(jié)果,測(cè)結(jié)果如表5所示。本文為了比較圖神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)機(jī)器學(xué)習(xí)的硬件木馬檢測(cè)能力,添加了基于SVM的硬件木馬檢測(cè)方法作為基準(zhǔn),具體實(shí)施方式是將上述節(jié)點(diǎn)特征放入SVM中進(jìn)行訓(xùn)練獲得硬件木馬檢測(cè)模型并得到基于SVM的硬件木馬檢測(cè)結(jié)果。
表5 SAED采用MEAN聚合的檢測(cè)結(jié)果
由表5可知,對(duì)于RS232系列網(wǎng)表來(lái)說(shuō),本模型成功實(shí)現(xiàn)了100%識(shí)別。而對(duì)于其他大網(wǎng)表來(lái)說(shuō),除了s15850-T100, s38417-T100和s38584-T100的F1不高,其余網(wǎng)表的F1都能到達(dá)85%以上。同時(shí)針對(duì)EthernetMAC10GE這類10 000門的大網(wǎng)表,本方案同樣獲得了96.2%的平均Recall和98%的平均F1,具有對(duì)大型網(wǎng)表的硬件木馬檢測(cè)能力??傮w來(lái)看,本方案可以實(shí)現(xiàn)92.9%的平均Recall以及99.8%的平均TNR,整體的F1也到達(dá)了86.2%,可以說(shuō)本模型能夠精確地分別出基本上所有硬件木馬和正常邏輯門。不過(guò)存在少數(shù)正常邏輯門被錯(cuò)誤識(shí)別,但這對(duì)于硬件木馬檢測(cè)來(lái)說(shuō)是完全可以接受的,因?yàn)橛布抉R檢測(cè)的目的是盡可能找全所有硬件木馬,出現(xiàn)遺漏的情況比將正常門識(shí)別為硬件木馬影響更嚴(yán)重。最后是將兩種聚合方式的模型檢測(cè)結(jié)果與SVM基準(zhǔn)測(cè)試以及現(xiàn)有先進(jìn)的硬件木馬檢測(cè)方式進(jìn)行對(duì)比。結(jié)果如表6所示。
表6 本文結(jié)果與文獻(xiàn)對(duì)比(%)
從實(shí)驗(yàn)結(jié)果可以看出,圖神經(jīng)網(wǎng)絡(luò)的方式TPR和F1都要高于SVM基準(zhǔn)中的檢測(cè)結(jié)果,TNR都接近100%,說(shuō)明在使用相同特征的情況下,圖神經(jīng)網(wǎng)絡(luò)的非線性表達(dá)能力大幅度強(qiáng)于傳統(tǒng)機(jī)器學(xué)習(xí)方法。下文都以結(jié)果最好的平均聚合方式與現(xiàn)有文獻(xiàn)進(jìn)行對(duì)比。對(duì)比采用自然語(yǔ)言處理技術(shù)的Grams-Det,本文TPR提高10.8%,TNR提高2.8%,F(xiàn)1更是提升多達(dá)40.1%。文獻(xiàn)[18]則是一種基于隨機(jī)森林的硬件木馬檢測(cè)方式,能夠識(shí)別出硬件木馬的情況下不誤識(shí)別正常邏輯門,因此其F1分?jǐn)?shù)較高。不過(guò)隨機(jī)森林的TPR僅為63.6%,限制了其F1分?jǐn)?shù),而本文能夠在犧牲0.2%TNR的情況下提高接近29.3%的TPR, F1分?jǐn)?shù)也提高了8.4%,進(jìn)一步體現(xiàn)了圖神經(jīng)網(wǎng)絡(luò)模型在處理節(jié)點(diǎn)分類的優(yōu)勢(shì)。文獻(xiàn)[19]是一種引入對(duì)抗訓(xùn)練來(lái)提高模型魯棒性的硬件木馬檢測(cè)方法,該方法以犧牲TNR的方式提升TPR,因此TPR較高而F1低至59.9%,意味著大量正常邏輯門被誤認(rèn)為硬件木馬,與本文的F1相比落后26.3%??傊?,基于特征的深度學(xué)習(xí)方法檢測(cè)上限被特征的選取所約束,相對(duì)地,基于圖神經(jīng)網(wǎng)絡(luò)的檢測(cè)方式可以在訓(xùn)練過(guò)程中將節(jié)點(diǎn)信息根據(jù)圖上結(jié)構(gòu)進(jìn)行傳遞更新,不斷增強(qiáng)所在節(jié)點(diǎn)的相應(yīng)特征,極大緩解特征選取帶來(lái)的低檢測(cè)精度問(wèn)題。
基于上述實(shí)驗(yàn),聚合方式以及權(quán)重平衡的方式對(duì)本文硬件木馬檢測(cè)模型的影響已經(jīng)調(diào)查清楚。盡管目前大部分論文的工作都是針對(duì)SAED數(shù)據(jù)集,但該數(shù)據(jù)集的宿主電路的數(shù)量以及硬件木馬的類型都非常有限,無(wú)法提供一個(gè)綜合的實(shí)驗(yàn)結(jié)果以及評(píng)估標(biāo)準(zhǔn)。同時(shí)由于數(shù)據(jù)集的規(guī)模小,無(wú)法提供足夠的樣本訓(xùn)練一個(gè)魯棒的檢測(cè)模型。因此本節(jié)將采用LEDA庫(kù)的網(wǎng)表對(duì)檢測(cè)模型的性能進(jìn)行更嚴(yán)苛的評(píng)估。
為了能夠?qū)崿F(xiàn)一個(gè)公平的評(píng)估,上述超參數(shù)都不變,且對(duì)應(yīng)的聚合方式以及平衡方式都以上文最佳的方式進(jìn)行。本節(jié)將采用40個(gè)組合邏輯硬件木馬植入網(wǎng)表以及40個(gè)時(shí)序邏輯硬件木馬植入網(wǎng)表作為數(shù)據(jù)集,其中80個(gè)網(wǎng)表都隨機(jī)選擇LEDA庫(kù)的914個(gè)網(wǎng)表。對(duì)于訓(xùn)練以及測(cè)試來(lái)說(shuō),本實(shí)驗(yàn)將組合邏輯硬件木馬以及時(shí)序邏輯硬件木馬分別當(dāng)作兩組數(shù)據(jù)集,對(duì)于這兩組數(shù)據(jù)集都采用2折交叉驗(yàn)證(即20個(gè)網(wǎng)表作為訓(xùn)練集,剩下20個(gè)網(wǎng)表作為數(shù)據(jù)集)的方式評(píng)估實(shí)驗(yàn)結(jié)果。
表7展示了采用上述設(shè)置的硬件木馬檢測(cè)結(jié)果。表7中提供了各個(gè)網(wǎng)表的TP, FN, TN以及FP,最下面一欄提供了最終平均后的TPR, TNR以及F1。通過(guò)結(jié)果可以知道,本方案對(duì)于組合邏輯硬件木馬來(lái)說(shuō)達(dá)到了平均83.6%的TPR以及70.8%的F1分?jǐn)?shù),而對(duì)于時(shí)序邏輯的硬件木馬數(shù)據(jù)集中則是獲得了平均95.0%的TPR以及92.8%的F1。因此,本方案對(duì)于組合邏輯硬件木馬的檢測(cè)能力是低于時(shí)序邏輯硬件木馬的,這與文獻(xiàn)[22]中的結(jié)果相符??傮w來(lái)看,本模型在基于LEDA庫(kù)的數(shù)據(jù)集上以較低的誤識(shí)率實(shí)現(xiàn)了接近90%的硬件木馬識(shí)別率。
表7 LEDA數(shù)據(jù)集結(jié)果
本文提出一種基于GraphSAGE的門級(jí)硬件木馬檢測(cè)方法,用于實(shí)現(xiàn)門級(jí)硬件木馬的精確定位。本文實(shí)現(xiàn)了一個(gè)全自動(dòng)化的硬件木馬檢測(cè)流程,包括門級(jí)網(wǎng)表解析、門級(jí)特征提取以及圖神經(jīng)網(wǎng)絡(luò)的訓(xùn)練預(yù)測(cè),能夠?qū)崿F(xiàn)高精度的硬件木馬檢測(cè),在大網(wǎng)表中的硬件木馬檢測(cè)中依舊能夠有較高的識(shí)別能力。使用的GNN模型能夠快速更新迭代,無(wú)需從頭訓(xùn)練。本文針對(duì)3種基于不同聚合函數(shù)、不同數(shù)據(jù)平衡方式進(jìn)行研究,其中最佳配置結(jié)果與目前先進(jìn)的硬件木馬檢測(cè)模型相比具有更高的F1精度以及更強(qiáng)的硬件木馬檢測(cè)能力。最后,將本文方案應(yīng)用于基于LEDA庫(kù)的大數(shù)據(jù)量數(shù)據(jù)集時(shí),分別在組合邏輯類型硬件木馬檢測(cè)中獲得平均83.6%的TPR、70.8%的F1,在時(shí)序邏輯類型硬件木馬檢測(cè)工作中獲得平均95.0%的TPR以及92.8%的F1分?jǐn)?shù)。今后的工作將圍繞解決有向圖對(duì)GNN的兼容性以及圖神經(jīng)網(wǎng)絡(luò)中的數(shù)據(jù)增強(qiáng)兩個(gè)方向進(jìn)行。