APP下载

考虑盲目攻击因子的电力SCADA 系统安全脆弱性评估

2020-04-14吴金城郑东亚董树锋

浙江电力 2020年3期
关键词:脆弱性攻击者概率

周 飞,吴金城,郑东亚,董树锋

(1.国网浙江省电力有限公司宁波供电公司,浙江 宁波 315000;2.浙江大学 电气工程学院,杭州 310027)

0 引言

随着电网技术的不断发展,电力系统变成一个越来越复杂的智能系统[1]。SCADA(数据采集与监控)系统作为其中的重要一环,在电网中发挥的作用也越来越重要,一旦受到攻击,会造成巨大的社会经济损失。2015 年乌克兰大停电事件[2]以及2018 年美国国土安全部发出的关键系统受到网络攻击的报告[3]说明了攻击者现在已经具有强力破坏电力SCADA 系统的技术能力。

面对日益突显的安全威胁,很多学者对此进行了研究。文献[4]考虑攻击的目标和模式因目的不同而有明显差异,将攻击分为随机、获利、破坏系统稳定3 类,分别对它们进行了讨论。文献[5]构建了电力物理信息系统基于攻守情形的脆弱性评判框架,并提出了电网动态攻守博弈的3 层规划数学模型。文献[6]提出了一个具有监测、控制、分析功能的SCADA 系统安全分析模型,并进一步对检查端口和集成密码进行了攻击建模。文献[7]提出了一种能够根据系统端口信息及构架评估SCADA 系统安全性的思路。文献[8]在解析SCADA 系统的结构后,建立攻击树模型,并从3个设定好的特征出发对各叶子节点的安全性进行定量计算,最后求解各叶子节点、中间节点和模型总体的脆弱性;该方法只能反映脆弱性最大的攻击可能,没有整体考虑所有攻击可能的敏感度,而且在计算各种攻击的敏感度时,没有考虑攻击者攻击的盲目性,且利用AHP(层次分析法)求解各特征的权值有一定的缺陷。

本文通过电力SCADA 系统的解构,建立攻击树模型,以攻击的代价、难度和被发现的可能性作为评估特征,对攻击树各叶子节点的脆弱性进行定量计算,并采用FAHP(模糊层次分析法)计算各特征的权重,求解各叶子节点、攻击路径的激活概率,最后引入盲目攻击因子[9]来计算总体脆弱性及每个叶子节点的脆弱性灵敏度。

1 电力SCADA 系统与网络攻击

1.1 电力SCADA 系统结构

电力SCADA 系统中,RTU(远程终端单元)与各个子站大量的传感器设备相互连接。在一定的通信标准下,RTU 可以将传感器发送来的信息编码成对应的数据包,经由网络传递到控制服务中心。HMI(人机界面)接收应用服务器传输来的信息,便于系统的监控,实际操作人员会在执行结束后接收到RTU 传送过来的执行结果[10]。

电力SCADA 系统由多个不同网络组成,各个网络组件的缺陷会被攻击者利用并采取行动,给电力系统的稳定性和经济性带来巨大冲击。

1.2 针对电力SCADA 系统常见的攻击方式

针对电力SCADA 系统的攻击是将SCADA系统的功能很大程度地无效化,这是一系列在没有获得允许的情况下利用网络漏洞截取指令、破坏指令等对系统造成误动作的行为。

常见的攻击方式主要有3 种特性:保密性、完整性和可用性[3]。保密性攻击指没有采取合法手段获取信息的一类攻击,当前国内电力SCADA系统安全侧重于依赖划定安全界线,保密性一旦被突破,系统会变得极其脆弱;保密性攻击的目标主要是密码、加密算法、通信信道等,典型攻击形式有密码破解、窃听等。完整性攻击指对电力SCADA 系统的信息内容进行篡改的一类攻击,也就是通过篡改任何状态、运行信息的手段来破坏正常运行的攻击方式;常见的篡改目标有时钟同步信号、下发指令、上行数据等,信息被篡改会让控制中心产生对系统状态的误判,发出错误指令,造成不可挽回的损失。可用性攻击是指将信号延迟或者截断,使控制中心无法在有效时间内获得信号,从而造成系统失效;可用性攻击是相对比较容易实现的一种攻击,在有必要的情况下,可以直接采用物理手段进行攻击。

2 电力SCADA 系统攻击建模

2.1 攻击树模型

攻击树模型[11]是一种直观地分析攻击路径的方法。树的分支结构很适合用来描述攻击逻辑问题,这种结构可以从系统可能被破坏的立场去思考安全性问题,使得分析过程更加直观和清晰。

在该模型中,攻击目标用树的根节点来表示,各种具体的攻击事件用叶子节点来表示,其余的中间状态用中间节点来表示。从叶子节点开始自下而上,一直到根节点,依次激活每个节点,这个过程就是一次达成目的的攻击过程。

除了叶子节点没有分支,树模型的其余节点有2 种逻辑方式,分别是与节点、或节点。与节点表示必须激活节点下所有的分支事件才能达到激活该节点的目的,如图1(a)所示;或节点表示只要激活该节点下某个分支的事件可以激活该节点,如图1(b)所示。

