基于特征抽取的电力工控系统入侵检测方法

2021-10-13 07:46庄卫金方国权张廷忠
浙江电力 2021年9期
关键词:源域工控编码器

庄卫金,方国权,张廷忠,陈 中

(1.中国电力科学研究院,南京 210003;2.国网江苏省电力有限公司检修分公司,南京 211106;3.国网山东省电力公司潍坊供电公司,山东 潍坊 261041;4.东南大学 电气工程学院,南京 210096)

0 引言

目前电力工控系统采用“安全分区、网络专用、横向隔离、纵向认证”[1]的安全防护策略,在系统边界部署正反向隔离装置及加密认证装置,能有效抵御来自互联网的传统病毒木马的入侵[2]。但与传统电网相比,与物联网联系日益紧密的电力工控系统由于在用户侧部署了大量不可控的智能网荷互动终端以及信息采集装置,所面临的来自外部的恶意攻击风险大大提高,因此有必要面向电力工控系统研究适用于其的入侵检测技术以提高抗风险能力[3]。

目前,许多机器学习算法与深度学习模型已经被应用于入侵检测相关研究中,文献[4]提出了一种基于DBN(深度置信网络)和PNN(概率神经网络)的入侵检测方法,利用神经网络的非线性特性优化了原始数据的重要特征;文献[5]通过建立多分类器模型,采用改进特征工程方法对不同类型的数据进行分析,最终针对某种类型分类效果最佳的分类器分步完成入侵检测;文献[6]基于分布式RF(随机森林)研究一种实时处理高速网络流量的入侵检测方法。这些研究均基于数据量足够充分的公共数据集训练入侵检测模型因而能取得极高的检测准确率。若直接在电力工控系统环境下训练入侵检测模型,现有的方法是在仿真系统中进行恶意攻击实验,再采集数据进行训练。文献[7]提出方法基于OCSVM(单类支持向量机),将网络入侵检测问题看成是一种二分类问题,能有效检测出系统实时交互中的异常数据;文献[8]模拟了电力工控系统三种潜在的恶意攻击场景,分别采用神经网络训练了对应的检测模型,且依靠关联规则实现了对特定攻击场景的差异化辨识。文献[9]基于互信息选取攻击特征再使用集成多个SVM(支持向量机)的分类器对电力信息网络不同类型的恶意攻击行为进行了检测识别。由于实施恶意攻击实验的复杂性,往往可获取的数据量有限,且无法覆盖所有典型的攻击类别,因而上述研究中检测的准确率和泛化能力均存在较大的提升空间。

基于上述分析可知,将入侵检测应用于实际的电力工控系统时会存在两大难点:一是完全基于公共数据集训练的入侵检测模型并不完全切合电力工控系统的实际环境;二是在实际环境下可获取的恶意攻击数据往往是不充分、样本量较小的,由此训练的入侵检测模型往往泛化能力较差且有大概率对未知类型的恶意攻击失效。

因此,本文提出一种基于特征抽取的电力工控系统入侵检测方法,该方法通过堆叠稀疏自编码器抽取入侵数据的抽象特征,再基于SVM 分类器实现入侵检测。在训练过程中该方法采用迁移学习策略将从公共数据集中习得的特征抽取能力迁移至电力工控系统的具体环境,改善了数据量不足的问题,从而增强了面向实际环境时入侵检测模型的泛化能力,提升了对恶意攻击的辨识准确率。

1 背景知识

1.1 迁移学习策略

深度学习的效果依赖于数据资源的质量,而在某些实际应用场景下由于安全、隐私等因素很难获得足够充分的训练数据,这将削弱模型的泛化能力。而通过迁移学习的策略,可以在此类数据资源匮乏的情况下提升模型的质量[10]。

