Web应用安全的集成风险评估方法

2023-05-08 03:18郭锡泉陈香锡
计算机应用与软件 2023年4期
关键词:评判专家维度

郭锡泉 陈香锡

1(清远职业技术学院网络中心 广东 清远 511510) 2(清远市网络空间安全工程技术研究开发中心 广东 清远 511510)

0 引 言

国家互联网应急中心官网发布了《我国2019年互联网网络安全态势综述》的报告[1],该报告披露国家信息安全漏洞共享平台(CNVD)2019年收录的安全漏洞数量再创新高,共计16 193个。排名前三的依次为应用程序漏洞、Web应用漏洞和操作系统漏洞。Web服务长期以来是最为普遍的互联网应用,同时又是风险极高的网络应用。网络安全法明确规定:国家实行网络安全等级保护制度。实施网络安全等级保护是各组织和单位保障信息系统安全的有效举措。等级保护一般要经历定级、备案、安全建设、等级测评、监督检查等环节,实施周期较长。目前对Web应用系统的等保测评,是在统一的测评框架下进行的。Web应用系统即使通过了等保测评,仍然需要进行周期性的风险评估和安全改进。对Web应用进行安全风险评估,在应用实践中愈发变得重要。而缺乏针对性强、操作性强的评估方法,是当前Web应用安全风险评估亟须解决的问题。

1 Web应用安全风险评估的有关研究

目前已有一些研究是针对Web应用安全的。国内文献方面,涂玲等[2]提出基于协议混合变形的Web安全模糊测试与效用评估方法,马成等[3]提出基于用户安全属性偏好的Web服务评估,刘瑞军等[4]研究了密钥交换环境下Web安全漏洞的智能检测,李栋等[5]提出基于扩展有限状态机FSM的Web应用安全测试方法,张玉凤等[6]提出面向软件攻击面的Web应用安全评估模型。国外文献方面,Nunes等[7]研究了静态分析工具在开发场景下如何挖掘Web安全漏洞,Hsu等[8]研究了Windows系统在隐私模式下作为隐私保护的Web安全机制。以上研究大多是从某个侧面对Web应用安全进行技术上的评估,不能完全解决Web安全风险评估的问题。

Wei等[9]、顾兆军等[10]提出比较系统的信息安全风险评估模型,但没有针对Web应用安全。齐富民等[11]提出基于模糊理论的Web安全评估模型,李荣等[12]还针对图书馆Web应用提出安全风险评估方法。以上是对Web应用安全风险评估较为全面和深入的研究,提出了Web应用安全风险评估所涉及的指标体系、评价方法等关键问题。指标体系方面,目前的研究还不是很统一,也未能把网络安全等级保护的要求很好地融入Web应用安全风险评估中。评价方法方面,因涉及技术专家的主观评判,多个专家意见不一致时如何处理,以及如何把主观评价转化为量化的、客观的评价结果,仍然是Web应用安全风险评估的难点所在。本文提出一种Web应用安全的集成风险评估方法,以期在指标体系、评价方法上较上述研究有所改进。

2 集成风险评估方法

集成风险评估方法由技术维度和管理维度两部分的评估构成。组织若干安全技术专家对Web应用系统进行风险评估,技术维度和管理维度分别建立相应的指标体系。技术维度可采用代码审计、渗透测试等技术手段进行分析,获得测量结果后采用层次分析法与改进的多级模糊评价相结合的方法,得出技术维度的评价值。管理维度由技术专家采用检查、访谈等手段进行分析,获得测量结果后采用信息熵的方法得出评价值。最后把技术和管理两个维度的评价值以一定的比例进行合成,得出该Web应用系统的安全风险数值。

2.1 技术维度的风险评估

在传统基于层次分析法的多级模糊综合评价[13]的基础上,根据网络安全众测的特点引入峰值评判的准则,使技术维度的风险数值更能反映Web应用安全漏洞带来的潜在风险。

2.1.1 利用层次分析法确定指标权重

构建Web应用安全技术维度的两级指标体系,Vi表示一级指标,Vij表示二级指标。下面通过结构化的方法确定各级指标的权重。

步骤1建立判断矩阵。

同一层次中,各个指标进行两两比较,比较结果可用判断矩阵进行表示。假设该层次中有n个指标,可得判断矩阵D=(Dij)n×n,其中Dij表示指标i相对于指标j的重要性,具有如下性质。

Dij>0
Dij=1/Dji
Dii=1

Dij的赋值可使用多种方法,例如常用的1~9标度法。若认为指标i与指标j同等重要,则Dij=1;若认为指标i比指标j极端重要,则Dij=9;Dij还可取1~9中的数值来表示指标i相对于指标j的重要程度。

步骤2对判断矩阵进行一致性检验。