图1 与节点、或节点的表示

2.2 电力SCADA 系统攻击建模

本文建立的针对电力系统的攻击树模型如图2 所示。

图2 电力SCADA 系统攻击树模型

赋予每个攻击事件3 种不同的安全等级特征,即攻击的代价、难度以及被发现的可能性[10],将以上特征转换成其完成目的的有效值,也就是每个叶子节点激活的概率。计算公式为[8]:

式中:Pc为攻击事件c 激活的概率;Cc为c 的代价;dc为c 的难度;ec为c 被发现的可能性;IC为代价参数的权重值;Id为难度参数的权重值;Ie为被发现的可能性参数的权重值;U(Cc)为代价参数的有效值;U(dc)为难度参数的有效值;U(ec)为被发现的可能性参数的有效值。

根据式(1),要得出每个攻击事件所对应节点的激活概率,需要知道每个攻击事件所对应3 个安全特征的有效值以及3 个安全特征的权重值。3个安全特征的有效值可采用等级评分的方法定量计算得出,权重系数可以利用FAHP 算出。

2.3 安全特征评级

安全特征评估对照标准见表1。

表1 各安全特征评估对照

每个攻击事件都有3 种安全特征,专家根据技术经验并结合实际情况,对每个攻击事件不同的安全特征进行评级,各安全特征有效值U(x)为其等级x 的倒数,即:

各领域专家以专业知识为基础,并结合多年的技术经验对各安全特征等级进行评定。攻击代价是发动此攻击所需要的经济成本,专家可根据经验值进行估计,然后对照表1 得出该攻击事件所对应的等级;攻击难度是指此攻击在技术上实现的难度,技术难度越大,等级越高;攻击被发现的可能性是指攻击的隐匿性,实施攻击难免留下蛛丝马迹,有些攻击可以巧妙地将痕迹隐藏起来,有些却很容易被发现,隐匿得越好,被发现的可能性越小,表1 中对应的等级就越低。后两种安全特征评估非常依赖专家的专业能力,专家专业能力越强,所得出的结论就越准确。当评完攻击事件的安全特征等级后,根据式(2),可得出各安全特征的有效值。

2.4 权重系数的计算

特征权值的确定是各叶子节点激活概率计算的关键。不同的攻击事件,攻击的代价、难度和被发现的可能性这3 个安全特征的权值也不一样,因此需要结合攻击事件的实际情况对这3 个安全特征进行赋权。

通过FAHP 求解各叶子节点的安全特征权重系数过程可描述如下[12-15]:使用设定好的尺度表将各要素两两之间进行比较,得到模糊判断矩阵;再通过一致性检验将不符合一致性的矩阵进行转化,形成模糊一致判断矩阵;最后利用矩阵求出各要素的权值。本文使用的比较尺度见表2。

表2 比较尺度

根据表2 可得到所需的矩阵:

式中:n 为安全特征数量。

对得到的矩阵进行一致性检验:

如果得到的矩阵没有通过一致性检验,则通过算术平均的方法将矩阵R 调整为模糊一致判断矩阵,对有:

通过式(8)对R′进行归一化处理,得到每个安全特征的权重值Ii:

式中:a 为权重差异影响因子,令a=(n-1)/2。

根据上述方法即可计算出攻击事件各安全特征的权重值。

2.5 计算系统脆弱性

系统脆弱性即根节点的激活概率,可以通过遍历整个树模型来计算,从底层开始往上计算,一步步得出树模型各层节点被激活的概率,最后可以计算出根节点被激活的概率。

对于具有或关系的节点i,其激活概率为[8]:

式中:m 为子节点的数量;Pi1,Pi2,Pi3,…,Pim为节点激活概率按照递减顺序重排后的序列。

这种计算方式就是把子节点的最大激活概率当成该节点的激活概率,没有考虑到实际攻击具有一定的盲目性。在计算或节点激活概率时应当综合考虑所有子节点的激活概率[9],因此将式(9)修正为:

式中:λ 为盲目攻击因子,表示攻击的随机程度,取值为0-1,λ=1 时表示攻击者的攻击完全是随机的,λ=0 时表示攻击者有针对性地进行攻击,即攻击系统最脆弱的部分。

盲目攻击因子的取值取决于攻击者对攻击对象的认识程度,在针对电力SCADA 系统的攻击情境中,盲目攻击因子就是取决于对电力SCADA系统的了解程度。如果攻击者对电力SCADA 系统有很深刻的了解,则会选择子节点中激活概率最大的攻击场景,此时盲目攻击因子取0;而如果完全不了解的话,则会随机进行攻击,此时盲目攻击因子取1。简而言之,盲目攻击因子是攻击者对攻击对象了解程度的一个度量,盲目攻击因子越小,说明攻击者对攻击对象越熟悉。因此在实际情况中,要先对攻击者群体的专业素质进行评估,以此为依据来给盲目攻击因子取值。

对于具有与关系的节点i,其节点激活概率为:

利用以上所述规则即可以算出根节点的激活概率即整个系统的脆弱性。

2.6 计算各叶子节点的脆弱性灵敏度

