许训炜,沈希澄,周霞,解相朋,戴剑丰
(1.南京南瑞继保电气有限公司,南京 211102;2.南京邮电大学 先进技术研究院,南京 210023)
在源网荷储协同互动背景下,新型能源系统建设呈现出新能源为主、新设备大量接入、新技术广泛应用的特点[1-3],因此建立了源网荷储资源协调控制系统,通过数据管理融合、数据统一服务、资源全息感知等技术实现源网荷储各环节的应用[4-7]。但海量分布的新能源场站高比例、碎片化接入,导致网络安全防御关口增加,网络防护边界愈发模糊[6]。物联终端新设备的大量接入使数字化威胁逐步渗透至电力系统中,攻击暴露面和防护范围显著增加,给以边界为核心的传统防护构架带来了挑战[7]。源网荷储协同场景下多方数据频繁交互,在交互过程中,若负荷侧需求电量等关键数据被黑客篡改,将会影响发电侧、负荷侧调节计划,威胁电网安全[8-9]。因此,构建异常事件与网络攻击场景的关联分析框架,有效识别攻击场景并设置对应策略成为电网安全防护的重要手段。
目前,基于数据驱动的关联规则分析技术已被运用于输电线路缺陷状态预测、配电网薄弱点分析、用电异常数据挖掘等领域[10-12],关联分析方式主要有基于相似度、因果关系、数据挖掘等方法。文献[13]建立了基于Apriori 算法的关联分析模型,挖掘电网网络攻击场景下的关联规则,并结合贝叶斯模型实现攻击场景的快速分类;但Apriori 算法在进行频繁项集挖掘的过程中需要多次遍历项集,算法的时间复杂度较高,面对源网荷储系统的海量数据时效率较低。文献[14]针对网络攻击对信息侧与物理侧的影响,从时间维度上的事前防御和事后恢复出发,总结归纳了相关网络攻击防御手段,但并未指出如何识别相关网络攻击场景。文献[15]将机器学习运用于攻击关联分析中,通过对电力通信侧异常事件归类,利用遗传算法自动生成对应不同网络攻击场景的关联规则,并基于时序逻辑实现关联规则的匹配;但该方法需要对所有攻击场景内的关联规则依次进行匹配,异常事件匹配效率较低。
针对上述方法存在的问题,本文提出了基于数据驱动的源网荷储协同控制系统网络攻击异常关联规则分析方法,利用处理后的系统运行数据,应用FP-Growth 算法提升关联规则挖掘的效率。通过灰色关联分析算法实现异常事件与关联规则的在线匹配,建立系统网络攻击异常事件关联分析框架,提升网络攻击场景的识别准确率。最后,对比FP-Growth 算法与Apriori 算法在不同数据量下的关联规则挖掘速度,验证所提方法的可行性。
源网荷储协同控制系统由应用层、平台层、网络层、接入层组成。接入层负责各终端与控制系统的物联,实现全场景数据融合。网络层由生产控制、信息管理与互联网3个大区组成,为源网荷储之间的协调提供通信支持。平台层对各项数据进行处理,为应用层提供统一服务,以实现源网荷储优化调度、泛在可控资源协调控制等功能。源网荷储协同控制系统结构如图1所示。
图1 源网荷储协同控制系统网络安全防护结构Fig.1 Network security protection structure of a coordinated source-network-load-storage control system
源网荷储协同控制系统的特点体现在多元信息采集的广度与深度,将海量信息管理、多源数据统一融合等技术结合,实现源网荷储协同互动。然而源网荷储系统每个设备与环节之间存在大量的数据传输,使整个系统中存在信息安全隐患。其次,由于源网荷储协调场景中信息流与能量流动态交互,系统中的信息安全风险可凭借这一特性在信息流与能量流中交叉扩散,进一步增大了原本安全风险的复杂性与严重性。
目前安全风险主要出现在新型电力系统的建设过程中,随着安全防护大区外的业务不断增多,电网核心区与外部系统的交互形式多样,防护大区外的防护策略超出了三道防线的防护设计范围,存在安全漏洞。其次,末梢开放式的连接冲击了隔离体系,政府、电网企业、聚合商、用户、市场等主体在采集和使用末梢数据时,用户侧设备处于广泛连接状态,外部终端本体存在的漏洞会给系统带来致命一击。此外,控制系统汇集了大量数据,当内网数据未被加密存储且通过第三方企业的数据引流直接暴露于公网时,黑客可以利用第三方企业的漏洞获取控制系统的数据,产生严重的安全隐患。
针对控制系统的网络攻击主要包括场景信息泄露攻击、虚假数据注入攻击、拒绝服务攻击与非法使用攻击。信息泄露攻击通过密码破解攻击与恶意软件进行报文监听。虚假数据注入攻击通过伪造控制指令或者对测量数据进行修改造成安全威胁。拒绝服务攻击是较为常见的攻击,其通过阻碍控制中心与远程终端的通信,导致测控信号无法传输进而影响系统安全。非法使用攻击指攻击者违法占用系统传感器/执行器的操控权限,从而对设备进行破坏。本文分析源网荷储控制系统的4种攻击频繁场景:DDoS(分布式拒绝服务)攻击、数据篡改、伪造指令攻击、测控设备破坏攻击,如表1所示。
表1 针对源网荷储系统的网络攻击场景Table 1 Cyberattack scenarios of the source-network-loadstorage system
关联规则分析法用于挖掘数据集合中多个变量间的关系,发现集合中不同项之间的联系,并利用这些联系构成的规则,找到相关的行为特征从而帮助决策。设S={a1,a2,…,an}为总项集,ai(i=1,2,…,n)为S中的项集。设X和Y是S的两个非空子集,如果项X与Y存在关联规则,可记为X→Y。关联规则有支持度Support 与置信度Confidence两个指标衡量关联性。支持度指在全部事物中{X,Y}出现的可能性,即项目集中{X,Y}同时出现的次数与事物总数N的比例:
置信度指先决事件X条件下,对应的关联事件Y发生的概率,即:
通过设定最小支持度minSup 与最小置信度minConf,排除出现概率较小的无意义规则,筛选频繁出现的项集对应的规则即强关联规则。
最先提出的关联规则算法为Apriori 算法,其是一种广度优先的挖掘方法,需要重复扫描数据库,并产生大量候选集,导致时间、空间复杂度较高,对于拥有海量数据的源网荷储系统场景,Apriori算法效率较低。
本文采用的FP-Growth 算法基于分治算法思想,建立一个FP-Tree 树结构以压缩数据记录。首先扫描事件S记录数据,根据设置的minSup 和minConf确定频繁项并根据支持度降序排列,候选频繁项集均按次序处理,并依次创建分支,形成事件S序列的FP-Tree。其次递归调用树结构,剪枝不满足minSup 阈值的项,并连接所有组合,最终形成单一路径的树结构,路径的所有组合为条件频繁项集。相较于传统的Apriori 算法,FPGrowth 算法在建立关联规则的过程中仅需扫描两遍数据集,提高了数据挖掘效率。本文通过分析异常事件类型与网络攻击的关联规则,为网络攻击的实时识别提供依据。源网荷储控制系统网络攻击匹配方法架构如图2所示。
图2 源网荷储控制系统网络攻击匹配方法架构Fig.2 Architecture of matching method for cyberattack of source-network-load-storage control system
分析网络攻击异常事件需要收集有效特征数据构成项集,从多个数据源中获取抓包数据和日志文件作为网络攻击事件匹配特征库。由于系统异常事件较多且存在重复,需要对数据进行筛选,按照属性一致性规则合并重复的异常事件以提高后续分析效率。
遭受网络攻击而导致的异常事件可分类为电气侧与信息侧,信息侧异常事件包括业务异常、网络异常和终端异常,电气侧异常包括电压异常、电流异常、可切负荷异常、拒动异常和误动异常。网络攻击对源网荷储控制系统的影响如图3所示。
图3 网络攻击对源网荷储控制系统的影响Fig.3 The impact of cyberattacks on the source-networkload-storage control system
分析网络攻击场景、攻击影响与攻击对象,提取关联规则的必须元素,建立网络攻击异常事件关键要素集合:
式中:Si为攻击场景;Ai为网络攻击异常表现形式;Oi为数据来源对象。网络攻击场景包括测控设备破坏攻击、数据篡改上行/下行信道攻击、DDoS 上行/下行信道攻击、伪造指令攻击共6 种攻击场景,分别编号为1—6。异常事件主要有网络拒绝服务、终端通信异常、终端配置变更、网络流量异常、违规业务指令、电压异常、电流异常、上报可切负荷异常等共12 类异常事件,分别编号为A—L。
采用FP-Growth算法进行关联规则数据挖掘,获得网络攻击导致的装置异常的数据频繁项集,将获取的频繁项集与新发生的异常事件比对以识别网络攻击。基本步骤如下:
1)对经过整理的网络攻击导致的异常数据集合进行第一遍扫描,集合中每条数据代表系统遭遇网络攻击的出现异常记录,统计其中所有Si或Ai频数1项集出现的次数,去除出现频数小于设定minSup 的元素,剩余的元素即为满足支持度要求的频繁元素,将这些元素作为根节点,构建FPTree表头。
2)第二遍扫描数据集,对于数据集中的每条项集,剔除不在项表头中的Si或Ai,并按照支持度降序排列,建立异常数据集。接着将每条项集中所有元素构成由根节点到叶节点的路径,然后递归建立对应的条件模式,得到网络攻击异常事件频繁项集。
基于FP-Growth 算法的频繁项集挖掘流程如图4所示。通过该方法,可以快速挖掘攻击场景Si与网络攻击异常表现形式Ai之间的频繁项集,获得二者之间的关联规则,写入网络攻击规则库,为在线网络攻击场景匹配提供基础。
图4 基于FP-Growth算法的频繁项集挖掘流程Fig.4 Flow of frequent itemset mining based on FP-Growth algorithm
基于已经生成关联规则,建立系统内异常事件与具体关联规则的匹配机制,以实现对网络攻击场景的快速识别。本文提出了基于灰色关联分析的系统攻击关联匹配模块。
对于实时异常事件,建立异常事件属性集X={x1,x2…,x12};设置各指标的最优值(或最劣值)构成参考属性集Y={y1,y2…,y12}。同时,为了计算属性集中各属性与参考属性之间的关联度,建立了实时比较数列xi(k)与参考数列y(k),其中k表示不同时刻,i表示属性集中的不同属性。
由于各因素列中数据的量纲不同,因此在评估异常事件各属性与参考属性之间的关联度之前需要对数据进行无量纲化处理,主要采用初值化与均值化处理,即:
利用无量纲化处理后的数据计算各时段下的关联系数ξi(k):
式中:ρ为分辨系数,取ρ=0.5。
计算比较数列与参考数列在各个时刻的关联系数平均值,即为实时异常事件各属性与参考属性之间的关联度ri:
对单个属性设定不同的阈值β,通过对比阈值β与对应属性的关联度ri,判断该属性对应的异常表现是否发生,例如设定:
最后,得到实时异常事件对于网络攻击异常表现形式的元素集合,结合网络攻击规则库中的关联规则,实现对攻击场景的快速识别。
为验证所提出的源网荷储协同控制系统网络攻击关联性分析方法的有效性与可行性,对某地区源网荷储系统的抓包文件和日志文件进行解析,获取涉及网络攻击场景下异常事件的数据,对采集的数据进行预处理,过滤无关项与重复项,生成网络攻击异常事件项集,利用FP-Growth 算法对数据进行关联性分析,挖掘异常信息与网络攻击事件的关联规则。对比FP-Growth 算法与其他算法,分析关联训练算法的效率,并将新的事件按照关联规则进行匹配,对该事件是否存在网络攻击以及具体的攻击类型进行识别。
某地源网荷储协同控制系统数据经预处理后得到2 000 条有效数据,其中1 800 条作为训练库构建关联规则,其余200条作为测试库数据,将测试数据进行量化编码。首先设置minSup 为15%、minConf 为60%,并使用FP-Growth 算法进行关联规则挖掘,经多次调整支持度与置信度,得出部分强关联规则如表2所示。将测试库数据的网络攻击场景、异常事件的具体情况与挖掘得到的关联规则进行对比,验证本文关联规则方法的准确率。
表2 关联规则部分结果Table 2 Selected results of correlation rules
利用灰色关联分析法,将测试库的200条数据与关联规则进行匹配,判断事件属于自然故障还是网络攻击;若属于网络攻击,继续检测识别其攻击场景,通过设置不同攻击场景,生成不同特征序列,利用迁移学习不断提高事件匹配的效率和准确性。测试事件中92%的数据可以准确匹配出相应的网络攻击场景。
在不同样本量下比较Apriori 算法、改进Apriori 算法与本文所提FP-Growth 算法的分析准确度。选择总样本量为500、800、1 000、1 500的数据库进行关联规则分析与匹配,结果见表3。
由表3可知,当样本量较少情况下,本文提出方法的准确率明显高于其他方法,当样本量逐渐增加时,不同算法的准确率也逐渐趋于相同水平。本文提出的方法能有效匹配出网络攻击场景,在数据总量较低的情况下依然可以实现对异常事件的成功匹配。因此对于出现频率较低的网络攻击场景,利用FP-Growth 算法能够实现准确识别并确认攻击发生的环节,针对网络攻击方式实施相应的防护策略。
表3 算法准确率对比Table 3 Accuracy comparison of algorithms
进一步测试本文方法在不同样本量下的运行速度。分别设置1 000~20 000 条数据,采用Apriori算法、改进的Apriori 算法与本文所提FP-Growth算法进行关联规则训练。设定minSup 为10%、minConf为50%,训练时间对比结果如表4所示。
表4 不同算法关联规则训练时间对比Table 4 Comparison of training time for correlation rules of different algorithms
由表4可以看出:
1)相较于Apriori 算法和改进的Apriori 算法,本文所提出的方法在不同数据量下,训练时间大幅降低、训练效率提高。
2)在大数据量下,本文所提方法在训练时间上的优势更为明显。当存在20 000 条数据时,本文所提方法相较于Apriori算法效率提高约135倍。
3)随着数据量的增加,本文所提方法的训练时间没有大幅度增加,从1 000条数据到20 000条数据的训练时间仅增加不到3倍。因此,本文方法更加适用于源网荷储系统海量数据的环境。
随着新型电力系统的不断发展,源网荷储协同互动导致信息交互需求不断增加,针对网络防护边界外部系统进行的网络攻击手段更加多样,攻击影响越发严重。
本文面向源网荷储协同控制系统,从电气侧与信息侧考虑可能受网络攻击而产生的异常事件。基于数据驱动,利用FP-Growth 算法建立网络攻击异常事件关联规则,并大幅降低数据挖掘的时间复杂度。
利用灰色关联度分析算法对异常事件与关联规则进行在线匹配,实现对网络攻击场景的实时判别。实际电网数据测试结果表明,本文提出的方法能有效匹配出网络攻击场景,有助于系统安全漏洞的识别与定位。