HA-Grid: 安全(security)感知的智能电网隐患分析
HA-Grid: Security Aware Hazard Analysis for Smart Grids
申明
版权归原文作者及出版单位所有,如有侵权请联系删除。
摘要
对智能电网基础设施发动的攻击可能导致电力供应中断和昂贵设备的损坏,对安全以及最终用户造成重大影响。因此,识别导致安全违规的基础设施攻击路径以及确定必须受到保护的关键部件至关重要。在本文中,我们介绍了一种方法(HA-Grid),它将智能电网基础设施的安全性(safety)和安全(security)性建模相结合,以分析网络威胁对智能电网基础设施安全(safety)性的影响。HA-Grid在智能电网测试平台上应用,以识别导致安全危害的攻击路径,并确定这些攻击路径中的共同节点作为必须受到保护的关键部件。
I.引言
随着越来越多的高级持续性威胁(APT)组织以特定于操作技术(OT)的恶意软件(如BlackEnergy [22]、Crashoveride [13]以及最近的Pipedream [7])瞄准能源部门,评估网络攻击对智能电网系统的安全(safety)后果变得愈发迫切。
【译者注:操作技术OT指的是用于监控和控制工业领域中物理过程和设备的硬件和软件系统。】
2015年针对乌克兰电力网络的攻击导致22.5万终端用户停电长达一小时;2016年的后续攻击导致首都城市电力消耗减少了20% [4]。随着对OT系统的威胁不断增加,并且OT环境中采用了支持网络连接的智能设备,不可避免地会显著增加攻击表面(和攻击路径),以威胁OT系统的安全。因此,需要工具来识别和评估导致安全违规的攻击。
为此,我们提出了一种以危害为驱动(hazard-driven)的安全分析方法,用于安全分析智能电网基础设施(HA-Grid),能够列举导致安全入侵的攻击路径。我们提出的方法包括四个步骤:
步骤 | 详细说明 |
---|---|
1 | 我们执行安全分析,以获取系统的安全模型 [19] |
2 | 然后,我们将安全模型的元素映射到系统的体系结构组件上 |
3 | 并建模攻击者对安全模型中的信息流和过程模型变量进行篡改和欺骗的影响 |
4 | 最后,我们使用MulVAL[23]列举导致安全违规的攻击路径。生成导致智能电网基础设施安全 |
入侵的攻击路径使防御者能够识别安全关键资产,如攻击路径中的常见故障模式(即攻击路径中的共同节点),并集中加强这些组件的安全。
尽管先前已经探讨了将安全(security)元素纳入智能电网的安全性(safety)分析中 [8],但我们是首次将其与智能电网的体系结构集成,并生成攻击路径——作为攻击者必须获得的特权序列,以引发事故。能够生成导致安全违规的可行攻击路径为系统设计者和防御者提供了有价值的信息,用于保护系统。总之,我们提出了一种针对智能电网基础设施的以安全(safety)为驱动的安全性(security)分析方法(HA-Grid),并将其应用于现实生活中的智能电网基础设施测试平台。以下是主要贡献:
-
我们对电力和智能控制(EPIC)的系统过程分析(STPA)进行了执行。
-
我们模拟对EPIC测试平台的安全模型的威胁,以发现安全关键攻击。
-
我们发现导致执行安全关键攻击的攻击路径。
这项工作的新颖之处在于综合应用了STAMP的威胁建模和攻击图,以评估个别漏洞和弱点对CPS整体安全性的影响。本文的其余部分组织如下。第二和第三部分介绍相关工作和我们用于分析的安全(safety)性和安全(security)性方法的概述。在第四部分中,我们介绍HA-Grid并将其应用于实际用例。最后,在第五部分,我们总结我们的发现并讨论可能的改进。
II、相关工作
关于AC-微电网对攻击的弹性已经从多个角度在文献中进行了分析,无论是从其威胁向量的角度还是从其后果的角度。网络攻击对电网运营的一般后果已在[9]中总结。为了追踪攻击向量,攻击可以被分类为数据可用性、完整性或保密性攻击。
攻击分类 | 具体说明 |
---|---|
数据可用性攻击 | (例如,拒绝服务(DoS))将畸形数据包传输到目标,或通过耗尽路由器的处理能力、网络带宽或服务器内存来淹没网络/通信层。 |
完整性攻击 | 完整性攻击 [11, 30] 可以通过修改系统中流动的信息来进行。 |
保密性 | 旨在窃听通信网络以检索有关客户的信息。 |
文献中先前已经探讨了使用系统理论事故模型和过程(STAMP)以及STPA与安全(security)性方法的结合。Khan等人[15]使用STRIDE模拟对一个具有STAMP模型的网络物理系统(CPS)的威胁。
Friedberg等人[8]更进一步,提出了STPA-SafeSec作为一个混合框架,用于模拟不同类型的威胁对系统组件和整体安全的影响。尽管STPA-SafeSec考虑了CPS的部署架构,但它只考虑了通用威胁,没有考虑组件的脆弱性。相比之下,HA-Grid 利用了系统架构的映射,以发现个别脆弱性(例如,已部署组件上的缓冲区溢出)在整体安全性方面的作用。STPA-SafeSec已成功应用于发现威胁微电网的高级别安全关键场景。[17]使用STPA分析了对工业控制系统的网络攻击的影响。最近,Khan和Madnick[16]提出了一个基于STPA的框架,用于识别对CPS的攻击的缓解措施。[6]的作者提出了一种基于STPA和系统行为模拟的方法,用于评估不同类型的攻击对基于通信的列车控制系统的影响,并建议使用逻辑攻击图来量化安全关键攻击的风险。与本文中提出的工作不同,其目标是发现和评估导致危险场景的攻击路径。最后,在使用MulVal生成攻击图方面,Stan等人[26]提出了一套丰富的规则,以MulVal逻辑攻击图表示复杂的攻击。
Ⅲ、安全(safety)与安全(security)性模型
今天广泛使用了几种安全(safety)与安全(security)性方法。我们以下简要描述我们的方法依赖的方法。
安全(safety)分析。系统理论事故模型与过程(STAMP)被引入来描述控制系统的安全(safety)模型 [18, 19]。STAMP模拟了与CPS的安全(safety)操作相关的三个方面:危害和安全(safety)约束、控制层次和过程模型。控制层次和过程模型在安全(safe)控制结构(SCS)[6]中描述,它被定义为一个元组(C,D,K),其中C是组件的集合(控制器、执行器、传感器和物理过程),D = (CA ∪ F)是控制操作和反馈信号的集合,K是子系统的集合
。后者根据设计师指定的逻辑(例如,物理接近)将组件分组在一起。为SCS中的每个控制器定义了一个过程模型(PM),描述了控制器对基础物理过程的视图。系统理论过程分析被引入以研究导致事故及其相应损失的动态过程,该过程基于STAMP模型 [19]。在本文中,我们使用了与[19]中提出的相同的事故和危害的定义。STPA是一个两阶段过程,将事故视为危险控制操作(HCAs)的应用结果。HCAs可以发生,因为控制器对基础物理过程的视图不完整或不准确(例如,过程模型或反馈中的缺陷),或者因为命令的控制操作没有被正确执行。具体而言,当被应用或未应用,或者被错误的时间或持续时间应用时 [19],控制操作是危险的。STPA的第一步是识别HCAs,而第二步包括识别安全的控制结构和导致HCAs应用的因素
。
威胁模型。我们对一个可以篡改和欺骗消息的攻击者建模,这些消息包括控制操作和反馈,以及SCS中的过程模型。为简单起见,在这个阶段,我们没有考虑对可用性的攻击。攻击者的目标是通过应用一个或多个危险的控制操作来驱动系统进入危险状态,从而导致事故,并最终导致损失(losses)。形式上,我们定义攻击 A \mathcal{A} A为一个有序的 N A N_A NA攻击步骤序列,如下所示:
A = { a 1 , . . . , a N A } \mathcal{A} = \{a_1, . . . , a_{N_A} \} A={a1,...,aNA}
攻击步骤是一个元组 a i = ( t , e , v ) i a_i = (t, e, v)_i ai=(t,e,v)i,其中 t t t是威胁的类型, e e e是STAMP模型中的目标元素, v v v是通过欺骗或篡改注入的值。
每个攻击步骤都由一个或多个权限集启用。
我们使用MulVal [23, 24]生成攻击路径,使攻击者能够获取执行攻击所需的权限。
MulVal是一种基于逻辑的网络安全分析工具,其输入包括系统的体系结构【译者注:资产】、影响其组件的漏洞列表和一组攻击目标,以构建通向目标的攻击路径。
MulVal使用事实和规则来推导攻击者在计算机网络中的进展。事实是表示安全属性(例如特权、漏洞、网络连接等)的逻辑谓词,规则则解释了事实之间的关系,并通过Horn子句 [12]来表示。我们已经扩展了MulVal,添加了两类规则,用于模拟攻击者对CPS信息流的影响,并将攻击步骤绑定到执行它所需的权限。
我们添加的第一类规则描述了对信息流或过程模型变量x的篡改
。例如:
c a n T a m p e r ( x ) ← e x e c C o d e ( C , r o o t ) , c o n t r o l s P M V ( C , x ) canTamper(x) ← execCode(C, root), controlsPMV(C, x) canTamper(x)←execCode(C,root),controlsPMV(C,x) (1)
这说明如果攻击者获得控制器C上的高特权代码执行权限,而控制器C控制 x x x,则攻击者可以篡改STAMP元素 x x x。
类似地,如果攻击者获得主机C上的高特权代码执行权限,且C传输(例如,路由器、继电器等) x x x,则攻击者可以篡改STAMP模型 x x x:
c a n T a m p e r ( x ) ← e x e c C o d e ( C , r o o t ) , t r a n s p o r t s F l o w ( C , x ) canTamper(x) ← execCode(C, root), transportsFlow(C, x) canTamper(x)←execCode(C,root),transportsFlow(C,x) (2)
我们添加的第二类推导规则描述了攻击者欺骗x所需的特权
。例如,如果攻击者获得对控制器C所在的OT网络的访问权限,并且控制器C控制STAMP模型
x
x
x的元素,则攻击者可以欺骗STAMP模型
x
x
x:
c a n S p o o f ( x ) ← n e t A c c e s s ( C , P r o t , P ) , t r a n s p o r t s F l o w ( C , x ) canSpoof(x) ← netAccess(C, Prot, P), transportsFlow(C, x) canSpoof(x)←netAccess(C,Prot,P),transportsFlow(C,x) (3)
MulVal的输出是一个图 A G = ( V , E , L , G ) AG = (V, E, \mathcal{L}, \mathcal{G}) AG=(V,E,L,G),其中
项 | 具体说明 |
---|---|
V = ( V p ∪ V r ∪ V d ) V = (V_p∪V_r ∪V_d) V=(Vp∪Vr∪Vd) | 顶点集 |
V d V_d Vd | 原始事实(PF) |
V p V_p Vp | 推导规则(DR) |
V r V_r Vr | 推导事实(DF) |
E E E | 边 |
L \mathcal{L} L | 标签 |
G \mathcal{G} G | 攻击者目标 |
IV. HA-GRID 分析在 EPIC 测试平台上
方法步骤总结
序号 | 步骤 |
---|---|
STAMP建模 | |
1 | 定义损失 |
2 | 总结事故Accident |
3 | 分析导致某事故系统危害 |
4 | 使用STPA来识别导致危害H的危害控制行为HCAs |
5 | 分析导致整个制层级的HCAs的因果因素(针对STAMP元素) |
6 | 列出可能的攻击步骤,确定安全关键攻击 |
7 | 利用系统架构,一组security属性,攻击者打算违反的一组安全(safety)属性,以及将安全(safety)模型(控制逻辑)的元素映射到系统架构中的组件的函数生成攻击图 |
在本节中,我们详细阐述了所提出的方法论(HA-Grid)并展示了其在分析智能电网测试平台上的能源管理系统(EMS)的用途。
电力和智能控制(EPIC)测试平台[1]是一个包含四个部分的智能电网基础设施:发电、传输、微电网和智能家居。后者还包括一个安全(secure)水处理(SWaT)测试床。将我们的分析应用于EPIC,使我们能够模拟智能电网的现实安全(safety)和安全(security)方面。生成的攻击路径也可以在实际测试平台上验证。
测试平台的架构在[1, 2]和[14]中描述。在EPIC中,物理过程通过一个SCADA工作站控制,该工作站连接到一个主PLC,该PLC协调其他PLC,每个PLC负责控制不同的测试平台部分(见第IV-B节)。SCADA工作站是一个Win7主机,易受EthernalBlue(CVE-2017-0144)的影响,而PLC控制器运行的Dropbear SSH版本暴露于远程代码执行(RCE)漏洞(CVE-2016-7406、CVE-2016-7407、CVE-2016-7408和CVE-2016-7409)。PLC还暴露了一个网络服务,使得具有相同网络访问权限的攻击者能够上传并运行未经授权的代码(CVE-2012-6068)。系统中的微软Windows计算机也运行一个对CVE-2017-0267、CVE-2017-0268和CVE-2017-0269[2]漏洞易受攻击的SMB服务器。后者允许对手突破消息的保密性和可用性。
A. HA-Grid 概述
HA-Grid包括四个步骤。
项 | 具体说明 |
---|---|
1 | 我们使用STAMP来描述安全(safety)模型,并使用STPA推导出在不安全(unsafe)上下文中应用可以将CPS推向危险状态的控制行为 |
2 | 我们在STAMP模型的元素与CPS部署架构中的组件之间建立映射 |
3 | 然后,我们针对STAMP模型的元素建模篡改和欺骗威胁,并推导出导致危险(hazardous)场景的攻击 |
4 | 最后,我们使用MulVal揭示攻击者获得执行这些攻击所需权限的攻击路径,从而将CPS推向不安全状态 |
B. 安全模型
图1中的图表显示了EPIC的电气布局,关于四个负载:关键和非关键负载、电机-G3和向外部系统(水处理厂)的输出。
关键负载(图1中以红色显示)位于智能家居(SH)部分。持续为关键负载(例如ICU病房)供电对于维持系统安全至关重要。为此,有四条平行路径(图1)为关键负载供电[1]。其中三条路径位于微电网(MG)部分:
- P 1 = C B , C B − 1 , C B − 4 , C B − 8 , C B − 12 P_1 = CB, CB - 1, CB - 4, CB - 8, CB - 12 P1=CB,CB−1,CB−4,CB−8,CB−12
- P 2 = C B , C B − 2 , C B − 5 , C B − 8 , C B − 12 P_2 = CB, CB - 2, CB - 5, CB - 8, CB - 12 P2=CB,CB−2,CB−5,CB−8,CB−12
- P 3 = C B − 6 , C B − 8 , C B − 12 P_3 = CB - 6, CB - 8, CB - 12 P3=CB−6,CB−8,CB−12
为了让MG以孤岛模式运行,必须通过两台发电机之一或电池阵列为关键负载供电。如果电力由第一或第二台发电机分别提供,则认为
P
1
P_1
P1或
P
2
P_2
P2处于活动状态。同时,如果负载通过电池供电,则P3处于活动状态。
【译者注:孤岛模式(Islanded Mode)是指在电力系统中,某个区域或部分电力系统在发生故障或断开与主电网连接的情况下仍然能够维持独立运行的状态。这个区域或部分电力系统就像是一个孤立的岛屿一样,不受外部电力网的影响,继续供电给其内部的负载。】
第四条路径:
- P 4 = C B , C B − 3 , C B − 7 , C B − 12 P_4 = CB, CB - 3, CB - 7, CB - 12 P4=CB,CB−3,CB−7,CB−12
通过传输网络(TN)[1]为负载供电。
EPIC发电部分的断路器 C B CB CB由 P L C PLC PLC( g P L C gPLC gPLC)控制。同样,在 T N TN TN( C B − 3 CB-3 CB−3、 C B − 7 CB-7 CB−7和 C B − 8 CB-8 CB−8)中的断路器由 t P L C tPLC tPLC调节。位于 M G MG MG( m P L C mPLC mPLC)的 P L C PLC PLC控制 C B − 4 CB - 4 CB−4、 C B − 5 CB - 5 CB−5和智能家居( s P L C sPLC sPLC)控制 C B − 12 CB - 12 CB−12。
【译者注:对应的控制
】
我们使用STAMP对测试平台的安全(safety)方面进行建模。控制结构如图2所示,
共包括34个控制器、传感器和执行器。控制结构专注于EMS【译者注:能源管理系统 Energy Management System】的控制流程,不展示物理过程中诸如电力子系统间能量流动等内在细节。图1显示了物理过程中的电气依赖性。
EMS由人类操作员监督,通过SCADA工作站控制微电网的功能,后者又控制主 P L C PLC PLC和光伏阵列( P V A PVA PVA)。主PLC作为四个低级控制器的协调器,每个控制器负责EMS系统的一个阶段。这些PLC通过专用的智能电力设备( I E D IED IED)控制EMS的部分。 I E D IED IED是低级控制器,通过高级测量接口( A M I AMI AMI)测量频率和电压,并通过开启和关闭12个断路器( C B CB CB)控制物理网络。IED可以根据从指挥PLC收到的指令或适应频率偏差来开启断路器。断路器 C B − 1 CB - 1 CB−1、 C B − 2 CB - 2 CB−2和 C B − 6 CB - 6 CB−6是电气安全联锁,不受操作员控制,在检测到不平衡时会打开。同时 C B CB CB、 C B − 4 CB - 4 CB−4、 C B − 5 CB - 5 CB−5、 C B − 7 CB - 7 CB−7、 C B − 8 CB - 8 CB−8和 C B − 12 CB - 12 CB−12由操作员控制,但也可以自动打开,作为烦人的跳闸,以保持操作安全。
SMA逆变器由SCADA工作站控制,并调节微电网中的光伏阵列。为简化起见,我们在图2所示的SCS中没有显示AMI。SCADA、PLC和IED的过程模型包含调节其各自EMS阶段所需的变量和控制算法。
我们利用专家知识识别系统级危害和相关损失以及它们可能导致的事故。我们考虑以下损失:
-
( L 1 L_1 L1)生命损失
-
( L 2 L_2 L2)操作环境安全损失
-
( L 3 L_3 L3)设备重大损坏
-
( L 4 L_4 L4)经济损失
我们在表I中总结了考虑的事故:
【译者注:译版
ACC | 描述 | 损失 |
---|---|---|
A 1 A_1 A1 | 关键负载电力供应中断 | L 1 L_1 L1 |
A 2 A_2 A2 | 误跳闸,没有真正的故障情况下,电路保护装置或断路器意外地跳闸或断开电路 | L 1 , L 2 L_1,L_2 L1,L2 |
A 3 A_3 A3 | 电机的物理损伤 | L 2 , L 3 L_2,L_3 L2,L3 |
A 4 A_4 A4 | 电池的物理损伤 | L 2 , L 3 L_2,L_3 L2,L3 |
A 5 A_5 A5 | 智能电子设备IED的物理损伤 | L 3 L_3 L3 |
A 6 A_6 A6 | 非关键负载的电力供应中断 | L 4 L_4 L4 |
】
-
A 1 A_1 A1、 A 2 A_2 A2分别导致 L 1 L_1 L1(例如,由于电力被切断到关键负载)和 L 1 L_1 L1和 L 2 L_2 L2。( L 1 L_1 L1)
-
A 3 A_3 A3导致损失 L 1 L_1 L1、 L 2 L_2 L2、 L 3 L_3 L3和 L 4 L_4 L4
-
A 4 A_4 A4导致 L 2 L_2 L2和 L 3 L_3 L3的损失
-
A 5 A_5 A5导致 L 3 L_3 L3
-
A 6 A_6 A6导致 L 4 L_4 L4
A
1
A_1
A1 -
A
4
A_4
A4是损失最严重的事故,因为它们威胁到人类生命和操作环境的安全。安全分析继续调查可能导致A1 - A6事故的系统危害
。然后对发现的危害进行细化,以确定负责的控制器
。这一步骤的目标是制定在负责控制器上执行的安全要求,以避免危害。为了简洁起见,我们专注于可能导致
A
1
A_1
A1和
A
2
A_2
A2事故的危害。通过分析关键负载的电气依赖性(图1),我们发现了总共13个可能导致
A
1
A_1
A1和
A
2
A_2
A2的危害(表II)。
我们现在应用
S
T
P
A
STPA
STPA来识别导致
H
1
H_1
H1至
H
13
H_{13}
H13的
H
C
A
s
HCAs
HCAs,这些
H
C
A
s
HCAs
HCAs反过来可能会导致
A
1
A_1
A1和
A
2
A_2
A2。
为了简洁,我们只报告以下7个 H C A s HCAs HCAs:
危害控制行为序号 | 说明 |
---|---|
H C A 1 HCA_1 HCA1 | 当通过路径 P 1 P_1 P1、 P 2 P_2 P2或 P 4 P_4 P4为关键负载供电时,应用 C A 20 CA_{20} CA20的值为 o p e n → H 1 open → H_1 open→H1 |
H C A 2 HCA_2 HCA2 | 当需要通过路径 P 1 P_1 P1、 P 2 P_2 P2或 P 4 P_4 P4为关键负载供电时,未应用 C A 20 CA_{20} CA20的值为 c l o s e → H 1 close → H_1 close→H1 |
H C A 3 HCA_3 HCA3 | 应用 C A 20 CA_{20} CA20的值为 c l o s e close close,使断路器配置不安全(unsafe) → H 12 → H_{12} →H12 |
H C A 4 HCA_4 HCA4 | 应用 C A 25 CA_{25} CA25的值为 o p e n open open → H 2 → H_2 →H2 |
H C A 5 HCA_5 HCA5 | 未应用 C A 25 CA_{25} CA25的值为 c l o s e close close → H 2 → H_2 →H2 |
H C A 6 HCA_6 HCA6 | C A 25 CA_{25} CA25的值应用太晚 ( c l o s e ) (close) (close) → H 2 → H_2 →H2 |
H C A 7 HCA_7 HCA7 | F 1 F_1 F1应用错误参数 → H 13 → H_{13} →H13 |
STPA的第二步包括发现导致整个制层级(控制层次 control hierarchy)的
H
C
A
s
HCAs
HCAs的因果因素(图2)。这些可能是由于控制器的过程模型中的设计缺陷或与反馈/执行组件的通信错误引起的
[19]。
H C A 1 HCA_1 HCA1、 H C A 2 HCA_2 HCA2和 H C A 3 HCA_3 HCA3涉及控制行为 C A 20 CA_{20} CA20的危险应用,其参数为 o p e n open open。该控制行为由 G − I E D 1 G-IED1 G−IED1发出,跟随 g P L C gPLC gPLC命令的解释,或作为保护,以应对不安全的读数(例如,低频率)。同样, g P L C gPLC gPLC发出的命令可能是自主决策的结果(例如,鉴于当前状态和输入),或来自更高级别控制器( M a s t e r − P L C Master-PLC Master−PLC)的直接命令。后者由SCADA工作站控制。正式地说, H C A 1 HCA_1 HCA1、 H C A 2 HCA_2 HCA2和 H C A 3 HCA_3 HCA3的应用可能是由于控制层级中以下元素的缺陷而产生的:
H C A 1 HCA_1 HCA1、 H C A 2 HCA_2 HCA2 H C A 3 HCA_3 HCA3产生原因 |
---|
控制器的过程模型: G − I E D 1 G-IED1 G−IED1, g P L C gPLC gPLC, M a s t e r − P L C Master-PLC Master−PLC,和 S C A D A SCADA SCADA工作站 |
控制行为: C A 1 CA_1 CA1, C A 2 CA_2 CA2, C A 3 CA_3 CA3, C A 7 CA_7 CA7, C A 20 CA_{20} CA20 |
反馈: F 1 F_1 F1, F 2 F_2 F2, F 3 F_3 F3, F 7 F_7 F7 |
使用相同的逻辑,我们推导出 H C A 4 HCA_4 HCA4、 H C A 5 HCA_5 HCA5和 H C A 6 HCA_6 HCA6的应用可能是由于控制层级中以下元素的缺陷而发生的:
H C A 4 HCA_4 HCA4、 H C A 5 HCA_5 HCA5和 H C A 6 HCA_6 HCA6产生原因 |
---|
控制器的过程模型: S − I E D 4 S-IED4 S−IED4, s P L C sPLC sPLC, M a s t e r − P L C Master-PLC Master−PLC,和 S C A D A SCADA SCADA工作站 |
控制行为: C A 1 CA_1 CA1, C A 2 CA_2 CA2, C A 4 CA_4 CA4, C A 12 CA_{12} CA12, C A 25 CA_{25} CA25 |
反馈: F 1 F_1 F1, F 2 F_2 F2, F 4 F_4 F4, F 12 F_{12} F12 |
C. 安全(safety)关键性攻击
在确定了 H C A s HCAs HCAs后,我们现在发现了针对STAMP模型元素的威胁,攻击者可以任意(arbitrarily)导致它们的激活。
对于每个 H C A HCA HCA以及其控制层次结构中的每个控制器,对手都可以欺骗发出的控制动作和接收的反馈。他们还可以篡改发出的控制动作、接收的反馈和过程模型变量。
在第一种情况(欺骗)中,攻击者冒充一个组件以发出虚假的控制动作或反馈
。
在后一种情况(篡改)中,他们更改控制动作、反馈信号或过程模型变量的值,以欺骗控制器认为过程处于不同的状态
。
成功攻击导致 H 3 H_3 H3的一个例子是欺骗(或篡改)控制动作 C A 2 CA_2 CA2,旨在打开 C B − 12 CB − 12 CB−12。表III列举了攻击者可以对 S C S SCS SCS(Smart Grid Control System)执行的更改 C A 25 CA_{25} CA25的可能攻击步骤,该控制 C A 25 CA_{25} CA25控制 C B − 12 CB − 12 CB−12。
【译者注: a i = ( t , e , v ) i a_i = (t, e, v)_i ai=(t,e,v)i,其中 t t t是威胁的类型, e e e是STAMP模型中的目标元素, v v v是通过欺骗或篡改注入的值】
通过控制
C
A
25
CA_{25}
CA25,攻击者可以应用危险控制动作
H
C
A
HCA
HCA ,4、5或6。一些攻击步骤位于层次结构较高,这意味着它们还可以用于执行更广泛的攻击。例如,攻击
A
1
=
{
a
2
}
\mathcal{A}_1 = \{a_2\}
A1={a2}只需要一个攻击步骤(
a
2
a_2
a2),并使攻击者能够应用
H
C
A
4
HCA_4
HCA4、
H
C
A
5
HCA_5
HCA5或
H
C
A
6
HCA_6
HCA6,具体取决于
c
m
d
cmd
cmd的值(在这种情况下是打开断路器或关闭断路器)。更复杂的攻击可能涉及更多的攻击步骤。攻击
A
2
=
{
a
2
,
a
14
}
\mathcal{A}_2 = \{a_2,a_{14}\}
A2={a2,a14}使熟练的攻击者能够在同时打开/关闭断路器
C
B
−
12
CB − 12
CB−12的同时,使SCADA工作站失明。
D. 攻击路径的生成
在确定了安全(safety)关键攻击之后,我们现在利用MulVal推断导致其执行的攻击路径。所示过程如图3,需要四个输入:系统架构【译者注:资产】、一组安全(security)属性、攻击者打算违反的一组安全(safety)属性,以及将安全(safety)模型(控制逻辑)的元素映射到系统架构中的组件的函数。
我们根据[1]、[2]和[14]的规范手动描述了体系结构和安全(security)属性。然而,MulVal提供了将来自网络映射(例如,nmap [20])和评估(例如,OpenVAS [10],Nessus [27])工具的输出结合起来,自动描述系统结构的工具。图3中的第三个输入是在第IV-C节中确定的攻击步骤列表。由于攻击步骤是在控制逻辑上定义的,因此还需要控制逻辑与系统架构之间的映射(第四个输入)。我们在(公式4)中定义了一个事实,将STAMP过程模型变量
e
∈
P
M
V
i
e ∈ PMV_i
e∈PMVi绑定到负责主机
h
∈
H
h ∈ H
h∈H。其中
P
M
V
i
PMV_i
PMVi是控制器
c
i
∈
C
c_i ∈ C
ci∈C的过程模型变量集合,
H
H
H是部署组件的集合。
c o n t r o l s P M V ( h , e ) controlsPMV(h, e) controlsPMV(h,e) (4)
类似地,(公式5)将控制动作(或反馈) d ∈ D d ∈ D d∈D绑定到 h ∈ H h ∈ H h∈H:
t r a n s p o r t s F l o w ( h , d ) transportsFlow(h, d) transportsFlow(h,d) (5)
使用MulVal,我们推导出EPIC实验台的攻击图,以识别导致 H 2 H_2 H2( H C A 4 HCA_4 HCA4、 H C A 5 HCA_5 HCA5和 H C A 6 HCA_6 HCA6)的攻击路径。我们假设 I E D IED IED设备是安全的,并且攻击者无法物理访问传感器和执行器(即无法进行物理攻击)。在这些假设下,攻击者可以使用任何攻击 A i = { a i } \mathcal{A}_i = \{a_i\} Ai={ai}(其中 i ∈ [ 1 , . . . , 17 ] i ∈ [1,...,17] i∈[1,...,17])引发 H 2 H_2 H2。使用 [ a 1 , . . . , a 17 ] [a_1,...,a_{17}] [a1,...,a17]作为攻击目标进行分析的攻击图总结如图4所示。
第一个有趣的结果是每个攻击步骤
(
[
a
1
,
.
.
.
,
a
17
]
[a_1,...,a_{17}]
[a1,...,a17])的可行性取决于系统配置和状态。只有这些步骤的子集可以有效实施。
【重点过程描述】我们假设对手已经在网络中获得立足点,并且能够看到运行RDP守护程序的SCADA工作站。他们可以通过利用EternalBlue(CVE-2017-144)或通过凭据重用[4]访问SCADA工作站。攻击者通过网络可见性了解SCADA工作站对PLC的拓扑结构,可以制作数据包并欺骗控制动作 C A 2 、 C A 4 CA_2、CA_4 CA2、CA4和 C A 12 CA_{12} CA12。同时,在当前权限和缺乏特权升级(PE)漏洞的情况下,他们不能篡改工作站内存以更改操作员反馈或下游控制动作的反馈。从SCADA工作站出发,攻击者还可以利用 S − P L C S-P LC S−PLC和 M a i n − P L C Main-PLC Main−PLC上的CVE-2012-6068执行高特权代码。通过这样做,他们可以篡改控制器内存并伪造控制动作 C A 4 CA_4 CA4和 C A 12 CA_{12} CA12以及反馈 F 2 F_2 F2和 F 4 F_4 F4。他们还可以使用CVEs 2016-7406、2016-7407、2016-7408和2016-7409转移到其他设备。鉴于控制网络的拓扑结构,攻击者可以朝任何方向进行转移(图4)。
E. 讨论
应用我们提出的 H A − G r i d HA-Grid HA−Grid方法对EPIC实验台进行分析,我们发现鉴于当前的系统架构和安全(security)状况(例如漏洞、网络配置等),在STAMP模型的威胁建模活动中确定的威胁仅有一部分可以被攻击者实际利用。通过列举的攻击路径,我们确定SCADA工作站是“皇冠明珠”,而访问SCADA工作站足以执行单步的安全(safety)关键性攻击。然而,一个熟练的对手可能会选择执行需要多个步骤的隐秘攻击,以减少易被检测到的可能性并延迟事件响应操作。在当前配置下,仅对SCADA工作站的非特权访问是不够的,因为攻击者还需要特权来欺骗或篡改操作员反馈。这种隐秘的多步攻击的一个例子是 A 2 = { a 2 , a 15 } \mathcal{A}_2 = \{a_2,a_{15}\} A2={a2,a15}(表III),它要求在至少一个 P L C PLC PLC上执行特权。最后,对攻击图的分析表明,减轻CVE-2012-6068可以防止篡改攻击的全部执行。同样,我们观察到,减轻SCADA工作站上的CVE-2017-144,以及对操作员访问实施更严格的策略,可以防止 [ a 1 , . . . , a 17 ] [a_1,...,a_{17}] [a1,...,a17]的行动。此外,安装网络二极管等设备可以防止攻击者从SCADA服务器欺骗下级控制器的控制动作。
本研究探讨的方法论存在两个限制。首先,TPA主要依赖专业知识,并需要大量手动输入。社区已经认识到这个问题,并已经付出了努力自动化其某些方面[28],以便更顺利地扩展到更广泛和更复杂的分布式系统。我们工作的第二个限制在于攻击图不考虑0天漏洞。社区也已经认识到这一点,并且已经进行了一些工作,以了解这些未知漏洞如何改变攻击图的形状[29、31]和[5]。
V. 结论
我们介绍了 H A − G r i d HA-Grid HA−Grid,这是一种能够对智能电网基础设施进行综合的安全(safety)和安全(security)性分析的方法。 H A − G r i d HA-Grid HA−Grid基于STAMP和STPA,从定义导致事故和损失的一组危害开始。我们研究了针对智能电网的高级安全(safety)模型的篡改和欺骗威胁的影响,并确定了攻击者可以执行的一系列攻击步骤,以引发危害(hazard)。最后,我们利用安全(safety)模型与系统已部署架构之间的映射,识别导致高级安全(safety)性质违反的攻击路径。该操作帮助安全(security)分析人员确定首先应解决哪些弱点和漏洞以保障安全(safety)。我们已经将HA-Grid应用于发现EPIC [1]实验台上的安全(safety)关键攻击路径。未来的工作包括通过减少分析所需的手动输入量来自动化安全(safety)和威胁建模步骤。
致谢
本工作得到了EPSRC高性能嵌入式和分布式系统博士培训中心的部分支持(资助号EP/L016796/1),并在一定程度上得到了欧洲联盟Horizon 2020研究和创新计划的支持,协议号为830927(Concordia)。
参考文献
[1] Sridhar Adepu, Nandha Kumar Kandasamy, and Aditya
Mathur. Epic: An electric power testbed for research and
training in cyber physical systems security. In Computer
Security, pages 37–52. Springer, 2018.
[2] Sridhar Adepu, Nandha Kumar Kandasamy, Jianying
Zhou, and Aditya Mathur. Attacks on smart grid: Power
supply interruption and malicious power generation. International Journal of Information Security, 19(2):189–
211, 2020.
[3] ArgusLab. Mulval documentation. URL https://people.
cs.ksu.edu/∼xou/argus/software/mulval/readme.html.
[4] BBC. Ukraine power cut ’was cyber-attack’, 2022. URL
https://www.bbc.co.uk/news/technology-38573074.
[5] Leyla Bilge and Tudor Dumitras¸. Before we knew it: an
empirical study of zero-day attacks in the real world. In
Proceedings of the 2012 ACM conference on Computer
and communications security, pages 833–844, 2012.
[6] Luca Maria Castiglione and Emil C Lupu. Hazard
driven threat modelling for cyber physical systems. In
Proceedings of the 2020 Joint Workshop on CPS&IoT
Security and Privacy, pages 13–24, 2020.
[7] Dragos. Chernovite’s pipedream malware targeting industrial control systems (ics), 2022.
[8] Ivo Friedberg, Kieran McLaughlin, Paul Smith, David
Laverty, and Sakir Sezer. Stpa-safesec: Safety and
security analysis for cyber-physical systems. Journal of
information security and applications, 34:183–196, 2017.
[9] Pudong Ge, Fei Teng, Charalambos Konstantinou,
and Shiyan Hu. A resilience-oriented centralised-to decentralised framework for networked microgrids management. Applied Energy, 308:118234, 2022.
[10] Greenbone. Openvas. URL https://www.openvas.org.
[11] Martin Higgins, Wangkun Xu, Fei Teng, and Thomas
Parisini. Cyber-physical risk assessment for false data
injection attacks considering moving target defences.
arXiv preprint arXiv:2202.10841, 2022.
[12] Alfred Horn. On sentences which are true of direct
unions of algebras1. The Journal of Symbolic Logic, 16
(1):14–21, 1951.
[13] Dragos Inc. Crashoverride analysis of the threat to
electric grid operations 2022, 2022. URL https://www.
dragos.com/wp-content/uploads/CrashOverride-01.pdf.
[14] Nandha Kumar Kandasamy, Sarad Venugopalan, Tin Kit
Wong, and Nicholas Junming Leu. An electric power
digital twin for cyber security testing, research and
education. Computers and Electrical Engineering, 101:
108061, 2022.
[15] Rafiullah Khan, Kieran McLaughlin, David Laverty, and
Sakir Sezer. Stride-based threat modeling for cyber-physical systems. In 2017 IEEE PES Innovative Smart
Grid Technologies Conference Europe (ISGT-Europe),
pages 1–6. IEEE, 2017.
[16] Shaharyar Khan and Stuart E Madnick. Cyber-safety: A system-theoretic approach to identify cyber vulnerabilities & mitigation requirements in industrial
control systems. IEEE Transactions on Dependable and
Secure Computing, 2021.
[17] Shaharyar Khan, Stuart Madnick, and Allen Moulton.
Cyber-safety analysis of an industrial control system for
chillers using stpa-sec. 2018.
[18] Nancy Leveson. A new accident model for engineering
safer systems. Safety science, 42(4):237–270, 2004.
[19] Nancy G Leveson. Engineering a safer world: Systems
thinking applied to safety. The MIT Press, 2016.
[20] Gordon Fyodor Lyon. Nmap network scanning: The
official Nmap project guide to network discovery and
security scanning. Insecure. Com LLC (US), 2008.
[21] Jelena Mirkovic and Peter Reiher. A taxonomy of ddos
attack and ddos defense mechanisms. ACM SIGCOMM
Computer Communication Review, 34(2):39–53, 2004.
[22] Mitre. Blackenergy software s0089 mitre att&ck 2022,
2022. URL https://attack.mitre.org/software/S0089/.
[23] Xinming Ou, Sudhakar Govindavajhala, Andrew W Appel, et al. Mulval: A logic-based network security
analyzer. In USENIX security symposium, volume 8,
pages 113–128. Baltimore, MD, 2005.
[24] Xinming Ou, Wayne F Boyer, and Miles A McQueen.
A scalable approach to attack graph generation. In
Proceedings of the 13th ACM conference on Computer
and communications security, pages 336–345, 2006.
[25] Adam Shostack. Experiences threat modeling at microsoft. MODSEC@ MoDELS, 2008, 2008.
[26] Orly Stan, Ron Bitton, Michal Ezrets, Moran Dadon,
Masaki Inokuchi, Ohta Yoshinobu, Yagyu Tomohiko, Yuval Elovici, and Asaf Shabtai. Extending attack graphs to
represent cyber-attacks in communication protocols and
modern it networks. IEEE Transactions on Dependable
and Secure Computing, 2020.
[27] Tenable. Nessus. URL https://www.tenable.com/
products/nessus.
[28] John P Thomas IV. Extending and automating a systems-theoretic hazard analysis for requirements generation
and analysis. PhD thesis, Massachusetts Institute of
Technology, 2013.
[29] Lingyu Wang, Tania Islam, Tao Long, Anoop Singhal,
and Sushil Jajodia. An attack graph-based probabilistic
security metric. In IFIP Annual Conference on Data and
Applications Security and Privacy, pages 283–296, 2008.
[30] Qingyu Yang, Jie Yang, Wei Yu, Dou An, Nan Zhang,
and Wei Zhao. On false data-injection attacks against
power system state estimation: Modeling and counter measures. IEEE Transactions on Parallel and Distributed
Systems, 25(3):717–729, 2013.
[31] Mengyuan Zhang, Lingyu Wang, Sushil Jajodia, Anoop
Singhal, and Massimiliano Albanese. Network diversity:
a security metric for evaluating the resilience of networks
against zero-day attacks. IEEE Transactions on Information Forensics and Security, 11(5):1071–1086, 2016.