您的当前位置:首页正文

一种基于漏洞威胁模型的安全分析技术

2020-02-08 来源:易榕旅网
维普资讯 http://www.cqvip.com 总第224期 计算机与数字工程 Vo1_36 No.6 2008年第6期 Computer&Digital Engineering 120 一种基于漏洞威胁模型的安全分析技术 张亮朱磊明王康 (解放军电子工程学院合肥230037) 摘要如何全面、准确地分析网站面临的最大威胁成为专业信息安全公司和网站管理员的不可回避的难题。借鉴 攻击图的基本思想设计漏洞威胁测试模型(V.rrM),并以SQL注入漏洞为例对其进行建模,并利用两种算法分别计算网站 的最大威胁值及最优测试序列。 关键词渗透测试攻击图SQL注入贪婪算法动态规戈4 中图分类号TP393.08 A Technology of Analyzing Security B ased on Vulnerability Threats Model Zhang Liang Zhu Leiming Wang Kang (Electronic Engineering Institute,CPLA,Hefei 230037) Abstract It’S quite a difficult problem for information security companies and web administrators to find a way to analyze the biggest threat tO a website entirely and accurately.Having designed Vulnerability Threats Testing Model(VTTM)which is based on the basis of a ̄ack graph,taking SQL i ̄ection for example tO construct its model and introducing two algorisms tO cal— culate the biggest threat value and the best testing sequence respectively. Key words penetration test,attack graph,SQL injection,greedy algorism,dynamic programming Class Number TP393.08 1 引言 透,不能充分模拟黑客攻击的流程,而一个漏洞可 能要具有一定前提条件才可能被发现,因此这种 网络的普及标志着信息时代的来临,形形色色的 “各自为政”的状态容易片面地估计漏洞威胁,从 网站使“足不出户,办天下事”成为可能。便利的网络 而隐藏了漏洞的存在。 服务唾手可得,在吸引众多Intemet用户同时也招来 常见的Web漏洞存在于用户认证、用户授权、 了不怀好意的目光。越来越多的网络黑客将网站视 用户输入验证、Web程序管理和客户端访问等环 为免费的蛋糕,网站安全受到严重威胁。 节上,具体形式有:利用Cookies、会话ID欺骗或密 渗透测试(Penetration Test)的主要目的是对 码破解绕过用户验证或提权、利用SQL注入攻击 网站进行安全评估,它可以使用专用漏洞扫描工具 技术入侵数据库服务器、利用跨站脚本漏洞威胁客 对网站的安全状态进行检查,也可以雇用具有丰富 户端、利用服务器提供的其他第三方服务进行入侵 网络攻击经验的专业技术人员扮演“黑客”的角 等。进行渗透测试时要涵盖这些纷繁复杂的环节, 色,从内网、外网以及不同网段对网站进行模拟攻 因此需要对各类型的Web漏洞测试过程进行建模 击,以便能够模拟企业内部的违规操作和对企业内 以发现网站最大的威胁。 部状态一无所知的外部攻击。然而,这种安全测试 攻击图(Attack Graph) l J作为表现攻击条件、 方式的效果过分依赖于工具和技术人员的能力,并 过程和结果的模型在渗透测试中具有不可替代的 且通常以离散状态分布在企业各处对网站进行渗 作用。为了降低工具和技术人员对渗透测试的影 收稿日期:2008年1月9日,修回日期:2008年2月9日 作者简介:张亮,男,硕士研究生,研究方向:计算机信息安全。朱磊明,男,硕士生导师,研究方向:计算机信息安全。 王康,男,硕士研究生,研究方向:计算机网络安全。 维普资讯 http://www.cqvip.com 第36卷(2008)第6期 计算机与数字工程 121 响,本论文将根据攻击图的基本思想设计漏洞威胁 测试模型(Vulnerability ThreatS Testing Model, s 表示测试条件,s 表示测试结果。测试用例应该 具有原子性,即在测试环节中最小的测试单元,以 单一的手段获得单一的效果。在VTTM模型中 表现为有向边,可以对每条边赋予权值,这里,权值 使用二元组(C,V)表示,其中C表示执行测试用例 的代价,是执行周期、被IDS或IIs记录的可能性 VTTM),并通过求解模型,全面、准确地发现网站 的最大威胁。 2 VTTM的设计与建立 攻击图以有向图为表现形式,顶点代表网站的 和占用系统资源等因素的综合值;V表示执行测试 用例的价值。以上两个元素都根据测试者自身需 安全状态,有向边代表状态的转换,包含了各种转 换条件。本文将根据攻击图的基本思想对网站的 要和经验进行设置。以SQL注入漏洞为例,其局 Web漏洞测试过程建立VTTM模型,模型将使用 加权有向图来表示。 VTFM模型有五个基本要素:网站安全状态集合 S、初时状态集合S0、目标状态集合S 安全状态转换 集合 和价值代价比集合or,详细描述见表1。 表l V1vrM模型要素 要素 描述 S S是在测试过程中不断改变的网站安全状态,在 模型中处于顶点位置 S。 s。 S。 S,是有向图中入度为0的顶点 S s S S,是有向图中出度为0的终点,以双圆 圈表示 中状态 表示从安全状态s 向Sj的转换过程, 在有向图中处于边的位置,用序偶<s ,sj>表示 其中i 。如果转换后的状态s S ,表示漏洞 测试过程达到预期目标,结束状态转换过程。 0- 权值集合, 表示从安全状态S 向 的转换权 值,用二元组(Cii,Vq)表示 由此,VTTM模型可以用五元组(S。,S,Sr, ¨ ro)来表示,其基本思想是使用大量的测试用例对 每一个安全状态进行检测,满足转换条件后进行状 态迁移,如果最后能够达到目标状态,则表示网站 存在从S。到S 对应的漏洞。 5中的每一个状态包含以下元素: ・用户权限:当前用户等级标识,通常采用枚 举型进行表示,包括guest(anonymous)、IUSR—XXXX (互联网访问用户)、normal(public)、administrator 等等。 ・目标:指定需要进行测试的目标,可以是单 个和多个服务器。状态转换不涉及到目标迁移时 可以省略此元素。 ・漏洞:通过状态转换后得到的可利用漏洞。 ・能力:当前状态下能够对网站产生的危害或 能够进行的攻击行为,比如会话欺骗、窃听密码、植 入木马和SQL注入等。 表示将测试用例作用于s 后网站安全状态 转换到sJ,这个转换过程用序偶<s ,Sj>表示,其中 部状态转换图如图1所示。 图1 局部状态转换图示例 漏洞测试的过程可以看成是基于测试条件的 状态转换过程 (本文称之为测试路径),用线性 状态序列表示: TP={SoSl…S …S£I S0∈S0,S ∈S,S ∈Sr,0≤i I Sll 在VTTM中达到目标状态的关键因素是合理、 充分地设计测试用例,并能涵盖网站程序的各个功 能模块。 下面以SQL注入漏洞为例,利用VTTM对其 进行建模,目标状态是获得网站的WebShell,模型 的五个要素如前文所述,对应的状态转换图如图2 所示,其中各个状态的内部元素描述见(省略“目 标”) 图2 SQL注入漏洞威胁的状态转换图 模型建立以后对状态转换图进行遍历以获得 从初始状态到目标状态的所有测试路径。通常,对 图的遍历有深度优先遍历和宽度优先遍历。在 VTTM模型中使用深度优先遍历,遍历过程中获得 的从S。到S 的路径就是状态线性序列。然后根据 需要确定最优序列。按照最优序列进行漏洞发掘 将取得最大效益。最优的标准由测试者的需求决 维普资讯 http://www.cqvip.com

