[發明專利]基于著色Petri網的安全協議漏洞挖掘方法有效
| 申請號: | 202210497259.6 | 申請日: | 2022-05-09 |
| 公開(公告)號: | CN114900358B | 公開(公告)日: | 2023-01-06 |
| 發明(設計)人: | 馬卓;李湘;劉洋;劉心晶;楊易龍;張俊偉;李騰;馬建峰 | 申請(專利權)人: | 西安電子科技大學 |
| 主分類號: | H04L9/40 | 分類號: | H04L9/40;G06F21/57 |
| 代理公司: | 陜西電子工業專利中心 61205 | 代理人: | 陳宏社;王品華 |
| 地址: | 710071*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 著色 petri 安全 協議 漏洞 挖掘 方法 | ||
1.一種基于著色Petri網的安全協議漏洞挖掘方法,其特征在于,基于著色Petri網CPN建模安全協議;設計安全協議模型解析工具;基于安全協議模型解析工具生成安全協議CPN模型;生成安全協議CPN模型的狀態空間;獲取安全協議漏洞挖掘結果;該方法的具體實現步驟為:
(1)基于著色Petri網CPN建模安全協議:
將CPN劃分為簡單顏色集、復合顏色集、變量、常量、函數、庫所、弧和變遷8種類型的基本對象,將安全協議劃分為基本元素E={E1,E2,...,En,...,EN}和事件A={A1,A2,...,Am,...,AM},其中,N≥1,M≥1,En表示第n個基本元素,可以是原子消息、復合消息、固定值或密碼學操作,Am表示第m個事件,建模基本元素E和A;
(1a)建模基本元素E:
按照簡單顏色集、復合顏色集、常量、函數分別建模原子消息、復合消息、固定值、密碼學操作的方式,將E中的每個元素En建模為得到基本元素模型其中,兩個相鄰的基本元素模型和通過回車符分隔;
(1b)建模事件A:
按照格式:[庫所名:庫所類型:初始值:弧的方向:弧銘文]--變遷名:變遷執行條件--[庫所名:庫所類型:初始值:弧的方向:變量名]建模每個事件Am,得到事件模型其中,庫所名為自定義的任意字符串,庫所類型為步驟(1a)定義的簡單顏色集或復合顏色集,初始值為步驟(1a)定義的常量,弧的方向取值可為PtoT、BOTHDIR、TtoP分別表示庫所指向變遷、雙向、變遷指向庫所,弧銘文用于標識庫所與變遷之間傳遞的數據,變遷名是自定義的任意字符串,執行條件為變遷的守衛函數,事件Am不需執行條件時,變遷執行條件省略不寫,在兩個相鄰的事件模型和之間添加一個空行,其中,之前和之后的事件模型分別建模一條協議會話消息,設”end”字符串為事件建模結束的標志;
(2)設計安全協議模型解析工具:
(2a)設計安全協議模型解析工具的UI:
利用python編程語言的pyside2庫新建一個UI,向UI中添加兩個文本框Text1、Text2和一個按鈕Button1,其中,Text1和Text2分別用于輸入基本元素模型E\和事件模型A\,Button1執行安全協議模型解析并生成安全協議CPN模型的功能;
(2b)定義API生成CPN基本對象對應的XML標簽:
新建一個空白CPN模型Model1,模型Model1中存在的XML標簽集合XModel1={X1,X2,...,Xp,...,XP},向模型Model1中逐個添加單種CPN基本對象Oi(i=1,...,8)后得到CPN模型設為Model1_1,模型Model1_1中存在的XML標簽集合XModel1_1={X1,X2,...,Xp,...,XP,Xq},得到Xq為CPN基本對象Oi對應的XML標簽,并基于此,利用python編程語言的xml.dom.minidom庫定義API生成CPN基本對象Oi對應的XML標簽;
(2c)定義按鈕Button1的功能:
新建一個空白CPN模型Model2,加載模型Model2為Document對象,解析Text1和Text2文本框中的基本元素模型E\和事件模型A\,基于步驟(2b)定義的API生成和對應的XML標簽并將XML標簽添加至Document對象,構建Dolev-Yao攻擊者CPN模型ModelI并將模型ModelI添加至Document對象,保存Document對象為XML文件;
(3)基于安全協議模型解析工具生成安全協議CPN模型:
將步驟1建模的安全協議基本元素模型E\和事件模型A\分別輸入至Text1和Text2文本框中,點擊Button1按鈕執行安全協議模型解析并生成安全協議CPN模型;
(4)生成安全協議CPN模型的狀態空間:
依據安全協議需要滿足的安全要求定制安全協議安全性評估規則R={R1,R2,...,Rk,...,RK},其中,K≥1,并以SML語言描述每條評估規則Rk,設置CPN Tools狀態空間計算工具的predicatestop參數為評估規則Rk,在此基礎上,利用狀態空間計算工具生成安全協議CPN模型的狀態空間S={S1,S2,...,Sl,...,SL},其中,L≥1;
(5)獲取安全協議漏洞挖掘結果:
利用SearchNodes函數檢索狀態空間S中是否存在不符合步驟(4)所描述的評估規則Rk的不安全狀態St,若是,說明安全協議在當前構建的Dolev-Yao攻擊者模型下安全協議是不安全的,進一步通過ArcsInPath函數獲取從初始狀態S1至不安全狀態St的攻擊路徑,挖掘安全協議漏洞,否則,說明在當前構建的Dolev-Yao攻擊者模型下安全協議是安全的。
2.根據權利要求1所述的基于著色Petri網的安全協議漏洞挖掘方法,其特征在于,步驟(2c)所述的定義按鈕Button1的功能,實現步驟為:
(2c1)初始化:
通過python編程語言的xml.dom.minidom庫將模型Model2加載為Document對象;
(2c2)解析安全協議基本元素模型E\:
解析Text1文本框中的內容,判斷是否為簡單顏色集或復合顏色集,若是,則生成一個顏色集對應的變量并基于步驟(2b)定義的API生成和對應的XML標簽Xi和Xi1,并將XML標簽Xi和Xi1添加至Document對象中,否則,則基于步驟(2b)定義的API生成對應的XML標簽Xi,并將XML標簽Xi添加至Document對象中;
(2c3)創建Ctrl_I顏色集和Fusion_I融合集:
統計Text2文本框中空行的數量count,基于count創建Ctrl_I顏色集并基于步驟(2b)定義的API生成Ctrl_I顏色集對應的XML標簽XI,將XML標簽XI添加至Document對象中,創建一個fusion標簽并設置name屬性為Fusion_I,得到一個不包含任何元素的Fusion_I融合集;
(2c4)解析安全協議事件模型A\:
解析Text2文本框中的內容,判斷是否為“end”字符串,若是,則跳過步驟(2c4)和步驟(2c5),執行步驟(2c6),否則,在模型Model2中添加一個變遷T和一個庫所P,設庫所P為變遷T的輸出庫所,基于層次化建模的方式將變遷T移動到子頁面PageT1,將事件所描述的內容添加至子頁面PageT1;
(2c5)構建Dolev-Yao攻擊者CPN模型:
(2c5a)構建頂層攻擊者CPN模型:
在模型Model2中添加一個攻擊者變遷TI和一個庫所PI,設庫所PI為變遷TI的輸出庫所,將步驟(2c4)模型Model2添加的庫所P設為變遷TI的輸入庫所,基于層次化建模的方式將變遷TI移動到子頁面PageTI,其中,庫所P和庫所PI在子頁面PageTI中分別為庫所In和庫所Out;
(2c5b)構建攻擊者CPN模型子頁面:
向子頁面PageTI中添加一個庫所Data和一個庫所I,將Data庫所的庫所類型設為庫所In的庫所類型,將庫所I的類型設為Ctrl_I顏色集并將庫所I添加至Fusion_I融合集,依據Dolev-Yao攻擊者模型給出的敵手能力的描述,在子頁面PageTI中添加五個變遷來表示五種敵手能力:攔截、竊聽、重放、分解、重構,攔截變遷的輸入庫所和輸出庫所分別設為庫所In和庫所Data,竊聽變遷的輸入庫所和輸出變遷分別設為庫所In和庫所Out,重放變遷的輸入庫所和輸出變遷分別設為庫所Data和庫所Out,分解變遷的輸入庫所設為庫所Data并對庫所Data輸入的數據進行拆分得到分解變遷的輸出庫所,重構變遷的輸入庫所和輸出變遷分別設為分解變遷的輸出庫所和庫所Out,將庫所I設為攔截變遷和分解變遷的輸出庫所、竊聽變遷、重放變遷和重構變遷的輸入庫所,返回步驟(2c4);
(2c6)生成安全協議CPN模型:
將Document對象保存為XML文件,該XML文件即安全協議CPN模型。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西安電子科技大學,未經西安電子科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210497259.6/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種帶有降溫干燥功能的中藥柜
- 下一篇:一種注塑機用機械手及其操作方法