应用层次分析法的优点是能够保持专家判断的一致性。例如,构建判断矩阵的过程中出现A比B极端重要、B比C极端重要,而C又比A极端重要的矛盾情况时,层次分析法能够识别并要求更正。这是通过对判断矩阵进行一致性检验实现的。根据矩阵的理论,判断的一致性程度可通过判断矩阵特征根的变化来进行检验。设λ1,λ2,…,λn满足Ax=λx,即矩阵A的特征根,且对所有aii=1有:

(1)

若矩阵A具有完全一致性,则λ1=λmax=n,且其余特征根均为零。矩阵A不具有完全一致性,则λ1=λmax>n,同时有:

(2)

为表征判断矩阵偏离一致性的程度,层次分析法引入判断矩阵最大特征根以外的其余特征根的负平均值CI作为度量,即:

(3)

式中:CI的值越小越好,CI=0表示判断矩阵具有完全一致性。在实际的应用中,λmax稍大于n且其余特征根均接近于零,这样的情况也可以接受,称之为“满意一致性”。为表征“满意一致性”,层次分析法用CI与平均随机一致性指标RI(其数值可查表获得)的比率CR作为度量,当满足式(4)时,可认为判断矩阵具有满意一致性。

(4)

步骤3层次单排序。

同一层次中,各个指标权重的确定称为层次单排序。下面给出方根法计算矩阵特征根及其对应特征向量的步骤。

设判断矩阵每一行元素的乘积为Mi,则:

(5)

(6)

(7)

则W=[W1,W2,…,Wn]T即为所求的特征向量。

计算判断矩阵的最大特征根λmax:

(8)

式中:(AW)i表示向量AW的第i个元素。

2.1.2 改进的多级模糊综合评价

根据模糊评价的理论,可把Vij对Vi评判视为一级评判,把Vi对V的评判视为二级评判,从而建立一个三层两级的模糊综合评价模型。

步骤1构建模糊评语集,用C={C1,C2,C3}表示。本模型采用{高风险,中风险,低风险}的评语集,专家根据自己的经验,综合访问难度、利用复杂度、影响程度等因素给出评语。技术专家对二级指标Vij使用模糊评语集C进行评判,得到模糊评估矩阵R。

R={rijk}

(9)

rijk=dijk/d

(10)

式中:rijk表示对Vij作出第k种评价的专家人数,d为专家总人数。

步骤2确定指标的权重。在同一个一级指标Ai下,二级指标的权重系数可表示为:

Ai=(ai1,ai2,…,aij)

(11)

一级指标对总目标的权重系数,可表示为:

A=(a1,a2,…,an)

(12)

式中:A和Ai均使用2.1.1节中的层次分析法推导。

步骤3进行Vij对Vi评判的一级评判。考虑到代码安全缺陷、Web安全漏洞的潜在风险,结合当前业界网络安全众测的做法,本文引入峰值评判的准则来取代对专家意见的直接统计。设Rij为专家对Vij的评估向量,峰值评判的准则为:若存在高风险的专家意见,则Rij=(1,0,0);如不存在高风险但存在中风险的专家意见,则Rij=(0,1,0);仅当所有专家意见都为低风险时,Rij=(0,0,1)。引入峰值评判的准则后,认为风险越高的专家意见越能得到强化,有利于反映安全漏洞的潜在风险。对专家意见进行峰值评判的调整后,再运用模糊矩阵的合成运算,得到Vi的综合评判向量Bi:

要让单张照片具有故事性,可以选择对你有特殊意义的事物,或是能与你产生共鸣的对象和场景来拍摄。画面中的每个元素都要考虑到。它能告诉观众什么?这个元素与画面中其他元素之间的关系意味着什么?

Bi=Ai·Ri

(13)

式中:Ri为专家对Vi的评估子阵。

步骤4进行Vi对V的二级评判。再次运用模糊矩阵的合成运算,得到V的综合评判向量B:

(14)

根据最大隶属度原则,有Bk=max(b1,b2,b3),从而得出模糊综合评判结果为Ck。记T为百分制下的风险数值,则:

(15)

2.2 管理维度的风险评估

技术维度的评估是基于代码设计、渗透测试等技术手段进行的,获得的测量结果是比较客观的。而管理维度的风险评估一般通过访谈、检查等手段实施,专家凭借自己的经验进行评价,获得的结果主观性较强。管理维度选用的评价方法与技术维度不同,应该侧重于挖掘专家意见的一致性。本文采用信息熵的方法,从专家的评价数据中挖掘可信度高的评判意见。

2.2.1 确定指标的熵权

设管理维度有n个指标,由p个专家评分,评分结果分为五个等级(低风险、中低风险、中风险、中高风险、高风险)。设xij为专家j关于指标i的评分,rij表示有多少专家认为指标i属于等级j。对于指标i,如果专家的意见比较集中(如同一等级或相邻等级),则指标i的权重可高一些;反之,如果专家的意见比较分散(各个等级均有或等级差距较大),则指标i的权重可调低一些。根据专家意见的聚散程度调整指标权重,可通过熵权系数法[14]进行。

