趙聰慧,嚴迎建,劉燕江,朱春生
(信息工程大學 信息安全重點實驗室,河南 鄭州 450000)
近年來,半導體行業(yè)的設計和生產(chǎn)流程分工越來越明確,為了加快研發(fā)周期和縮短上市時間,第三方IP核廣泛應用在電路設計中。然而,由于第三方國家和人員的參與,作為“黑盒”設計的第三方IP核存在硬件木馬的安全風險。由于缺乏市場監(jiān)管,第三方IP核的可信性更加難以有效保證。因此,亟需開展面向IP核的硬件木馬檢測技術(shù)研究。
J. Zhang等設計了VeriTrust[1],將硬件木馬的檢測問題轉(zhuǎn)換為對冗余輸入的檢測問題,但是VeriTrust只對緊密分布的硬件木馬展現(xiàn)出較好的檢測效果,如果硬件木馬分布較為分散,則無法有效識別。隨后,Hassan Salmani提出的COTD[2],認為信號的高可控制性CC和可觀察性CO是硬件木馬的信號特征,利用k-means無監(jiān)督聚類學習算法將信號分類來識別出木馬節(jié)點。然而,僅僅使用
總的來說,目前基于信號特征的硬件木馬檢測方法主要關(guān)注于硬件木馬觸發(fā)節(jié)點的檢測,且大多集中在靜態(tài)翻轉(zhuǎn)率或者低可控性節(jié)點的尋找方面。然而此類拓撲分析方法只涵蓋部分信號邏輯值分布特征,而信號翻轉(zhuǎn)特征尚未覆蓋。此外,該類方法可準確計算小規(guī)模電路的木馬信號特征,然而在大規(guī)模集成電路計算中會出現(xiàn)難以收斂、計算成本高和偏差大等問題。特征集的完備程度直接決定了硬件木馬的檢測效率和可擴展性,為此,本文在基于低靜態(tài)翻轉(zhuǎn)率和低控制節(jié)點的木馬觸發(fā)信號特征的基礎上,融合了動態(tài)翻轉(zhuǎn)率的邏輯翻轉(zhuǎn)信號特征,進一步完善了硬件木馬的觸發(fā)特征集。同時提出了基于低觀測節(jié)點的硬件木馬載荷信號特征,進而構(gòu)造了硬件木馬的五維特征向量空間,并利用優(yōu)化的KNN分類算法來建立硬件木馬特征分類器,根據(jù)類號確定硬件木馬信號和原始信號,實現(xiàn)了集成電路安全可信的早期評測。
硬件木馬由觸發(fā)部分和有效載荷兩部分組成,硬件木馬的植入分為觸發(fā)植入和載荷植入。為了進一步降低硬件木馬被發(fā)現(xiàn)的風險,攻擊者往往選擇具有高隱藏性的節(jié)點進行硬件木馬的植入。因此,本文從硬件木馬的觸發(fā)隱藏性植入和載荷隱藏性植入兩個角度進行分析,建立更加完備的硬件木馬隱藏性模型。
在觸發(fā)隱藏性方面,通常會選擇隱蔽的觸發(fā)條件來作為硬件木馬的激活條件[4]。目前主要用靜態(tài)翻轉(zhuǎn)率和可控性來表征電路內(nèi)部節(jié)點的隱蔽性。其中靜態(tài)翻轉(zhuǎn)率Ptp的計算方法如式(1)所示,Ptp為該節(jié)點出現(xiàn)邏輯“0”的概率P0與該節(jié)點出現(xiàn)邏輯“1”的概率P1的乘積[5,6]
Ptp=P0×P1
(1)
獲取電路中節(jié)點的靜態(tài)翻轉(zhuǎn)率通常有兩種方法,一是拓撲分析法,又稱幾何分布法,二是隨機仿真法。拓撲分析法主要依據(jù)電路的拓撲結(jié)構(gòu)來確定節(jié)點的翻轉(zhuǎn)概率,圖1通過一個簡單的電路來介紹該方法的計算規(guī)則。
圖1 拓撲分析法計算規(guī)則
假設輸入信號I1,I2,I3,I4,I5出現(xiàn)邏輯“0”和“1”的概率相等,均為1/2,根據(jù)與門和或門的布爾邏輯關(guān)系可以計算得出內(nèi)部節(jié)點A、B出現(xiàn)邏輯“0”和“1”的概率分別為3/4和1/4,C出現(xiàn)邏輯“0”和“1”的概率分別為9/16和7/16,D出現(xiàn)邏輯“0”和“1”的概率分別為3/8和5/8,從而計算出輸出節(jié)點O出現(xiàn)邏輯“0”和“1”的概率分別為93/128和35/128。這種方法對于規(guī)模較小、結(jié)構(gòu)簡單的電路可以起到較好的效果,但當結(jié)構(gòu)復雜、反饋路徑較多時,考慮到內(nèi)部節(jié)點的相關(guān)性,依據(jù)電路的拓撲結(jié)構(gòu)計算節(jié)點靜態(tài)翻轉(zhuǎn)率可能會與電路的實際運行情況存在較大的偏差。為了更加準確地描述節(jié)點的靜態(tài)翻轉(zhuǎn)率,本文采用隨機仿真法來計算節(jié)點的靜態(tài)翻轉(zhuǎn)率,其計算如式(2)所示
(2)
此式中將電路節(jié)點出現(xiàn)邏輯“0”或“1”的概率轉(zhuǎn)換為電路工作中該節(jié)點為邏輯“0”或“1”的時間與總時間的比值[6],其中T0和T1是在整個仿真周期T內(nèi)出現(xiàn)邏輯“0”或者“1”的時間,T為整個仿真時間。當T0=T1時,Ptp達到最大值0.25。節(jié)點的靜態(tài)翻轉(zhuǎn)率越低,節(jié)點的邏輯不平衡性越強,越容易出現(xiàn)邏輯罕見值,此邏輯罕見值可用來作為硬件木馬的觸發(fā)條件。
可控性是可測試性的一種量化方法,用來衡量測試向量控制內(nèi)部節(jié)點邏輯值的難易程度,包括組合0可控性CC0和組合1可控性CC1[7]。節(jié)點的可控性與邏輯門的布爾函數(shù)有關(guān),圖2給出了基本邏輯門的可控性計算規(guī)則。以二輸入與非門為例,計算節(jié)點z的可控性。為使輸出節(jié)點z=0,節(jié)點a和b均需為1,因此節(jié)點z的組合0可控性為CC0(z)=CC1(a)+CC1(b)+1;為使輸出節(jié)點z=1,只要輸入節(jié)點a或者b為0即可,因此z的組合1可控性為CC1(z)=min(CC0(a),CC0(b))+1。
圖2 基本邏輯門的可控性計算規(guī)則
節(jié)點可控性粗略地反映了用于控制內(nèi)部節(jié)點z達到特定邏輯值的難易程度,節(jié)點的可控值越高,外部輸入向量控制該節(jié)點達到特定邏輯值的難度越高,即該邏輯值在測試與驗證階段越難被覆蓋到,則該節(jié)點的可控性越差。因此,低可控性節(jié)點集之間可組合形成隱蔽性觸發(fā)條件,也是硬件木馬隱藏的有效節(jié)點。
通過以上分析可以看出,靜態(tài)翻轉(zhuǎn)率表征的是節(jié)點的邏輯值分布情況,可控性從電路拓撲的角度衡量控制內(nèi)部節(jié)點邏輯值的難度,二者從邏輯分布和拓撲結(jié)構(gòu)兩個角度闡述了節(jié)點的靜態(tài)特征,然而二者不能反映節(jié)點的動態(tài)翻轉(zhuǎn)情況[8]。硬件木馬的觸發(fā)條件包括邏輯值、邏輯翻轉(zhuǎn)以及狀態(tài)機等多種條件,單一的靜態(tài)特征無法涵蓋所有的硬件木馬,為了更加全面地反映節(jié)點的隱蔽程度,本文加入了信號的動態(tài)翻轉(zhuǎn)率特征,與可控性和靜態(tài)翻轉(zhuǎn)率共同表征觸發(fā)節(jié)點的隱藏性。
電路中節(jié)點的動態(tài)翻轉(zhuǎn)率Ptc表征節(jié)點的翻轉(zhuǎn)情況,可以定義為該節(jié)點的翻轉(zhuǎn)次數(shù)TC與內(nèi)部節(jié)點最大翻轉(zhuǎn)次數(shù)TCmax的比值[8],如式(3)所示。在時序電路中,TCmax為與時鐘信號一級相連的節(jié)點的翻轉(zhuǎn)次數(shù)。節(jié)點的動態(tài)翻轉(zhuǎn)率越低,表明節(jié)點在仿真過程中的活性越低,在整個仿真周期中翻轉(zhuǎn)次數(shù)越少,如果作為觸發(fā)節(jié)點更能降低硬件木馬被激活的概率
(3)
目前硬件木馬的植入大多停留在觸發(fā)隱藏性植入方面,以盡可能降低硬件木馬被誤激活的概率,尚未展開對載荷性植入的研究。硬件木馬的載荷是惡意功能的執(zhí)行單元,相比觸發(fā)部分來說,載荷部分的結(jié)構(gòu)更加復雜。如果載荷部分不加隱藏,一旦惡意功能被開啟并傳遞到輸出端,很容易被傳統(tǒng)的功能測試所識別。載荷隱藏性植入是對硬件木馬隱藏性植入的補充與完善,有助于建立更加完備的硬件木馬隱藏性模型。
可觀測性作為可測試性的另一種量化方法,是衡量從電路輸出端觀察電路內(nèi)部節(jié)點邏輯值的困難程度的指標。圖3給出了基本邏輯門的可觀測性計算規(guī)則。同樣以二輸入與非門為例,計算電路節(jié)點a的可觀測性CO(a)。由于與非門的邏輯關(guān)系,輸入a和b存在邏輯關(guān)聯(lián)性,為了計算a的可觀測性,須使輸入b保持邏輯1,使輸入a的結(jié)果直接反映在輸出z上。所以,輸入a的組合可觀測性為CO(a)=CO(z)+CC1(b)+1。
圖3 基本邏輯門的可觀測性計算規(guī)則
可觀測性粗略地反映了內(nèi)部信號邏輯值的可傳遞性,節(jié)點的可觀測值越高,其可觀測性越低,其邏輯值越難傳遞到輸出,即通過電路的原始輸出觀察該節(jié)點邏輯值變化越困難。因此,該屬性可以用來隱藏硬件木馬的有效載荷,尤其是功能改變型硬件木馬。一旦硬件木馬被誤觸發(fā),載荷所在節(jié)點的邏輯值被改變,然而改變的邏輯值難以傳遞到輸出端,進而可以繞過功能測試手段。因此選擇低觀測節(jié)點作為硬件木馬的載荷節(jié)點,可以有效隱藏其惡意功能,是載荷隱藏性植入的理想植入位置。
綜上所述,低控制、低靜態(tài)翻轉(zhuǎn)率和低動態(tài)翻轉(zhuǎn)率節(jié)點是硬件木馬觸發(fā)部分的理想植入點,可以保證輸入測試向量難以激活硬件木馬,而低觀測節(jié)點是硬件木馬載荷部分的有效隱藏點,可以保證硬件木馬的影響難以傳遞到輸出端。因此,本文將節(jié)點的可控制性、靜態(tài)翻轉(zhuǎn)率、動態(tài)翻轉(zhuǎn)率和可觀察性共同作為表征木馬隱藏性的信號特征。
K近鄰(k-nearest neighbor,KNN)[9,10]是一種廣泛應用于分類的有監(jiān)督機器學習算法,該算法準確性高,對異常值和噪聲的容忍能力強,廣泛應用在統(tǒng)計分析、模式識別等領(lǐng)域。本文利用K近鄰算法來量化數(shù)據(jù)集差異性分布,通過分析Trust-Hub中已知木馬電路的門級網(wǎng)表特征并建立分類器,應用建立的KNN分類器完成對未知電路的硬件木馬識別。
通過對信號的觸發(fā)隱藏性分析和載荷隱藏性分析,本文提取信號的靜態(tài)翻轉(zhuǎn)率、動態(tài)翻轉(zhuǎn)率、組合0可控性、組合1可控性和可觀察性,作為表征木馬信號的有效特征,每個信號用一個五維的特征向量表示,如式(4)所示
V={Ptp,Ptc,CC0,CC1,CO}
(4)
該五維向量作為機器學習中訓練分類器的特征向量,構(gòu)造分類模型,當輸入任意一個信號的特征向量V時,該分類模型能夠判斷此信號是否為木馬信號并輸出相應的標識,硬件木馬的檢測問題由此轉(zhuǎn)換為機器學習領(lǐng)域的分類問題。
K近鄰算法的基本思路是:如果一個待分類樣本在特征空間中的k個最相似(即特征空間中k近鄰)的樣本中的大多數(shù)屬于某一個類別,則該樣本也屬于這個類別[9,10]。K近鄰算法的優(yōu)勢體現(xiàn)在它沒有過多需要迭代優(yōu)化的參數(shù),只需要選擇合適的k值來規(guī)定待分類的樣本由與其相鄰的多少樣本來決定,大大簡化了后期調(diào)整分類器模型的過程,而且還具有準確性高,對異常值和噪聲的容忍能力強等優(yōu)點,在中小規(guī)模的數(shù)據(jù)集訓練中展現(xiàn)出優(yōu)異的訓練能力,因此本文選擇KNN算法對分類器模型進行訓練。
在KNN分類器的訓練過程中,數(shù)據(jù)集的處理方法和參數(shù)k的選擇都將對最終的訓練結(jié)果產(chǎn)生很大的影響。由于硬件木馬電路規(guī)模很小,通過分析電路直接獲取的數(shù)據(jù)集一般是不平衡的,用不平衡的數(shù)據(jù)集訓練出的分類器容易導致結(jié)果偏向多數(shù)類,使分類結(jié)果不準確。K近鄰算法中k值決定待分類樣本由與其相鄰的多少樣本來決定,k值的大小直接影響分類結(jié)果。本節(jié)從這兩方面入手對檢測模型進行調(diào)整優(yōu)化。
2.2.1 基于SMOTETomek的數(shù)據(jù)集平衡方法
在分類器的學習過程中,數(shù)據(jù)集的好壞對學習的結(jié)果有很大的影響。攻擊者為了使木馬不易被檢測,植入電路中的木馬模塊在整個電路中的占比非常小,這就導致我們通過分析已知木馬電路而獲取的數(shù)據(jù)集是極度不平衡的,其中絕大多數(shù)特征向量的標簽為0,只有極少部分標簽為1。用這樣不平衡的數(shù)據(jù)集訓練出的分類器,由于缺乏對少數(shù)類的學習,很容易導致結(jié)果偏向多數(shù)類。因此,在分類器學習數(shù)據(jù)之前,需要先對數(shù)據(jù)集進行平衡處理。
由于木馬電路規(guī)模極小的特點,硬件木馬的特征候選集較少,可能導致建立的檢測模型不夠完善,很容易陷入局部最優(yōu)。SMOTE[11](synthetic minority oversampling technique)過采樣技術(shù)由Nitesh V. Chawla等在2002年提出,其基本策略是對每個少數(shù)類樣本a,隨機選一個最近鄰的樣本b,然后在a、b之間的連線上隨機選一個點c作為新合成的少數(shù)類樣本[11]。該算法通過對少數(shù)類樣本進行分析,根據(jù)少數(shù)類樣本人工合成新樣本,而不是簡單地復制少數(shù)類樣本,一定程度上解決了隨機過采樣算法通過簡單復制樣本而帶來的模型過擬合的問題,但由于其對每個少數(shù)類樣本都生成新樣本,導致類之間更加容易發(fā)生重疊,邊界模糊,從而使分類器的學習能力下降。Tomek Links[12]是目前廣泛應用的一種數(shù)據(jù)清洗技術(shù),由Tomek在1976年提出,它通過確定Tomek Links樣本對來刪除類間的重復項,使分類界面更加清晰。其中,Tomek Links定義如下:如果不存在任何樣本xt,使得d(xi,xt) 為了解決過擬合和邊界模糊問題,本文采用上述兩種方法相結(jié)合的SMOTETomek[13]采樣技術(shù),先通過SMOTE算法生成少數(shù)類樣本,再利用Tomek Links進行數(shù)據(jù)清洗,刪除噪聲樣本或者處于邊界位置的樣本。具體算法步驟如下: 步驟1對少數(shù)類點應用KNN算法,得到其k個近鄰,按采樣比例在這k個近鄰中選擇若干個樣本; 步驟2對于選中的近鄰x′,根據(jù)xnew=x+rand(0,1)(x′-x)生成新的樣本,得到樣本集S0; 步驟3對任意xi1∈S1(少數(shù)類),計算xi1到S2(多數(shù)類)中任意樣本點的距離di1j1,記錄最小距離di1min及相應樣本標號j1;對任意xi2(多數(shù)類),計算xi2到S1中任意樣本點的距離di2j2,記錄最小距離di2min及相應樣本標號j2; 步驟4若di1min=di2min且j1=j2,刪除xi1和xi2。 2.2.2 基于交叉驗證和網(wǎng)格搜索融合的k參數(shù)選取策略 在訓練KNN分類器的過程中,需要確定k值來規(guī)定待分類的樣本,由與其相鄰的多少樣本決定,k值直接決定了分類器的分類效果,因此參數(shù)k的選取則變得至關(guān)重要。本文采用網(wǎng)格搜索和交叉驗證相結(jié)合的方法來進行參數(shù)k的優(yōu)化選取。 網(wǎng)格搜索是一種常用的調(diào)參手段,其基本思想是通過窮舉搜索,將可能的k取值一一列出,并對每個k值對應的分類模型進行比較評估,最終找出表現(xiàn)最好的參數(shù)。在訓練每個k值對應的分類器時,本文采用K折交叉驗證的方法,通過K次訓練獲取平均的檢測準確度。 交叉驗證是建模應用中常用的一種評估模型的方法,在K折交叉驗證中,將數(shù)據(jù)集分為K份,每次選擇其中一份作為測試集,其余K-1份作為訓練集(帶標簽),用帶標簽的訓練集訓練分類器,然后對測試集中的數(shù)據(jù)進行分類,并據(jù)此計算其檢測準確度。訓練集和測試集劃分方法的不同,將導致測試結(jié)果不同程度的波動,本文采用K折交叉驗證的方法以降低測試結(jié)果對數(shù)據(jù)劃分方法的敏感度,從而更加準確地評估每個k值對應的分類模型,找出最優(yōu)的k值。具體流程如圖4所示。 首先設定參數(shù)k的取值集合Q={q1,q2,…,qn},對Q中每一個k的取值qi,進行KNN分類器的訓練。訓練過程采用K折交叉驗證的方法,將數(shù)據(jù)集分為K份,每一份輪流作為測試集,其余K-1份作為訓練集,計算K次分類模型的平均準確率作為k=qi時分類器的準確率。比較所有k值對應的分類模型的準確率大小,選擇具有最高準確率的分類模型所對應的k值作為最終的k值,并將該模型保存下來,作為最終的分類器模型,對待測電路進行檢測。 完成分類模型的優(yōu)化后,需要選取合適的測試基準,以檢驗該分類模型的有效性。Trust-hub[14]網(wǎng)站是一個資源共享平臺,它為硬件安全的研究者提供測試電路、工具和硬件平臺。網(wǎng)站提供的測試電路按插入階段、抽象層次、插入位置等的不同分別進行了分類,其中按抽象層次分類中的門級這一類別提供了各個功能模塊經(jīng)DC綜合后的門級網(wǎng)表,即各功能模塊的IP固核。本文選取應用廣泛的接口電路RS232和10Gb以太網(wǎng)媒體訪問控制器(EthernetMAC10GE)的IP固核作為本文實驗的測試基準,其具體功能描述見表1。 圖4 KNN分類器中參數(shù)k的調(diào)節(jié)流程 表1 對木馬電路的具體描述 采用EthernetMAC10GE、RS232等11個功能模塊的IP固核作為測試基準,對所提出的硬件木馬檢測方法進行驗證和評估,具體實驗流程如圖5所示。 圖5 基于多信號特征融合的硬件木馬識別流程 基于Trust-Hub網(wǎng)站提供的門級網(wǎng)表對電路進行觸發(fā)隱藏性分析和載荷隱藏性分析,利用Synopsys公司的Modelsim仿真工具和TetraMAX自動測試向量生成(automatic test pattern generation,ATPG)工具進行信號特征提取。首先,使用Python語言編寫測試向量生成算法,隨機生成大量測試向量,將生成的測試向量輸入Modelsim仿真工具,對電路進行仿真驗證,將仿真結(jié)果輸出保存。統(tǒng)計各節(jié)點在整個仿真周期中出現(xiàn)邏輯“0”和邏輯“1”的時間以及翻轉(zhuǎn)次數(shù),根據(jù)式(1)和式(3)計算節(jié)點的靜態(tài)翻轉(zhuǎn)率Ptp和動態(tài)翻轉(zhuǎn)率Ptc。然后,使用TetraMAX自動測試向量生成工具進行可測性分析,根據(jù)ATPG流程依次讀取門級網(wǎng)表和庫文件,創(chuàng)建ATPG模型,讀取測試協(xié)議文件進行設計規(guī)則檢查(DRC design rule check),隨后直接將引腳參數(shù)設置為“scoap_data”進行輸出,便可得到電路中各節(jié)點的組合0可控性CC0、組合1可控性CC1和組合可觀察性CO等數(shù)值。應該注意TetraMAX在輸出電路中各信號的CC0-CC1-CO值時,會將超過254的值用 星號“*”表示,為了不影響后續(xù)機器學習的學習效果,本文用255替代星號“*”。 獲取各信號的翻轉(zhuǎn)概率和可測性值后,構(gòu)造表征木馬信號特征的五維特征向量V={Ptp,Ptc,CC0,CC1,CO}。為每個信號的特征向量添加標簽,木馬信號標記為1,普通信號標記為0,形成數(shù)據(jù)集,采用SMOTETomek算法對數(shù)據(jù)集進行平衡處理。用平衡后的數(shù)據(jù)集訓練KNN分類器,采用網(wǎng)格搜索和交叉驗證的方法,選出最優(yōu)的分類模型,對待測電路進行檢測,得到木馬信號列表和正常信號列表。 對測試基準進行統(tǒng)計分析,得到其線網(wǎng)信息見表2。 表2 測試基準網(wǎng)表信息 為了評估本文所提出的硬件木馬檢測方法的有效性,本文選取TPR和TNR這兩個常用指標,定義如式(5)和式(6)所示 (5) (6) 其中,TP(true positive)指被正確識別的木馬信號數(shù)量,TN(true negative)指被正確識別的正常信號數(shù)量,F(xiàn)P(false positive)指正常信號被錯誤識別為木馬信號的數(shù)量,F(xiàn)N(false negative)指木馬信號被錯誤識別為正常信號的數(shù)量。 將本文方法應用于測試電路集上,得到實驗結(jié)果見表3。 表3 基于KNN分類的實驗結(jié)果 由表3可以看出,本文方法在所有的測試電路上都達到了非常高的準確率,對于RS232系列通信電路可以達到100%的TPR,即所有的木馬信號均可被檢測出來。對于控制器EthernetMAC系列電路也達到90%以上的TPR,實現(xiàn)了較高的木馬檢出率。對所有測試電路的木馬信號平均檢出率達到98.23%,在木馬識別方面展現(xiàn)出巨大的優(yōu)勢。 與現(xiàn)有方法相比,進一步驗證了本文所提方法的有效性。表4對文獻[3]、文獻[15]以及本文所提方法進行了比較,可以看出,本文方法在木馬檢出率方面得到了很大的提高,與文獻[3]、文獻[15]相比,分別提高了16.30%和10.24%,展現(xiàn)出明顯的優(yōu)勢,具體如圖6所示。 表4 本文方法與現(xiàn)有方法的比較 圖6 本文方法與現(xiàn)有方法的分類結(jié)果比較 本文測試基準選取的是在SOC設計中常用的接口電路RS232和媒體訪問控制器EthernetMAC,雖然只有2組基準電路,但包含了11種不同的硬件木馬,且這11組硬件木馬模塊可以植入到其它電路中,本文方法不受基準電路的限制,對各種類型的電路均具有很好的適用性。隨著木馬設計方法的不斷發(fā)展,還可進一步擴展硬件木馬的信號特征,提高檢測算法應對新型木馬的能力??偟膩碚f,該方法是一種兼具靈活性和擴展性的硬件木馬檢測方法。 本文提出了一種基于多信號特征融合的硬件木馬智能識別方法,在觸發(fā)隱藏性植入的基礎上,補充了載荷隱藏性植入,建立了更加完備的硬件木馬隱藏性模型。并且在觸發(fā)節(jié)點的尋找方面,在常用的靜態(tài)翻轉(zhuǎn)率和可控性特征的基礎上,加入了動態(tài)翻轉(zhuǎn)率,擴充了木馬特征,形成了低靜態(tài)翻轉(zhuǎn)率、低動態(tài)翻轉(zhuǎn)率、低組合0可控性、低組合1可控性和低組合可觀察性的硬件木馬特征集。應用KNN分類器對待測電路進行分類,大大提高了檢測效率。由實驗結(jié)果可知,本文方法達到了98.23%的硬件木馬平均識別率,與文獻[3]、文獻[15]的方法相比,大大提高了硬件木馬的檢出率,是一種靈活且可擴展的硬件木馬檢測方法。今后將重點研究電路的結(jié)構(gòu)特征,在現(xiàn)有基礎上繼續(xù)擴充木馬特征庫,進一步提高檢測精度。3 實驗結(jié)果與分析
3.1 測試基準
3.2 實驗流程
3.3 實驗結(jié)果
4 結(jié)束語