迁移学习涉及到两个基本的概念:源域和目标域。其中,源域是指具有大量且充分的训练数据的领域,源域对应任务称为源任务;而目标域则是缺少数据资源的领域,且目标任务是最终需要被实现的任务。迁移学习的过程就是将源域内有价值的知识迁移至目标域,求解目标域中目标预测函数,即建立目标域模型以完成目标任务。因此,迁移学习的优点是利用已有的数据资源,解决相关情境下的类似问题,从而实现知识的领域自适应。

预训练与微调是经典的迁移学习方法[11],其一般包含三步:

(1)基于源域数据集训练源模型,以完成源任务。

(2)将源模型内的部分参数冻结并迁移至目标域模型中,对目标域模型的剩余参数随机初始化。

(3)基于目标域数据集训练目标域模型,在训练过程中对迁移的参数进行微调,对随机初始化的参数进行再训练,最终适应目标任务。

预训练旨在通过海量的源域数据资源训练源模型的特征抽取能力,再通过参数迁移使目标模型获得这种能力;而微调基于目标域内较少的数据资源对目标模型进行小范围的调整,以针对性地适应新的目标任务。

1.2 基于稀疏自编码器的特征抽取

预训练-微调方法的核心是通过参数迁移使得目标域模型获得泛化能力足够优秀的特征抽取能力[12]。SAE(稀疏自编码器)被看成是一类具有特征抽取能力的特殊神经网络,可以被应用于迁移学习中[13]。稀疏自编码器的输出层被设计为尽可能地对输入数据进行重构,如图1 所示,即=xi,从而使得隐藏层较低维度的神经元能够代替高维的输入层神经元,实现特征的压缩与抽取。

图1 稀疏自编码器

稀疏自编码器以优化损失函数J 为目标,通过反向传播算法寻找权重矩阵W∈RK×N,V∈RN×K以及偏置向量b1∈RK×1,b2∈RN×1的最优解:

式中:第一项为重构项,其实质上是输入数据与输出数据间的均方误差;第二项是以λ 为参数的权重及偏置衰减项,其实质是权重矩阵和偏置向量L2 范数的正则化,权重及偏置衰减项能有效降低训练中可能会出现的过拟合;最后一项是以β 为参数的稀疏惩罚因子,该项将约束条件置于隐藏层以维持其较低的平均活跃度,稀疏惩罚因子以KL 散度的形式表示[14]:

当求解获得参数W 和b1的最优值后,即获得了对输入数据的特征抽取hW,b(x)。

2 基于堆叠自编码器的电力工控系统入侵检测模型

2.1 数据集分析

NSL-KDD 标准数据集是网络入侵检测领域常用的数据集,其涵盖了四大网络恶意攻击类别:

(1)DOS:拒绝服务攻击。

(2)Probe:黑客扫描漏洞以确定漏洞。

(3)U2R:远程黑客试图获得本地用户权限。

(4)R2L:黑客以普通用户的身份运行并利用漏洞[15]。

NSL-KDD 数据集包含数据量庞大且带标签的网络流量记录,每条记录的特征包括连接持续时间、协议类型、目标主机的网络服务类型、交换数据字节数等;标签分为正常情况以及四大类网络攻击模式下的23 种具体攻击形式[16]。由于NSL-KDD 数据集资源充足,因此可以将其作为源域数据集。

对于目标域即电力工控系统环境而言,目前尚无针对此收集的网络入侵数据集,相关研究所用数据一般由网络攻击机向电力工控仿真系统发起恶意攻击,再通过抓取系统实时交互的数据包获得[6-7]。考虑到电力工控系统数据交互的特点,在目标域中还可能存在分布式数据篡改与伪造控制指令两类尚未包含在NSL-KDD 数据集中的恶意攻击类型。所谓分布式数据篡改主要是针对用户侧分布式的网荷互动终端,通过篡改其上传的数据,使系统发生误判而引起一系列事故;而伪造控制指令攻击主要是捕获网荷互动终端的报文,对其进行解析,获取控制指令,进而篡改指令,使终端拒动或误动,引发事故。