熵被用来表征系统的不确定性,在信息技术领域中称为信息熵。设S1,S2,…,Sn为系统的n种状态,pi为系统处于Si的概率,则其信息熵H为:

(16)

对指标i,其熵值之和为:

(17)

归一化后得:

(18)

可信程度与熵值是反比关系,指标i的熵权为:

(19)

(20)

2.2.2 确定专家的熵权

类似地,对专家也可确定熵权。专家i与群体意见一致性最高,可赋予专家i较大的权重;反之,背离群体意见的专家,其可信度低,应赋予较小的权重。通过基于传递熵的熵权系数法,可确定专家的熵权。设xm为全部专家关于指标i评分的平均值,则eij反映了xij趋向于专家群体一致性意见的程度。

eij=1-|xij-xm|/maxxij

(21)

xij的信息熵为:

(22)

专家i的信息熵值之和为:

(23)

专家i的熵权为:

(24)

2.2.3 合成管理维度的风险数值

运用模糊矩阵的合成运算,得到管理维度的综合评判向量R为:

(25)

记M为百分制下的风险数值,则:

(26)

2.3 Web应用安全风险的综合分值

设Sum为风险评估的综合分值,由技术维度和管理维度的分值按7∶3的比例合成。Sum的数值范围为0~100,数值越大,风险越高。

(27)

管理维度的风险数值以一定比例与技术维度的风险数值进行合成,有利于评估组织是否实施了网络安全等级保护或是否建立了完善的信息安全管理体系。

3 应用实例

对某大型Web应用系统使用本文方法进行风险评估,组织了五位网络安全专家从技术和管理两个维度进行评估。技术维度方面,专家使用代码审计、渗透测试等技术手段,独立进行测试和验证,并给出评分结果。管理维度方面,专家通过与组织的管理者、系统的IT人员进行深度访谈和现场检查,根据自己的经验给出评分结果。

3.1 技术维度的评估过程

首先,在网络安全等级保护通用技术要求的基础上,结合Web应用安全的特点和国际Web安全组织OWASP的Web漏洞排名,构建了表1的Web应用安全技术维度的指标体系。技术维度的指标体系包括10个一级指标、30个二级指标。

表1 Web应用安全技术维度指标体系

续表1

对一级指标构建判断矩阵,根据式(1)-式(8),λmax=10.16,CI=0.02,查表RI=1.49,计算得CR=0.012,符合满意一致性的判断条件。判断矩阵、层次单排序和权重的计算结果见表2。

表2 一级指标的判断矩阵及权重计算结果

用类似的方法,可计算出二级指标的权重,结果见表3。在该表中,按高风险、中风险、低风险三个级别统计了持相应意见的专家的比例。在进行多级模糊评判之前,对专家意见的直接统计结果进行峰值评判。根据式(9)-式(13),得出一级评判的计算结果,见表4,并采用一般层次分析法与多级模糊综合评价方法进行计算作为对比。

表3 二级指标权重、专家意见统计与转换

表4 一级评判的计算结果

根据式(14),使用峰值评判后,通过二级评判的计算,V的综合评判向量B=(0.517,0.345,0.138)。根据最大隶属度原则,技术维度的评判结果为高风险。根据式(15),技术维度的风险数值为79.37分。

不使用峰值评判、仅使用一般层次分析法与多级模糊综合评价方法的话,V的综合评判向量B=(0.146,0.372,0.482)。根据最大隶属度原则,技术维度的评判结果为低风险。根据式(15),技术维度的风险数值为55.43分。

从以上对比可看出,峰值评判的准则对技术维度的风险评估结果影响非常大。在实际应用中,专家独立评分后,可一起商议一下大家的尺度是否统一,视情况也可以调整各自的评分结果。但峰值评判的准则应该要坚持,因为一个高危漏洞的存在(如Struts 2框架漏洞、高危SQL注入漏洞等)的确会给Web应用系统带来极高的风险。

3.2 管理维度的评估过程

管理维度下设六个指标,依次为:安全管理体系(M1)、安全管理制度(M2)、安全管理机构(M3)、安全管理人员(M4)、安全建设管理(M5)、安全运维管理(M6)。专家对每个指标按照低风险(1)、中低风险(2)、中风险(3)、中高风险(4)、高风险(5)五个等级进行评价。五位专家(E1-E5)的评价结果如表5所示。

表5 管理维度的指标体系和专家的评价结果

对专家关于指标Mi各个等级的评价意见进行统计,得出持各种意见的比例,如表6所示。若根据最大隶属度原则,专家关于六个指标的群体意见依次为(2,2,1,2,2,2)。

