欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > PDF文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于攻击图的渗透测试方案自动生成方法.pdf

    • 资源ID:14653907       资源大小:530.69KB        全文页数:5页
    • 资源格式: PDF        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于攻击图的渗透测试方案自动生成方法.pdf

    1、收稿日期:2010 01 14;修回日期:2010 03 03。作者简介:崔颖(1981 ),女,辽宁沈阳人,硕士研究生,主要研究方向:网络信息安全;章丽娟(1980 ),女,安徽蚌埠人,博士研究生,主要研究方向:网络信息安全;吴灏(1965 ),男,江苏无锡人,教授,主要研究方向:网络信息安全。文章编号:1001 9081(2010)08 2146 05基于攻击图的渗透测试方案自动生成方法崔颖,章丽娟,吴灏(信息工程大学 信息工程学院,郑州 450002)cuiying0922 hotmail com摘要:为满足网络安全管理需要,提出一种新的渗透测试方案自动生成方法。该方法利用被测试目标网络

    2、脆弱点间的逻辑关系,结合原子攻击知识库,通过前向广度优先搜索策略产生渗透攻击图,然后深度优先遍历渗透攻击图生成渗透测试方案,并基于该方法设计实现渗透测试预案自动生成原型系统。实例表明该方法能够有效生成可行的渗透测试方案。关键词:渗透测试;攻击图;原子攻击;攻击推理;网络安全中图分类号:TP309;TP311文献标志码:AAutomatic generation method for penetration test programsbased on attack graphCUI Ying ZHANG Li-juan WU Hao Institute of Information Engine

    3、ering Information Engineering University Zhengzhou Henan 450002 ChinaAbstract In order to fulfil the need for network security management a new automatic generation method of penetrationtest programs was proposed in this paperThe penetration attack graph was set up with the inference relation of the

    4、vulnerabilities in the target network through the forward breadth-first search strategy which combined knowledge of atomicattack The system produced penetration test programs through reverse depth-first traversal attack graph A prototype ofpenetration test programs automatic generating system was de

    5、signed and implemented on the basis of this method Theillustration indicates that this method can effectively set up the penetration test programs which provide a useful reference fornetwork security analysisKey words penetration testing attack graph atomic attack attack reasoning network security0引

    6、言渗透测试是近年来新兴的一种网络安全稽核方法。测试人员以黑客的角度,在实际网络环境下,从一个攻击者可能存在的位置,对目标网络环境作深入的安全探测,找出目标网络存在的脆弱环节,并采用各种攻击方式主动利用系统中存在的安全漏洞对目标网络进行模拟攻击,从而探查出目标网络中逻辑性更强、更深层次的漏洞。测试人员需要向目标网络管理员提交渗透测试报告,证实网络存在的安全隐患并协助其制定更完善的安全防御措施。当前网络安全漏洞种类繁多,导致渗透测试对象颇为复杂,一次有效而全面的渗透测试需要运用多种攻击技术。以往的测试方法大多依赖测试人员的专业经验,对探测出的漏洞逐一进行利用,为了提高测试人员的工作效率和准确率,使

    7、测试结果的结构性和可用性更好,需要构造测试模型,用于组织并指导测试实验。目前常用的渗透测试模型包括 OSSTMM和 NIST SP 800-42,但其仍是采用遍历漏洞的方法进行测试,这种测试方法往往会忽略网络中各漏洞之间的逻辑关系,难以体现多阶段网络攻击和协同攻击对系统造成的影响,从而导致测试结果不够全面。为了弥补现有渗透测试模型的不足,研究人员借鉴成熟的攻击建模思想来构造渗透测试模型,张继业等人 1提出基于攻击图的渗透测试模型,杨涛等人 2提出基于有色 Petri 网的渗透测试模型,但是基于这两种模型生成的渗透测试案例图存在冗余路径,从而导致可能生成多套冗余测试方案。本文借鉴文献 1 的渗透

    8、测试模型思想,对其进行优化,提出一种新的基于攻击图的攻击测试方案生成方法。该方法简化了攻击测试图的规模,使生成的测试方案更加优化。1渗透测试实施流程图 1 描述了渗透测试的一般流程。测试人员首先需要与客户充分沟通,了解客户法律和行业管理规定需要,说明风险与应变方式,确定测试目标。根据所掌握测试环境信息量的多少,决定采用哪种测试方式。测试方式有黑盒测试、灰盒测试、白盒测试。确定测试方式后,测试人员进行测试准备,从攻击者角度进一步采集目标系统信息,包括对目标网络信息勘察、目标主机信息勘察以及社会工程勘察,确定目标脆弱点,找出入侵的可能切入点,进行模拟攻击测试。根据模拟攻击得到的新信息,确定新脆弱点

    9、,进行进一步攻击测试,此过程循环进行,直至不再发现可进行攻击的新脆弱信息为止。随后测试人员根据测试过程,对目标网络的服务性和防御措施进行分析评估,生成分析报告书,向客户提供防御措施改进方案。第 30 卷第 8 期2010 年 8 月计算机应用Journal of Computer ApplicationsVol 30 No 8Aug 20102基于攻击图的渗透测试预案生成系统分析渗透测试实施的流程,可以看出测试的关键阶段是图 1 中的虚线框框定的部分,即测试人员从已获信息中确定目标网络具有哪些脆弱点,并判断应该如何利用这些脆弱点,采用何种攻击手段进行模拟攻击。当前多阶段、协作式网络攻击通常会包

    10、含一系列有逻辑关系的原子攻击,每个原子攻击都是对目标网络某个脆弱点的一次利用。前一阶段原子攻击的结果,往往是后一阶段原子攻击的前提,所以可以根据网络中存在的脆弱点之间的逻辑关系对攻击过程进行模型,对测试过程进行组织。图 1渗透测试实施流程2 1渗透测试预案生成系统框架黑盒测试 3 4又被称为“0 知识测试”,是指渗透测试操作人员完全处于对系统一无所知的状态。白盒测试是指测试者可以通过正常渠道向被测者要求,取得各种资料。灰盒测试则是指测试人员获取的信息介于这两者之间的测试。所以白盒及灰盒测试根据可见信息获悉的多少可能省去部分信息收集的操作,黑盒测试包含了渗透测试的所有步骤和功能。为了使渗透测试预

    11、案的适用性更广,我们面向黑盒测试方式构建渗透预案自动生成系统。基于攻击图的渗透测试预案生成系统框架如图 2 所示。图 2渗透测试预案生成系统框架测试人员利用自动探测工具,如 Nessus、Xscan、Saint 等对目标网络进行扫描,获取到目标网络信息及主机信息,综合利用社会工程学方式或者在攻击测试过程中获取到的用户相关信息,提取出有可能成为测试攻击切入点的目标的脆弱点。对照原子攻击知识库,确定原子测试步骤,并根据原子攻击知识库中的推理规则,推理产生后续的原子测试行为,重复推理,直至达到测试目标,生成测试攻击图。渗透攻击图就是测试案例的集合,遍历所生成的攻击图,最终生成测试攻击路径;同时对每条

    12、测试攻击路径进行风险计算;最后生成可视化测试攻击路径图,为测试人员组织测试提供有益参考。2 2原子攻击知识库测试人员利用自动扫描器勘察目标网络,能够得到目标漏洞信息,但针对具体单个漏洞应该用哪种原子攻击方式来进行模拟测试,需要查询原子攻击知识库中的漏洞同抽象原子攻击之间的映射关系。漏洞映射关系以三元组VulnName=VulnClass,Chracter 表示,VulnName 对应于漏洞的唯一标识,比如 CVE 标号;VulnClass 对应于该脆弱点可能被利用的抽象原子攻击集合;Character 描述了该漏洞存在的特征,比如该漏洞存在的软件名字、版本等。例如 CVE-2009-3951=

    13、Dos,AdobeAIR-1 5 2 表示漏洞 CVE-2009-3951 的存在特征是 AdobeAIR-1 5 2 软件,针对该漏洞可以采用拒绝服务类原子攻击进行模拟攻击测试。原子攻击知识库中定义并存储了网络钓鱼、跨站脚本攻击、远程溢出、脚本注入、拒绝服务、远程系统口令猜解等多种已知原子攻击的推理规则。每条推理规则描述原子攻击得以进行的前提条件和攻击结果。鉴于文章篇幅,本文以跨站脚本类攻击推理规则为例进行描述。跨站脚本类推理规则:假设测试人员 Utester探测出网站Website 的 SWeb服务程序存在跨站脚本漏洞 XSSVuln,Utester利用该漏洞向 Website 提交含有脚

    14、本攻击代码 code 的请求,SWeb将 code 输出到网页 page 中,从而构造出攻击网页 page。若用户 Uvictim浏览该网页,则嵌入其中的攻击代码就会执行,从而获取用户 Cookie 中的敏感数据,得到 Uvictim在该网站的 AWeb账户权限。本系统利用 prolog 系统作为推理引擎,对应的 prolog语言描述如下:Privilege(Utester,AWeb,SWeb):VulExists(SWeb,Website,XSSVuln),Cheatingpage(Utester,code,XSSVuln,page),Privilege(Uvictim,AWeb,SWeb)

    15、,Visite(Uvictim,code)2 3渗透攻击图定义 1渗透攻击图。渗透攻击图是测试者为了达到渗透测试目的,对目标计算机网络系统进行模拟测试攻击预案的集合。本系统采用正向广度优先策略生成测试攻击图。正向是指根据目标网络状况及前期获取的信息等初始条件,推理产生原子攻击结果,从而决定后续测试步骤,直至达到测试目的。广度优先搜索策略保证渗透攻击图的完备性,能够产生所有的渗透测试方案。攻击图生成算法如图 3 所示。系统对前期确定的目标脆弱点信息进行初始化,确定有可能进行测试的原子攻击类型加入待攻击状态队列,取队列中首元素与原子攻击知识库中的每个攻击推理规则的前置条件进行匹配,如果全部都被满足

    16、,则根据该攻击推理规则的后置条件进行状态转换。为了避免生成的攻击图存在状态爆炸问题,采用三级判断语句限制其规模,如果所有的判断语句均满足,将此新状态节点及边加入攻击图,循环进行,直至待攻击状态队列为空。三级判断语句分别用于限制攻击成功负责度阈值、合并7412第 8 期崔颖等:基于攻击图的渗透测试方案自动生成方法相同节点、限制攻击图深度。下面分别加以详细介绍。1)判断原子攻击成功复杂度是否大于阈值。定义 2原子攻击成功复杂度。原子攻击复杂度是用来衡量测试者成功利用该原子攻击难易程度的一种度量。由于原子攻击事件带有随机性因素,是一个概率事件,受漏洞的危险级别,可利用的难易程度、先验知识多少、扫描结

    17、果可信度等影响,难以进行精确的度量,只能近似表达不同攻击之间的差别。图 3攻击图生成流程原子攻击复杂度的取值可以通过专家打分得到。参考文献 5 6 对几百种弱点的利用方法和工具进行的分析和比较,给出了攻击复杂度的量化标准,如表 1 所示。表 1攻击复杂度的量化标准等级 成功复杂度描述109无需测试工具 有详细的测试方法207有现成可用的测试工具和详细的测试方法305无测试工具但有较详细的测试方法403公开报告此弱点 粗略地提及测试方法501公开报告此弱点 未给出测试方法成功复杂度低的原子攻击,成功概率较低,不易被攻击者所利用。将这类原子攻击过滤掉,可以缩小攻击图的规模,提高后续生成测试预案的效

    18、率。2)判断是否为状态相同的攻击节点。参考 Ammann 等人 7提出的单调性假设,该假设认为攻击者获得的能力是不断增长的,并且已经获得的能力不会失去。若攻击图中含有前提及结果相同的攻击节点,则说明测试者经过攻击,其攻击能力没有变化,这与该假设相悖,所以需要合并这类具有相同状态的节点。3)判断是否达到最大测试步骤。定义 3最大测试步骤。最大测试步骤指一套渗透测试方案中可最多包含的原子攻击步骤数。测试步骤过多的测试方案,说明其达到测试目标的效率较低,相应的攻击者采用此方法进行攻击的效率及成功率也较低,其对目标安全性危害较小,某些情况下可以忽略。删除测试步骤过多的测试路径,可以有效降低攻击图的深度

    19、,控制攻击图的规模。2 4测试预案定义 4测试预案。测试预案是一条由多个原子攻击组成的测试路径。生成测试攻击后,从目标节点出发,逆向深度优先搜索渗透攻击图,就能得到一条从初始节点到目标节点的渗透测试路径。但此时这条路径有可能存在冗余。比较如下两条路径:abcd同abd,两条路径都能从a到d,显然前一条路径是后一条路径的冗余路径。所以生成的测试路径集中要消除这类冗余路径。预案生成流程如图 4 所示。首先逆向深度优先搜索攻击图,生成从目标状态到初始状态的所有攻击路径,组成集合Allpaths。初始化最简路径集合B,令其为空集,搜索Allpaths中的最短路径shotpath,并加入集合B中。搜索并

    20、去掉Allpaths中包含 shotpath 的路径,组成中转集合 C,若 C 集合为空,说明Allpaths 中的所有路径均包含 shotpath 路径,均为 shotpath 的冗余路径。若C集合不为空,说明除shotpath外,还有其他走向的,能够到达目标的测试路径。令Allpaths=中转集合C,重新计算新的最简路径,并加入到最简攻击路径集合 B 中,循环往复,直至 C 集合为空,则此时 B 集合即为最简攻击路径集合。图 4测试预案生成流程2 5最优测试方案的生成定义 5测试路径成功概率。测试路径成功概率是对测试者能够成功实施某套测试预案的度量。假设为达到某一测试目标,生成的渗透测试预

    21、案集 L 中共有 l(l 1)条测试路径,其中渗透路径 li(1 i l)共包括 s(s1)步原子测试攻击,若第j(1 js)步原子攻击成功复杂度为 j,则测试路径 li的成功概率由式(1)计算得到:HLi=sj=1j(1)定义 6 最优测试方案 成功概率最大的测试路径为该渗透测试预案集中的最优测试方案。计算每条测试路径的成功概率,对比结果,利用式(2)计算预案集 L 中的最大成功概率HL=max(HL1,HL2,HLl)(2)最大成功概率对应的测试路径即为测试代价最小,最易8412计算机应用第 30 卷达到测试目的攻击路径,为预案集中的最优测试方案。这类攻击路径可被攻击者成功利用的可能性也更

    22、大,测试人员应该首先利用该方案进行渗透测试,为网络管理员提供及时的防御策略。2 6渗透测试方案生成方法性能分析本小节从有效性和复杂度两个方面,对渗透方案生成方法的性能进行分析。2 6 1有效性传统的渗透测试主要采用线性遍历漏洞方式进行测试,难以模拟实际遇到的攻击,并且其效率低、周期长,测试结果不完善,对测试人员的技术水平依赖性较高。使用基于攻击图的渗透测试方法,能够从被测试网络全局角度出发,分析网络中存在的各脆弱点之间的关系,同时对生成的测试方案集进行进一步检查,删除冗余方案,相比较文献 1 2,生成的渗透测试预案更客观、准确、有效。2 6 2复杂度基于攻击图的渗透测试预案的复杂度主要取决于生

    23、成渗透攻击图的复杂度及生成测试预案集的复杂度。1)生成渗透攻击图的复杂度。渗透攻击图的复杂度主要取决于被测试网络中存在的脆弱点数目及原子攻击的数量。文献 1 主要参考文献 8 中提供的渗透测试项目,其生成的攻击图具有一定的局限性。本文对原子攻击进行归类,构建原子攻击知识库,在测试方式完整全面的前提下,降低了攻击图的复杂度。2)生成渗透预案集的复杂度。生成渗透预案集的复杂度主要取决于前期生成的渗透攻击图的规模和深度,为 O(n)。本文在攻击图的生成过程中,通过限定原子攻击复杂度阈值、合并状态相同节点、限制攻击图的深度,攻击图的规模得到了有效控制。随着网络规模的增大,攻击图规模仍在可接受范围内,相

    24、应的渗透预案集的生成时间也更加实际可行。3应用实例3 1实验环境以一个简单实验网络为例,介绍如何利用该系统生成测试预案,如图 5 所示。图 5实验网络环境测试人员可以通过 Internet 从外部访问实验网络。防火墙使用安全策略将实验网同 Internet 隔离开,防火墙的安全策略包括:允许进入 WebServer 的网络连接和实验网向 Internet的连接,切断其他一切进入实验网的流量。实验网中各主机存在的漏洞情况如表 2 所示。假设测试者前期已获得了 Liu 用户的相关信息,并且在该实验网络中 Red 主机存有大量备份资料,属于重要主机。因此本次测试以获取 Red 主机的权限为目标,分析

    25、测试人员可采取的模拟攻击路径。表 2实验网主机漏洞情况表主机名用户账户名 服务程序脆弱点端口FTPServerAdminFTP匿名访问21WebServerRootHTTP远程溢出漏洞80RedwangTerminal远程控制3389BlueLiuOffice本地溢出漏洞3 2网络安全性分析步骤步骤1将前期获取的信息转化为 prolog 语言,得到初始状态清单 list0,如图 6 所示。步骤 2分析信息清单,结合原子攻击知识库,找出满足前提条件集的原子攻击,按照图 3 所示流程,进行攻击推理。推理结束后生成渗透攻击如图 7 所示。步骤 3参考专家建议,为每步原子攻击确定成功复杂度,如表 3

    26、所示。步骤 4按图 4 所示测试预案生成流程,遍历攻击图生成 4 套测试方案,计算相应的成功概率。结果如表 4 所示。图 6初始信息清单表 3原子攻击成功复杂度对应表攻击成功复杂度攻击成功复杂度攻击成功复杂度05070306090703010503表 4测试方案成功概率对应表攻击方案攻击步骤成功概率100750020013 5030004 4140031 50根据表 4 计算出的测试方案及对应的成功概率对实验网络的安全状况进行分析。通过比较,发现方案 1 为测试者能够成功取得 Red 主机权限可能性最大的方案,即测试者先通过远程溢出取得 WebServer 主机权限,然后以此为跳板,通过远程系

    27、统口令猜解攻击取得 Red 主机权限。4结语从实践的角度来看,实现渗透测试方案的自动生成是十分必要的,它可以提高测试人员效率与准确率,对于发现潜在的多点脆弱性也是十分有益的。9412第 8 期崔颖等:基于攻击图的渗透测试方案自动生成方法图 7渗透攻击参考文献:1张继业 谢小权 基于攻击图的渗透测试模型的设计 J 计算机工程与设计 2005 266 1516 15182杨涛 郭义喜 张弘 有色 Petri 网在渗透测试中的应用 J 计算机工程 2009 351 156 1853VPN penetration test R Network Intelligence Penetration Test

    28、Team20044渗透测试操作实务 EB/OL 2009 12 01 http/www xfo-cus net5张永铮 云晓春 胡铭曾 基于特权提升的多维量化属性弱点分类法的研究 J 通信学报 2004 257 107 1146汪立东 操作系统安全评估和审计增强 D 哈尔滨 哈尔滨工业大学计算机科学与技术学院 20027AMMANN P WIJESEKERA D KAUSHIK S Scalable graph-based network vulnerability analysis C/Proceedings of the 9thACM Conference on Computer and

    29、Communications Security NewYork ACM 2002217 2248HERZOG P Open-source security testing methodology manual EB/OL 2009 12 10 http/isecom securentled com/osstmmes21 pdf(上接第 2141 页)图 2漏洞静态严重性评估系统4结语本文从评估漏洞的静态严重性的问题出发,分析了漏洞的属性,从中提取了评价漏洞静态严重性的 4 个指标:威胁性、影响度、流行性和修补难易,并将属性综合评判系统理论应用于漏洞的静态严重性评估中。应用实例证明,本文所提出的

    30、基于属性综合评价系统理论的静态严重性评估方法,漏洞的静态严重性评估结果以定性值和定量值组成的二元组方式给出,能准确有效地判定漏洞定性的静态严重性级别,又能给出定量的静态严重性分值,且静态严重性分值的大小可体现出同一级别下不同漏洞严重性的细微差别,为确定补丁的优先级提供了准确的依据。进一步研究将致力于研究漏洞静态严重性的指标体系中语言值到数字值的不确定性转换,以期进一步完善属性综合评价系统在漏洞的静态严重性评估中的应用。参考文献:1CERT CERT statistics EB/OL 2009 10 11 http/www cert org/stats/2JAMES B An overview

    31、of threat and risk assessment EB/OL 2003 04 22 http/www sans org/reading_room/whitepa-pers/auditing/an_overview_of_threat_and_risk_assessment_76?show=76 phpcat=auditing3CyberCop A SaP Vulnerability summary graphical summary report EB/OL 2002 09 28 http/www mcafeeasap com/sam-plereports/cybercop/samp

    32、le_html_summary asp4MICROSOFT Microsoft security response center security bulletinseverity rating system EB/OL 2009 10 21 http/wwwmicrosoft com/technet/security/bulletin/rating mspx5李小满 面向对象的安全评估方法及若干技术指标的构建 D 北京 中国科学院软件研究所20046CERT CERT/CC vulnerability note field descriptions EB/OL 2008 03 20 http

    33、/www kb cert org/vuls/heml/fieldhelp#metric 7MELL P SCARFONE K ROMANOSKY S A Complete guide tothe common vulnerability scoring system version 2 0 EB/OL 2007 07 06 http/www first org/cvss/cvss guide html8程乾生 属性识别理论模型及其应用 J 北京大学学报 自然科学版 1997 331 12 339程乾生 属性集和属性综合评价系统 J 系统工程理论与实践1997 179 1 80512计算机应用第 30 卷


    注意事项

    本文(基于攻击图的渗透测试方案自动生成方法.pdf)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开