目标域与源域数据数据记录中存在数值型与字符型两类特征属性。因此,需要对源域与目标域异构的数据记录进行预处理。在对源域与目标域特征属性进筛选后,采用向高维空间映射的方法进行字符型特征的数值化处理,字符型特征协议标识符含有3 种类型:tcp,udp 和icmp,将其分别映射成[1,0,0],[0,1,0]和[0,0,1]。其余的字符型特征包括业务标识符、功能码等均通过此方式进行数值化,将原本的数据特征拓展至高维。接着,对于数值型特征进行归一化处理以消除各特征之间量纲不统一造成的影响。

2.2 基于堆叠自编码器的入侵检测模型

SSAE(堆叠稀疏自编码器)是稀疏自编码器深度化的扩展模式,深度神经网络的优势在于其能逐层学习原始输入数据的多种特征表达方式,且每一层都以上一层的特征表达为基础,逐层更为抽象[17]。由1.2 节可知,单个稀疏自编码器通过构造输入层—隐藏层—输出层的三层网络(型如)并在此基础上经训练对输入数据进行重构以获得隐藏层激活值,从而抽取出输入数据x的特征表达h,其中向量x 和的长度为m,向量h 的长度为n(n<m)。如图2 所示,在堆叠稀疏自编码器的结构中多个稀疏自编码器依次串联,上一层抽取的特征表达将作为下一层的输入。

图2 堆叠自稀疏编码器结构

堆叠稀疏自编码器的训练过程与普通的深度神经网络不同,其各层神经网络的权重与偏置参数并非通过反向传播算法一并优化训练完成,而是采用逐层非监督训练的方式进行。首先训练网络,得到第一个稀疏自编码器的隐藏层激活值h1,再训练网络h1→h2→h1,得到第二个稀疏自编码器的隐藏层激活值h2,以此类推,最终训练得到h1至hn并以此作为由堆叠稀疏自编码器抽取出的特征表达。

结合堆叠稀疏自编码器与迁移学习策略,本文构建的入侵检测模型及其训练过程见图3。

由图3 可知,模型训练所用的数据来自于源域与目标域,其数据资源分别对应NSL-KDD 数据集和经由电力工控仿真系统采集的实验数据。源域所需执行的任务是通过对NSL-KDD 数据集内海量数据资源的无监督训练习得对网络恶意攻击的特征抽取能力。因此,在源域内构建深度为的堆叠稀疏自编码器,并连接与输入层同维度的神经网络层作为输出,通过逐层非监督预训练的方式训练各层参数,当模型收敛后堆叠稀疏自编码器各隐藏层神经元激活值即为对网络恶意攻击数据记录不同抽象程度的特征表达。

图3 入侵检测模型及其训练过程

目标域内所需执行的任务是训练适用于电力工控系统的入侵检测模型。在目标域内构建检测模型,其以两个串联的堆叠稀疏自编码器作为隐藏层,并以SVM 分类器作为输出层。在模型初始化的过程中,将源域内前层的神经网络参数迁移至目标域堆叠稀疏自编码器B(SSAE-B),再对堆叠稀疏自编码器T(SSAE-T)以及SVM 分类器的参数进行随机初始化。在训练时,应以较低的学习率对SSAE-B 的参数进行微调以保持模型的特征抽取能力;而应将主要的计算资源用于对SSAE-T 以及SVM 分类器的参数进行训练,从而使模型更适用于实际电力工控系统的入侵检测任务。

3 实验与分析

3.1 评价指标

为了评价网络入侵检测系统的检测的效果,采用的评价指标包括精确率PR、召回率RE和误报率FAR。精确率表示所有被检测为恶意攻击的样本中实际发生的样本的占比,其衡量网络入侵检测模型能否检测准确的能力;召回率表示检测为恶意攻击的样本数占所有实际恶意攻击样本总数的比例,其衡量网络入侵检测模型能否检测全面的能力;误报率表示被错误检测为恶意攻击的样本占所有正常样本的比例,其衡量网络入侵检测模型犯错的概率。各指标的计算方法分别如式(4)—(6)所示:

