[發明專利]一種基于Q學習的最佳攻擊路徑規劃方法在審
| 申請號: | 201710556319.6 | 申請日: | 2017-07-10 |
| 公開(公告)號: | CN107317756A | 公開(公告)日: | 2017-11-03 |
| 發明(設計)人: | 胡昌振;陳韻;呂坤 | 申請(專利權)人: | 北京理工大學 |
| 主分類號: | H04L12/751 | 分類號: | H04L12/751;H04L29/06 |
| 代理公司: | 北京理工大學專利中心11120 | 代理人: | 仇蕾安 |
| 地址: | 100081 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 學習 最佳 攻擊 路徑 規劃 方法 | ||
1.一種基于Q學習的最佳攻擊路徑規劃方法,具體操作步驟為:
步驟一、獲取網絡結構;
步驟1.1:獲取網絡系統中各主機的軟件應用,建立軟件應用與主機對應表;
所述軟件應用與主機對應表包含:軟件應用名稱和主機名稱;
步驟1.2:獲取網絡系統中各主機之間的會話鏈接,建立主機間會話鏈接表;所述主機間會話鏈接表包括:源主機名和目標主機名;
步驟二、獲取網絡系統中各主機中存在的漏洞,建立主機漏洞狀態表,同時建立漏洞集合,用符號A表示;所述主機漏洞狀態表包括:主機名稱、漏洞ID和攻擊成功率;
步驟三、建立Q學習模型,如公式(1)所示;
Qn+1(s,a)=(1-δn(s,a))Qn(s,a)+δn(s,a)[R(s,a,s')+γJn(s')]) (1)
其中,s表示當前狀態,s'表示當前狀態s的后繼狀態;a表示當前漏洞;a∈A,A為步驟2.1中所述漏洞集合A;n為迭代步數,n≥0;Qn+1(s,a)是第(n+1)步迭代時對當前狀態s下利用當前漏洞a得到的總體回報的一個估計值;Qn(s,a)是第n步迭代時對當前狀態s下利用當前漏洞a得到的總體回報的一個估計值;δn(s,a)為第n步的學習率,通過公式(2)得到;R(s,a,s')為立即回報函數,通過公式(3)得到;γ為貼現因子,為人為預先設定值,γ∈[0,1);Jn(s')為延時回報函數,通過公式(4)得到;
其中,α、β為人為設定值,并且
其中,R(s,a,s')表示在當前狀態s下,通過利用當前漏洞a,到達后繼狀態s'的立即回報估計值;Pr為原子攻擊成功率;i為主機的順序編碼;Wi為主機i的權重;∑jWj為整個網絡系統中所有主機的權重和;m為主機i的第m種權限,m為正整數;Tim表示利用當前漏洞a獲取主機i的第m種權限對應的評分值;∑mTim是對所有Tim求和;
Jn(s')=maxQn(s',b) (4)
其中,Jn(s')為在后繼狀態s'下,Qn(s',b)的最大值;Qn(s',b)表示第n步中,在后繼狀態s'下,采用后繼漏洞b得到的總體回報的估計值;b∈A;
步驟四、通過Q學習,獲取最佳攻擊路徑路徑;具體為:
步驟4.1:建立最佳攻擊路徑序列,用符號L表示,其初始值為空;
步驟4.2:設置Q學習模型的初始值,此時迭代步數n=0;具體為:設置攻擊路徑的源主機以及目標主機;從漏洞集合A中隨機選取源主機能夠一步利用的一個漏洞,作為當前漏洞a;到主機漏洞狀態表檢索當前漏洞a對應的狀態,將其作為當前狀態s;設置Qn(s,a)=0,即Q0(s,a)=0;
步驟4.3:通過公式(1)計算第(n+1)步迭代時,對當前狀態s下利用當前漏洞a得到的總體回報的一個估計值Qn+1(s,a),同時得到后繼漏洞b的集合;
步驟4.4:如果Qn+1(s,a)=Qn(s,a),則將當前漏洞a以及步驟2.4得到的后繼漏洞b的集合,放入最佳攻擊路徑序列L中,從而得到最佳攻擊路徑序列L,結束操作;否則使迭代步數n自增1,重復步驟4.3至步驟4.4的操作;
所述最佳攻擊路徑序列L中最后一個漏洞位于步驟4.2中所述目標主機中;
經過上述步驟的操作,得到從源主機到目標主機的最佳攻擊路徑序列L。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京理工大學,未經北京理工大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710556319.6/1.html,轉載請聲明來源鉆瓜專利網。





