2. 重庆大学 信息物理社会可信服务计算教育部重点实验室, 重庆 400030
2. Key Laboratory of Dependable Service Computing in Cyber Physical Society, Ministry of Education, Chongqing University, Chongqing 400030, P. R. China
对信息系统脆弱性进行科学量化的评价是实施信息安全风险评估的一项重要基础性工作。现有风险评估标准[1-2]对脆弱性评价包括“对资产的损害程度”和“被利用难易程度”两个方面,其量化计算基本参照国际主流标准—通用脆弱性评分系统(CVSS)的计算方法[3]。但随着信息系统日趋复杂,CVSS最让人诟病的是其计算过程未考虑脆弱性在信息系统中相互关联对脆弱性被选择利用的影响,使得对脆弱性的“被利用难易程度”评价不够准确,影响对“安全事件发生可能性”的评价和最终对信息系统的风险分析。
Phillips等人[4]在1998年首次提出基于攻击图的网络安全分析方法,基于攻击图的分析方法可以发现不同脆弱性之间的关联关系,攻击图模型与CVSS相结合已成为评价脆弱性的有效途径之一。在面对基于攻击图的脆弱性被选择概率计算中各脆弱性节点之间的相关性问题时,目前有3种技术途径:一是假设攻击图中任意节点之间都相互独立,如文献[5-6]假设攻击图中任意节点相互独立,通过宽度优先搜索算法计算各节点的概率,但在攻击图中不同子节点可能具有相同的父节点,因此,任意节点的独立性假设会导致各个阶段概率计算的错误;二是通过计算各个节点的最大可达概率,回避各节点之间的相关性问题,如文献[7]提出了有效攻击路径分析技术,采取前向搜索方式和深度优先搜索策略寻找各个节点的有效攻击路径,文献[8]提出了适用于大规模网络的最大可达概率的概念和计算方法,通过删除攻击图中的不可达路径简化攻击图,解决了攻击图中循环路径导致的攻击图难以理解和概率重复计算问题,但没有解决相关性问题;三是结合攻击图模型和CVSS构建贝叶斯网络,利用贝叶斯网络正向推理解决各个节点的相关性问题,如文献[9-10]基于攻击图建立贝叶斯网络,利用贝叶斯条件概率公式计算各个节点的概率。
通过上述3种方法的对比,第3种方法所计算出的攻击图中各个节点的概率是相对准确的,但是由于基于攻击图的贝叶斯网络异常复杂,在贝叶斯网络中的精确推理是NP难题,文献[9-10]所建立的概率模型仅在理论上解决了概率的计算问题。
在现有研究工作的基础上,将对脆弱性的“被利用难易程度”评价转换为“被利用概率”这一更为科学的评价,包括“被利用难易程度”和“被选择概率”两个评价要素。通过使用攻击图模型和CVSS构建信息系统脆弱性的贝叶斯网络,并利用贝叶斯网络的正向推理计算网络中各脆弱性节点的累积“被选择概率”,解决各脆弱性节点的相关性对最终风险评估结果的影响。
1 漏洞被利用概率计算 1.1 被利用概率计算模型所提出的脆弱性被利用概率计算方法包括以下5个步骤:1)生成攻击图;2)根据CVSS评价体系计算各个脆弱性被利用难易程度;3)将步骤2的计算结果赋值于攻击图中相应的节点,构建贝叶斯网络;4)计算贝叶斯网络中各个节点的被选择概率;5)利用步骤2和步骤4的计算结果计算脆弱性的被利用概率。参与计算的各个要素进行定义如下:
定义1 脆弱性被利用难易程度是指脆弱性被攻击者成功利用的可能性大小,是脆弱性的固有属性,记为:E(v)。
定义2 脆弱性被选择概率是指攻击图中脆弱性节点被攻击者选择利用的可能性大小,由节点之间的关联性和节点被利用难易程度所确定,记为:S(v)。
定义3 脆弱性被利用概率是指攻击者选择攻击图中脆弱性节点并成功利用的可能性大小,记为:P(v)=E(v)×S(v)。
1.2 被利用难易程度计算现有研究文献对脆弱性被利用难易程度的评价主要依据CVSS进行计算,或者选取CVSS中的“Access Complexity”指标进行赋值,如文献[8];或者直接以CVSS最终评价结果进行赋值,如文献[5, 12]。但CVSS对脆弱性的评价包括基本度量(base metrics)、生命周期度量(temporal metrics)和环境度量(environmental metrics)3个方面[3],各个方面的评价指标中既有对脆弱性执行难易程度的评价,又有对脆弱性执行效果的评价,因此,上述文献对计算不够准确和全面。
根据定义1,从最新CVSS评价标准3.0版中提取与评价脆弱性利用难易程度相关的指标(参见表 1),利用公式(1)计算脆弱性被利用难易程度。
| $ \mathit{E}\left( \mathit{v} \right){\rm{ = }}\mathit{AV}{\rm{ \times }}\mathit{AC}{\rm{ \times }}\mathit{PR}{\rm{ \times }}\mathit{UI}{\rm{ \times }}\mathit{E}{\rm{ \times }}\mathit{RC}。$ | (1) |
| 表 1 脆弱性难易程度评价指标 Table 1 The complexity evaluation for use vulnerability |
为了避免贝叶斯网络中精确推理的NP难题,在文献[5, 8, 14]的研究基础上,对文献[5]的条件概率计算方法和文献[8]的攻击图节点概率计算算法进行改进,提出节点被选择概率算法。根据定义2,在计算攻击图中各节点的被选择概率时,需要首先确定各节点间的相关性,借鉴文献[13]的研究成果将节点间的关系分为“直接、或、与、混合”4种类型,如图 1所示。
|
图 1 脆弱性间关系类型 Figure 1 The type of relationship between vulnerability |
1) 直接关系,子节点存在唯一一个父节点;
2) 或关系,子节点存在多个父节点,且父节点间相互独立,任意父节点被成功利用,就可导致子节点被利用,直接关系为或关系的一种特殊形式;
3) 与关系,子节点存在多个父节点,在所有父节点被成功利用的前提下,子节点才能被利用;
4) 混合关系,子节点的多个父节点间同时存在或和与关系。
在考虑攻击图中各父节点的相互关系对子节点被选择的影响时,需要在计算各子节点独立被选择概率的基础上,根据父节点间的关系类型计算各子节点的关联被选择概率。下述定理阐述了如何计算攻击图中各节点被选择概率。
定理1:对于攻击图中任意节点v1∈V,V=(v1|v2|…|v1|…|vn),V中的元素为同一父节点T的子节点,且相互独立,则vi的独立被选择概率为
| $ \mathit{O}{\rm{(}}{\mathit{v}_\mathit{i}}{\rm{) = }}\frac{{\mathit{E}{\rm{(}}{\mathit{v}_\mathit{i}}{\rm{)}}}}{{\sum\limits_{\mathit{j}{\rm{ = 1}}}^\mathit{n} {\mathit{E}{\rm{(}}{\mathit{v}_\mathit{j}}{\rm{)}}} }}, \left( \begin{array}{l} 1 \le \mathit{i} \le \mathit{n}\\ {\rm{1}} \le \mathit{j} \le \mathit{n} \end{array} \right)。$ |
证明1。若n=1,则vi是父节点T的唯一个子节点,在T被成功利用后,vi是执行下一步攻击的唯一选择,可知上述定理成立;若n>1,因为V中元素相互独立,在T被成功利用后,vi被选择执行下一步攻击的概率取决于vi自身被利用的难易程度在集合V中所占比重,由公式(1)可知E(v)越高,被利用难度越低,被选择概率就越大。
定理2。对于攻击图中任意节点v,其独立被选择概率为c(v),父节点为T=(t1|…|ti|ti+1|…|tn),各父节点被选择概率为S(t)={S(t1)|S(t2)|…|S(tn)},设t1→ti节点间为或关系,ti+1→ti节点间为与关系,则节点v的被选择概率为
| $ \mathit{S}\left( \mathit{v} \right){\rm{ = }}\mathit{O}\left( \mathit{v} \right){\rm{ \times max}}\left\{ {\mathit{S}{\rm{(}}{\mathit{t}_{\rm{1}}}} \right.{\rm{)}} \cdots \mathit{S}{\rm{(}}{\mathit{t}_\mathit{i}}{\rm{)}}\prod\limits_{\mathit{i}{\rm{ + 1}}}^\mathit{n} {\mathit{S}\left( \mathit{t} \right)} {\rm{|}}\mathit{t}\left. { \in \mathit{\tau }} \right). $ |
证明2 。根据文献[8]的定义1、定义2和定理1可知,若节点v的父节点间为或关系,则父节点对v的关联影响为所有父节点被选择概率中的最大值max{S(t)|c∈T};若父节点间为与关系,则父节点对v的关联影响为Πt∈TS(t),因此,若节点v的n个父节点间既有或关系,又有与关系,则节点v的被选择概率为其独立被选择概率与所有父节点被选择概率中最大值的乘积。
2 对比实验分析 2.1 攻击图获取为验证本文漏洞被利用概率计算方法的科学性,采用文献[5]中生成的攻击图,如图 2所示,并利用文献[5, 8]的算法和本文的算法进行对比分析。图中节点为攻击过程中可被选择利用的脆弱性,节点间的连线表示各节点的关联关系。各节点通过节点标识、节点被利用时源和目标主机、节点的CVE和bugtraq编号进行描述。
|
图 2 攻击图 Figure 2 Attack graph |
根据表 1所确定的脆弱性难易程度评价指标,利用公式(1)计算E(v)(参见表 2),并将E(v)值赋予攻击图中对应的节点,与文献[5, 8]的计算结果对比参见表 3。
| 表 2 脆弱性被利用难易程度值 Table 2 The values for complexity to exploit vulnerability |
| 表 3 各节点被利用难易程度值对比 Table 3 Compared the values of complexity for exploited nodes |
应用第2节提出的节点被选择概率算法,计算图 2中各节点的被选择概率S(v),参见表 4。
| 表 4 各节点被选择概率值 Table 4 Each node is selected in probability |
应用第2节提出的节点被选择概率值的计算方法,计算图 2中各脆弱性节点的被利用概率P(v),并与文献[5, 8]的计算结果进行对比,参见表 5。
| 表 5 各节点被利用概率值 Table 5 Each node is exploited in probability |
对比图 3中3条曲线,由于文献[8]在计算脆弱性被利用难易程度时,直接使用CVSS中可利用性(E)指标的值,忽略了其他对脆弱性被利用难易程度的影响指标,因此,最终对脆弱性被利用概率的计算结果普遍高于文献[5]和本文的计算结果;但由于文献[5]在计算各个节点被利用概率时未考虑各个节点的父节点间相关性对子节点的关联影响,属于相同父节点的子节点被利用概率分布曲线存在较大波动,如图 3中红色曲线上的t3、t4、t5节点,文献[8]与本文的算法对上述节点的计算结果走向趋势较为一致。
|
图 3 被利用概率对比分析结果 Figure 3 Comparative analysis in the probability of being exploited |
通过上述对比,本文在评价信息系统脆弱性被利用概率时采用的算法更为科学、合理。
3 结语为提高信息安全风险评估中对安全事件发生可能性评估结果的准确性,提出了一种基于贝叶斯网络的脆弱性被利用概率的算法。该算法优化了脆弱性被利用难易程度的计算指标,并从脆弱性在贝叶斯网络中独立性选择概率和关联被选择概率两个方面评价脆弱性的被选择概率。在尽可能客观、准确评价脆弱性的“被利用难易程度”和“被选择概率”基础上计算脆弱性的“被利用概率”。通过理论和实验对比分析,验证了本文所提方法可更加准确地评估脆弱性节点的被利用概率。
| [1] | GB/T 20984-2007, 信息安全技术信息安全风险评估规范[S]. |
| [2] | NIST SP 800-30, Risk Management Guide for Information Technology Systems[S]. |
| [3] | Peter Mell, Karen Scarfone, Sasha Romanosky. A Complete Guide to the Common Vulnerability Scoring System Version 2.0.www.first.org/cvss. |
| [4] | Phillips C, Laura S P. A graph-based system for network vulnerability analysis[C]//Proc of Workshop on New Security Paradigms. New York:ACM Press, 1998:71-79. |
| [5] |
谢丽霞, 江典盛, 张利, 等.
漏洞威胁的关联评估方法[J]. 计算机应用, 2012, 32(3): 679–682.
XIE Liixia, JIANG Diansheng, ZHANG Li, et al. Vulnerability threat correlation assessment method[J]. Journal of Computer Applications, 2012, 32(3): 679–682. (in Chinese) |
| [6] |
黄永洪, 吴一凡, 杨豪璞, 等.
基于攻击图的APT脆弱节点评估方法[J]. 重庆邮电大学学报(自然科学版), 2017, 29(4): 535–541.
HUANG Yonghong, WU Yifan, YANG Haopu, et al. Graph-based vulnerability assessment for APT attack[J]. Journal of Chongqing University of Posts and Telecommunications(Natural Science Edition), 2017, 29(4): 535–541. DOI:10.3979/j.issn.1673-825X.2017.04.017 (in Chinese) |
| [7] |
陈锋. 基于多目标攻击图的层次化网络安全风险评估方法研究[D]. 长沙: 国防科技大学, 2009. CHEN Feng. A Hierarchical Network Security Risk Evaluation Framework Based on Multi-Goal Attack Graphs[D]. Changsha:National University of Defense Technology, 2009.(in Chinese) http://cdmd.cnki.com.cn/Article/CDMD-90002-2010147288.htm |
| [8] |
叶云, 徐锡山, 齐治昌.
大规模网络中攻击图的节点概率计算方法[J]. 计算机应用与软件, 2011, 28(11): 137–192.
YE Yun, XU Xishan, QI Zhichang. Attack graph's nodes probabilistic computing approach in a large-scale net-work[J]. Computer Applications and Software, 2011, 28(11): 137–192. (in Chinese) |
| [9] | Frigault M, Wang L. Measuring network security using Bayesian network-based attack graphs[C]//Proceedings of the 3rd IEEE International Workshop on Security, Trust, and Privacy for Software Applications. Turku, Finland, 2008:698-703. |
| [10] | Frigault M, Wang L. Measuring network security using dynamic bayesian network[C]//Proc.4th ACM Workshop on Quality of Protection. Alexandria VA, USA, 2008:23-30. |
| [11] |
冯月进, 张凤斌.
最大相关最小冗余限定性贝叶斯网络分类器学习算法[J]. 重庆大学学报, 2014, 37(6): 71–77.
FENG Yuejin, ZHANG Fengbin. Max-relevance min-redundancy restrictive BAN classifier learning algorithm[J]. Journal of Chongqing University, 2014, 37(6): 71–77. DOI:10.11835/j.issn.1000-582X.2014.06.011 (in Chinese) |
| [12] |
张凤荔, 冯波.
基于关联性的漏洞评估方法[J]. 计算机应用研究, 2014, 31(3): 812–814.
ZHANG Fengli, FENG Bo. Vulnerability assessment based on correlation[J]. Application Research of Computers, 2014, 31(3): 812–814. (in Chinese) |
| [13] |
张玺, 黄曙光, 夏阳, 等.
一种基于攻击图的漏洞风险评估方法[J]. 计算机应用研究, 2010, 27(1): 284–286.
ZHANG Xi, HUANG Shuguang, XIA Yang, et al. Attack graph-based method for vulnerability risk evaluation[J]. Application Research of Computers, 2010, 27(1): 284–286. (in Chinese) |
| [14] | Ghosh N, Ghosh S K. An approach for security assessment of network configurations using attack graph[C]//Proc of the 1st International Conference on Networks & Communications. Washington DC:IEEE Computer Society, 2009:283-288. |
2017, Vol. 40


