2. 重庆大学 信息物理社会可信服务计算教育部重点实验室, 重庆 400044
2. Key Laboratory of Dependable Service Computing in Cyber Physical Society, Ministry of Education, Chongqing University, Chongqing 400044, P. R. China
信息安全风险评估是信息安全保障工作的基础性工作和重要环节[1],为信息安全保障体系的建设提供必需的决策依据。信息系统的风险评估可以描述为威胁 (外因) 利用脆弱性 (内因) 对资产 (主体) 产生影响的评价过程。作为威胁与资产的关联要素,对脆弱性的评价应该包括被威胁利用的难易程度和被利用后对资产的损害程度两个方面,以保证参与这一过程的外因、内因和主体互不干扰;同时需要考虑信息系统资产在保密性、完整性、可用性方面的不同安全需求,以保证最终评价结果的科学性和准确性。
现有信息安全风险评估流程主要依据NIST SP 800-30[2]和GB/T 20984—2007[1]进行实施。在现有标准基础上对风险评估的研究工作主要集中在以下两个方面:一是对风险评估标准[1]所提出的模型进行优化改进,主要采用模糊分析法和层次分析法,如文献[3]利用层次分析法[4]建立安全风险定量评估应用模型,运用灰色理论及熵权系数法[5]减少风险计算中主观因素的影响,文献[6]基于模糊综合评判决策模型[7]计算风险事件发生的可能性模型,并采用层次分析法构建比较判断矩阵计算风险影响的大小,文献[8]通过对资产、威胁、脆弱性等风险要素的层次化分析,提出一种层次化风险评估方法来量化风险,该方法将安全风险分为组件级、系统级和组织级3个层面,通过对3个层次风险的逐层分析,使得风险分析结果可以更为客观地反映风险评估的层次化需求;二是对参与风险计算的各个要素的量化方法进行研究,如文献[9]根据通用弱点评价体系 (CVSS)[10]的计算方法,从基本度量组、时间度量组和环境度量组3个方面对脆弱性要素进行量化计算,文献[11]基于攻击图[12, 15-16]和CVSS提出了攻击图中脆弱性节点利用概率的计算方法。但上述标准和方法均是依据信息系统资产、脆弱性和威胁各要素最终赋值结果进行风险计算,这一评估过程掩盖了资产要素对保密性、完整性和可用性的不同需求,最终评估结果不能有效体现资产在保密性、完整性和可用性方面所面临的不同风险;同时也导致参与计算的脆弱性要素存在重复计算,对最终结果造成干扰,如脆弱性严重程度包括对资产的损害程度和被利用的难易程度两个方面,而对资产的损害程度参与了安全事件可能性的计算,被利用的难易程度参与了安全事件损失的计算。
基于上述两方面的考虑,采用层次分析法 (analytic hierarchy process,AHP)[4]对现有风险评估模型进行分层细化,避免要素识别的相互干扰,利用各个要素的属性值直接参与计算,构建偏量判断矩阵,使得最终的评估结果能够体现被评估对象在保密性、完整性和可用性上大的不同偏向需求,为信息安全保障工作提供客观、准确的决策依据。
1 风险评估层次分析模型如图 1所示,风险评估层次分析模型包括目标层、准则层和指标层。目标层为模型顶层,包含“风险指数”一个元素,该元素取值由准则层所确定;准则层包含“安全事件可能性”和“安全事件损失”,其取值由指标层各要素的属性所确定;指标层是准则层的目标所需的方案,为准则层提供服务。
根据上述层次分析模型,信息系统的风险评估流程如下:
1) 对指标层各个要素的属性进行识别和赋值,包括:资产要素属性的识别及量化;脆弱性要素属性的识别及量化,脆弱性要素属性包括“对资产的损害程度”和“被利用难易程度”两个方面;威胁要素的识别及量化;安全措施要素的识别及量化。
2) 根据资产要素和脆弱性要素中“对资产的损害程度”属性的量化结果,计算安全事件损失。
3) 根据安全措施要素、威胁要素和脆弱性要素中“被利用难易程度”属性的量化结果,计算安全事件可能性。
4) 根据安全事件损失和安全事件可能性计算资产在保密性、完整性、可用性方面所面临的风险。
2 模型要素量化 2.1 关键要素定义根据风险评估层次分析模型,对指标层和准则层各要素进行如下定义:
1) 定义信息系统资产为A,在保密性、完整性、可用性3个安全属性上的不同需求为其偏量需求,定义为 (AC|AI|AA)∈A;
2) 定义资产脆弱性为V,对V的评价包括“对资产的损害程度”和“被利用的难易程度”两个方面[1],“对资产的损害程度”实质是对资产AC、AI、AA偏量需求的潜在偏量损害,定义为 (VC|VI|VA)∈VD,“被利用的难易程度”定义为VU;
3) 定义信息系统的潜在威胁发生概率为T,采取的安全措施有效性为SE;
4) 定义安全事件损失为F,其值由A的偏量需求和对应的偏量损害所确定,为3×n的矩阵,定义为偏量损失矩阵,其中n为某一资产所存在的脆弱性数量;
5) 定义安全事件可能性为L,其值由脆弱性被利用的难易程度和威胁的概率所确定,为n×k的矩阵,其中k为某一资产所面临安全威胁种类的数量;
6) 定义风险为R,其值由F和L所确定,为3×n的矩阵。
2.2 资产要素量化信息系统资产 (A) 的保密性 (AC)、完整性 (AI)、可用性 (AA) 是公认的评价资产的3个安全属性[1]。对资产3个属性的量化赋值不仅需要考虑资产本身的安全需求和所属信息系统的安全特性,还需要考虑其所承载业务应用的重要性和对其他资产的关联影响。文献[1]中对信息系统资产的量化进行了较为科学的定义,因此,借鉴文献[1]的资产识别及量化方法,对资产的保密性、完整性、可用性进行以下的量化赋值,参见表 1。
对脆弱性 (V) 的识别基本采用工具检测和人工测评的方法,对其量化基本采用通用脆弱性评分系统 (common vulnerability scoring system, CVSS) 的计算方法。CVSS从基本度量 (base metrics)、生命周期度量 (temporal metrics) 和环境度量 (environmental metrics)3个方面评价脆弱性[5]。基本度量包括攻击向量 (AV)、攻击复杂度 (AC)、所需权限 (PR)、保密性影响 (VC)、完整性影响 (VI)、可用性影响 (VA) 等指标,生命周期度量包括利用可能性 (E)、可修复等级 (RL) 和脆弱性报告确认程度 (RC),环境度量包括安全需求 (CR、IR、AR) 和可修改的基本指标 (MAV、MAC、MPR、MC、MI、MA)。
依据本文的风险评估层次分析模型,上述指标中生命周期度量的RL指标可在安全措施要素量化中考虑,环境度量的安全需求指标已在资产要素量化中考虑,可修改的指标在基本度量指标的量化中考虑。同时考虑脆弱性要素属性包括“对资产的损害程度”和“被利用难易程度”,需要从损害程度度量 (VD) 和利用难易程度度量 (VU) 两个方面对CVSS现有度量指标进行重新分类,其量化规则参见表 2,3[5],其中:
$ \begin{array}{l} VD = 10.41 \times \left( {1-\left( {1-VC} \right) \times \left( {1-VI} \right) \times \left( {1 - VA} \right)} \right),\\ VU = 20 \times AV \times AC \times PR \times E \times RC。 \end{array} $ |
威胁 (T) 识别需要首先对威胁的来源进行确认,并对各个来源的威胁进行分类,通过对各来源威胁种类出现的频率进行统计以便对威胁进行量化。威胁的来源及其分类可参照《信息安全技术—信息安全风险评估规范》[1],威胁量化值参见表 4。
安全措施 (SE) 的识别需要通过实际调研确认信息系统所采取的各项安全防护措施,并验证采取的安全防护措施对各类威胁进行防护的有效性。参照《涉及国家秘密的信息系统分级保护测评指南》的相关规则[14]定义安全措施的量化规则,见表 5。
安全事件的损失由资产的价值和脆弱性的损害程度所决定,为避免计算结果掩盖资产对C、I、A属性的偏向需求,应该以资产 (A) 价值的AC、AI、AA属性和脆弱性 (V) 损害程度 (VD) 的VC、VI、VA属性直接运算,得到安全事件损失判断矩阵。
假设信息系统共有m个资产,第x个资产Ax的保密性、完整性、可用性赋值为ACx、AIx、AAx,该资产有n个脆弱性,第y个脆弱性Vy的损害程度VDy赋值为VCx、VIx、VAx,则资产Ax所存在的n个脆弱性对其潜在的损害程度按照以下步骤和公式进行计算。
1) 依次计算n个脆弱性各自对资产Ax的偏量损失,公式 (1) 为第y个脆弱性Vy对资产Ax的偏量损失矩阵。
$ \begin{array}{l} {f_y} = f\left( {\left. {{A_x}} \right|V{D_y}} \right) = {\left( {A{C_x}\left| {A{I_x}} \right|A{A_x}} \right)^{\rm{T}}} \times (V{C_y}\left| {V{I_y}} \right|B{A_y}) \times \\ {\left( {\left. 1 \right|\left. 1 \right|1} \right)^{\rm{T}}} = {\left[\begin{array}{l} A{C_x}V{C_y}\\ A{I_x}V{I_y}\\ A{A_x}V{A_y} \end{array} \right]_{3{\rm{ \times }}1}}, \left( \begin{array}{l} 1 \le x \le m\\ 1 \le y \le n \end{array} \right)。 \end{array} $ | (1) |
2) 利用公式 (1) 的计算结果构造n个脆弱性对资产Ax造成损害的总体偏量损失矩阵,见式 (2),式中每一列为Vy对资产Ax的损害偏量,其值参见式 (1)、(3)、(4)、(5)。
$ {F_x} = F({f_y}) = {\left( \begin{array}{l} f{C_1} \ldots f{C_y} \ldots f{C_n}\\ f{I_1} \ldots f{I_y} \ldots f{I_n}\\ f{A_1} \ldots f{A_y} \ldots f{A_n} \end{array} \right)_{3{\rm{ \times }}n}}, $ | (2) |
$ f{C_y} = A{C_x}V{C_y}, \left( \begin{array}{l} 1 \le x \le m\\ 1 \le y \le n \end{array} \right); $ | (3) |
$ f{I_y} = A{I_x}V{I_y}, \left( \begin{array}{l} 1 \le x \le m\\ 1 \le y \le n \end{array} \right); $ | (4) |
$ f{A_y} = A{A_x}V{A_y}, \left( \begin{array}{l} 1 \le x \le m\\ 1 \le y \le n \end{array} \right)。 $ | (5) |
安全事件可能性由脆弱性的被利用难易程度、对应威胁发生的概率,以及针对该威胁所采取的安全防护措施所决定的。
假设信息系统第x个资产Ax面临K个威胁,采取了K项安全防护措施,则资产Ax所面临的K个安全威胁利用Ax所存在的n个脆弱性转化为安全事件的可能性按照以下步骤和公式进行计算。
$ {L_x}_ = l\left( {\left. {VU} \right|T\prime } \right), \left( {1 \le x \le m} \right), $ | (6) |
$ V{U_y} = A{V_y} \times A{C_y} \times P{R_y} \times {E_y} \times R{C_y}, $ | (7) |
$ T{\prime _z} = {T_z} \times (1-S{E_z})。 $ | (8) |
式 (6) 中VU为脆弱性的被利用难易程度,T′为采取安全防护措施后威胁的概率,式 (7) 计算第y个脆弱性Vy的被利用难易程度,式 (8) 计算第z个威胁Tz在采取安全防护措施后的概率,SE为所采取安全防护措施的有效性。将式 (7)、式 (8) 代入式 (6) 中,得到K个安全威胁利用Ax的n个脆弱性转化为安全事件的可能性判断矩阵,参见式 (9),式中第y行表示K个安全威胁利用Vy转换成安全事件的可能性,式中第z列表示Tz利用n个脆弱性转换成安全事件的可能性。
$ \left( \begin{array}{l} V{U_1}T{\prime _1} \ldots V{U_1}T{\prime _z} \ldots V{U_1}T{\prime _k}\\ V{U_2}T{\prime _1} \ldots V{U_2}T{\prime _z} \ldots V{U_2}T{\prime _k}\\ \cdots \;\;\;\;\;\;\;\; \cdots \;\; \cdots \;\;\;\;\; \cdots \;\;\;\;\; \cdots \\ V{U_y}T{\prime _1} \ldots V{U_y}T{\prime _z} \ldots V{U_y}T{\prime _k}\\ V{U_n}T{\prime _1} \ldots V{U_n}T{\prime _z} \ldots V{U_n}T{\prime _k} \end{array} \right), \left( \begin{array}{l} 1 \le x \le m\\ 1 \le y \le n\\ 1 \le z \le k \end{array} \right)。 $ | (9) |
信息系统资产Ax的风险Rx由安全事件损失Fx和安全事件可能Lx所确定,采用式 (10) 进行计算,式中每一列为Tz利用资产Ax所存在的n个脆弱性对Ax的保密性、完整性、可用性所造成的风险影响,其值参见式 (11)-(13)。
$ \begin{array}{l} {R_x} = (\left. {{F_x}} \right|{L_x}) = {\left( \begin{array}{l} fC1 \ldots f{C_y} \ldots f{C_n}\\ fI1 \ldots f{I_y} \ldots f{I_n}\\ fA1 \ldots f{A_y} \ldots f{A_n} \end{array} \right)_{3 \times n}}{\rm{ \times }}{\left( \begin{array}{l} V{U_1}T{\prime _1} \ldots V{U_1}T{\prime _z} \ldots V{U_1}T{\prime _k}\\ V{U_2}T{\prime _1} \ldots V{U_2}T{\prime _z} \ldots V{U_2}T{\prime _k}\\ \cdots \;\;\;\;\;\;\;\; \cdots \;\; \cdots \;\;\;\;\; \cdots \;\;\;\;\; \cdots \\ V{U_y}T{\prime _1} \ldots V{U_y}T{\prime _z} \ldots V{U_y}T{\prime _k}\\ V{U_n}T{\prime _1} \ldots V{U_n}T{\prime _z} \ldots V{U_n}T{\prime _k} \end{array} \right)_{n{\rm{ \times }}k}} = \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{\left( \begin{array}{l} r{C_1}r{C_2} \ldots {\rm{ }}r{C_z} \ldots {\rm{ }}r{C_k}\\ r{I_1}r{I_2} \ldots {\rm{ }}r{I_z} \ldots {\rm{ }}r{I_k}\\ r{A_1}r{A_2} \ldots {\rm{ }}r{A_z} \ldots {\rm{ }}r{C_k} \end{array} \right)_{3 \times k}}, \left( \begin{array}{l} 1 \le x \le m\\ 1 \le y \le n\\ 1 \le z \le k \end{array} \right), \end{array} $ | (10) |
$ r{C_z} = A{C_x}T{\prime _z}\sum\nolimits_{y = 1}^n {V{C_y}V{U_y}} , $ | (11) |
$ r{I_z} = A{I_x}T{\prime _z}\sum\nolimits_{y = 1}^n {V{I_y}V{U_y}} , $ | (12) |
$ r{A_z} = A{A_x}T{\prime _z}\sum\nolimits_{y = 1}^n {V{A_y}V{U_y}。} $ | (13) |
为验证本文所提出模型的科学性和计算方法的可靠性,选取文献[13]“兰芯”子系统中编号为“D_A01”资产的风险评估结果和分析结论进行对比验证。
在文献[13]中“D_A01”为“兰芯”子系统的应用服务器,安装aix5.3操作系统,存在5个脆弱性,面临来自“信息载体故障、信息环境、无合作的外部人员、合作的第三方人员、无意思破坏内部人员、有意识破坏内部人员”[13]6个方面的潜在威胁。表 6-8为文献[13]对“D_A01”资产、脆弱性和威胁的赋值结果,表 9为文献[3]根据文献[13]的计算方法对“D_A01”进行风险计算的结果。
采用本文风险评估层次分析模型对“D_A01”进行风险计算时,首先需要根据本文2.3节的量化方法从“对资产的损害程度 (VD)”和“被利用难易程度 (VU)”两个方面对“D_A01”存在的脆弱性进行重新计算,计算结果参见表 10、表 11。
根据表 6、表 8、表 10、表 11的指标量化计算结果,采用本文2.6-2.7节的方法计算安全事件损失 (F)、安全事件可能性 (L),以及最终的风险值 (R)。由于文献[13]没有对安全措施的有效性进行评估,为便于结果的对比,因此,本文在计算时将安全措施做无效处理,安全措施取值为0,结算结果参见表 12-14。
对比表 9与表 14的风险值计算结果,表 14的计算结果则可以直观地分析出“D_A01”资产在可用性方面面临较高的风险,且来源于“无合作的外部人员、有意识破坏内部人员”的威胁在利用“D_A01”所存在的脆弱性后将导致“D_A01”面临很高风险,在对“D_A01”面临的风险进行控制时,所采取的安全防护措施应优先考虑对“D_A01”可用性的保护,并重点防护来源于“无合作的外部人员、有意识破坏内部人员”的威胁;而表 9仅能告知“D_A01”资产面临的风险很高,无法对后期采取风险控制措施提供准确、合理的建议。
4 结语利用层次分析法对现有信息安全风险评估模型进行分层细化,构建了风险评估层次分析模型。参照通用脆弱性评分系统的指标量化和权值计算方法,改进现行风险评估标准中各要素的识别和量化计算方法,减少参与风险计算各要素之间的耦合性;通过构建偏量判断矩阵,使定量的评估结果能够直观地体现信息系统资产保密性、完整性和可用性所面临的不同风险。采用本文模型和计算方法所得到的资产风险评估结果,可以为后期的风险控制提供更加准确、合理的建议。
[1] | 中华人民共和国国家质量监督检查检疫总局, 中国国家标准化管理委员会. 信息安全技术信息安全风险评估规范: GB/T20984—2007[S]. |
[2] | Stonebumer G, Goguen A, Feringa A. Risk management guide for information technology systems:NIST SP 800-30[S/OL].[201504-16] http://download.csdn.net/detail/y_t_hon/4977663. |
[3] |
王莺洁, 杜伟娜, 罗为.
一个灰色信息安全风险评估应用模型[J]. 通信技术, 2010, 12(43): 126–128.
WANG Yingjie, DU Weina, LUO Wei. A grey risk assessment model for practical information security[J]. Communications Technology, 2010, 12(43): 126–128. (in Chinese) |
[4] | Wang Y M, Luo Y, Hua Z. On the extent analysis method for fuzzy AHP and its applications[J]. European Journal of Operational Research, 2008, 186(2): 735–747. DOI:10.1016/j.ejor.2007.01.050 |
[5] | Zhao D M, Wang J H, Wu J, et al. Using fuzzy logic and entropy theory to risk assessment of the information security[C]//International Conference on Machine Learning and Cybernetics.[S.l.]: IEEE, 2005: 2448-2453. |
[6] |
黄芳芳. 信息安全风险评估量化模型的研究与应用[D]. 武汉: 湖北工业大学, 2010. HUANG Fangfang. Research and application for the quantitative model of information security risk assessment[D]. Wuhan:Hubei University of Technology, 2010. (in Chinese) |
[7] | Chen S H. Operations on fuzzy numbers with function principal[J]. Journal of Management Science, 1985, 6(1): 13–21. |
[8] |
佟鑫, 张利, 闵京华.
层次化的信息系统风险评估方法研究[J]. 信息安全与通信保密, 2012(8): 59–61.
TONG Xin, ZHANG Li, MIN Jinghua. Study oil hierarchical information system risk assessment[J]. Information And Communication Security, 2012(8): 59–61. (in Chinese) |
[10] | P Mell, K Scarfone, S Romanosky. A complete guide to the common vulnerability scoring system (CVSS), version 2.0, forum of incident response and security teams[EB/OL]. www.first.org/cvss. |
[11] |
叶云, 徐锡山, 齐治昌.
大规模网络中攻击图的节点概率计算方法[J]. 计算机应用与软件, 2011, 28(11): 137–192.
YE Yun, XU Xishan, QI Zhichang. Attack graph's nodes probabilistic computing approach in a large-scale network[J]. Computer Applications and Software, 2011, 28(11): 137–192. (in Chinese) |
[12] | Phillips C, Swiler L P. A graph-based system for network-vulnerability analysis[J]. Proceedings of the Workshop on New Security Paradigms, 1998: 71–79. |
[13] |
向宏, 傅鹂, 詹榜华. 信息安全测评与风险评估[M]. 2版. 北京: 电子工业出版社, 2014.
XIANG Hong, FU Peng, ZHAN Banghua. Information security assessment and risk assessment[M]. 2nd ed. Beijing: Publishing House of Electronics Industry, 2014. (in Chinese) |
[14] | 国家保密局. 涉及国家秘密的信息系统分级保护测评指南: BMB22—2007[S]. |
[15] | Ingols K, Chu M, Lippmann R, et al. Modeling modern network attacks and countermeasures using attack graphs[C]//Annual Computer Security Applications Conference, Hawaii, USA.[S.l.]: IEEE, 2009:117-126. |
[16] | Noel S, Elder M, Jajodia S, et al. Topological vulnerability analysis[J]//Springer Berlin Heidelberg, 2005, 3685: 124-129. |