[發明專利]一種基于提升算法的硬件木馬檢測方法有效
| 申請號: | 201911142702.2 | 申請日: | 2019-11-20 |
| 公開(公告)號: | CN110929301B | 公開(公告)日: | 2022-07-26 |
| 發明(設計)人: | 吳承翰;李爾平 | 申請(專利權)人: | 海寧利伊電子科技有限公司 |
| 主分類號: | G06F21/76 | 分類號: | G06F21/76 |
| 代理公司: | 杭州求是專利事務所有限公司 33200 | 代理人: | 林超 |
| 地址: | 314400 浙江省嘉興市海寧*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 提升 算法 硬件 木馬 檢測 方法 | ||
1.一種基于提升算法的硬件木馬檢測方法,其特征在于:
過程一、根據集成電路的拓撲結構進行處理獲得集成電路每個節點的第一、第二可控性值CC0、CC1和可觀性值CO;
過程二、根據集成電路每個節點的第一、第二可控性值CC0、CC1和可觀性值CO進行基于密度的聚類,獲得帶類距離的矩陣X’;
所述過程二,具體為:
步驟(21).導入過程一得到的集成電路可測性數據X,其為m×6大小的整型矩陣,其中m為集成電路中的節點總數,對應為矩陣的行,集成電路可測性數據X的6列中的第一列代表與門數量NA,第二列代表原始門數量NP,第三列代表或門數量NO,后三列包含著各節點的兩個可控性值CC0、CC1和一個可觀性值CO;
步驟(22).創建m×1的空白矩陣Y,其中每一個元素為經過排序后的K-距離,是指每個節點在與其余所有節點計算相鄰距離后排序獲得的第k個最近的相鄰距離,按照K-距離對各節點對應的行進行升序排序;
步驟(23).創建一個m×1大小的元素全為0的處理標志向量V,處理標志向量V的每個元素為節點對應的處理值,若處理標志向量V中的處理值為0,則表示未被處理過,若為1則處理過;
步驟(24).創建元組C,元組C中包含多個集合,每一個集合包含著被識別為同一類的節點;
步驟(25).
(25.1).根據處理標志向量V從頭到尾遍歷矩陣Y,找出其中未被處理過且k-距離最大的節點作為當前父節點,計算當前父節點與所有其余節點之間的相鄰距離,取在鄰域半徑閾值ε內的相鄰距離對應的所有其余未處理節點作為子節點,把所有子節點和當前父節點一起歸為元組C中的一個集合中,作為同一類;
步驟(25.2).判斷該同一類中的節點數量是否超過了最大鄰域點數M,若超過最大鄰域點數M,則將按照與當前父節點的相鄰距離排序,取前M-1個相鄰距離最近的子節點和當前父節點一起歸為一個集合中作為同一類;
步驟(25.3).對于當前父節點的每個沒有與其劃分到同一類中的子節點,如果該子節點未被處理過,則在處理標志向量V標記為已處理,并作為當前子節點p;將當前子節點p與當前父節點的其余各個沒有在任何類中的子節點計算相鄰距離并將按照與子節點p的相鄰距離排序,取相鄰距離小于鄰域半徑閾值ε內的所有節點和子節點p一起歸為一個集合中作為同一類,取相鄰距離大于或等于鄰域半徑ε的所有節點一起歸為一個集合中作為另一同一類;
步驟(25.4).將所有已在某一類中的節點標記;
步驟(26).重復上述步驟(25)直到所有的節點都被處理過,則結束,進行下一步;
步驟(27).對于元組C中的同一類,計算同一類的中心,得到類的中心坐標;對于每個類,采用歐氏距離計算自身到其他每個類之間的類間距,取最大類間距作為該電路的類距離;
步驟(28).創建對應該集成電路的特征矩陣X’,其為1×7大小的整型矩陣,特征矩陣X’的7列中的第一列代表與門數量NA,第二列代表原始門數量NP,第三列代表或門數量NO,第四列代表集成電路所有節點的第一可控性值的算術平均值,第五列代表所有節點的第二可控性值的算術平均值,第六列代表所有節點的可觀性值的算術平均值,第七列代表集成電路的類距離;
過程三、采用弱分類器進行訓練分類,并組合弱分類器獲得最終分類器,進而采用最終分類器對待測集成電路處理獲得的帶類距離的矩陣X’進行處理,獲得待測集成電路的硬件木馬檢測結果;
所述過程三,具體為:
步驟(31).利用過程二獲得的結果,以若干個電路作為樣本,建立有標記的樣本訓練集D={(x1,y1),···,(xi,yi),···,(xm,ym)},xi是1×7大小的整型矩陣,為第i個電路的特征矩陣X’,yi為該電路是否具有硬件木馬的標簽,m是該樣本訓練集D中的電路數量;
步驟(32).初始化各個弱分類器的權重系數W,w(n)=1/N,n=1,2...,N,w(n)表示第n個弱訓練器的權重系數,N表示預先設定的弱分類器總數量;
步驟(33).對n從1到N,對于第n次過程,執行以下步驟:
步驟(33.1).對樣本訓練集D進行隨機采樣獲取樣本數量為m/2的樣本訓練集作為第n個弱分類器的訓練集Dn,若m為小數則向下取整;
步驟(33.2).計算訓練集Dn的標準差γ,以核函數為高斯核,用訓練集Dn訓練弱分類器Gn(X’);
步驟(33.3).計算弱分類器Gn(X’)在初始的樣本訓練集D上的分類誤差率,其中分類誤差率:
其中,en表示該弱分類器Gn(X’)在樣本訓練集D上的分類誤差率,I(Gn(xi)≠yi)表示第n個弱分類器分類樣本訓練集D的每一個樣本是否被分錯的代表值;
步驟(33.4).計算弱分類器Gn(X’)的系數:
步驟(34).進行上述步驟,構建最終分類器:
其中,F(X’)表示最終分類器,若F(X’)為1,則特征矩陣X’的集成電路含硬件木馬,若F(X’)為-1,則特征矩陣X’的集成電路不含硬件木馬,sign表示符號函數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于海寧利伊電子科技有限公司,未經海寧利伊電子科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911142702.2/1.html,轉載請聲明來源鉆瓜專利網。