l22 张亮等:一种基于漏洞威胁模型的安全分析技术 第36卷 定,比如不考虑代价,只考虑价值,则最优函数为: max ̄v 如果不考虑价值只考虑代价,最优函数 为:rain∑C 如果两者兼顾,可以引入价值代价比 P = /c 则最优函数为:max∑p (此情况下c f> 0)。可以将模型中各个状态的转换条件视为约束 条件,主要体现在测试条件S 的内部元素“漏洞” 和“能力”匕。 表2状态节点元素 建立Web漏洞的V rI1.I1M模型时,需要考虑所 有类型的漏洞威胁,分别确定初始状态和和目标状 态,创建各自的子状态转换图,然后合并成全局状 态转换图。为减少计算最优测试序列的复杂度,必 须对全局状态转换图进行优化,优化遵循以下 原则: ・合并状态节点时,节点的各个元素必须一 致,否则不能合并。 ・存在条件依存关系的状态节点,即能够用序 偶表示<s ,s >的两个节点s ,S 不能合并。 ・根据网站实际情况检查每个状态的转换条 件是否成立,如果不成立,去掉该转换。 ・在不同的子状态转换图之间补充必要的路 径,因为测试过程应该是全面、动态的过程,不会拘 泥于其中某个特定环节,测试人员可能通过Web 程序的其他缺陷来发现产生此漏洞的条件,使安全 状态转换具备前提条件而发生转移。 ・经过优化的状态转换图若存在环路,则环路 中的状态转换可能具有原子型,需要重新分析添加 新的状态节点避免产生环路。 一般地,建立V rI1.I1M模型的步骤为: 建立状态转换图一合并一优化一确定最优函 数及约束条件。 3 量化威胁 建立V rI1.I1M模型的目的是为了寻求网站的最 大威胁,因此,建立模型以后需要求解模型,即在约 束条件下求最优函数的解。本小节将以图2所示 的SQL注入漏洞的V rI'.I'M为例进行求解,假设该 状态转换图已经经过优化,最优函数为: =max Ep 对状态转换图中,测试结果为S 的状态转换 的权值为0,其他权值如表3所示(以作者经验设 定)。 表3状态转换权值 ‘ (1,2) (3,8) (3,xo) (4,4) (8,5) D 2 2.67 3.33 1 0.63 3/o6 3/67 "Y78 3/89 (2,3) (3,3) (2,3) (1,2) p 1.5 1 1.5 2 下面介绍使用贪婪算法和动态规划的方法求 解模型。 1)贪婪算法(Greedy algorism) 贪婪算法的基本思想是:采用逐步构造最优解 的方法,在每个阶段都选择一个看上去最优的决 策。一旦作出决策就不可再更改。作出贪婪决策 的依据称为贪婪准则。 求解模型最优解的关键是寻找一条从初时状 态节点到目标状态节点的路径,使这条路径上的所 有价值代价比p 成为最优函数的解。根据算法的 基本思想,设有集合4,包含每次根据贪婪准则所 选的状态节点;集合B,包含当前状态节点与新加 入4的节点之间的状态转换。初始情况下A= {S。},B= 。假设当前新加入4的状态节点为S , 且s S ,则向4加入下一个状态节点s,的贪婪准 则为:sj未在,4中出现且使<s ,sj>对应的P 最 大。由此,对于图2所示的状态转换图,其最优测 试路径为TP={SoS。S S S },∑p =4.96。注意,贪 婪算法只是一种直觉倾向性的抉择,不保证∑p 到 达最优,如图2所示例子中存在更优的测试路径 TP1={SoS6S7S8S9S },∑p =6,但通过贪婪算法获 得结果总是非常接近最优值。 2)动态规划(Dynamic programming) 与贪婪算法类似,动态规划也将待求问题分解 成若干子问题,求解子问题后再从这些解中得到原 (下转第135页) 维普资讯 http://www.cqvip.com

