APP下载

一种基于DBN-RF的电网工控系统异常识别方法

2020-11-14杨慧婷李明轩

计算机工程 2020年11期
关键词:隐层工控电网

舒 斐,陈 涛,王 斌,杨慧婷,李明轩

(1.国网新疆电力有限公司电力科学研究院,乌鲁木齐 830011; 2.国网新疆电力有限公司,乌鲁木齐 830063)

0 概述

随着国内外工业化和信息化的融合发展,各行业数字化、网络化和智能化水平稳步提升。作为全球工业体系智能化的重要推手,工业互联网正助力能源电力行业开拓全新发展方向。在此过程中,电力系统自动化技术已经逐步应用在电力生产和电力供应系统中,并且提供了快捷、方便、安全、稳定的电力传输途径[1]。但与此同时,电力行业也成为一些网络攻击组织的重点目标。2016年12月,乌克兰电网工控系统(Industrial Control System,ICS)先后遭受3次恶意网络攻击,引发了大规模停电,影响涉及数十万人,给当地人民的生活带来不便并严重威胁社会稳定。2019年3月7日,委内瑞拉发生全国性大规模停电事件,调查表明此次事件的发生极有可能是反对派对古里水电站发动了蓄意的网络攻击。由此可见,能否在电网工控系统运行过程中及时发现突发性、针对性的恶意攻击,对于保障电力系统的正常运行至关重要[2]。

在网络安全防护中,通过检查网络流量来检测针对特定目标的恶意活动是一项关键技术。通过对特定目标网络流量的分析,可以及时掌握当前网络的状态,发现潜在的恶意威胁。因此,从流量分析的角度出发及时发现电网工控系统在运行过程中潜在的网络安全问题,对保障电力系统持续稳定运行具有重要意义。

电网工控系统中的通信流量具有多源异构、数据长度小、周期性、数据流向固定和时序性强等特点,并且存在正常流量和异常流量分布不平衡的现象。本文提出一种基于深度置信网络(Deep Belief Network,DBN)[3]和随机森林(Random Forest,RF)算法[4]的电网工控系统异常识别方法,以实现对系统中异常通信流量的准确识别。利用深度学习强大的数据学习能力和有监督学习准确的分类能力,对深度置信网络中多个受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)逐个进行训练,自学习得到流量中蕴含的更高级特征[5]。在此基础上,利用随机森林算法以监督方式检测流量中的异常情况,从而发现针对电网工控系统的多种威胁源。

1 电网工控系统

工业控制系统是涵盖电力、水利、石油、天然气等多种行业的控制系统[6],主要包括监控和数据采集系统(Supervisory Control and Data Acquisition,SCADA)、分布式控制系统(Distributed Control System,DCS)、过程控制系统(Process Control System,PCS)和可编程逻辑控制器(Programmable Logic Controller,PLC)。在电力行业中,电网工控系统由电力监控与信息采集系统、电力通信和数据网组成[7]。电力监控与信息采集系统负责监视和控制整个能源产生、输电、变电、配电以及调度过程中各个软硬件设备的运行状态,完成对设备信息的记录采集。电力通信和数据网包括电力调度数据网、电力企业数据网等,负责行业内部的数据通信和保障整个电力系统的畅通运行。

1.1 电网工控系统安全分析

传统的电网工控系统大多建立在一个相对封闭的环境中,利用电子机械、软件、通信协议的组合实现特定功能。此类系统主要关注功能、性能和稳定性的保障,以监测网络设备/平台日志为主,较少注重基于流量异常检测和全方位的防护措施。在“互联网+”以及“两化融合”(信息化和工业化融合)的背景和趋势下,电网工控系统将智能设备、人和数据三者有机结合,这种转变使得电网工控系统成为网络攻击者的主要目标,面临着比传统攻击更强、更广的破坏威胁。针对电网工控系统一次典型的攻击过程如图1所示,攻击者通过网络开展对目标系统的攻击,借助病毒与恶意代码、多种不同的协议漏洞、系统漏洞以及策略和管理漏洞,实现对系统的攻击,进而影响电力的配送。