式中:TP为被正确检测出的恶意攻击数;FP为被错误检测的恶意攻击数;FN则对应未被系统检测出的恶意入侵,出于安全稳定的因素考虑,与FN有关的指标是入侵检测系统更为关心的。

3.2 实验过程与结果

本文用于训练模型的网络入侵数据来自源域和目标域,其中源域数据来自NSL-KDD 数据集的子数据集KDDTrain+,而目标域数据集则通过构建网络入侵仿真试验平台进行采集。

用于模拟网络攻击的仿真试验平台由网络仿真技术软件OPNET、网络通信仿真系统、电力工控系统OPAL-RT、路由器、网络攻击机、流量监测软件组成的。网络通信仿真系统与电力工控系统通过路由器相连,而网络攻击机则直接接入路由器向电力工控系统发起攻击;由流量监测软件snort 运行于数据包记录模式抓取系统实时交互的数据包至硬盘,再通过与网络攻击机时戳对齐的方式获取带标签的目标域数据集。网络攻击机发起的恶意入侵不仅涵盖了NSL-KDD 数据集中的四大类攻击类型还包括了电力工控系统环境特有的分布式数据篡改与伪造控制指令两类攻击类型。实验将目标域数据集划分为训练集与测试集两部分,各数据集的构成情况如表1 所示。

表1 源域与目标域数据集记录分布 条

采用型号为Intel i5-8550 2.6GHz,16G RAM的计算机训练适用于电力工控系统入侵检测模型,该模型基于Tensorflow 和Keras 搭建。

首先基于源域数据集对堆叠稀疏自编码器进行无监督训练,使其获得对数据样本的特征抽取能力。接着将源域模型前3 层的神经网络参数迁移至目标域SSAE-B,再基于目标域训练集对SSAE-T 和SVM 分类器进行有监督训练,在训练过程中以较低的学习率对SSAE-B 经迁移获得的参数进行微调,最终获得在训练过程中引入迁移学习策略的入侵检测模型TL-IDS。模型参数以及训练过程中的参数设置如表2 所示。入侵检测模型的训练结果如图4 所示。

表2 入侵检测模型中堆叠自编码器结构的参数设置

图4 入侵检测模型的训练结果

为了评估在训练过程中引入的迁移学习策略对提升电力工控系统环境下入侵检测系统检测能力的整体效果,算例将在略去迁移学习策略的情况下基于目标域训练集直接训练与TL-IDS 模型在结构上保持一致的NTL-IDS 模型,并将两模型基于相同的目标域测试集进行比对测试,如表3 所示。

表3 入侵检测模型在训练与测试集上的表现 %

由表3 可知,就训练集而言,NTL-IDS 模型与TL-IDS 模型的表现相近,均具有较好的入侵检测能力,这说明由堆叠稀疏自编码器和SVM分类器构成的入侵检测模型结构在训练集上均能收敛。在测试集上,NTL-IDS 模型的性能较训练集下降,而TL-IDS 模型依然能保持与训练集相似的表现,且TL-IDS 模型在精确率与召回率上分别就NTL-IDS 模型提升了10.68%和11.23%,误报率下降了8.11%。

对NTL-IDS 模型与TL-IDS 模型在目标域测试集上进一步精细探究,以评估对目标域特有恶意攻击行为的检测表现,其结果如表4 所示。

表4 模型对测试集上各类恶意攻击的检测表现 %

由表4 可知,在目标域测试集上,TL-IDS 模型相比于NTL-IDS 模型而言,对各类恶意攻击的检测能力均有提升,其中Dat 与Foc 属于目标域独有的恶意攻击类型,其检测精确率分别提升31.52%和27.73%,检测召回率分别提升25.03%和20.69%,其幅度大于DOS,Probe,U2L 和R2L这4 类源域与目标域数据集中共有的攻击类型。

