顾兆军,彭 辉+
(1.中国民航大学 计算机科学与技术学院,天津 300300; 2.中国民航大学 信息安全测评中心,天津 300300)
随着工业化和信息化的深度融合,网络攻击的范围不再局限于信息域,已经从虚拟空间扩展至工业控制系统(industrial control system,ICS)。2010至2015年爆发的Stuxnet[1]、HaveX等病毒使人们意识到ICS攻击的巨大危害,加强ICS的安全保障已迫在眉睫。风险评估是保障工业控制系统安全、稳定运行的一个有效手段。定量的风险评估方法[2-5]是风险评估的主要研究方向。
周小锋等[6]基于ICS特殊的安全需求,提出一种分层次、分区域的评估模型,较为准确的评估出ICS的安全性。林云威等[7]基于层次分析法和D-S证据理论对电厂工业控制系统进行了风险评估,不仅有效处理了评估过程中的不确定性问题,而且对威胁的影响进行了量化。但两者在指标权重确定的过程中,均未考虑专家的主观性因素,影响了最终评估结果。贾驰千等[8]基于ICS设备和具体攻击方式建立层次化模型,较为全面的评估了系统的安全性,并识别出系统的脆弱性。但评估结果不能体现资产在可用性、完整性、机密性(AIC)上的不同偏向需求。
针对上述问题,本文借鉴层次分析法的思想,结合ICS安全目标建立ICS风险评估指标体系,并在权重计算的过程中引入模糊集和信息熵来弱化专家评估的主观性;同时,将灰色理论应用到ICS风险评估中,避免对评估对象的精确量化,进一步削减了专家主观性影响,最终较为准确地计算出ICS整体的风险值、各个ICS设备的风险值以及ICS设备在可用性、完整性、机密性3个方面存在的不同风险值。评估结果为ICS安全防护提供更加准确、合理的决策依据。
明确ICS与传统IT系统之间的差异是ICS信息安全研究的一个基础前提。ICS与传统IT系统最本质的区别在于IT系统是信息领域的管理系统,通常将信息作为管理对象,而ICS是工业领域的生产系统,更多的是将生产过程作为管理对象,因此导致了两者信息安全目标的不同[7]。相比传统IT系统遵循的CIA原则,ICS的安全目标遵循AIC原则。ICS的可用性旨在保证系统能始终处于正常的工作状态、工作人员能够随时对系统进行访问和操作;完整性可以防止系统信息被恶意修改,从而确保控制信息等的安全性。机密性目标是防止系统中工艺流程等关键数据的泄露。
威胁利用系统的脆弱性对其造成破坏[9],是风险产生的关键因素。根据IEC62443工业控制系统信息安全评估规范和ICS的实际情况,ICS常见的威胁种类主要有拒绝服务攻击、病毒感染、重放攻击、信息被篡改、信息非法获取、访问权限非法获取、未授权的网络连接、被植入木马。不同种类的威胁会对ICS造成不同危害。如:控制信息被篡改会破坏信息的完整性,易诱发错误判断,进而引发虚警;PLC遭受拒绝服务攻击,使之可用性遭到破坏,失去控制能力,进而无法控制生产过程;数据库被植入木马会导致工艺参数、设计参数等的泄露,破坏系统的机密性,造成较大的经济损失。
根据GB/T 20984-2007和文献[10]中阐述的信息安全风险评估原理和风险评估过程,通过借鉴文献[8]中面向系统设备和攻击方式的层次化建模的思想,本文结合ICS的安全目标,并参考1.2节的ICS威胁种类,建立基于ICS设备和威胁的风险评估指标体系,如图1所示。
图1 风险评估指标体系
指标体系分为4层,目标层是ICS风险指数F;准则层是ICS设备,本文选取了工控系统中典型的设备,包括工程师站、操作员站、数据库服务器、PLC进行评估。在具体的工程实践中,可根据系统的具体情况选取相应的设备作为评估对象;评价层是ICS的信息安全目标,可从可用性、完整性、机密性3个方面对设备进行评价;风险因素层是系统面临的常见威胁。
评估指标的权重反映了该指标对评估对象的影响程度,指标权重值的合理确定将直接影响评估结果的准确性。因此采用合理的方法确定指标权重是风险评估的一个关键环节。本文通过融合模糊集理论和信息熵来依次确定风险因素层、评价层和准则层的指标权重,可以有效减小评价者的主观性对评估结果的影响。下面首先计算风险因素层的风险因素相对于评价层的权重。
2.2.1 模糊集与隶属度矩阵
按传统的层次分析法,首先要计算风险因素相对于评价层的判断矩阵。即对风险因素层的风险因素相对于可用性、完整性、机密性分别构造判断矩阵。为了克服风险因素间比较的主观性,采用模糊判断来定量评定各个风险因素。
首先构造风险因素集U={u1,u2,…,un}; 接着构造评判集,相对于上一层不同的安全目标,专家对各风险因素逐一给出影响程度评语,将各风险因素的评语分为m个等级,用以衡量风险因素对相应安全目标的影响程度大小。对不同的安全目标,可设定不同的评判集V={v1,v2,…,vm}。
针对上层不同的ICS安全目标,专家给出各风险因素相应的影响程度评语,并构造模糊映射z∶U→Z(V)。其中Z(V) 是V上的模糊集全体ui→z(ui)=(qi1,qi2,…,qim)∈Z(V), 映射z代表ui对评判集中各影响程度评语的支持度。ui对评判集V的隶属向量为Qi=(qi1,qi2,…,qim),i=1,2,…,n, 由此得到风险因素隶属度矩阵为
(1)
风险因素相对于不同的安全目标得到不同的隶属度矩阵。
2.2.2 信息熵及权重确定
熵是1865年由德国物理学家Glausius作为热力学的一个概念提出来的。20世纪40年代,香农提出了“信息熵”的概念,将熵的概念推广至信息领域,使信息的量化问题得到了解决。
假设系统有n种不同的状态:S1,S2,…,Sn,P(S=Si)=pi表示系统处于状态Si下的概率为pi, 则熵可以表示为
(2)
(3)
3个条件时,则有唯一的形式
(4)
针对2.2.1节构造的风险因素隶属度矩阵,如果某风险因素ui对评判集中评语的支持度qij(其中1≤j≤m) 差距较大,则说明评价结果较分散,该风险因素在综合评价中所起的作用较大;如果差距较小,则说明评价结果缺乏说服力,该风险因素对综合评价的贡献较小。
由上面的分析可知,信息熵能有效的反向反映每个风险因素支持度的分散程度。因此,利用信息熵来衡量风险因素ui的相对重要性
(5)
由熵的极值性可知,Hi≤lnm。 对Hi做归一化处理
(6)
得到风险因素ui的相对重要程度,且0≤ei≤1。ei越大,ui的重要程度越小,为使计算值正向反映ui的重要程度,采用1-ei对ui进行度量,并进行归一化可得ui的权值
(7)
ωBα β=(α1,α2,…,αn) 为风险因素从设备Bα角度考虑,相对于Bα β安全目标的权重集。例如,从设备B1角度考虑,风险因素相对于可用性B11的权重集为ωB11。 通过上述方法确定的风险因素权重集可以较为有效地减少专家的主观性影响,为后续的风险评估奠定良好的基础。本文使用上述方法分别对评价层、准则层的各项因素进行权重计算得到相应权重集,计算过程相似,不再赘述。
灰色理论广泛应用于结构复杂,难以采用定量的方法构建精确模型的系统研究中,在无法完全获取系统信息的情况下,可以较好解决指标难以量化的问题,使评估结果较为客观准确[10]。本节将灰色理论应用到ICS风险评估中,步骤如下:
(1)ICS风险等级划分
本节采用GB/T 36466-2018中ICS风险的划分等级:很高、高、中、低和很低[11],并将这5个风险等级对应的分数设为5、4、3、2、1,同时将相应的等级向量表示为G=(5,4,3,2,1)。 介于两个划分等级之间的风险值取对应的等级分数的中间值。
(2)构建样本评估矩阵
根据步骤(1)中确定的ICS风险等级,采用专家打分方式,对各风险因素进行独立打分,得到样本评估矩阵。假设有g个评价者,根据评价者的评价结果,得到样本评估矩阵D
(8)
其中,dji代表第j个评价者对ui的评价结果。
(3)白化权函数的确定[10]
设有t个评价灰类,根据步骤(1)中确定的ICS风险等级,本节中设t=5,相应的白化权函数和阈值分别是f1,f2,…,f5和γ1,γ2,…,γ5。
(4)构建灰色评价矩阵
对于风险因素ui,假设g个评价者给出的评价分别为k1i,k2i,…,kgi, 那么ui隶属于第t个灰类的灰色统计数为
(9)
相应的总灰色统计数为
(10)
根据计算得到的灰色统计数和总灰色统计数,可计算出灰色评价权
rit=Nit/Ni
(11)
此值用于衡量所有评价者主张风险因素ui隶属于第t个灰类的强烈程度。
由rit可得ui对于各灰类的灰色评价权向量ri=(ri1,ri2,ri3,ri4,ri5),i=1,2,…,n, 进而构建风险因素ui关于各评价灰类的灰色评价矩阵R
(12)
(5)灰色综合评价
针对评价层,由2.2节得到风险因素在设备Bα视角下,相对于安全目标Bα β的权重集是ωBα β, 对安全目标Bα β下的各风险因素进行灰色评价得到对应的灰色评价矩阵Rα β, 则安全目标Bα β的灰色综合评价向量为
L(Bα β)=ωBα β×Rα β
针对准则层,已知设备Bα可从可用性、完整性、机密性3个安全目标进行评估,分别设为Bα1,Bα2,Bα3, 由2.2节计算得设备Bα下安全目标的权重集为ωBα, 那么设备Bα的灰色综合评价向量为
L(Bα)=ωBα×W(Bα)
其中
W(Bα)=(L(Bα1),L(Bα2),L(Bα3))T
针对目标层,由图1可知,风险指数F由4个设备组成,分别为B1,B2,B3,B4。 设F下各设备的权重集为ωF, 则F的灰色综合评价向量为
L(F)=ωF×W(F)
其中
W(F)=(L(B1),L(B2),L(B3),L(B4))T
(6)ICS风险评估
将风险等级向量G和灰色综合评价向量L(F) 进行运算[10],得到ICS整体信息安全风险值
Risk=L(F)×GT
(13)
同理,可计算出设备Bα的风险值及Bα在可用性、完整性、机密性3方面存在的风险值,分别为
RiskBα=L(Bα)×GT
(14)
RiskBα1=L(Bα1)×GT
(15)
RiskBα2=L(Bα2)×GT
(16)
RiskBα3=L(Bα3)×GT
(17)
此模型的风险评估流程如图2所示。
图2 风险评估流程
民航某ICS采用工控典型网络架构,主要分为企业管理层、过程监控层和现场控制层3个逻辑层次,网络结构如图3所示。
图3 民航某ICS网络结构
(1)指标权重确定
不同的设备在AIC这3个方面的信息安全需求不同。例如,PLC对可用性要求较高,一旦PLC可用性遭受破坏,则很有可能无法接受上层指令,进而不能有效操作执行器,最终导致系统的不可控。而数据库服务器对机密性要求较高,工艺数据的泄露会造成较大的经济损失。
相同的攻击方式可能会对不同设备造成不同的影响。若PLC遭受拒绝服务攻击,则会失去控制能力,进而无法控制生产过程,造成较大的危害;若操作员站遭受此攻击,则很有可能被值班人员及时发现,进而减少此攻击造成的损失。根据上述分析,不同设备下的风险因素层和评价层的权重集存在差异。下面以工程师站B1为例,确定风险因素层和评价层的权重集。
针对风险因素层,首先确定风险因素对于工程师站B1下可用性的权重。设风险因素层的风险因素集为U={c1,c2,c3}, 评判集为VA={vA1,vA2,vA3,vA4,vA5}。 其中vA1表示威胁对可用性影响最小,vA5表示威胁对可用性影响最大。从vA1到vA5, 威胁对可用性的影响程度逐渐加大。结合专家的评定意见,得到可用性隶属度矩阵
同理,类似设计完整性和机密性的评判集,可得完整性隶属度矩阵和机密性隶属度矩阵
同理,针对评价层,设因素集为U′={c′1,c′2,c′3} 评判集V={v1,v2,v3,v4,v5}, 结合专家评价,可得B1的隶属度矩阵
根据式(6)、式(7),计算工程师站B1下风险因素层和评价层的权重,分别为
ωB11=(0.166,0.239,0.595)ωB12=(0.432,0.245,0.323)ωB13=(0.726,0.274)ωB1=(0.315,0.421,0.264)
同理,可计算操作员站B2、 数据库服务器B3、 PLCB4对应的权重,结果见表1。
表1 B2-B4下评价层和风险因素层权重
风险指数F下准则层权重见表2。
表2 准则层权重
(2)灰色评价
以工程师站B1为例,由5位专家按照上文所述的五分制进行打分,得到样本评估矩阵D11、D12、D13, 分别对应于工程师站B1下的可用性、完整性和机密性。评估矩阵为
本文的评价体系设置5个评价灰类,根据文献[10],本文确定的白化权函数为
根据2.3节的计算方法,得到对应的灰色评价矩阵
根据步骤(1)确定的工程师站B1下风险因素层和评价层的指标权重,计算可得可用性、完整性、机密性对应的灰色综合评价向量
L(B11)=ωB11×R11= (0.207,0.249,0.250,0.169,0.127)L(B12)=ωB12×R12= (0.230,0.273,0.228,0.156,0.113)L(B13)=ωB13×R13= (0.196,0.246,0.246,0.178,0.134)
进而计算出B1的灰色综合评价向量
L(B1)=ωB1×W(B1)= (0.214,0.259,0.239,0.165,0.123)
其中,W(B1)=(L(B11),L(B12),L(B13))T。
同理计算出其余ICS设备的灰色综合评价向量以及可用性、完整性、机密性对应的灰色综合评价向量,结果见表3、表4。
根据2.3节风险值计算方法,计算出整体风险值和设备风险值以及在AIC这3方面存在的风险值,结果见表5。
表3 设备B2-B4下的AIC灰色综合评价向量
表4 设备B2-B4的灰色综合评价向量
表5 风险评估结果
最终求得系统整体风险值为
Risk=L(F)×GT=3.257
根据ICS风险等级,系统总体风险为中,需提高安全防护水平。由表5可知,风险最高的部分是PLC和工程师站,且PLC在可用性方面面临较高的风险,工程师站在完整性方面面临较高的风险,需采取针对性措施进行防护。此外,数据库在机密性方面面临的风险较高,需提高数据保护强度。
针对日益严峻的ICS信息安全问题,本文提出了一种基于模糊集和熵的灰色风险评估模型。该模型较为有效地降低了专家主观性影响,在评估系统整体风险值的同时,能较为准确计算出设备的风险以及设备在可用性、完整性、机密性3方面存在的不同风险,为ICS的防护提供依据。但该方法仍有待进一步研究:在建立风险评估指标体系的过程中,需结合ICS实际情况对威胁和ICS设备进行更全面的划分,从而对系统的风险进行更准确的评估。