从底层叶子节点开始,顺着模型往上,根据式(10)、式(11)求出系统安全性(即根节点激活的概率)之后,再根据式(12)求出每个叶子节点脆弱性变化对系统安全性的敏感度,由此来判断每个叶子节点对系统的相对重要程度[9]。

式中:S(Pi)为第i 个叶子节点的脆弱性灵敏度;Vs为整个系统的脆弱性。

3 算例分析

本文在分析电力SCADA 系统结构的基础上建立SCADA 系统的攻击树模型,如图2 所示。

接着给每个攻击事件赋予3 个特征评分,也就是攻击代价、攻击难度、被发现的可能性。3 个特征的评分规则见表1。将攻击树模型中的节点由左至右进行编号,1—9 为叶子节点编号,10—12 为中间节点编号,如表3 所示。

表3 节点编号

根据专家评分,各叶子节点等级如表4 所示。

结合系统与攻击事件的实际情况,给出叶子节点各特征的评分。根据表2 可得到模糊判断矩阵R。

表4 叶子节点各安全特征等级

经过式(4)—(6)判定,R 未通过一致性检验,于是通过式(7)将式(13)调整为模糊一致判断矩阵,即:

由式(8)可得I1=0.5,I2=0.366 7,I3=0.133 3。接着根据式(1)计算出每个叶子节点被激活的概率,如表5 所示。

由于攻击者的攻击具有盲目性,因此在计算系统脆弱性的时候引入盲目攻击因子。此例中盲目攻击因子取0.3,根据式(10)、式(11)可求得各中间节点的激活概率,见表6。

表5 各叶子节点的激活概率

表6 中间节点的激活概率

算例中节点1,2 虽然激活概率一样,但在计算父节点时,2 个值还是分别赋予不同的系数。

根据式(10)可以得出根节点的激活概率Psys=0.513 1,即在盲目攻击因子为0.3 的情况下系统的安全脆弱性为0.513 1。由式(12)可得各叶子节点的脆弱性灵敏度,见表7。

表7 各叶子节点的脆弱性灵敏度

节点1,2 的激活概率值一样,灵敏度也应一致,在求取灵敏度值时都取较大值。

由以上数据可知,在盲目攻击因子为0.3 的情况下,节点3,7 的安全脆弱性灵敏度最高,其对应的攻击分别为虚假数据注入和入侵数据库。针对虚假数据注入,可以通过数字签名、检测机制来降低激活概率;针对数据库入侵,可以通过设置防火墙、受限接入来降低激活概率。对叶子节点3,7 加了防护措施之后,其特征等级变化及各节点激活概率变化如表8、表9 所示。

根据式(10)、式(11),此时系统的安全脆弱性降低为0.320 7。

表8 对节点3,7 加防护措施后节点特征等级变化

表9 对节点3,7 加防护措施后各节点激活概率的变化

如果是对其他叶子节点采取防御措施,比如对节点6,9 进行防护,节点6,9 分别为入侵变电站用户界面和破解密码,可以通过物理隔离和改变密码复杂度来降低节点的激活概率。加入防护措施后,节点6,9 的特征等级变化及各节点激活概率的变化如表10、表11 所示。

表10 对节点6,9 加防护措施后节点特征等级变化

表11 对节点6,9 加防护措施后各节点激活概率的变化

根据式(10)、式(11)可得出,此时系统脆弱性降为0.511 2。

不同防护状况下的系统安全脆弱性对比如表12 所示。

表12 不同防护状况下的系统安全脆弱性比较

由表12 的数据对比可以看出,根据脆弱性灵敏度进行防护可以取得显著的安全提升效果。

4 结语

本文提出了一种考虑盲目攻击因子的电力SCADA 系统安全脆弱性评估方法。该方法首先分析系统结构,结合攻击树理论建立模型;接着对每个叶子节点从攻击的代价、难度和攻击被发现的可能性3 个角度进行等级划分;然后采用FAHP 对这3 个特征进行权重赋值,求解每个叶子节点激活的概率,并由下往上计算出各种攻击途径的激活概率;最后考虑盲目攻击因子,解得系统脆弱性以及各个攻击序列的脆弱性灵敏度。根据评估结果可以对系统薄弱环节进行重点防护,并通过算例证明了该评估方法的有效性。

本文方法与类似评估方法的主要区别在于:

(1)采用模糊法和AHP 相结合的FAHP 对电力SCADA 系统攻击各特征进行赋权,避免了AHP 一致性检验困难的缺陷。

(2)考虑攻击者的盲目攻击因子,使得电力SCADA 系统的安全脆弱性评估更具有实际意义。

(3)根据各种攻击的脆弱性灵敏度进行防护可以取得显著的安全提升效果。

猜你喜欢

脆弱性攻击者概率
第6讲 “统计与概率”复习精讲
工控系统脆弱性分析研究
第6讲 “统计与概率”复习精讲
概率与统计(一)
概率与统计(二)
基于PSR模型的上海地区河网脆弱性探讨
正面迎接批判
基于DWT域的脆弱性音频水印算法研究
正面迎接批判
煤矿电网脆弱性评估