表6 专家意见的直接统计

根据式(16)-式(20),六个指标的熵值向量ei为(0.590,0.590,0.418,0.418,0.418,0.418),熵权向量qi为(0.130,0.130,0.185,0.185,0.185,0.185)。

根据式(21)-式(22),eij为:

hij为:

根据式(23)-式(24),五个专家的熵值向量Hi为(0.735,1.237,1.050,1.112,0.671),熵权向量ci为(0.247,0.147,0.173,0.163,0.270)。根据最大隶属度原则,第五位专家的意见最可信。根据专家的熵权,专家意见的统计结果需要进行调整,见表7。专家关于六个指标的群体意见变为(2,2,1,1,2,2)。

表7 赋权后专家意见占比的调整

根据式(25),管理维度的综合评判向量为(0.257,0.562,0.181,0,0)。按最大隶属度,综合评判的等级意见为中低风险。根据式(26),百分制风险数值为38.48分。

3.3 合成综合风险分值

从3.1节和3.2节的评价过程得出,技术维度的风险数值为79.37分,管理维度的风险数值为38.48分。根据式(27),该Web应用系统的风险评估分值为67.10。虽然技术维度的风险值偏高,但得益于该组织已通过网络安全等级测评,该组织的管理风险较低,因此综合风险分值得到一定程度的下降。如果该组织的信息安全管理体系发挥作用,快速采取相应的处置措施,该Web应用系统的技术风险可较快恢复到低风险的水平。

3.4 适用性分析与相关方法比较

体系化、标准化、定量化是国内外信息安全管理的发展趋势。ISO2700标准和国内的网络安全等级保护都提出建立信息安全管理体系(ISMS),并按照“规划-实施-检查-改进”的戴明环(图1)进行持续改进。本文的工作正对应检查(Check)这一重要环节。ISMS正常运转后,应能通过检查发现问题,并通过针对性的整改得以改进。本文方法适用于建立了信息安全管理体系或实施了网络安全等级保护的组织。

图1 信息安全管理体系的戴明环螺旋发展

技术维度进行二级评判时,在吸收安全众测优点的基础上,本文引入峰值评准则对传统AHP与多级模糊综合评价相结合的方法进行改进,使技术维度评分更好地反映风险水平。直接使用AHP与多级模糊综合评价相结合的方法,只能提供技术维度的评分;而使用本文方法,除了技术维度的评分外,还能提供管理维度评分和综合风险分值,蕴含的管理决策信息更为丰富。如图2所示,技术维度评分主要供安全技术人员参考;而管理维度评分主要供安全管理人员参考,它是对技术维度评分的补充;综合风险分值主要供组织决策层参考,它反映了技术风险的变化趋势(安全管理做得好、管理维度风险低,则技术风险可相应下降)。本文应用实例得出相关数值后,技术人员根据技术维度评分(79.37分,高风险)要尽快采取有效的技术措施来消除安全漏洞,并做好验证性测试;管理人员要保持ISMS有效运作,特别是检查与改进环节工作的落实;组织决策层须把控整体和全局,如技术风险突然飙升,可考虑适时增加资源(如采购Web应用防火墙或Web安全服务)应对。

图2 相关方法比较

管理维度的评分,本文通过使用信息熵的方法获取专家群体的一致性意见,尽量降低专家人为主观因素的偏离。在实际评估中,要找在信息安全管理体系、网络安全等级保护专业领域有较丰富实践经验的专业人士作为专家,才能较好保证管理维度评分的准确性和有效性。

4 结 语

本文提出Web应用安全的集成风险评估方法,能根据Web应用安全风险评估过程中采用的测量方法和测量结果的特点,选择合适的评价指标、评价方法来进行综合处理。技术维度的风险评估指标体系清晰,代码设计、渗透测试的测量方法及其结果是客观的,但量化程度不高。本文先通过峰值评判强化风险等级高的专家意见,再用层次分析法确定指标权重,用多级模糊综合评价获得技术维度的风险评估数值。管理维度的指标体系较为简单,专家的评价结果主观性强,本文通过信息熵的方法从专家的评价数据中挖掘指标和专家的权重信息,获得专家群体的一致性评判意见。本文提出的方法已应用到多个大型Web应用系统的风险评估中,为通过了网络安全等级测评的Web系统提供一种针对性强、操作性强、量化程度高的风险评估方法。技术维度和管理维度的指标体系还需要在应用实践中进一步完善。

猜你喜欢
评判专家维度
致谢审稿专家
不要用街头小吃来评判北京
浅论诗中“史”识的四个维度
基于学习的鲁棒自适应评判控制研究进展
光的维度
请叫我专家
“五个维度”解有机化学推断题
诗歌评判与诗歌创作
专家面对面
人生三维度