[發明專利]一種基于自組織神經網絡的硬件木馬檢測方法有效
| 申請號: | 201911321114.5 | 申請日: | 2019-12-20 |
| 公開(公告)號: | CN113010883B | 公開(公告)日: | 2022-10-25 |
| 發明(設計)人: | 趙毅強;李博文;劉燕江;李宗哲 | 申請(專利權)人: | 天津大學 |
| 主分類號: | G06F21/55 | 分類號: | G06F21/55;G06N3/04;G06N3/067;G06F30/398 |
| 代理公司: | 天津市三利專利商標代理有限公司 12107 | 代理人: | 張義 |
| 地址: | 300072*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 組織 神經網絡 硬件 木馬 檢測 方法 | ||
1.一種基于自組織神經網絡的硬件木馬檢測方法,其特征在于,所述方法如下:
植入內嵌結構以獲取所有路徑的延時數據,利用自組織神經網絡對關鍵路徑相鄰路徑延時變化分析,進而實現對硬件木馬植入具體位置的定位,
所述方法具體包括如下步驟:
(1)向電路網表中插入時鐘掃描鏈:電路設計階段向所有輸入-輸出關鍵路徑及關鍵路徑的子路徑插入時鐘掃描鏈;
(2)讀取標準延遲格式文件:在數字電路設計的布局布線階段,提取電路網表的標準延遲格式文件,讀取電路所有關鍵路徑及次要路徑的電路延時并記錄;
在布局布線后的靜態時序分析階段,將上述網表通過運行primetime會生成標準延遲格式文件,在primetime中寫入“write_sdf sdf_file_name”指令,默認路徑中將會產生后綴名為“.sdf”的文件,標準延遲格式文件中包含了所設計的電路的基本單元信息,以及單元的端口與端口之間的連線信息,即包含單元延時和線延時兩個部分,其中單元延時部分標注了單元的類型,單元所在的模塊,延遲的類型,單元內端口與端口之間的延時信息,其中第一列均為“INTERCONNECT”,代表內部基本單元連線之間的延時,第二列為輸出端口,主模塊被逐級劃分為多個子模塊,最左側為主模塊名稱,最右側顯示基本單元輸出端口的名字,輸出端口在基本單元中的表示均為“Y”,在“Y”的上一級為基本單元的名稱,第三列為輸入端口,其表示方式類似于第二列,輸入端口在基本單元中的表示為“A”或者“B”,第四列為延遲信息;
采用python提取并整理路徑延時信息,通過布局布線得到.sdf文件后,在pycharm平臺下,通過調用命令將.sdf文件中的標準延遲格式文件導入平臺,借助python工具分別選取所有關鍵輸入輸出路徑,提取每條路徑上的門延時及線延時并求和,可以分別得到每條關鍵路徑的總延時;
(3)選取基準網表并插入木馬:取一定數量的基準網表和硬件木馬,根據硬件木馬的功能將其植入電路網表中的相應位置,使硬件木馬可以實現基本功能,標定硬件木馬的位置參數
(4)篩選延時異常變化路徑:流片階段結束后,利用時鐘掃描鏈,改變電路輸入時鐘的頻率,篩選出流片前后路徑延時變化大于等于設定閾值ε的關鍵路徑,標記所有此類路徑為可疑路徑;
(5)計算相鄰路徑延時差:尋找關鍵路徑附近M條路徑,提取所有電路延時,與標準延遲格式文件中的相應路徑延時相減,求得該關鍵路徑所有相鄰路徑延時差值
(6)構建訓練、測試數據集:將(3)中木馬位置參數向量與(5)中木馬所在路徑延時變化向量組合形成數據對,按一定比例將所有數據對匯總后構建訓練數據集合和測試數據集;
(7)訓練并測試神經網絡模型:在MATLAB平臺上搭建雙層自組織神經網絡模型,輸入神經元共包含M個神經元,輸出神經元共包含N個神經元;向網絡輸入訓練數據對模型進行訓練;
(8)測試神經網路預測正確率:向完成訓練的網絡輸入測試向量集,統計對硬件木馬位置預測的成功率;若低于設定成功率閾值,則重新進行訓練;若高于閾值則可將其用于制造過程中硬件木馬的檢測;
(9)檢測待測芯片中的硬件木馬:在設計時重復上述步驟(1)-(5),將獲取的路徑延時差向量輸入神經網絡模型,得到硬件木馬的定位參數即可推算出硬件木馬的位置。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于天津大學,未經天津大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911321114.5/1.html,轉載請聲明來源鉆瓜專利網。





