多源大规模电网的多阶攻击风险感知量化和防御技术
2023-11-23骆晨冯玉吴凯周建军吴少雷郭小东
骆晨,冯玉,吴凯,周建军,吴少雷,郭小东
(1.国网安徽省电力有限公司电力科学研究院,合肥 233011; 2.国网安徽省电力有限公司,合肥 233011)
随着配电网的日益普及,涉及的端用电用户范围越来越大,当前对电网故障感知的准确性和实时性也有了更高的要求,目前的传统电网已经无法应对当前不断增长的电力需求。因此电网目前正进行着新型电力系统建设和发展的根本性变化[1],尤其是数字化引入互联网通信技术[2]。在这一转变中出现的范式变化的主要特点是利用额外外部数据,进行多源数据融合辅助分析,从而实现电网组件的远程可控集成和准确电网态势分析。然而,电网部门中信息和负荷侧网络端数据之间的融合探索将导致新威胁格局的出现,从而带来了新的网络安全挑战。
对于数字化的电网运营,这种新的威胁形势带来了新的事件风险[3],可能导致严重的破坏性后果[4]。在传统电网中的一般的安全措施中,大部分以通信数据加密以及简单的访问权限控制来避免电网外部攻击的发生,用以增强网络安全的预防性安全概念[5],例如,文献[6]中设计的安全设计原则,包括加密、访问控制和网络分段。而这样从上述传统的、被动性的、特定领域的角度(例如所涉及的基础设施的通信或进程级别)来保护和监控系统已经是不够的。
同时由于电网的攻击方式越来越多样化和智能化。电网环境中对电力系统的攻击逐渐趋向于系统化和多阶段化,文献[7]也提及现代攻击趋向于使用协议、身份验证过程和系统模块化中的弱点进行攻击。因此为了获得系统的完整态势感知,文献[8]通过检查可能的攻击痕迹的指示来防范电网攻击;文献[9]验证来自不同组件的攻击指标的上下文相关性来检测高级攻击;文献[10]则检查网络的不同域来判断攻击流程,特别是处理关键数据流[11],以及随时间展开的时间发展[12]。但上述这些方法也都局限于攻击流的相关性来感知电网系统态势,而电力系统需要进一步详细和动态的风险量化来区分应对这些攻击。
同时极具威胁性的攻击也伴随着多种迷惑性的次要攻击,所以事件相关性和完整性检查是也检测复杂攻击的必要过程[13]。因此除了利用被动的安全措施以外,其中检测性防御措施是必不可少的[14],入侵检测系统等检测措施旨在检测攻击的早期指标[15],可用于监控网络的网络安全态势[16]并为确定适当的响应提供基础和补救措施[17]。
因此,现基于引入网络端数据的多源大规模电网攻击风险感知中带来的新的网络安全挑战,提出一种电网节点安全态势自动化感知模型来系统地处理大量跨域信息和关联各种网络情报,以正确评估情况,为了弥补传统通信级别加密算法的被动安全性,提出一种基于神经网络节点主动安全状态感知的智能系统,缩小攻击分析搜索范围;同时为了应对多样化的电网攻击方式,在主动攻击节点检测的基础上嵌入动态风险量化模块来细化区分电网所受到的攻击,进一步在处理高级多阶段攻击的挑战下,结合电网节点量化风险分析结果,基于上下文的跨域关联框架,检测到具有最可能风险的路径和查杀链步骤,来执行查杀决策,避免错过最具威胁性的高级攻击。
1 方法概述
本文框架的核心概念追求基于攻击的观察和结构建模重构网络攻击的传播行为和预期策略的目标,如图1所示。主要由3个组件构成,第一部分为基于人工神经网络的电网网络攻击检测,以此来识别节点中不良的数据以及当前状态是否遭受网络攻击,在网络攻击检测模块之后,事件相关器在攻击者可以执行的一组给定的已知可能操作的上下文中使用组合规则,根据预处理的攻击指标确定可能的攻击操作。之后通过第二个攻击风险量化模块,该模块可以在所有组件中可用的防御措施已知后持续重新评估系统风险,并在所有系统组件部署和运行时持续更新评估的风险,来细化区分电网所受到的攻击。识别所有可能执行的攻击动作的过程之后是查杀链策略相关器,它根据组合规则在已知攻击图的上下文中执行识别可能路径的分析。在分析的上下文中,考虑检测到的攻击动作的量化质量值和攻击图的边缘是根据当前观察确定可行攻击策略的一部分。在关联过程之后,触发杀伤链识别组件进行分析,以根据结果确定最可能的攻击路径和相应的图表。在此步骤中,确定与识别的攻击路径结构相关的相应杀伤链步骤。在生成攻击动作、图形和路径之后,后处理组件对结果进行更高级别的处理。图1显示了核心模块及其功能的简化概述。在以下部分中,将更详细地介绍和讨论上述过程的设计。
图1 引入网络端数据的多源电网节点安全态势自动化感知以及多阶段攻击风险量化和防御技术框架
2 模型与算法分析
本文具体模型算法分为基于人工神经网络的电网网络攻击检测模块、攻击风险量化模块、查杀链策略相关模块三部分,模型流程如图1所示,三部分原理实际算法过程如下。
2.1 电网网络攻击检测
在提出的电网网络攻击检测神经模型中,如图2所示,最开始是完成电网节点状态估计,同时电网中的不良数据由损坏数据检测器(bad data detector,BDD)识别。然后是状态特征由离散小波变换(discrete wavelet transform,DWT)提取,之后利用节点状态特征人工神经网络(artificial neural network,ANN)技术就会检测到电网中是否存在攻击。通过这种方式,所提出的神经模型提高了网络攻击检测的准确性。因此电网中检测网络攻击的主要过程涉及3个阶段,包括状态估计、特征选择和检测。
电网节点状态测量数据是从电网主控系统汇总的,在该系统中,电网的状态通过利用从传感器收集的数据(如幅度和母线电压角)来监控。状态变量是根据仪表测量值估计的。在电力控制中心获取状态变量的过程称为“状态估计”。
测量向量j∈Rw,而状态向量g∈R2y-1,其中R为实数集合,用于表示电网状态变量的取值范围。w表示测量向量j的维数,即电网节点状态测量数据的数量或者传感器收集的数据量。y表示上游或下游电网中节点的数量或者电网的规模,y可以被理解为电网中节点的数量。状态相位角为θa,其中a∈[2,y],a表示电网中的节点编号;电压幅度为Va,其中a∈[1,y],w≥2y-1,在该场景中,w≥2y-1,这是因为状态向量g的维数为2y-1,所以测量向量的维数必须至少等于状态向量的维数,以确保足够的信息来进行状态估计。j和g之间的关系为
j=h(g)+n
(1)
式(1)中:h为状态向量g与测量向量j之间的映射或转换函数,将电网节点状态的估计值转换为实际的测量数据;n为具有方差的高斯噪声σ2。
总线a的功率注入(实际功率)为
(2)
(3)
(4)
(5)
式中:Rlab和Imab分别为线路阻抗的实部和虚部;θab为母线a和母线b之间的相位差;Va为母线a的电压;Vb为母线b的电压;Pa(real)为总线a的有功功率;Qa(reactive)为总线a的无功功率;Pab(real)为母线a和母线b之间的实际功率差;Qab(reactive)为母线a和母线b之间的无功功率差。
进行电网节点状态向量估计,遵循文献[18]中提出的3个假设:①相位差很小;②串联电阻和并联电纳被忽略;③所有总线的固定电压为 1 p.u.。基于上述假设,式(4)可以写成
Pab(real)=Imabsinθab≅Imab(θb-θb)
(6)
(7)
j=Hg+n
(8)
式中:H∈Rw×y为定义状态和测量之间关系的雅可比矩阵;ζ为每条总线的集合。
(9)
式(9)中:D为具有元素的对角矩阵Daa=σ-2。
(10)
式(10)中:Rs为恶意数据篡改后的测量残差的L2范数。
入侵者的主要目的是对状态变量进行某些更改,这是通过改变负载来执行的。通过使用电力系统的知识,入侵者可以通过在观测到的测量值ju=j+u上使用攻击向量u=He将恶意数据注入电表测量值j中。例如,如果攻击是通过修改状态变量g2来使用 6% 的攻击注入,则攻击向量e是使用方程式(11)生成的:
e=[0,0.06e2,0,…,0]
(11)
从而利用该方法得到攻击向量u=He。
若检测到无虚假数据攻击,则进行后续的状态特征提取进一步分析,在特征提取步骤中,使用 128 个特征对电网事件进行分类。这里,116 个特征是从4个相量测量单元获得的,其余 12 个特征是通过集成继电器和 相量测量单元获得的。从相量测量单元获得的特征包括电压的相位角、电压的相位幅度等,而继电器日志、snort警报和控制面板日志等 12 个特征是通过集成继电器和相量测量单元获得的。DWT 将输入信号分解为小波系数。
通常,小波ψq,p(t)是使用等式(12)从母小波ψ(t)推导出来的。
(12)
式(12)中:ψ表示母小波,它是离散小波变换的基本函数,用于分解信号。母小波ψ(t)用于推导离散小波系数。p和q分别为移位和缩放因子。
(13)
式(13)中:q0=2和p0=1。
然后使用式(14)变换原始信号x(t),即
(14)
式(14)中:ψ*b,r(t)为离散小波的复共轭。
(15)
式(15)中:ψb,r(t)为离散信号处理中的基本函数离散小波函数,用于分解信号,并和ψ*b,r(t)互为共轭复数;a0表示初始缩放因子,其值为默认为1,用于作为尺度缩放因子。
在频谱级,信号x(t)使用方程式(16)分解为多分辨率,即
(16)
(17)
人工神经网络是人脑中神经元行为所采用的一种众所周知的分类技术,其结构如图3所示。人工神经网络包括大量称为节点的独立组件。
图3 利用人工神经网络进行网络攻击分类的结构
ANN分类由两部分组成:①训练阶段来更新权重;②测试阶段。测试阶段使用测试数据确定分类的准确性。输入层的输出由方程式(18)确定。
(18)
式(18)中:Vx为输入;By为隐藏层的偏差值;Wtxy为输入层和隐藏层之间的权重。
隐藏层的输出的计算公式为
(19)
最终输出计算公式为
(20)
式(20)中:Wtyn为节点y和节点n之间获得的权重;Bn为偏差值;fy为作用于节点y的神经网络激活函数。
2.2 节点攻击风险量化
本文的电网系统定量风险评估方法通过始终评估运行中系统的安全状态来促进在开发时评估的风险的早期更新。该方法将不同系统组件在所选基础设施中部署的影响以及防御和攻击的当前状态集成到风险计算中,因此持续的风险评估被提供。
持续风险管理涉及识别和初步评估系统资产的风险,然后持续监控风险严重程度的演变。这意味着在系统运行期间对设计阶段确定的风险属性的状态进行持续评估,以便可以根据实际发生的攻击或其症状以及部署的防御状态调整风险级别。
图4显示了在电网中系统地执行持续风险管理的迭代过程。整个过程包括3个主要步骤。
图4 基于攻击防御树的持续量化风险管理流程
(1)系统 ADT(attack defense tree)建模,系统安全分析师在其中创建代表潜在攻击防御场景的系统 ADT。
(2)对系统 ADT 的风险量化评估,包括通过将风险属性值设置到代表可能的攻击和所需防御的树叶节点。
(3)基于风险的防御优化,根据不同的约束组合选择系统保护,例如在有限的安全预算下最小化系统风险,执行查杀链决策。
本节专注于节点的系统 ADT 建模和风险量化过程,第一步就是系统攻击防御树的建模,其中包括创建 ADT 模型,捕获针对系统的潜在攻击场景以及可用于对抗攻击的相应防御控制。在本节中,解释了构建代表系统不同攻击场景的 ADT 的提出方法,以及如何将它们集成到单个系统 ADT 中,从而能够评估整体系统风险。在该方法中,复杂复合系统的特性通过从系统 ADT 派生出与每个系统资产相对应的一组攻击事件和控制来解决,因此以后可以对特定资产或组件进行风险分析。
按照分层攻击建模方法,对于设想的每个攻击防御场景,都会创建一个 ADT,其中高级潜在威胁由根节点表示,根节点被分解为由中间节点表示的低级威胁。树叶是攻击者的行为,它们利用系统资产的特定漏洞,因此不可进一步分解。一般而言,针对系统资产(组件)的攻击行为取决于组件的性质、类型、接口等。系统开发人员为抵御外部攻击行为而采取的防御或保护措施与下层的攻击事件相关联。图5描绘了攻击防御树(attack defense tree,ADT)结构,其中攻击由红色椭圆表示,对策(防御)由绿色矩形表示。攻击目标细化关系绘制为节点之间的实线,而防御通过虚线连接到反击攻击。从父节点到子节点的两种类型的细化(所有相同类型)是可能的:①合取细化(AND);②析取细化 (OR)。
图5 攻击防御树(ADT)的一般结构
从图5中可以看出,ADT 的树结构有助于推理攻击子目标是集体的(由 AND 运算符在父节点中连接的连接子目标)还是有助于实现父目标的实现(分离子目标)。由 OR 运算符在父级中加入的目标)。类似地,ADT 说明了防御是共同促成父对策机制(由父项中的与门加入)还是替代解决方案(由或门在父级中加入)。这将允许定量表达:① 攻击事件对系统风险严重性级别的贡献,以及 ② 防御性控制对威胁缓解和风险严重性级别降低的贡献。
在 ADT 中对防御进行建模时,首先需要对系统内部组件进行自我评估,以便了解哪些保护已经实施,从而消除一些潜在的损害。在这些情况下,潜在的攻击应该与资产中实施的防御一起表示为一个树节点。
对于大型复合系统或已经建模了许多单个 ADT 的系统,构建统一的系统 ADT 可能会导致树结构过大,其可视化不再容易,因此,建议将单个 ADT 的集合一起维护使用简化的系统 ADT,其根节点将所有单独的析取 ADT 的根节点作为子节点,通过它们之间的 OR 关系聚合。
第二步就是对系统 ADT 的风险定量风险分析,用提出的风险属性的估计值描述系统 ADT 中的攻击事件和防御。一旦定义了叶节点的属性值,就可以通过将这些值传播到树根节点来获得 ADT 上的不同度量。
在本文方法中,利用文献[19]中使用的基于三属性的风险评估,因为它有助于分析为最小化系统风险而采用的防御策略的成本效益:
(21)
式(21)中:i为针对系统的一组T个威胁中的每个威胁或潜在攻击,即i∈[0,T];Pi为攻击成功的概率;Ii为攻击对系统;Ci为攻击的成本。
将这3个属性的值与得到的风险值一起,建立一个风险属性向量{Pi,Ii,Ci,Ri},Ri是使用等式(21)评估的风险严重性。要注意公式中操作数的单位和潜在值范围,以便由此产生的风险水平是有意义的。成功发生概率值落在[0,1]区间,而影响值通常在0~10,0表示没有影响,10表示对系统的影响最大。可能性为 0 或影响为 0 的威胁不值得考虑风险。
在电网系统中,从第三方服务提供商处使用一项或多项服务,如运营商网络端数据支持,建模的攻击场景需要包括对这些外包资产的攻击事件以及潜在的应对措施。在这些情况下,也有必要对这些攻击事件和防御的风险属性进行初步估计。在运行过程中对系统服务的状态、防御和攻击征兆进行持续监控,可以细化攻击事件节点和各自防御中的风险属性向量{Pi,Ii,Ci,Ri}。
当在 ADT 中为叶节点攻击添加防御时,被反击攻击给系统带来的风险会被防御的风险缓解有效性所修改,反之亦然,当攻击事件被建模为针对 ADT 中的防御时,其防护效果减弱。因此,ADT 中的防御作为攻击的对策,反之,攻击作为防御的对策。因此,如果将这种情况概括为 ADT 的支持者(攻击者)和反对者(防御者)的角度,则需要一种计算被对抗节点风险属性的方法。表1 给出了用于评估被相反类型节点对抗的节点的规则。
表1 ADT中对抗节点的风险向量评估规则
如表1所示,当一个被反击的节点的保障措施成功时,其成功率会降低。因此,被反击节点的成功概率可以计算为该节点的成功概率乘以反措施的失败概率(即1减去反措施的成功概率)。
2.3 最大风险路径传播和查杀链策略执行
在这个阶段,为了量化评估系统被攻击的风险,需要计算系统ADT中“攻击系统”的根节点的风险属性向量。为此,需要一种自下而上的传播算法,该算法将风险向量从叶节点向上传播到逻辑树层次结构。
在本文方法中,通过假设最坏的情况来采取自动化领域初步的安全与保障流程[20]的原则,在这种情况下,聪明的对手会智能地应用所有可用资源来攻击系统。只要AND操作数和 OR 操作数在评估来自其子级的风险属性时的行为,该假设就会影响ADT中的风险自下而上传播规则。
与AND节点相关的风险是以子节点的努力之和来计算的。也就是说,虽然父节点的可满足性(成功概率)要求所有子节点都得到满足,但父节点的成本是子节点的成本之和,而且父节点的影响也是子节点影响的总和。在影响的情况下,提出的公式是Edge等[21]的公式,它适应了这样一个事实:在大多数情况下,一组成功行动对系统的影响大于单个事件的总和。父OR节点的风险是与其后代相关的风险的最大值,因为聪明的对手会选择实施成功概率较高的攻击,并在实施攻击的支出方面产生最高的损害。
查杀链识别模块则负责确定整个攻击的置信度,并据此根据之前的相关结果,识别出代表攻击活动的最佳结果对。因此,分析主要基于找到一对最优的攻击图和路径,这些攻击图和路径根据质量函数值被表征为最可信和最合理的结果对。特别地,质量函数的值被连续地与预定义的阈值和限制进行比较,这些阈值和限制表示被认为是感兴趣的结果的最小置信水平。因此,攻击图和路径对的相应合理性和置信度值用于这些比较任务中的截止过程。
使用选定的成对结果集,检查最可信的路径是否包含在将形成最优解的最可信的图中。因此,在这个过程中确定的攻击策略由最优解中包含的攻击图定义。因此,攻击的杀伤链阶段由包含在最优解路径中的阶段含义决定。路径中包含的攻击节点的最后一个杀伤链阶段代表攻击者所处的当前阶段。
关联过程的最终输出包括检测到的攻击行为和策略、攻击者最后感知到的杀伤链阶段以及检测到受感染的主机列表。因此,该模型提供的结果可确定是否攻击发生在一定的时间范围内(由可用输入和假设的指标相关性定义)、攻击的发展过程(由攻击路径决定)和遵循的策略(由攻击图定义)。此外,还确定了相应的阶段(检测到的杀伤链阶段)和参与攻击的主机(按攻击动作列出的受感染主机)。
3 实验分析
对提出方法性能的评估基于通过衡量系统正确识别电网网络中受感染主机的能力或攻击者执行的操作来深入了解系统能力的标准。此外,该标准确定系统是否能够正确识别已知的攻击策略以及当前在其中执行的查杀链阶段。因此,有3个主要标准来评估攻击检测方法的性能:①检测网络中受攻击的节点准确率;②检测到的攻击者行为的风险度;③查杀链策略执行有效率。
首先评估攻击检测模块在电网中检测网络中受攻击的节点准确率。然后将评估结果与 ERT[19]、GA[22]、IF[23]、SOS[24]、AGWO[25]、KHO[26]和 MEHO[27]等主流技术进行比较。评估结果在公开的电力系统攻击数据集进行,其中包括正常和受损测量。该数据集包含从电力网络收集的37个不同事件。37个事件分为自然事件、无事件和受攻击事件。在这里,80%的数据用于训练,剩下的20%用于测试提出的攻击检测模块。模型的性能使用接收者操作特征(receiver operating characteristic,ROC)指标进行评估。
如图6提供了提出的攻击检测模块和现有技术获得的 ROC 曲线。通过确定真正例率(true positive rate,TPR)和假正例率(false positive rate,FPR)绘制ROC曲线。将“正常攻击”识别为“受损”称为 FPR,而将受损数据正确识别为“受损攻击”称为 TPR。ROC 曲线接近 1 表示更好的结果。因此,对于公开的电网攻击检测数据集,由本文提出方法的准确检测,从ROC 曲线可被证明具有更好的结果。
图6 本文攻击检测模块和现有技术的ROC曲线比较
其次为了评估本文模型的攻击者行为的风险度量化程度,由于篇幅限制和为了简化攻击风险量化,构建一种“窃取电网数据”的简化ADT,这个ADT是由3个析取ADT组成,“在数据源盗取”、“在交换节点盗取”和“在数据库盗取”通过OR关系连接起来,这表明了3种潜在的独立的数据窃取方式通过在捕获数据时在组件之间传输,或存储在数据库中利用系统漏洞来获取数据。
通过本文的攻击风险量化模块,得到表2包含与“节点查杀之前的风险向量”对应的列中显示的攻击事件的初始估计风险向量以及执行节点查杀链之后的风险向量,其中攻击事件中使用的符号是Ati。所有具有 0.6~1的高概率和 6~10 的高影响的攻击事件都属于关键高风险攻击。
由所提出的风险向量传播方法,推导出了“窃取能量数据”主要目标的成功概率、对系统的影响以及总体攻击成本。在 ADT 根节点中生成的风险向量为 {0.05,4.32,2.8,0.08},其中风险值 0.1 给出了在估计所有节点查杀防御措施的有效性后系统风险暴露的度量。将该向量与在没有节点查杀对策的根节点中评估的风险向量 {0.61,8.7,7.6,0.7} 的比较(当所有节点查杀的概率设置为0时)提供了所实现的风险降低了0.62点意味着,通过应用系统 ADT 中建模的所有查杀链防御措施,相对于不实施任何防御措施,可以实现 88.57% 的风险最小化。
最后验证攻击路径节点查杀链执行模块,由图7可看到,查杀链识别的可靠性高度依赖于攻击策略的正确识别。当一个已知的攻击图被正确识别时,杀伤链阶段也在超过 98% 的案例中被正确确定执行。如果攻击策略没有被正确检测到,相应的节点查杀链执行检测就不太可靠,节点查杀链执行错误执行率有9%。
图7 在随机生成攻击和无电网攻击测试下受到攻击的检测率以及被攻击节点查杀策略执行有效率
4 结论
随着电网的规模逐渐扩大,为了防止不断发展的电力网络中的潜在攻击和漏洞,加强对安全和隐私机制的额外研究的需要,被动缓解和对策需要准确和情景描述的攻击活动检测能力,不仅仅只能从依赖于通信的过程方面了解攻击发展过程。因此本文提出了一种电网节点安全态势自动化感知模型来系统地处理大量跨域信息和关联各种网络情报,以正确评估情况,并得到以下结论。
(1)提出了一种基于神经网络节点主动安全状态感知的智能系统,弥补传统通信级别加密算法的被动安全性;并且通过实验分析证明该方法检测网络中受攻击的节点能达到较好的准确率。
(2)为了应对多样化的电网攻击方式,在主动攻击节点检测的基础上嵌入动态风险量化模块来细化区分电网所受到的攻击,量化了攻击风险。
(3)进一步在处理高级多阶段攻击的挑战下,结合电网节点量化风险分析结果,基于上下文的跨域关联框架,检测到具有最可能风险的路径和查杀链步骤,进一步了解攻击的演变、所收集信息的质量、攻击对关键资产的影响、攻击者在事件中的行为以及未来可能的发展,来执行查杀决策,实现了对电网网络安全的上下文关联感知和辅助防御决策执行。