图1 电网工控系统攻击示意图

1.2 电网工控系统杀伤链

电网工控系统杀伤链模型[8]包括2个阶段,即网络入侵的准备与执行阶段以及工控攻击载荷的研发与执行阶段。

1)网络入侵的准备与执行阶段。此阶段是一个广泛攻击的设计和实现过程,可细化为电网信息搜集、能力准备、入侵实施、权限激活和持续控制5个部分。在电网信息搜集阶段,恶意攻击者主要开展对电网工控系统的侦察工作,这也是高级定向[9]威胁实施的第一步,攻击手段为通过外部网络扫描或利用内部社会工程学,侦察的信息包括工控系统使用的设备类型、设备版本、内部配置等重要信息。在能力准备阶段,攻击者根据搜集到的情报数据制定相应的攻击计划,确定攻击行动的先后顺序,设置渗透需要投递和使用的工具。在入侵实施、权限激活和持续控制3个阶段中,攻击者针对系统中存在的0day漏洞、木马、未修复的漏洞等利用已有的工具不断尝试进入目标系统,获取更高的权限,在得到更有价值信息的同时,充分考虑隐蔽性,尽量避免自身身份信息泄露。

2)工控攻击载荷的研发与执行阶段。在获得内部控制网络访问权限的基础上,攻击者在此阶段对特定工业主机、控制设备和通信协议开展定向攻击,从而建立控制,主要过程包括工具研发、验证测试及载荷应用。攻击者不断地调整和测试攻击方法,模拟网络常见的协议构建命令控制信道,绕过电网内部安全系统的监测。借用此类信道,攻击者试图将特定的载荷投递到目标系统,并通过载荷满足自己更多、更细化的攻击需求,包括修改系统默认配置、注入恶意代码、篡改通信指令等,从而造成电网工控系统监视与控制通信中断、监控画面与功能安全指令拒绝响应、电网基础设施被远程操控等。此外,该信道也用于服务器收集的信息加密回传。

综上可知,电网系统杀伤链是一个完整的攻击体系,在各个过程中都可以从流量中发现攻击者的一些恶意操作行为。因此,为增强系统对网络恶意攻击的感知能力,扩大系统的防护面,流量异常检测具有一定的理论研究价值。

2 电网工控系统面临的安全问题

基于对电网工控系统杀伤链模型的分析,笔者认为当前电网工控系统的安全防护需要考虑以下3个方面的问题:

1)与传统信息系统的安全防护需求存在差异。传统信息系统对突发的威胁可以采取入侵容忍甚至中断运行的方式,进而时常进行信息安全软件补丁和系统更新,而电网工控系统需要保证持续不间断的服务,不能及时下载软件补丁并进行系统更新,这使得电网工控系统面临严重的安全威胁[10]。

2)抵御各类高级攻击是防护趋势。物理隔离已不再是抵御网络攻击的最后一道防线,需要加强对软硬件漏洞和协议风险的重视。例如,攻击者会通过U盘、供应链以及其他渠道,以间接的方式入侵电网内部。因此,需要能够有效检测可能出现的更高级威胁。

3)对应急响应能力的要求更高。与其他工控系统相比,电网工控系统具有规模大、距离远、覆盖范围广、交叉感染性强的特点[11],系统中的各个环节紧密关联,一个环节出现安全问题,就可能造成其他环节的连锁反应。因此,其对故障范围控制、系统自愈能力、实时响应及灾备等要求更高。

由此可见,需要依据自身特点设置完备的电网工控系统安全防护策略,在“安全分区、网络专用、横向隔离、纵向认证”原则[12]的基础上,增强对电网工控系统潜在安全风险的检测能力。

3 电网工控系统检测技术分析