第36卷(2008)第6期 计算机与数字工程 135 户端发送自己的数字证书。 5)客户端通过数字证书验证服务器是否合法。 5 结语 6)验证合法后,客户端把自己的数字证书发 本文探讨了无线局域网的安全性问题,并提出 送给服务器,请求再次验证。 了解决方案。由于无线局域网的安全性是一个非 7)RADIUS服务器通过数字证书验证客户端 常复杂的问题,需要大家一起更深人地去研究。 是否合法,这样就完成了双向的认证过程。 参考文献 IEEES02.1x身份认证的主要优点是采用了双 [1]杨兵.WLAN无线局域网安全性分析与研究[D]. 向的认证过程,提高了无线局域网的安全性。 昆明理工大学,2004 4.2 数据加密 [2]张丰翼.无线局域网安全机制研究[D].西安电子 采用了ASE中的Rijdael加密算法,而不是 科技大学,2004 RC4加密算法。Rijndael算法具有成熟的数学理 [3]肖衍,蒋外文,龙娟.基于无线网络的入侵检测系 论基础,Rijndael算法式一种基于有限域一有限环 统研究与设计[J].微计算机信息,2007,23(9—3) [4]王先培,张爱菊,熊平.新一代数据加密标准一 的算法,有限域一有限环的性质为加密特别是解密 AES[J].计算机工程,2003,29(3) 提供了良好的理论基础,使算法设计者既能高强度 [5]Nikita Borisov,Ian Goldberg,David Wagner.(In)se— 的隐藏信息,又同时保证了算法可逆。所以Rijda— curity ofthe WEP algorithm[J].Intemet Draft,2001,(6) e1加密算法可以很大程度上提高无线局域网的安 [6]谢荣清.无线局域网安全机制分析[D].电子科技 全性。 大学,2006 (上接第122页) 测试路径TP。m={SOs6s7s8s9s } 问题的解。不同的是动态规划的子问题往往不是相 互独立的,某个子问题的解可能会影响到另一子问题 4 结语 的解。动态规划具有两个基本要素:最优子结构、重叠 将VTTM模型应用于Web网站漏洞测试过程 子问题。前者表示原问题的最优解包含了其子问题 可以帮助测试人员高效准确地确定网站的最大威 的最优解;后者要求避免重复求解相同子问题。 胁及最优的测试步骤,减少测试成本。本文根据攻 以图2为例,相关参数不变。令d(i, , )表示 击图的基本思想,以SQL注人攻击为例建立了 从节点s 到节点sj的路径对应的maxEp 且该路 VrI'rI、M模型,并使用贪婪算法和动态规划两种方法 径经过最大节点为s ,由此定义: 对此模型进行了求解,向读者展示了VTTM模型优 0, i= , =0 点。但建模的好坏必须依赖于建模人员对网络安 一∞, <s ,s >硭y 全知识的熟悉和经验积累的程度,对使用VrI'rI、M模 max{d(i, , 一1),d(i, , 一1) 型的测试人员提出了更高的要求。 +d( , , 一1)},<s ,sj>∈ , ≥0 参考文献 (1) [1]Laura Painton Swiler,Cynthia Phillips,Timothy Gay— 求解原问题变为求d(0,t,t),为方便计算,令t lor.A Graph—Based Network—Vulnerability Analysis System =ISI一1:10。易知d(i, , )=d(i, , 一1),d(i, [R].Sandia National Laboratories,1998:8~13 ,i)=d(i, ,i一1),根据(1),有: [2]Joel Scambray,Mike Shema,Caleb Sima.Hacking Ex— d(0,10,10)=d(0,10,9)=m。 {d(0,10,8), posed Web Applications,Second Edition[M].2006 [3]William G.J.Halfond,Jeremy Viegas,Alessandro d(0,9,8)+d(9,10,8)} (2) Orso.A Classification of SQL Injection Attacksand Counter- 其中d(0,9,8)+d(9,10,8)=6+0=6, measures[J].College of Computing Georgia Institute of Tech— d(0,10,8)=max{d(0,10,7),d(0,8,7)+d nology,2006 (8,l0,7)} [4]Chris Anley.Advanced SQL Injection In SQL Smwer 坚d(0Applications[J].NGSSoflware Insight Secu6ty Research,2002 ,10,7) 以此类推,得: [5]SQL Injection,Are Your Web Applications Vulnera— ble,SPI Dynamics[DB/OL].http:∥www.securitydocs.corn/ d(0,10,7)=d(0,10,6)=d(0,10,5)=4.96, library/2656 带人(2),最后得出: [6]许治昆,王伟,郭添森等.网络渗透技术[M].电子 d(0,10,10)=max{4.96,6}=6,对应最优的 工业出版社,2006:650~652 

因篇幅问题不能全部显示,请点此查看更多更全内容