一种基于改进的Q学习的最佳攻击路径规划方法技术

技术编号:17784056 阅读:35 留言:0更新日期:2018-04-22 15:23
本发明专利技术涉及一种基于改进的Q学习的最佳攻击路径规划方法,属于信息安全技术领域。具体操作步骤为:步骤一、获取网络结构。步骤二、获取网络系统中各主机中存在的漏洞,建立主机漏洞状态表。步骤三、建立改进的Q学习模型。步骤四、通过改进的Q学习算法,获取最佳攻击路径路径。本发明专利技术提出的基于改进Q学习的最佳攻击路径规划方法与已有技术相比较,具有以下优点:①取消了动作集合并将所有动作与状态融合,使得算法的空间复杂度下降;②最优攻击路径生成速度快;③生成的最优攻击路径更简洁有效。

【技术实现步骤摘要】
一种基于改进的Q学习的最佳攻击路径规划方法
本专利技术涉及一种基于改进的Q学习的最佳攻击路径规划方法,属于信息安全

技术介绍
在对信息系统网络进行渗透时,攻击者都希望选择代价小而回报大的攻击路径,其中,攻击回报与攻击代价只比最大的攻击路径为最佳攻击路径,目前的获取最佳攻击路径的方法主要是基于攻击图来获取所有的源节点与目标节点间的攻击路径后,再选取这些路径中的一条作为最佳攻击路径。目前,比较常用的网络攻击图有:基于脆弱性的网络攻击图以及基于网络状态的攻击图。基于上述两种攻击图的攻击路径或保护路径的生成方法存在的问题是:①生成速度慢;②为了解决状态爆炸的问题,采用限定攻击路径的方式,导致攻击路径包含不全等问题。为了解决上述问题对产生最佳攻击路径的影响,中国和日本科学家提出了基于隐马尔科夫模型的攻击图生成算法,并使用蚁群算法来对攻击路径进行优化以选取最佳攻击路径的方法。但是此方法由于算法开销太大,当面对大规模计算机机群时,即时使用最小攻击图,也无法快速拟合出最佳攻击路径。国家专利技术专利(专利申请号:201710556319.6)中提出的基于Q学习的最佳攻击路径规划方法主要解决了以下问题:①提出的网络模型不需要进行训练,因此不需要收集训练数据;②可在线学习,实时确定不同时刻不同网络状态对应的最佳攻击路径;③学习率使用了退火模型,所以收敛的更加精确;④由于不需要生成攻击图,所以可以适用于大规模计算机集群。但其缺点是:①算法空间复杂度较高,因此占用内存空间较多。②生成的最佳攻击路径必须通过人工剪枝,否则存在冗余。
技术实现思路
本专利技术的目的是在基于Q学习的最佳攻击路径规划方法的基础上,提出一种基于改进的Q学习的最佳攻击路径规划方法,解决已有方法存在的算法空间复杂度高,占用内存空间较多,并且生成的最佳攻击路径存在冗余的问题。本专利技术的目的是通过以下技术方案实现的。本专利技术的一种基于改进的Q学习的最佳攻击路径规划方法,具体操作步骤为:步骤一、获取网络结构。步骤1.1:获取网络系统中各主机的软件应用,建立软件应用与主机对应表。所述软件应用与主机对应表包含:软件应用名称和主机名称。步骤1.2:获取网络系统中各主机之间的会话链接,建立主机间会话链接表。所述主机间会话链接表包括:源主机名和目标主机名。步骤二、获取网络系统中各主机中存在的漏洞,建立主机漏洞状态表。所述主机漏洞状态表包括:主机名称、漏洞ID和攻击成功率。步骤三、建立改进的Q学习模型,如公式(1)所示。Qn+1(s)=(1-δn(s))Qn(s)+δn(s)[R(s,s')+γJn(s')])(1)其中,s表示当前状态,s'表示当前状态s的后继状态;n为迭代步数,n≥0;Qn+1(s)是第(n+1)步迭代时对当前状态s下得到的总体回报的一个估计值;Qn(s)是第n步迭代时对当前状态s下得到的总体回报的一个估计值;δn(s)为第n步的学习率,通过公式(2)得到;R(s,s')为立即回报函数,通过公式(3)得到;γ为贴现因子,为人为预先设定值,γ∈[0,1);Jn(s')为延时回报函数,通过公式(4)得到。其中,α、β为人为设定值,并且其中,R(s,s')表示在当前状态s下,到达后继状态s'的立即回报估计值;Pr为原子攻击成功率;i为主机的顺序编码;Wi为主机i的权重;∑jWj为整个网络系统中所有主机的权重和;m为主机i的第m种权限,m为正整数;Tim表示利用当前状态s漏洞获取主机i的第m种权限对应的评分值;∑mTim是对所有Tim求和。Jn(s')=maxQn(s')(4)其中,Jn(s')为在后继状态s'下,Qn(s')的最大值;Qn(s')表示第n步中,在后继状态s'下得到的总体回报的估计值。步骤四、通过改进的Q学习算法,获取最佳攻击路径路径。具体为:步骤4.1:建立最佳攻击路径序列,用符号L表示,其初始值为空。步骤4.2:设置改进的Q学习模型的初始值,此时迭代步数n=0。具体为:设置攻击路径的源主机以及目标主机;到主机漏洞状态表检索源主机对应的状态,将其作为当前状态s;设置Qn(s)=0,即Q0(s)=0。步骤4.3:通过公式(1)计算第(n+1)步迭代时,对当前状态s下得到的总体回报的一个估计值Qn+1(s)。步骤4.4:如果Qn+1(s)=Qn(s),则将当前状态s以及得到的后继状态s′的集合,放入最佳攻击路径序列L中,从而得到最佳攻击路径序列L,结束操作。否则使迭代步数n自增1,重复步骤4.3至步骤4.4的操作。所述最佳攻击路径序列L中最后一个漏洞位于步骤4.2中所述目标主机中。经过上述步骤的操作,得到从源主机到目标主机的最佳攻击路径序列L。本专利技术提出的基于改进Q学习的最佳攻击路径规划方法与已有技术相比较,具有以下优点:①取消了动作集合并将所有动作与状态融合,使得算法的空间复杂度下降。②最优攻击路径生成速度快。③生成的最优攻击路径更简洁有效。附图说明图1为本专利技术具体实施方式中基于改进的Q学习的最佳攻击路径规划方法的操作流程图;图2为本专利技术具体实施方式中网络拓扑图。具体实施方式根据上述技术方案,下面结合附图和实施实例对本专利技术进行详细说明。使用本专利技术提出的基于改进的Q学习的最佳攻击路径规划方法寻找网络系统中的最佳攻击路径,其操作流程如图1所示,具体操作步骤如下:步骤一、获取网络结构。如图2所示,网络系统中设置了初始的防御策略:外网人员可以访问DMZ区中主机H2,H3和H4的浏览器和DNS域名。主机H2和H3可以访问H4中的mail服务以及H5和H6上的SQL服务。主机H7为FTP服务器,除主机H8外,其它的主机只能读取和下载公开文件,不能修改文件。主机H2,H3和H4都禁止访问管理服务器H8。H8可以访问其它主机上的各种服务。步骤1.1:获取网络系统中各主机的软件应用,建立软件应用与主机对应表,如表1所示。所述软件应用与主机对应表包含:软件应用名称和主机名称。表1软件应用与主机对应表软件名称主机名称IIS7.0H2,H3BIND9H4Sendmail8.13H4MySQL5.7H5,H6Serv-U10.5H7IE6.0H8步骤1.2:根据步骤1.1中的防御策略获取网络系统中各主机之间的会话链接,建立主机间会话链接表,如表2所示。所述主机间会话链接表包括:源主机名和目标主机名。表2主机间会话链接表其中,1表示两个主机间可以连通,0表示两个主机间不可连通。步骤二、获取网络系统中各主机中存在的漏洞,建立主机漏洞状态表,如表3所示。所述主机漏洞状态表包括:主机名称、漏洞ID(CVEID)和攻击成功率。表3主机漏洞状态表步骤三、建立Q学习模型,如公式(1)所示。Qn+1(s)=(1-δn(s))Qn(s)+δn(s)[R(s,s')+γJn(s')])(1)其中,s表示当前状态,s'表示当前状态s的后继状态;n为迭代步数,n≥0;Qn+1(s)是第(n+1)步迭代中对当前状态s下得到的总体回报的一个估计值;Qn(s)是第n步迭代中对当前状态s下得到的总体回报的一个估计值;δn(s)为第n步的学习率,通过公式(2)得到;R(s,s')为立即回报函数,通过公式(3)得到;γ为贴现因子,为人为预先设定值,γ∈[0,1);Jn(s')为延时回报函数,通过公式(4)本文档来自技高网...
一种基于改进的Q学习的最佳攻击路径规划方法

【技术保护点】
一种基于改进的Q学习的最佳攻击路径规划方法,其特征在于:具体操作步骤为:步骤一、获取网络结构;步骤1.1:获取网络系统中各主机的软件应用,建立软件应用与主机对应表;所述软件应用与主机对应表包含:软件应用名称和主机名称;步骤1.2:获取网络系统中各主机之间的会话链接,建立主机间会话链接表;所述主机间会话链接表包括:源主机名和目标主机名;步骤二、获取网络系统中各主机中存在的漏洞,建立主机漏洞状态表;所述主机漏洞状态表包括:主机名称、漏洞ID和攻击成功率;步骤三、建立改进的Q学习模型,如公式(1)所示;Qn+1(s)=(1‑δn(s))Qn(s)+δn(s)[R(s,s')+γJn(s')])   (1)其中,s表示当前状态,s'表示当前状态s的后继状态;n为迭代步数,n≥0;Qn+1(s)是第(n+1)步迭代时对当前状态s下得到的总体回报的一个估计值;Qn(s)是第n步迭代时对当前状态s下得到的总体回报的一个估计值;δn(s)为第n步的学习率,通过公式(2)得到;R(s,s')为立即回报函数,通过公式(3)得到;γ为贴现因子,为人为预先设定值,γ∈[0,1);Jn(s')为延时回报函数,通过公式(4)得到;...

【技术特征摘要】
1.一种基于改进的Q学习的最佳攻击路径规划方法,其特征在于:具体操作步骤为:步骤一、获取网络结构;步骤1.1:获取网络系统中各主机的软件应用,建立软件应用与主机对应表;所述软件应用与主机对应表包含:软件应用名称和主机名称;步骤1.2:获取网络系统中各主机之间的会话链接,建立主机间会话链接表;所述主机间会话链接表包括:源主机名和目标主机名;步骤二、获取网络系统中各主机中存在的漏洞,建立主机漏洞状态表;所述主机漏洞状态表包括:主机名称、漏洞ID和攻击成功率;步骤三、建立改进的Q学习模型,如公式(1)所示;Qn+1(s)=(1-δn(s))Qn(s)+δn(s)[R(s,s')+γJn(s')])(1)其中,s表示当前状态,s'表示当前状态s的后继状态;n为迭代步数,n≥0;Qn+1(s)是第(n+1)步迭代时对当前状态s下得到的总体回报的一个估计值;Qn(s)是第n步迭代时对当前状态s下得到的总体回报的一个估计值;δn(s)为第n步的学习率,通过公式(2)得到;R(s,s')为立即回报函数,通过公式(3)得到;γ为贴现因子,为人为预先设定值,γ∈[0,1);Jn(s')为延时回报函数,通过公式(4)得到;其中,α、β为人为设定值,并且

【专利技术属性】
技术研发人员:胡昌振吕坤陈韵
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1