针对电网工控系统安全问题,我国相继出台了一系列系统化的工作方案,包括国家发改委颁布的《电力监控系统安全防护规定》、国家能源局颁布的《电网工控信息安全专项监管工作方案》和《电力监控系统安全防护总体方案》等,具有重要的指导意义。在实际电网安全防御过程中,主要对策是对网络和设备进行安全防护,对数据安全加密[13]。首先以边界隔离与加密的方式,降低不同区域、系统、生产区与地方系统之间的安全风险;其次在不同区域之间采用安全审计、恶意代码防范、入侵检查和访问控制等手段有效感知系统内部的风险。内部风险的核查大多基于系统流量,与互联网流量不同,工控系统的流量是由工控设备按照系统指令产生,具有数据长度小、周期性、数据流向固定、时序性强等特点[14],这与传统互联网流量存在较大差异。按照检测角度的不同,系统流量的安全检测可划分为基于统计分析的检测方法和基于机器学习的检测方法2种。

1)基于统计分析的检测方法

基于统计分析的检测主要依赖的是先验知识,针对流量内容、协议等提取特征码或是根据对系统数据进行长期分析设定的规则策略[15],实现黑白名单的构建以及特征数据和规则策略的匹配。文献[16]设计一种基于协议解析的电网工控安全检测系统,其包括对IEC 60870-5-103规约通信的深度解析,利用配置的大量安全策略,发现系统中的违规通信。文献[17]设计的工控网络安全检测系统包含规则模块和安全样本数据库,其中:规则模块在扫描模块执行初始化扫描前,向扫描模块下发安全扫描规则,通过这些安全扫描规则对目标环境进行安全扫描;安全样本数据库对扫描模块提取的文件特征进行数据匹配,并基于数据匹配的结果分发安全检测组件。该系统具有较高的准确性,但对新型威胁检测存在漏报和误报。

2)基于机器学习的检测方法

基于机器学习的检测是在深度分析系统流量的基础上,采用有监督、半监督或无监督的机器学习算法,发现系统存在的威胁[18]。有监督学习需要大量有标签的数据作为输入,从中提取源主机到目标主机的双向数据传输的字节数、周期性规律、连接来自/送达同一主机/端口的属性值和错误分段的数量等特征,从而发现威胁。该方法具有较高的准确性,但对未知威胁发现效果较差。常见的无监督[19]算法如K-means、PCA、Auto-Encoder等,能够有效识别未知威胁,但是单独使用时准确性不高。由此可见,半监督的方法更适合用于电网工控系统流量的检测。文献[20]提出一种基于熵的动态半监督K-means算法并以单类向量机辅助实现对半监督K-means算法的改进,有效提高了对未知攻击的检测率,降低了误报率。深度学习是无监督学习方法,其可使计算机自动学习深层特征,从而降低人为设计特征造成的不完备性。因此,本文利用深度学习中的深度置信网络对特征进行自学习,同时结合有监督算法进一步提高对系统异常流量的检测率,降低漏检率。

4 基于DBN-RF的异常识别

本文通过构建混合深度置信网络模型DBN-RF,实现对电网工控系统网络异常流量的检测。如图2所示,其中左侧为电网工控系统架构,右侧为本文提出的检测模型。该模型通过初始数据的预处理完成对电网工控网络流量协议类型、网络服务类型、网络连接状态和攻击类型等特征的提取。本文利用深度置信网络模型挖掘多个流量特征之间的关联特性,学习适用于电网工控流量的特征提取模式。在此基础上,将特征学习后的电网工控流量与恶意攻击流量输入到随机森林模型中,通过参数的逐步调优,构建适用于检测电网工控系统流量中常见攻击异常的模型,实现流量异常报警。在实际使用中,将工控系统收集到的实时流量输入到检测模型中,经过混合深度置信网络模型的检测,发现流量中的多种威胁。下文将对基于DBN的流量处理和基于RF的异常检测两部分分别进行介绍。

图2 基于DBN-RF的异常识别过程

