工业控制系统安全量化评估*
2019-12-11王智刚李林森
王智刚,李林森
(上海交通大学 网络安全学院,上海 200240)
0 引 言
随着信息技术的不断普及与发展,近几年的网络攻击不仅仅局限在信息系统,也逐渐出现在工业控制系统(Industrial Control System,ICS),严重影响到国计民生,造成了巨大的经济损失和社会危害。从工控系统调查小组(Industrial Control System Investigation Team,ICS-IT)的调查报告中可以看出,2015年至2019共发生大约865起安全事件[1]。面对众多的安全事件,如何建立有效的工业安全防护技术显得尤为迫切。
近几年,众多学者在该领域从理论到实践不断进行探索,取得了一些成果[2-5]。较为典型的是杨向东等人采用的对安全风险要素的量化评估[2],风险要素涉及资产、威胁、脆弱性和安全措施。杨向东对这4个要素结合相应的标准进行分别量化,得到了系统的风险值。该方法较为清晰地求得了系统的整体安全属性,但是并没有考虑每一种具体攻击方式所造成的影响,也没有兼顾到各种攻击方式的相互影响。PENG Y J等人将贝叶斯网络应用到工控安全评估[3],对影响安全的各种因素建立概率模型来描述,不仅可以分析系统的总体风险,还可以分析系统风险各要素所引起的风险,但是网络模型的条件概率确定极其复杂,不适于应用到具体的安全场景。近几年,人们开始关注层次分析法(Analytic Hierarchy Process,AHP),可以根据具体工业系统建立层次化分析模型,将各种攻击要素作为评价层,并将最终的风险评价结果作为目标层[4-5],但是该方法在确定判别矩阵时主观性较强,不能很好地起到量化的作用。
本文在前人的基础上,提出了一种模糊层次分析(Fuzzy Analytic Hierarchy Process,FAPH)与攻击树(Attack Tree)相结合的方法,对系统建立层次化分析模型,让多位专家对各要素的重要性程度进行打分以建立判别矩阵。针对模糊层次分析法不能准确分析每一种攻击因素的发生概率及其对要素层的影响的问题,本文将攻击树模型融入模糊层次分析法,定量计算每种攻击方式的发生概率。
1 工控系统功能安全与信息安全融合的必要性
工业控制系统的安全功能失效不仅会由威胁主体通过网络攻击实现,也可能由系统内部引起,因此工业控制系统的功能安全和信息安全在一定程度上并不是独立的,建立一套有效的综合安全量化评估体系有助于及时了解工业控制系统的安全指标,并及时预防安全事故的发生。
为了建立综合安全量化评估体系,要先阐述功能安全与信息安全的区别。各个领域的研究专家对功能安全与信息安全的认识存在误差,根据美国国家标准与技术研究所(National Institute of Standards and Technology,NIST)发布的 NISTSP-80053(联邦政府信息和组织的安全控制措施),将ICS信息安全与功能安全的区别简要阐述,如表1所示。可以看出,功能安全与信息安全最主要的区别是功能安全的威胁来自内部,由系统硬件失效或人为误操作造成,而信息安全的威胁来自系统外部的黑客攻击等行为。
表1 功能安全与信息安全属性对比
搞清楚功能安全与信息安全的区别,有助于在建立工业控制系统模型时综合考虑两者的影响,进而给出对工业控制系统最全面的安全量化。
2 层次化模型与攻击树模型的基本概念
2.1 层次化模型
在基于模糊层次分析法的工业控制系统安全量化评估中,最主要的是建立层次化模型。在国标GB/T20984-2007中明确指出,将信息安全风险分析分为资产、脆弱性和威胁3个方面[6],攻击者利用信息系统的脆弱性对系统构成安全威胁,并让系统本身的资产受到损失。
层次分析法(Analytic Hierarchy Process,AHP)[7]是美国运筹学专家SattyTL最先提出的,是一种处理复杂系统的多准则决策手段。在典型的层次化分析法中,将整个系统分为目标层、要素层和评价层,类比信息安全分析的资产、威胁和脆弱性3要素,将层次分析法中的评价层表示为系统受到的各种安全攻击,将要素层表示为系统的各种设备,将目标层表示为系统的最终安全评价值。
应用于实际的工业控制系统时,由于系统的复杂性,要先确定系统的网络结构,从而对要分析的要素和评估对象有更深的认识。根据国家标准GB/T26333-201[8]中提出的工控现场层次结构,将系统划分成企业管理层、过程监控层和现场设备层3个层次,如图1所示。由于过程监控层和现场设备层与工业控制领域密切相关,因此在实际分析时,将采用过程监控层和现场设备层作为系统的分析重点。
图1 典型工业控制系统层次结构
2.2 攻击树模型
2.2.1 攻击树模型的基本概念
攻击树模型是Schneider在20世纪末提出来的一种用于描述系统所受攻击的形象化方法,采用树形结构描述整个系统,将叶节点表示为具体的攻击事件,将根节点表示为最终被攻击的目标[9]。除了最下层的叶子节点外,其余节点分为AND与OR两种类型。在AND类型中,只要将根节点的下一层的所有叶子都完成,才能到达根节点。相反,在OR类型中,只需完成任何一个叶子节点,就可以完成对根节点的攻击。攻击树模型的AND与OR图形化表示方法如图2所示。
图2 攻击树模型的AND与OR图形化表示方法
2.2.2 击树模型叶子节点概率值的计算
在风险评估中,经常用攻击事件所造成的损失Li与攻击事件发生的概率值Pi的乘积作为风险的评估值R,即:
在进行根节点概率值计算时,要对叶子节点进行指标量化。根据美国工业控制系统安全指南[10]中所定义的攻击事件发生的概率受到攻击成本、攻击难度和攻击被发现的可能性3个因素的影响,。在计算每一个叶子节点的概率值时,需考虑这3个属性。根据多属性效用原理,将以上3个属性转化成效用值,便可得到每个叶子节点的概率值计算公式,即:
式(2)中,Pi表示发生概率,Wcost、Wdiff与Wdet分别表示攻击成本权重、攻击难度权重和被发现的可能性权重,3个权重的和为1。在实例分析中,将采用模糊层次分析法确定这3个权重的具体值。costi、diffi和deti分别表示攻击事件的成本、难度和可能被发现的等级。U(costi)、U(diffi)和U(deti)分别代表攻击成本costi、攻击难度diffi和攻击被发现可能性deti的效用值。进一步分析可以得出,costi、diffi与deti与效用值成反比例关系。为了简化分析,这里取U(X)=1/X。
2.2.3 节点概率值的计算
在求得每个叶子节点的概率值后,便可求出根节点的概率值,下面分成AND与OR两种情况讨论:
(1)AND节点的概率值是各叶子节点概率值的乘积,即:
(2)OR节点是各叶子节点发生概率的最大值,即:
3 典型场景案例分析
将FAHP运用到工业控制系统中解决实际的安全量化问题,一般分为4个步骤:(1)根据具体问题建立层次化分析模型;(2)构建评价层元素对要素层和要素层对目标层的两两判别矩阵;(3)由判别矩阵计算被比较元素的相对权重;(4)计算评价层与要素层的各元素的组合权重。
3.1 建立典型工控现场的层次化模型
以某电力设备系统为研究对象,对过程监控层和现场设备层建立如图3所示的基于FAPH的工控系统层次化分析模型。目标层是工控系统的安全评估值F,要素层是图1中的各种系统设备,包括工程师站、操作员站、PLC和各种传感器流量计以及无线设备。
图3 基于FAHP的工控系统层次化分析模型
3.2 构建两两判别矩阵
在完成对系统的层次化建模后,要定量分析每一层元素遭到破坏后对上一层元素的影响,进而建立元素的相对重要性判别矩阵。为此,将采用0.1~0.9共9个标度给两个元素的相对重要性赋值,如表2所示。
表2 元素优先关系数值标度表
评价层的5种安全威胁的特殊性,使其对要素层某一设备的影响存在较大差异。根据表2可以建立5种攻击方式对设备层的影响判别矩阵。以OPC服务器为例,受到来自评价层的5种攻击方式的影响,根据受到攻击后所造成的影响进行判别赋值。数据篡改能够让攻击者获取OPC服务器的核心数据,且整个攻击过程不易被发掘,将造成严重危害。拒绝服务让OPC服务器失去对下层系统的控制能力,造成信息混乱等影响,但是这种让系统失去控制能力的攻击容易被发现,相应可以采取补救措施,影响相对较小。窃听攻击将导致OPC系统的数据被盗,相比数据篡改直接让系统瘫痪来说影响较小。蠕虫与木马可以对OPC的服务程序进行修改,使其丧失一部分的能力。
根据上述分析,邀请4位专家分别对这5种攻击对OPC服务器的影响根据表2分别进行赋值,得到判别赋值表如表3所示。表3中,每一个单元格包含4个元素,是4位专家对重要性的判别赋值,取单元格相同位置的元素组成判别矩阵。邀请多位专家是为了避免专家在评判过程中的主观随意性,使得评判的结果更具有说服力。
表3 OPC服务器评价指标重要性赋值
根据表3可以得到OPC服务器的4个判别矩阵 RA31、RA32、RA33、RA34:
同理,可以得到其他要素层各个系统设备的4个判别矩阵。根据要素层设备受到攻击后对目标层的影响大小,同样可以建立要素层对目标层的判别矩阵。工程师站受到攻击后对目标层的影响明显大于操作员站;PLC对系统造成的损失很难被发现,且PLC是系统的下行可控制单元,相比工程师站来说更加重要。根据同样的思路,建立要素层各设备的重要性赋值表得到判别矩阵Rf,同样让4位专家进行评分,这里仅列出了某一位专家的判别矩阵:
在进行下一步前,要对上述得到的判别矩阵进行一致性检验,判断矩阵是否符合一致性要求。如果不符合,需要进行调整,步骤如下。
(1)计算矩阵的一致性指标CI:
λmax是矩阵的最大特征值,n是矩阵的阶数。
(2)查找随机一致性指标RI,RI的取值如表4 所示[11]。
表4 1~10阶一致性指标RI
(3)计算一致性比率CR=CI/RI,当满足CR<0.1时,认为判别矩阵满足要求,否则需要调整。
本例中的判别矩阵RA31、RA32、RA33与RA34的矩阵最大特征λmax分别为5.112、5.024、5.403、5.276,矩阵阶数n为5,RI根据表4得到为1.12,计算得到一致性比率CR分别为0.025、0.005、0.089和0.061,满足一致性检验的要求。按照同样的方法检验其余矩阵,若不满足要求进行相应的调整,最终得到所有的判别矩阵。
3.3 计算本层各元素对上层元素的权重
为了进一步减少专家评价的主观性,这里将判别矩阵进行模糊化处理,得到模糊一致判别矩阵R=(fij)n×n,利用式(11)和式(12)完成对矩阵的模糊化处理。得到模糊一致矩阵后,利用式(13)可以计算评价层中的指标(如拒绝服务指标E1)对要素层系统设备(如OPC服务器A3)的权重。
对上述得到的4个权值向量,按照相同位置取平均的方式得到最终的拒绝服务攻击B1对OPC服务器的权值向量:
按照同样的步骤,可以求出5种攻击方式对要素层其余设施的权重向量以及要素层对目标层F的权重向量:
分析完每个要素对上一层的权重后,根据式(28)求出评价层各风险元素对目标层F的综合权重W,整个计算过程如表5所示。
表5 评价层各风险元素对目标层的综合权重
得综合权重:
风险权重较大的是E1拒绝服务与E3数据篡改。对5种攻击方式建立攻击树模型,定量分析每种攻击方式所发生的概率。
4 攻击树模型的建立与结果分析
根据2.2节的分析得知,系统发生风险的概率受到攻击成本、攻击难度和攻击被发现的可能性的影响。在上述分析中已经得出各种攻击方式对目标层的综合权重,在建立攻击树模型时,直接将目标层作为攻击节点。建立攻击树模型如图4所示,由于5种攻击方式都可直接对系统造成影响,采用图2中的OR节点建立整个系统攻击树模型,并运用模糊层次分析法确定攻击成本、攻击难度和攻击被发现的可能性的相对权重。
图4 攻击树模型
图4中,E1~E5分别代表5种攻击方式,B1、B2与B3分别代表攻击成本、攻击难度和攻击被发现的可能性。以数据篡改E3为例,从攻击者的角度看,他/她更希望这次数据篡改的攻击不易被发现,其权重大于攻击成本与攻击难度。攻击难度的增加会降低整个攻击事件的概率,相较于攻击成本来说权重略低。
采用模糊层次分析法的思路,建立模糊判别矩阵,并进行一致性检验,得到3个影响因素的相对权重这里仅给出最终的分析结果。
对于攻击难度diffi、攻击成本costi和被发现的可能性deti的等级评分标准,如表6所示。
表6 等级评分标准
在具体应用时,评估人员根据具体情况给出等级得分。在本工业控制系统中,邀请了多位专家给出等级得分,最后采用取平均值的方式给出具体的得分情况。在5种攻击方式中,数据篡改的难度最大,成本较高,也很难被发现,相应的3个等级为5、4、1,其余4种攻击的等级评分如表7所示。
表7 攻击方式的等级评分
根据式(2)可以求得各种攻击方式的攻击概率分别为0.269 0、0.439 3、0.396 8、0.394 0和0.384 3。由于这几种攻击发生的概率没有确定的相互独立关系,所以它们的和不是1。层次分析法中得到各个攻击要素的权重为:
本文将权重与概率的乘积作为评价层5种攻击方式的最终风险值,结果分别为0.060 7、0.082 5、0.082 9、0.071 3和0.075 3,据此得出最大可能的威胁攻击是E2窃听攻击和E3数据篡改,因此应着重加强对窃听攻击和数据篡改的防范。
5 结 语
本文针对工业控制系统安全量化评估的问题,提出了一种将模糊层次分析法与攻击树相结合的方法。模糊层次分析法通过建立模糊判别矩阵,减小了专家的主观因素,通过对多位专家所得到的权值向量取平均的群决策方式,进一步减少了专家评判的主观性。对工业控制信息安全与功能安全相结合的问题,本文将拒绝服务、窃听攻击、数据篡改、蠕虫木马与系统硬件失效共同作为整个系统的威胁因素,建立层次化分析模型。建立攻击树,对系统安全威胁事件所发生的概率进行量化分析,最终综合考虑安全事件发生的概率与权值来定量分析系统的风险。
后续可在以下方面继续进行深入研究:(1)在定量分析中,专家的评判结果会受到主观因素的影响,本文仅仅通过对专家的评判结果取平均的方式确定了最终的威胁因素权重,如何建立更加有效量化方式是接下来的研究重点;(2)面对工业控制系统的复杂性,如何建立更加全面的层次化分析模型需要进一步思考;(3)本文着重考虑5种威胁因素各自对系统的影响,并未涉及到系统在受到5种威胁下的综合安全量化值,是下一步研究的重点。