一种基于增强学习的动态保护路径规划方法与流程

文档序号:11156694阅读:220来源:国知局
本发明涉及一种基于增强学习的动态保护路径规划方法,属于信息安全
技术领域
:。
背景技术
::在研究用于系统安全性检查的网络攻击系统时,目前主要有两类方法:一类是基于数值计算法(risk-based),另外一类是基于图形表达法(graph-based)。基于图形表达法是指使用图形来表达可能攻击路径、系统状态转移关系,而网络攻击图是基于图形表达法中最为典型的一种,该方法目的在于查找网络中的攻击路径,描述引起系统状态变迁的行为序列,通过综合攻击、漏洞、目标、主机和网络连接关系等因素来描述网络安全的状态。网络安全分析人员在对网络攻击图进行分析之后,可以有针对性地采取提高网络安全性的有效措施。目前,比较常用的网络攻击图有:基于脆弱性的网络攻击图以及基于网络状态的攻击图。基于上述两种攻击图的攻击路径或保护路径的生成方法存在的问题是:①生成速度慢;②为了解决状态爆炸的问题,采用限定攻击路径的方式,导致攻击路径包含不全等问题。2016年10月,KeremKaynarandFikretSivrikaya等人提出的基于分布式的网络攻击图,其具有生成速度快,对攻击路径包含全,并且解决了状态爆炸的问题。但是,目前还没有人提出基于分布式的网络攻击图的攻击路径或保护路径的生成方法。网络攻击图的相关术语定义:定义1:特权(Privilege)节点。特权节点代表了一个攻击者在一个网络主机上的一个软件应用的权限。它由六个元组<IPAddress,CPEId,ApplicationName,Category,InEdges,OutEdges>组成。其中,IPAddress定义了正在运行的软件应用在哪个主机的,用IPAddress记录所述主机的IP地址。CPEId是所述正在运行的软件应用的CPEidentifier。ApplicationName是所述正在运行的软件应用的名称。Category代表了攻击者在软件应用上控制的categoryofcondition。InEdges和OutEdges是存放在攻击图中与privilege节点连接的出边和入边的队列。定义2:特权关联性(Privilegeconjunction)节点代表了在攻击图中一系列特权节点的连接器。它由二个元组<InEdges,OutEdges>组成。InEdges和OutEdges分别是存放在攻击图中与特权关联性节点连接的出边和入边的队列。定义3:漏洞利用(VulnerabilityExploit)节点代表了在一个网络主机中的一个软件应用中被攻击者利用的漏洞。它由六个元组<IPAddress,CPEId,ApplicationName,CVEId,InEdges,OutEdges>组成。定义4:信息资源使用(Informationsourceusage)节点代表了在网络主机中的一个软件应用中被攻击者接近或使用的信息资源。所述信息资源包括:cookiefile,DNStable,databasetable,etc.它由六个元组<IPAddress,CPEId,ApplicationName,ISName,InEdges,OutEdges>组成。其中,ISName是在软件应用中被使用的信息资源的名字。定义5:攻击图G=(N,E),N是一组节点,E是一组边。n为节点,n∈N,n可以是一个privilege节点,privilegeconjunction节点,vulnerabilityexploit节点或者informationsourceusage节点。E为边,e∈E,e是一个二元素元组<SourceNode,TargetNode>。SourceNode和TargetNode代表了边e的源节点(source)和目标节点(target)。e∈{<Pr,Ve>,<Pr,Pc>,<Pr,Isu>,<Pc,Ve>,<Ve,Pr>,<Isu,Pr>}。<Pr,Ve>,<Pr,Isu>说明了攻击者利用漏洞Ve或信息源Isu的充分必要条件为存在唯一的privilege节点Pr。<Pr,Pc>表示一个攻击者想针对Pc利用漏洞Ve或信息源Isu,privilege节点Pr是获取与Pc的出边连接的漏洞Ve或信息源Isu的必要前提条件之一。<Pc,Ve>,<Pc,Isu>表明了一个攻击者通过已经获得的特权节点Pr连接到Pc导致了漏洞Ve的利用或信息源Isu的使用。<Ve,Pr>,<Isu,Pr>:对漏洞Ve的利用或信息源Isu的使用会导致攻击者获得privilege节点Pr。技术实现要素:本发明的目的是提出一种基于增强学习的动态保护路径规划方法,解决已有的动态保护路径规划方法中存在的生成速度慢以及状态爆炸或者攻击路径包含不全等问题。本发明的目的是通过以下技术方案实现的。本发明的一种基于增强学习的动态保护路径规划方法,具体操作为:步骤一、生成分布式的网络攻击图。具体为:步骤1.1:使用2个以上搜索代理同时搜索网络中未被使用的特权节点,并将它们压入各搜索代理的搜索栈中。步骤1.2:将特权节点进行扩展。步骤1.3:搜索栈中没有特权节点的搜索代理,依次向其他搜索代理请求一个或多个特权节点。具体为:搜索栈中没有特权节点的搜索代理向一个搜索代理请求一个或多个特权节点,如果当前被请求搜索代理中没有特权节点返回给请求搜索代理,则请求搜索代理向下一个其它搜索代理发送请求。如果被请求代理有特权节点返回给请求代理,即搜索代理获得特权节点,则返回到步骤1.2,并重复步骤1.2至1.3的操作。如果全部其他搜索代理都没有特权节点返回给请求代理,那么将当前没有特权节点的搜索代理设置为挂起(passive)模式。步骤1.4:当所有搜索代理都进入挂起模式时,搜索结束,执行步骤1.5的操作。步骤1.5:将每个搜索代理的子攻击图更新,然后汇总到总(leader)代理,生成分布式的网络攻击图。步骤二、寻找最差攻击路径。在步骤一操作的基础上,使用通用安全漏洞评估系统(CommonVulnerabilityScoringSystem,CVSS)对步骤一生成的网络攻击图中的所有原子攻击添加攻击成功率,并通过公式(1)计算攻击路径成功率。所述原子攻击为单次对漏洞的利用或对信息源的使用的攻击。Pr=pr0×pr1×......×prn-1(1)其中,Pr表示攻击路径成功率;pr0、pr1、.....、prn-1分别表示第1条边到第n条边的攻击成功率。然后,选取攻击路径成功率最低的一条路径作为最差攻击路径,得到特权节点集合。步骤三、生成网络模型。步骤三与步骤一同步操作,具体为:步骤3.1:获取主机中的软件应用和网络接口。步骤3.2:获取各个网络接口所联系的IP地址和会话链接。步骤3.3:获取各个软件应用所使用的端口号、IP地址、信息源以及所述软件应用的后端应用。步骤3.4:根据步骤3.1至3.3得到的各参数之间的逻辑关系建立网络模型。步骤四、通过增强学习,获取最佳保护路径。具体为:步骤4.1:用符号V*(S)表示在状态S下的收益最优值,则收益最优值函数如公式(1)所示。V*(S)=max(π)Vπ(S)(1)其中,S为前置状态;π表示政策;max(π)Vπ(S)表示在状态S下,选取政策π使得总收益函数Vπ(S)最大化。步骤4.2:将公式(1)转换为贝尔曼方程,如公式(2)所示。其中,V(S)为在状态S下的收益值;R(S)为奖励函数;γ为贴现因子,γ∈(0,1);S'为后置状态;a表示动作;Psa(S')表示在状态S下,通过动作a转换到S'状态的概率;V*(S')表示在状态S′下的收益最优值。步骤4.3:初始化V(S)=0,同时设置V*(S)的阈值,用符号σ表示,σ≥10000。对公式(2)进行迭代,直到V(S)收敛于V*(S),获取此时的政策π,得到网络节点集合。步骤4.4:如果步骤二得到的最差攻击路径对应的攻击路径成功率Pr>d,d为人为设定的阈值,d∈[0.1,0.3],则步骤4.3得到网络节点集合对应的传输路径为最优保护路径,结束操作。否则,执行步骤4.5的操作。步骤4.5:用步骤4.3得到的网络节点集合与步骤二得到的权限节点集合取交集,得到信息传输节点集合。如果信息传输节点集合不为空,则信息传输节点集合对应的传输路径即为最优保护路径。如果信息传输节点集合为空,则在步骤二中向上查找次差攻击路径以及对应的权限节点集合,然后重复步骤4.3至步骤4.5的操作,得到信息传输节点集合。如果信息传输节点集合依然为空,则在步骤二中继续向上查找,重复步骤4.3至步骤4.5的操作。有益效果本发明提出的基于增强学习的动态保护路径规划方法与已有技术相比较,具有以下优点:①不需要收集训练数据,对网络模型进行训练。②可以在线学习,不断确定不同时刻不同网络状态对应的最佳保护路径。④对传输数据的保护程度高。④最优保护路径生成速度快。附图说明图1为本发明具体实施方式中的攻击图;图2为本发明具体实施方式中的网络拓扑图;图3为本发明具体实施方式中的世界图。具体实施方式根据上述技术方案,下面结合附图和实施实例对本发明进行详细说明。使用本发明提出的基于增强学习的动态保护路径规划方法,得到信息传输节点集合的具体操作步骤为:步骤一、生成分布式的网络攻击图。具体为:步骤1.1:使用6个搜索代理同时搜索网络中未被使用的特权节点,并将它们压入各搜索代理的搜索栈中。步骤1.2:将特权节点进行扩展。步骤1.3:搜索栈中没有特权节点的搜索代理,依次向其他搜索代理请求一个或多个特权节点。如果当前被请求代理中没有特权节点返回给请求代理,则请求代理向下一个其他代理发送请求。如果被请求代理有特权节点返回给请求代理,即搜索代理获得特权节点,则返回到步骤1.2,并重复步骤1.2至1.3的操作。如果全部其他搜索代理都没有特权节点返回给请求代理,那么将当前没有特权节点的搜索代理设置为挂起(passive)模式。步骤1.4:当所有搜索代理都进入挂起模式时,搜索结束,执行步骤1.5的操作。步骤1.5:将每个搜索代理的子攻击图更新,然后汇总到总(leader)代理,生成分布式的网络攻击图。步骤二、寻找最差攻击路径。在步骤一操作的基础上,使用通用安全漏洞评估系统(CommonVulnerabilityScoringSystem,CVSS)对步骤一生成的网络攻击图中的所有原子攻击添加攻击成功率,并通过公式(1)计算攻击路径成功率。Pr=pr0×pr1×......×prn-1(1)其中,Pr表示攻击路径成功率,Pr;pr0、pr1、.....、prn-1分别表示第1条边到第n条边的攻击成功率。攻击成功率的取值根据表1确定。表1攻击成功率赋值标准等级pr描述10.9不需要攻击工具,有详细的攻击方法20.7有可用的攻击工具和详细的攻击方法30.5无攻击工具但有详细的攻击方法40.3弱点信息发布,粗略说明攻击方法50.1弱点信息发布,未给出攻击方法然后,利用漏洞扫描器和分布式攻击图算法,生成并简化攻击图,得到如图1所示的攻击图。图1中,攻击边上的数字为脆弱利用成功率,U为USERT权限,R为ROOT权限。攻击路径汇总情况如表2所示。最后,选取攻击路径成功率最低的一条路径作为最差攻击路径,得到特权节点集合。此时,攻击路径为(H0,H3)(H3,H5),攻击路径成功率为0.1。表2攻击路径汇总表最终权限攻击路径攻击成功率H5,R(H0,H3)(H3,H5)0.1H5,R(H0,H2)(H2,H5)(H5,H5)0.36H5,R(H0,H2)(H2,H4)(H4,H5)(H5,H5)0.3024H5,R(H0,H3)(H3,H5)(H5,H5)0.18获取最差攻击路径为(H0,H3)(H3,H5)H0,H3,H5对应的默认网关地址为192.168.1.1,10.96.21.2和10.96.68.8。网络中交换机IP手动设置为192.168.0.5。步骤三、生成网络模型。步骤三与步骤一同步操作,具体为:步骤3.1:获取主机中的软件应用和网络接口。步骤3.2:获取各个网络接口所联系的IP地址和会话链接。步骤3.3:获取各个软件应用所使用的端口号、IP地址、信息源以及所述软件应用的后端应用。步骤3.4:根据步骤3.1至3.3得到的各参数之间的逻辑关系建立网络模型,如图2所示。其中,外网人员可以访问DMZ区中Host2和Host3的浏览器和DNS域名。Host2可以访问Host3中的mail服务,和访问Host4上的SQL服务。Host2和Host3都禁止访问管理服务器Host5。Host5可以访问Host2,3,4上的各种终端。步骤四、通过增强学习,获取最佳保护路径。具体为:步骤4.1:用符号V*(S)表示在状态S下的收益最优值,则收益最优值函数如公式(1)所示。V*(S)=max(π)Vπ(S)(1)其中,S为前置状态;π表示政策;max(π)Vπ(S)表示在状态S下,选取政策π使得总收益函数Vπ(S)最大化。政策π:行动状态的函数映射(S→A)。即对于每个状态,系统建议我们在此状态采取什么行动。Vπ(S):对于任何给定的政策π,定义值函数Vπ(S):S→R(实数集)。Vπ(S)是预期总收益。步骤4.2:将公式(1)转换为贝尔曼方程,如公式(2)所示。其中,V(S)为在状态S下的收益值;R(S)为奖励函数;γ为贴现因子,γ∈(0,1);S'为后置状态;a表示动作;Psa(S')表示在状态S下,通过动作a转换到S'状态的概率;V*(S')表示在状态S′下的收益最优值。步骤4.3:初始化V(S)=0,同时设置V*(S)的阈值,用符号σ表示,σ≥10000。对公式(2)进行迭代,直到V(S)收敛于V*(S),获取此时的政策π,如图3所示,并得到最佳路径为(0,0)→(0,1)→(0,2)→(0,3)→(1,3)→(2,3)→(3,3)→(4,3)。如图3中的箭头表示行进路线。R((4,4))=+1这一点为要保护的信息系统或软件应用的特权。(一次计算只能有一个+1)R((2,1))=-1这一点为攻击者已经获取Root权限的软件应用或网络主机。(可能有多个-1)R((3,1))=-0.6这一点为攻击者已经获取User权限的软件应用或网络主机。(可能有多个-0.6)R(S)=-0.2其他状态的奖励函数为-0.2。start为初始的信息传输点。黑色部分为信息传输不能到达的节点,原因可能是网络故障,软件应用没有运行等。图中的+1,-1,start可以在任意位置。最后,得到网络节点集合,具体为:192.168.1.1,10.96.21.2,10.96.68.3和10.96.68.8。步骤4.4:如果步骤二得到的最差攻击路径对应的攻击路径成功率Pr>d,d为人为设定的阈值,d∈[0.1,0.3],则步骤4.3得到网络节点集合对应的传输路径为最优保护路径,结束操作。否则,执行步骤4.5的操作。步骤4.5:用步骤4.3得到的网络节点集合与步骤二得到的权限节点集合取交集,得到信息传输节点集合:192.168.1.1,10.96.21.2和10.96.68.8。即H5若向H0发送消息,将数据先打包发送至交换机,交换机发送报文信息至网关1(10.96.68.8)。网关1收到报文后,根据IP报文头里的IP地址,查找自己的路由表和FIB表,找到下一跳地址,然后把报文送到下一跳网关2(10.96.21.2),网关2重复上述动作发送报文给网关3(192.168.1.1)。网关3将此报文发送到H0上。由于信息传输节点集合不为空,则信息传输节点集合对应的传输路径即为最优保护路径。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1