4.1 基于DBN的流量处理

深度置信网络的形成依赖于多层受限玻尔兹曼感知机(RBM)和前馈反向传播网络,进而完成网络的预训练以及对RBM堆叠网络的优化。RBM是一种神经感知器,其由一个显层(v)和一个隐层(h)构成,显层与隐层的神经元之间为双向全连接。RBM仅提供纵向层与隐藏层和可见层之间神经元的连接,同一层的各神经元之间没有连接。如图3所示,每个RBM有一个显层,也可称为输入层,与显层相连接的为隐层。

图3 受限玻尔兹曼机结构

RBM的训练可分为2个阶段:首先是向前,其次是后向或者重构。在RBM中,包含3个通过数据不断学习得到的参数,分别是w、b和c。w代表两个神经元之间的连接强度。每个显层神经元和隐层神经元都有各自代表自身权重的偏置系数,显层神经元的偏置系数用b表示,隐层神经元的偏置系数用c表示。

RBM是一种概率图模型,对于给定的状态(v,h),能量函数如式(1)所示:

(1)

通过能量函数,可以定义一个显层v和隐层节点h的联合概率。RBM中第j个隐层神经元被激活的概率如式(2)所示,其中,σ为Sigmoid 函数。同理,显层神经元i被隐层神经元激活的概率如式(3)所示:

(2)

(3)

对于一条n维流量样本数据X(x1,x2,…,xn),经过RBM编码后得到m维的样本Y(y1,y2,…,ym)。训练过程如下:

1)获取初始神经元激活概率。输入数据X经过显层v1的所有节点,传递到隐藏层h1。在隐藏层的节点上,X乘以w再加b,此结果再通过sigmoid函数产生节点的输出或者状态。因此,每个隐层神经元将有一个概率输出表示被激活的概率。

2)显层和隐层互相重构。采取吉布斯采样从计算的概率分布中抽取一个样本:h1~P(h1|v1)。利用h1重构显层,计算显层中每个神经元被激活的概率,并从计算得到的概率分布中采取吉布斯采样抽取一个样本:v2~P(v2|h1),通过v2再次计算隐层中每个神经元被激活的概率,得到概率分布P(h2|v2)。

3)更新RBM中3个重要的权重w、b和c:

w←w+λ(P(h1|v1)v1P(h2|v2)v2)

(4)

b←b+λ(v1-v2)

(5)

c←c+λ(h1-h2)

(6)

4)重复上述过程,得到隐层输出的样本Y(y1,y2,…,ym),此时该样本已充分学习到了显层数据的内部特点。

多个RBM的堆叠组成了DBN。如图4所示,该DBN由3个RBM堆叠而成。训练DBN的过程是逐层进行的。在每一层中,用数据向量来推断隐层,再将这一隐层作为下一层的数据向量。

图4 深度置信网络模型结构

初始的DBN模型依赖于原始无标签的数据集,采用无监督学习的方式生成。生成初始模型后,对整个模型进行微调。此阶段基于初始的DBN模型,保留其中各个 RBM之间的权重和偏置,以数据集中的标签作为标准计算网络误差,利用BP算法得到各层误差,通过梯度下降法实现对各层权重和偏置的调节。

4.2 基于RF的异常检测

混合深度置信网络的检测综合了深度置信网络对数据深度学习的能力以及有监督学习分类的准确性。深度置信网络模型的生成实现了对电网工控系统中多个流量特征之间关联特性的自动深度挖掘,适用于电网工控流量的特征提取,可应用于后续检测。

基于RF的流量异常检测用于寻找一种最优的投票表决器,实现对大量混杂样本(多种类型攻击、正常通信流量)的差异化学习,满足大规模流量输入后需要及时发现其中异常情况的要求。如图5所示,经过深度置信网络对数据进行流量特征自学习后,将新生成的学习样本输入到RF模型中。RF模型能够利用多棵树(弱分类器)对样本进行初始训练,再将所有弱分类器结果相结合,从而得到最终的决策结果,完成对异常流量的检测。

