基于价值迭代算法的最优渗透路径发现.pdf
《基于价值迭代算法的最优渗透路径发现.pdf》由会员分享,可在线阅读,更多相关《基于价值迭代算法的最优渗透路径发现.pdf(8页珍藏版)》请在咨信网上搜索。
1、基于价值迭代算法的最优渗透路径发现马琦1,刘杨1,吴贤生1,曲芸2,王佰玲1,刘红日1,31(哈尔滨工业大学(威海)计算机科学与技术学院,威海264200)2(哈尔滨工业大学(威海)网络与信息中心,威海264200)3(威海天之卫网络空间安全科技有限公司,威海264200)通信作者:刘红日,E-mail:摘要:渗透测试的核心是发现渗透路径,但并不是所有的渗透路径都能够成功,所以需要基于当前系统环境选择最优渗透路径.在此背景下,首先,本文基于攻击图将环境建模为马尔可夫决策过程(Markovdecisionprocess,MDP)图,使用价值迭代算法寻找最优渗透路径.其次,对于渗透测试过程中存在的
2、渗透动作失效问题,提出了一种新的重规划算法,可以在 MDP 图中有效处理失效渗透动作,重新寻找最优渗透路径.最后,基于渗透测试过程中存在多个攻击目标的情况,本文提出了面向 MDP 图的多目标全局最优渗透路径算法.实验证明,本文提出的算法在重规划任务方面,表现出了更高的效率和稳定性,在多目标任务方面,体现出了算法的有效性,可以避免不必要的渗透动作被执行.关键词:渗透测试;价值迭代;最优渗透路径;重规划;多目标任务引用格式:马琦,刘杨,吴贤生,曲芸,王佰玲,刘红日.基于价值迭代算法的最优渗透路径发现.计算机系统应用,2023,32(12):197204.http:/www.c-s- Penetra
3、tion Path Discovery Based on Value Iterative AlgorithmMAQi1,LIUYang1,WUXian-Sheng1,QUYun2,WANGBai-Ling1,LIUHong-Ri1,31(SchoolofComputerScienceandTechnology,HarbinInstituteofTechnologyatWeihai,Weihai264200,China)2(NetworkandInformationCenter,HarbinInstituteofTechnologyatWeihai,Weihai264200,China)3(We
4、ihaiCyberguardtechnologiesCo.Ltd.,Weihai264200,China)Abstract:Thecoreofpenetrationtestingistodiscoverpenetrationpaths,butnotallpenetrationpathscanbesuccessful.Therefore,theoptimalpenetrationpathneedstobechosenbasedonthecurrentsystemenvironment.Inthiscontext,firstly,thisstudymodelstheenvironmentasaMa
5、rkovdecisionprocess(MDP)graphbasedontheattackgraphandusesavalueiterationalgorithmtofindtheoptimalpenetrationpath.Secondly,anewreplanningalgorithmisproposedtodealwiththefailureofpenetrationactionsintheMDPgraphandfindtheoptimalpenetrationpathagain.Finally,inviewoftheexistenceofmultipleattacktargetsint
6、hepenetrationtestingprocess,thisstudyproposesamulti-objectiveglobaloptimalpenetrationpathalgorithmforMDPgraphs.Experimentally,theproposedalgorithmshowshigherefficiencyandstabilityinreplanningtasksandiseffectiveinmulti-objectivetasks,whichcanpreventunnecessarypenetrationactionsfrombeingexecuted.Key w
7、ords:penetrationtesting;valueiteration;optimalpenetrationpath;replanning;multi-objectivetask渗透测试是一种通过模拟攻击者攻击,来评估目标系统安全性的测试方法.安全测试工程师模拟攻击者执行渗透动作,从当前状态到达目标状态过程使用的渗透动作序列称为渗透路径,渗透测试的核心是发计算机系统应用ISSN1003-3254,CODENCSAOBNE-mail:ComputerSystems&Applications,2023,32(12):197204doi:10.15888/ki.csa.009344http:/
8、www.c-s-中国科学院软件研究所版权所有.Tel:+86-10-62661041基金项目:国家自然科学基金面上项目(62272129)收稿时间:2023-06-27;修改时间:2023-07-27;采用时间:2023-08-08;csa 在线出版时间:2023-10-27CNKI 网络首发时间:2023-10-31SoftwareTechniqueAlgorithm软件技术算法197现目标系统中存在的渗透路径.但是系统中的网络拓扑和服务十分复杂,并不是所有的渗透路径都能成功,为此安全测试工程师需要选择成功率最高的渗透路径,这被称为当前系统中的最优渗透路径.渗透测试过程高度依赖专家知识发现渗
9、透路径,这使得人工成本过高,渗透测试的周期过长.文献 1,2介绍了攻击图模型,通过收集系统信息,分析系统中特定网络资产的风险,预测攻击成功后可能产生的后果,辅助进行渗透测试,降低渗透测试成本.但是对于复杂场景来说,生成的攻击图过于复杂,Yousefi 等人3提出一种新的攻击图分析方法,生成简化攻击图,王晓凡等人4提出使用并行算法,来加快大规模网络下发现最优渗透路径的过程.目前,强化学习5是一种有效的方式来解决顺序决策问题,因此可以使用强化学习来发现最优渗透路径.文献 6,7应用 Q-learning 算法,将渗透测试中的漏洞选择过程转换为强化学习的动作选择过程,直接与真实环境进行交互学习,建立
10、状态漏洞 Q 值表,从而达到发现最优渗透路径的效果.周仕承等人8提出了一种改进的深度强化学习算法,该算法融合了优先经验重放、双重 Q 网络、竞争网络和噪声网络等机制,实现了在较大规模网络场景下发现最优渗透路径.高文龙等人9提出在 DDQN(doubledeepQ-network)算法的基础上增加了路径启发信息和深度优先渗透的动作选择策略,加速智能体的学习过程,使得算法可以更快收敛.文献 1012将攻击图模型与强化学习模型结合,同时借助 MulVAL 工具生成攻击图.文献 10通过建立得分矩阵,使用深度强化学习算法搜索最优渗透路径,文献 11借助强化学习来识别系统中的关键主机和关键路径.但是,强
11、化学习的训练是基于环境交互的,真实环境的训练成本过高,为此文献 12使用 DQN(deepQ-network)算法在 Nasim 模拟器13上进行训练,寻找最优路径.由于攻击图模型随状态变化节点增长过快,以及深度强化学习在渗透测试过程中存在实用性不强和收敛困难的问题,本文提出了面向 MDP 图使用强化学习中的价值迭代算法来发现最优渗透路径,价值迭代算法已被证明收敛.本文研究将攻击图中的推论节点和规则节点映射到 MDP 的状态和动作,并且根据渗透动作的难度赋予动作执行代价和转移概率.在此基础之上,利用价值迭代算法估计各个渗透路径对于单目标的价值,可以得到初步估计的最优渗透路径.然而在复杂的渗透测
12、试场景中,可能存在渗透动作失效的问题,为此可以使用重规划算法,通过重新估计渗透动作的价值,获取最优渗透路径.最后,针对单目标方法的局限性,提出了多目标状态表示方法,进一步讨论面向多目标的应用场景.1相关工作1.1 马尔可夫决策过程T(s,a,s)s Sa As SR(s,a,s)s Sa As S马尔可夫决策过程是完全可观测环境下顺序决策问题的数学描述,是强化学习问题的理论基础.MDP由五元组(S,A,R,T,)构成,S 表示状态集合,A 表示可执行动作的集合,表示智能体在状态下采取动作后转移到下一个状态的概率,表示智能体在状态下采取动作后转移到下一个状态得到的立即奖励,是折扣系数,取值范围是
13、(0,1,用于计算累积折扣奖励,累积折扣奖励 G 是从当前状态出发到达目标状态,各动作奖励的折扣累积和,MDP 描述了在动作控制下的状态转移过程,其中累积折扣奖励体现了当前动作决策对于能否到达目标状态的影响.强化学习通过与环境进行交互来学习,在给定状态下,智能体采取行动,环境返回奖励或者惩罚,通过找到最优策略使得累积奖励达到最大值.1.2 攻击图建模 MDP 图攻击图是采用图的表示方式来展示和评估计算机网络中攻击路径的技术.其中逻辑编程攻击图,采用逻辑推理引擎,通过设置漏洞利用、访问链推导等推理规则,对网络的配置信息和漏洞信息进行分析,推导出从起始点出发,到达目标的所有攻击路径.由 3 种节点
14、组成,其中矩形节点是谓词,代表推理的初始依据,包括网络连接性,漏洞的存在性等.椭圆形节点代表推理规则,如漏洞利用规则,多跳访问规则等.菱形节点是派生谓词,代表推理结论,如通过漏洞利用规则得出的以用户权限执行任意代码等.将攻击图映射为 MDP 图,攻击者的起始位置作为初始状态,所有的谓词节点作为状态,规则节点作为动作,使用可重边有向图表示 MDP 图,为每个 MDP 图节点绑定攻击图节点编号作为属性,将最优路径选择建模为智能体在 MDP 图中的每个分支节点的最优动计 算 机 系 统 应 用http:/www.c-s-2023年第32卷第12期198软件技术算法SoftwareTechniqueA
15、lgorithm作选择,节点冒号左侧的数字为重新编号后得到的,右侧数字是攻击图中对应的节点编号.2基于价值迭代算法的最优渗透路径发现V(st)强化学习中引入价值的概念,将策略的价值称为,表示从开始状态按照策略执行动作获得的所有奖励求和后的期望值.最优价值函数如式(1)所示:V(st)=maxst+1T(st,a,st+1)R(st,at,st+1)+V(st+1)(1)价值迭代算法是经典的强化学习算法,通过采用贝尔曼最优方程来计算状态动作价值.如式(2)所示:Q(st,at)=st+1T(st,a,st+1)R(st,a,st+1)+maxQ(st+1,at+1)(2)Q(st,at)stat
16、最优状态动作价值是在状态下采取最优动作得到的 Q 值.Q 值体现了当前状态下选取各个动作可以获得的效用值,价值迭代算法的每一轮迭代,按照贝尔曼最优方程,以状态为行,以动作为列,建立 Q 值表,每次更新从表的第 1 行第 1 列开始,直到最后一行最后一列的顺序更新 Q 值.使用最大的 Q 值来更新当前状态价值,直到一轮迭代更新的最大差值小于指定阈值为止.首先,在渗透测试过程中,可以使用 Nmap 等扫描工具对系统中的各个主机进行扫描,获取主机的漏洞信息和路由信息.然后根据定义的领域规则文件,得到主机漏洞间的关联关系,建立攻击图.然后将攻击图转换为 MDP 图,寻找最优渗透路径.其次,由于扫描工具
17、的限制,漏洞扫描的结果可能并不准确,存在漏洞误报的情况.同时系统用户可能修改系统配置信息,使得渗透动作失效,初始得到的渗透路径并不能保证渗透成功,需要根据实际情况进行调整.但是对整个系统的状态进行实时跟踪并更新 MDP图的代价较大,在初始得到的最优渗透路径的基础上,根据渗透过程中遇到的实际问题调整,重新寻找最优渗透路径.最后,当渗透测试过程中存在多个攻击目标时,安全测试工程师需要获得到达多个目标的全局最优渗透路径.如果分别计算到达多个目标的最优路径,路径之间可能存在重合,因此为多个目标单独计算最优路径并不能得到全局最优的渗透路径.本节的内容主要如图 1 所示,通过针对当前渗透测试中存在的 3
18、个主要问题,提出了相应的解决方案.问题 1:渗透测试过程中的最优渗透路径发现面向 MDP 图的最优渗透路径发现场景信息领域信息生成攻击图转换 MDP 图最优渗透路径发现问题 2:渗透测试过程中的渗透动作失效面向 MDP 图的路径重规划渗透动作失效保留已有攻击信息路径重规划问题 3:渗透测试过程中存在多个攻击目标面向 MDP 图的多目标全局最优渗透路径存在多个攻击目标定义多目标状态位获取全局最优路径图 1基于价值迭代算法的最优渗透路径发现2.1 面向 MDP 图的最优渗透路径发现根据得到的 MDP 图,本文引入价值迭代算法,由于 MDP 图是已知的,使用价值迭代算法可以直接进行渗透动作的价值计算
19、,由于每个状态实际只有少量可以执行的动作,所以实际不存在的状态动作对的 Q 值可以设置为负无穷大,在迭代中只需要考虑可能的状态转移过程,无需考虑 MDP 图中没有的边.Q 值反映了当前状态下各动作的价值大小,选择当前状态下Q 值最大的动作.计算马尔可夫决策过程的奖励和状态转移概率,首先考察单步渗透动作的执行代价和转移概率.不同的渗透动作有不同的执行代价 cost 和转移概率 prob.渗透动作的漏洞复杂度指标 access 可以参考公共漏洞评分系统 CVSS 评分中的 accesscomplexity 评分,分为高,中,低这 3 类,分别对应不同的转移概率,如 0.3,0.6,0.9.漏洞利用
20、脚本质量 script 根据脚本库中每个漏洞脚本的质量评分,如 MetasploitFramework 脚本库中按照 excellent,good,normal,none 等分级,质量越好,漏洞利用成功的可能性越高.渗透测试过程中状态的转移概率由 prob,access 和 script 三者的乘积表示,渗透动作代价和转移概率共同决定了智能体成功进入下一状态需要付出的代价,如式(3)所示.T(st,a,st+1)=prob(a)access(a)script(a)(3)2.2 面向 MDP 图的路径重规划当渗透动作失效时,需要保留已有的攻击信息,2023年第32卷第12期http:/www.c
21、-s-计 算 机 系 统 应 用SoftwareTechniqueAlgorithm软件技术算法199重新计算最优渗透路径,使得到达目标状态的累积奖励值最大.首先,删除 MDP 图中失效渗透动作对应的边.此时,所有访问过的节点都是安全测试工程师已经掌控的状态,重规划不需要重新从 MDP 图的起始点出发.将当前已经成功掌握的节点合并为一个虚拟节点,作为重规划的起点.路径重规划过程的流程如下.步骤 1.根据第 2.1 节得到的最优渗透路径进行渗透测试,同时检测渗透动作是否失效.步骤 2.如果渗透动作失效,修改状态转移矩阵,同时删除 MDP 图中到达失效渗透动作对应的边.步骤 3.将已经成功掌握的节
22、点合并为虚拟节点,忽略合并节点内部之间的连接关系.步骤 4.重新执行价值迭代算法,获取新的最优渗透路径,从虚拟节点选择最优渗透动作.步骤 5.如果渗透动作成功,继续按照最优渗透路径执行渗透测试,失败则返回步骤 2.2.3 面向 MDP 图的多目标全局最优路径为了表示安全测试工程师对已经掌握状态的持续控制,以 MDP 图节点个数作为一维向量 S 的长度表示当前环境的状态,S 的第 i 位是 0 代表状态 i 尚未被掌握,是 1 代表状态 i 被掌握.通过向量表示,攻击者可以从已掌握的任意状态出发,但是状态数量随 MDP 图中节点个数呈指数增长,在具有 n 个节点的情况下,可能的状态数多达 2n.
23、本文通过列表存储出现过的状态来缓解状态空间爆炸的问题.算法的结束状态是状态向量中目标的状态位都为 1,在判断到达结束状态时,获得较大的正奖励.智能体到达任意子目标并不设置奖励,使得能够发现全局最优路径.流程如算法 1 所示.算法 1.面向 MDP 图的多目标全局最优路径1)初始化节点数目 N,起始状态 S0为 N 维向量2)初始化状态转移矩阵 TM,状态值函数矩阵 VM 为空3)初始化列表 states 记录起始状态 S0,误差 delta4)states,TM,VM=ExploreState(states,state,TM,VM)5)Fori=1,Iteration_numdo6)Forj=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 价值 算法 最优 渗透 路径 发现
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。