上述结果说明TL-IDS 比NTL-IDS 模型具有更强的泛化能力,源域模型靠近输入层的神经元在源域数据集上习得的特征抽取能力有助于提升目标域模型在实际场景下的入侵检测效果,对目标域独有的入侵类型提升效果更为明显。

一般而言,从源域模型迁移的神经网络层数是根据经验设置的,若层数过浅有可能导致无法充分抽取数据的深层抽象特征;若层数过深则有可能削弱迁移后模型的泛化能力。为了进一步分析迁移学习策略中堆叠稀疏自编码器特征抽取的抽象程度对提升检测能力效果的影响,算例将在保持TL-IDS 模型整体深度的条件下,调整从源域迁移至SSAE-B 的网络层数,并在目标域测试集上进行多次试验,得到的结果如图5 所示。

由图5 可知,当仅迁移1 层神经网络参数至目标域检测模型时,各指标与未引入迁移学习策略时模型的表现(见表3)接近,此时从源域抽取的数据特征较为具象,对检测结果并无显著提高;随着参数迁移的神经网络层数的增加,模型的检测性能逐步提高,当迁移3-4 层神经元参数时,模型检测结果在三个评价指标上均有较显著的提升,该结果表明从源域迁移更为抽象的数据特征有助于提升模型的泛化能力;但当迁移的神经网络层数增加至5 时,各指标出现了较大程度的下降,这是因为在深度不变的条件下,此时迁移的数据特征过于抽象而可用于目标域分类的神经网络层数过少,影响了模型在恶意攻击分类上的训练效果。

图5 迁移不同层数的神经网络时模型的检测结果

最后,比较TL-IDS 模型与NTL-IDS 模型在模型训练阶段与测试阶段所占用的时间,以评估其在两阶段的效率。图6 表明两模型在训练阶段基于相同的目标域测试集数据对于总计100 个训练周期的平均训练时间以及两模型基于相同目标域测试集的测试时间。

图6 模型训练及测试所耗时间

就训练阶段而言,TL-IDS 模型的平均训练时间为43.6 s,而NTL-IDS 模型为73.2 s。这是由于TL-IDS 模型在基于目标域训练集进行训练前已通过迁移学习策略进行了参数迁移,模型无需从零初始化学习样本特征,因此即使其以更低的学习率进行训练,其平均训练时间也远小于直接基于目标域训练集进行训练的NTL-IDS 模型。而对于测试阶段,由于两模型结构设计相同即拥有相同的参数个数,因此其测试时间接近。

4 结语

现有的基于机器学习算法、深度学习模型开发的入侵检测模型应用于实际的电力工控环境时会存在两大难点:一是模型对实际环境的可移植性差;二是缺少实际环境下可用于训练数据样本。针对此,本文提出一种特征抽取的电力工控系统入侵检测模型并在其训练过程中引入迁移学习策略。算例对比了引入迁移学习策略前后入侵检测模型对于电力工控环境下测试数据的检测效果,得到结论如下:

(1)利用堆叠稀疏自编码器从海量公共数据集中抽取数据的抽象特征并在训练过程中引入迁移学习策略,有助于提升实际环境数据不足情况下入侵检测模型的表现,对于实际环境下特有的恶意入侵类型效果更为显著。

(2)增加迁移的源域隐藏层神经网络深度,抽取更抽象的数据特征有利于提升目标域检测模型的泛化能力。

(3)引入迁移学习策略获得的模型对于目标域测试集有更高的训练效率,因此该训练方法更适用于实际的入侵检测环境。

猜你喜欢
源域工控编码器
基于参数字典的多源域自适应学习算法
基于FPGA的同步机轴角编码器
工控速派 一个工控技术服务的江湖
工控速浱 一个工控技术服务的江湖
应用旋转磁场编码器实现角度测量
热点追踪 工控安全低调而不失重要
基于攻击图的工控系统脆弱性量化方法
JESD204B接口协议中的8B10B编码器设计
可迁移测度准则下的协变量偏移修正多源集成方法
多总线式光电编码器的设计与应用