图5 随机森林算法异常检测过程

为得到更优的异常识别模型,RF算法利用网格搜索方法选择最优的模型参数,再通过交叉验证的方法完成对不同参数模型的评估,从而得到最优模型。

5 实验结果及分析

5.1 实验数据集

电网工控系统的流量由多种工控设备按照系统指令产生,这些流量具备一定的周期性,实时性较强,数据流较为规律,指令发送也较为频繁,而传统的网络流量具有很强的随机性,其连接的持续时间和响应时间较长,数据内容更随机,很难从中找到一定的规律性。本文从经典入侵检测数据集KDD99中筛选出相似的数据集,其中包含了电网工控系统可能遭受的不同网络攻击类型,例如端口攻击扫描探测目标各端口所提供服务的流量port-scan、ping-sweep,以及拒绝服务攻击致瘫系统的流量ping-of-death、syn flood、smurf等。

针对电网工控系统受到的网络攻击,基于电网工控系统流量特征的角度,从数据集中存储有标签样本的kddcup.data_10_percent和corrected文件已有的41维特征中筛选出18维特征,然后根据数据集中的不同攻击类型,筛选出3 050个正常样本和2 663个异常样本组成新的数据集,数据集中异常样本的类型涵盖了拒绝服务(DDoS)、远程用户攻击(R2L)、提权攻击(U2R)和端口攻击(Probing)4种电网工控系统受到的典型攻击类型。测试的样本中有1 343个正常样本和860个异常样本,其中有3种攻击未出现在训练集中,用于测试模型对于未知攻击的检测能力。

5.2 评价指标

为有效评估本文提出的DBN-RF模型,使用检测率(ACC)和误报率(FPR)评价指标,并定义所有异常样本数为M,所有正常样本数为N,算法识别出的样本数为m,将正常样本误判为异常的正常样本数为f。2种评价指标的计算公式如下:

(7)

(8)

5.3 检测结果对比

通过多次改变RBM的迭代次数并观察训练效果,发现当DBN模型的参数设置为42-36-20-16-5且RBM的迭代次数设置为120次时,实验数据最符合实际情况。为达到最佳的检测效果,本文同时使用了网络搜索[21]的方法优化随机森林算法的模型参数,使模型达到最优化。不同方法用于流量检测得到的各项指标如表1所示。实验结果表明,本文方法检测率和误报率分别为96.16%和3.49%,与其他检测方法相比,DBN-RF模型能够更准确地识别电网工控系统中的异常流量。

表1 5种检测方法的检测率与误报率对比

6 结束语

本文对电网工控系统中异常流量的识别方法进行研究,通过分析当前电网工控系统面临的安全问题,评估现有检测方法的优势与不足,并构建一种基于DBN模型与RF算法的检测模型DBN-RF。该模型基于电网工控系统网络通信流量的特性,能够快速学习特征提取模式,无需大量标记样本即可完成对海量流量的检测,并根据实际情况在线更新输出权重,提升训练效率。实验结果表明,本文方法能够改善传统深度置信网络的多类检测效果,其检测率达到96.16%,而误报率仅为3.49%,可准确识别异常流量。下一步拟将该方法应用于真实业务场景,评估其实时检测性能。

猜你喜欢

隐层工控电网
基于RTD可编程逻辑门的n变量函数实现算法
一种自适应确定隐层节点数的增量半监督超限学习机算法
穿越电网
基于RDPSO结构优化的三隐层BP神经网络水质预测模型及应用
代价敏感正则化有限记忆多隐层在线序列极限学习机及图像识别应用
锐翔工控(天津)自动化机械设备有限公司
工控速派 一个工控技术服务的江湖
工控速浱 一个工控技术服务的江湖
基于攻击图的工控系统脆弱性量化方法
电网建设工程通用造价管理模式探讨