«上一篇 下一篇»
  计算机工程  2020, Vol. 46 Issue (9): 136-142, 148  DOI: 10.19678/j.issn.1000-3428.0055752
0

引用本文  

刘菲菲, 伍忠东, 丁龙斌, 等. 基于改进在线序列极限学习机的AMI入侵检测算法[J]. 计算机工程, 2020, 46(9), 136-142, 148. DOI: 10.19678/j.issn.1000-3428.0055752.
LIU Feifei, WU Zhongdong, DING Longbin, et al. Intrusion Detection Algorithm for AMI Based on Improved Online Sequential Extreme Learning Machine[J]. Computer Engineering, 2020, 46(9), 136-142, 148. DOI: 10.19678/j.issn.1000-3428.0055752.

基金项目

甘肃省高等学校创新团队项目(2017C-09);兰州市科技局科技项目(2018-1-51)

作者简介

刘菲菲(1995-), 女, 硕士研究生, 主研方向为信息与网络安全;
伍忠东, 教授;
丁龙斌, 硕士研究生;
张凯, 硕士研究生

文章历史

收稿日期:2019-08-16
修回日期:2019-10-11
基于改进在线序列极限学习机的AMI入侵检测算法
刘菲菲 , 伍忠东 , 丁龙斌 , 张凯     
兰州交通大学 电子与信息工程学院, 兰州 730070
摘要:针对智能电网高级量测体系(AMI)与计算机网络互联通信中存在的安全威胁,提出一种基于改进在线序列简化极核极限学习机(DBN-OS-RKELM)的AMI入侵检测算法。将采集到的历史网络日志数据通过深度信念网络进行重要特征提取,并在特征学习过程中实现高维数据的低维表示以减少冗余特征,同时将当前新到达的网络日志数据添加到DBN-OS-RKELM网络中进行输出权重的实时更新,从而完成AMI入侵检测的分类。实验结果表明,与基于极限学习机和在线序列极限学习机等的入侵检测算法相比,基于DBN-OS-RKELM的入侵检测算法具有更好的泛化能力与更快的学习速率,且提高了入侵检测准确率。
关键词高级量测体系    深度信念网络    极限学习机    在线学习    入侵检测    
Intrusion Detection Algorithm for AMI Based on Improved Online Sequential Extreme Learning Machine
LIU Feifei , WU Zhongdong , DING Longbin , ZHANG Kai     
School of Electronic and Information Engineering, Lanzhou Jiaotong University, Lanzhou 730070, China
Abstract: To address the security threats in the communication between computer network and the Advanced Metering Infrastructure(AMI) for smart grid, this paper proposes an improved intrusion detection algorithm for AMI based on DBN-OS-RKELM.This algorithm uses Deep Belief Network(DBN) to extract the main features of collected historical network log data, and presents the high-dimensional data in a low-dimensional form during the feature learning to reduce redundant features.Then the newly arrived network log data is added to DBN-OS-RKELM to update the output weight in real time, so as to complete the classification of intrusion detection for AMI.Experimental results show that compared with intrusion detection algorithms based on Extreme Learning Machine(ELM), Online Sequential Extreme Learning Machine(OS-ELM) and so on, the proposed intrusion detection algorithm based on DBN-OS-RKELM has a better generalization ability and faster learning rate, and improves the accuracy of intrusion detection.
Key words: Advanced Metering Infrastructure(AMI)    Deep Belief Network(DBN)    Extreme Learning Machine(ELM)    online learning    intrusion detection    
0 概述

随着电力工业和信息化技术的发展, 智能电网成为未来电网的发展方向。智能电网是以电力和信息双向流动为特征的网络。高级量测体系(Advanced Metering Infrastructure, AMI)作为智能电网的核心组件通过与计算机网络互连, 实现电力数据的双向通信。因为AMI系统存储资源有限, 而传统入侵检测方法部署成本高, 所以网络安全防护能力低, 容易受到攻击。一旦AMI被攻击利用, 用户用电、控制数据、电价等信息就会被窃取, 干扰电网正常运行, 因此AMI网络的安全研究具有重要的现实意义。

为保证AMI系统安全, NIST提出关于信息安全的研究报告[1]。目前, 针对AMI的入侵检测方法多数基于协议规范、安全需求和安全策略。文献[2]针对AMI提出一种基于规则的入侵检测系统, 但此系统需要部署传感器网络, 成本较高。文献[3]提出基于数据挖掘的AMI入侵检测系统, 但需要在智能电表和收集器等系统中进行安装。随着机器学习技术的发展, 基于机器学习的入侵检测研究不断被提出。文献[4]利用支持向量机(Support Vector Machine, SVM)与人工免疫系统(Artificial Immune System, AIS)对恶意数据和可能的网络攻击进行检测与分类, 解决了分布式拒绝服务(Distributed Denial of Service, DDoS)攻击AMI网络的问题。文献[5]在AMI网络中引入蜜罐作为诱饵系统来检测和收集攻击信息。文献[6]针对AMI提出一种基于数据流挖掘的入侵检测系统, 并对其性能进行分析。文献[7]基于1/4超球体的单类支持向量机对AMI节点信任值的序列异常进行检测。文献[8]针对AMI异常用电检测, 提出K-means算法与PSO-SVM相结合的无监督分类算法。但SVM仅针对小样本分类具有较好的分类效果, 当面对AMI系统中存储资源有限、采集数据量大和数据实时更新的情况时, SVM的分类效果并不理想。文献[9]使用在线序列极限学习机(Online Sequential Extreme Learning Machine, OS-ELM)对AMI系统进行入侵检测, 通过数据样本分批学习的方法, 当新数据到达时删除旧数据, 从而降低训练时间, 减少AMI存储资源占用。OS-ELM为AMI入侵检测提供了一种新的解决方法。

可见, 在OS-ELM算法中的学习参数需随机设定, 且OS-ELM算法容易出现过拟合问题, 影响检测准确率。另外, 当OS-ELM算法面对海量数据时, 由于数据特征过多, 既无法保证重要特征的提取, 又会增加训练时间, 因此本文提出一种基于改进在线序列简化极核极限学习机(DBN-OS-RKELM)的AMI入侵检测算法。

1 DBN-OS-RKELM算法

本文提出的基于DBN-OS-RKELM的入侵检测算法整体框架如图 1所示, 主要包括3个步骤:

Download:
图 1 DBN-OS-RKELM算法整体框架 Fig. 1 Overall framework of DBN-OS-RKELM algorithm

1) 数据预处理。将NSL-KDD数据集中的符号特征数据转换为二进制数据, 再归一化至[0, 1]。

2) 深度信念网络(Deep Belief Network, DBN)特征提取。无监督受限玻尔兹曼机(Restricted Boltzmann Machine, RBM)对标准化数据集进行预训练, 应用反向传播(Back Propagation, BP)算法进行全局微调, 得到降维后的特征向量。

3) OS-RKELM分类器。建立训练网络, 在添加数据的过程中实时更新输出权重并对攻击进行分类。

1.1 数据预处理

原始数据集NSL-KDD中存在多种类型的数据, 因此在网络训练前需对数据进行预处理, 将数据类型统一为网络可识别类型, 从而降低网络训练复杂度并提高训练效果。

1.2 基于DBN的特征提取

DBN是由多层无监督RBM网络和一层有监督BP网络组成的深层神经网络[10]。DBN相较于传统神经网络, 既提高了提取重要特征的能力, 又解决了训练速度慢的问题, 同时避免因随机初始化权值参数而陷入局部最优的问题。因此, 本文采用DBN进行数据特征提取。整个DBN训练过程分为预训练和权值微调。DBN结构如图 2所示, 首先RBM逐层堆叠, 将原始数据输入最底层RBM进行训练, 将抽取的特征作为下一层RBM的输入进行训练, 重复训练直至迭代到最大迭代次数, 将底层特征向高层特征转化。在学习过程中, RBM降低至原始数据的维数, 既保留了数据的主要特征, 又降低了冗余特征。然后利用BP算法将错误信息自顶向下传播至每一层RBM, 并对RBM进行微调降低误差。

Download:
图 2 DBN结构 Fig. 2 DBN structure
1.2.1 RBM网络预训练

RBM是一个两层神经网络, 分别包括可视单元(v)和隐藏单元(h), 可视单元表示输入数据特征。RBM每层之间为全连接, 同层单元之间互不相连, RBM结构如图 3所示。其中, vi代表第i个可视单元的状态, hj表示第j个隐藏层单元的状态, wij是可视单元i和隐藏层单元j之间的权重, ai为可视层单元i的偏置, bj为隐藏层单元j的偏置。在预训练过程中, 使用贪婪无监督方法对RBM进行逐层训练, 使用激活函数sigmoid计算可视层与隐藏层间的概率取值。RBM预训练过程的目标是求解出RBM模型中的参数θ, 通常采用梯度下降法求解所有样本的梯度和, 但由于本文采用数据集的特征向量过多且计算量大, 因此使用基于Gibbs采样的对比散度方法求解更新后的参数θ

Download:
图 3 RBM结构 Fig. 3 RBM structure

RBM采用对比散度方法进行网络预训练的过程[11]具体如下:

输入 可视层变量(v1, v2, …, vm)、学习率ε

输出  RBM参数θ={W, a, b}

步骤1 将输入的可视层变量(v1, v2, …, vm)赋值给v0

步骤2 根据$p\left(\boldsymbol{h}_{j}=1 \mid \boldsymbol{v}\right)=\sigma\left(\sum\limits_{i} \boldsymbol{w}_{i j} \boldsymbol{v}_{i}+\boldsymbol{a}_{i}\right)$求解每个隐含层单元的特征向量hj(t)

步骤3 根据$p\left(\boldsymbol{v}_{i}=1 \mid \boldsymbol{h}\right)=\sigma\left(\sum\limits_{j} \boldsymbol{w}_{i j} \boldsymbol{h}_{j}+\boldsymbol{b}_{j}\right)$求解每一个可视层单元的特征向量vi(t+1)

步骤4 求解$\frac{\partial \ln p(\boldsymbol{v}, \boldsymbol{h}: \theta)}{\partial \theta}=\left\langle\boldsymbol{v}_{i}^{0}, \boldsymbol{h}_{j}^{0}\right\rangle-\left\langle\boldsymbol{v}_{i}^{\infty}, \boldsymbol{h}_{j}^{\infty}\right\rangle$得到RBM最大联合概率分布并更新RBM参数θ

步骤5 根据模型更新规则得到θt+1=θt+$\varepsilon \frac{\partial \ln p(\boldsymbol{v}, \boldsymbol{h})}{\partial \theta}$

1.2.2 BP权值微调过程

在RBM预训练过程中, 每一层RBM网络只能保证权值对本层特征向量映射达到最优, 并不能保证对整个DBN特征向量提取达到最优, 因此本文基于BP算法利用少量带标签数据自顶向下有监督训练DBN模型[12]。BP算法在权值微调过程中, 将错误信息自顶向下传递至每一层RBM, 计算样本实际输出值与期望标签的误差值, 并将最大似然函数作为目标函数, 调整各层权重, 避免DBN陷入局部最优, 改善神经网络收敛时间长的问题, 使DBN模型达到最优解, 得到微调后的参数θ。BP权值微调过程具体如下:

输入  训练样本(v1, v2, …, vm), 预训练得到θ={W, a, b}, 学习率ε

输出 微调后参数θ={W, a, b}

步骤1 对于vi的所有输出单元οi, 根据ξi=oi(1-oi)(eioi)求解其误差梯度ξi(ei为期望输出)。

步骤2 对于所有隐含层单元, 根据ej=oi(1-oi)$\sum\limits_{i}{{{\theta }_{ij}}}{{\mathrm{e}}_{i}}$求解其梯度误差ej

步骤3 更新模型参数θ, θjit+1=θjit+εθj

1.2.3 网络深度确定

根据Hinton思想, DBN网络层数的增加能够获得更贴近样本本身的特征向量, 对分类结果影响显著, 但深度选择是个困难的过程, 为此本文采用根据互相关系数确定网络深度的方法。计算各隐含层输出样本间的互相关系数, 并取互相关系数达到稳定时的网络深度[13]。当使用两类样本时, 隐含层输出分别用h1=hj(1)h2=hj(2)表示, 互相关系数表达式为:

$ \rho = \frac{{\sum {{\mathit{\boldsymbol{h}}_1}} {\mathit{\boldsymbol{h}}_2}}}{{\sqrt {\mathit{\boldsymbol{h}}_1^2\mathit{\boldsymbol{h}}_2^2} }} $ (1)

根据文献[13]可知, 随着网络深度的增加, 不相关部分被弱化, 不同类样本间的相关系数不断减小, 直至相关系数为-1.00时达到DBN最佳分类状态, 既保证了检测效果, 又减少了训练时间, 如图 4所示。本文从训练集随机抽取10 000条正常数据与攻击数据确定DBN网络深度, 可以看出当隐含层层数为4时, 互相关系数接近-1.00, 之后一直趋于稳定, 表明4层隐含层为最优深度, 因此本文DBN的隐含层层数设置为4。

Download:
图 4 互相关系数与隐含层层数的关系 Fig. 4 The relationship between the correlation coefficient and the number of hidden layers
1.3 OS-RKELM分类器 1.3.1 基于OS-ELM的在线学习

神经网络学习模型包括批量学习和在线学习两种模式, 极限学习机(Extreme Learning Machine, ELM)作为批量学习模型[14], 将所有训练数据一次性投入到模型中, 这种模式需要的时间较多且效果不理想。因此, OS-ELM算法将训练数据以数据块的形式按时序分批次投入到网络中进行学习。在新数据到达时, 删除已经学习过的数据, 既减少了训练时间, 又避免了重复训练。因此, OS-ELM算法符合AMI入侵检测的需求[15]

在OS-ELM算法中, 给定N个入侵检测学习样本Ω=(xi, ti), i=1, 2, …, N0, xi${{\mathbb{R}}^{m}}$为输入攻击特征信息, ti${{\mathbb{R}}^{n}}$为样本理想化识别输出。输入层个数为n, 隐藏层个数为L[16]。网络输出可以表示为:

$ {f_L} = \sum\limits_{i = 1}^L {{\mathit{\boldsymbol{\beta }}_i}} {g_i}({\mathit{\boldsymbol{a}}_i},{\mathit{\boldsymbol{b}}_i},{\mathit{\boldsymbol{x}}_j}) = {\mathit{\boldsymbol{t}}_i} $ (2)

在求解过程中, 若隐层节点个数与输入样本点个数N相等时, 即L=N, 则输出矩阵H的横纵数目相同, 为一个方阵$\hat{\boldsymbol{\beta}}$=H-1T。若隐层节点个数L远小于输入样本点个数N, 即L << N, 则不是一个方阵。此时, 需要引入最小二乘和穆尔广义逆求解=T得到$\hat{\boldsymbol{\beta}}$=H+T, 其中H+为输出矩阵H的广义逆。

在线学习过程中将数据集进行分块, 输入第一块样本集Ω0={(xi, ti)}i=1N0, 根据$\hat{\boldsymbol{\beta}}$=H+T求解原始输出权重(如式(3)所示), 其中P0=HTH, T0=(t1, t2, …, tN0)T, 并添加下一时刻数据集Ω1={(xi, ti)}N0+N1i=N0+1, 其中N1是新时刻到来的数据集样本数量, 此时更新对应权值(如式(4)所示)。

$ {{\mathit{\boldsymbol{\beta }}^0} = \mathit{\boldsymbol{P}}_0^{ - 1}\mathit{\boldsymbol{H}}_0^{\rm{T}}{\mathit{\boldsymbol{T}}_0}} $ (3)
$ {{\mathit{\boldsymbol{\beta }}^{(1)}} = \mathit{\boldsymbol{P}}_1^{ - 1}{{\left[ {\begin{array}{*{20}{l}} \mathit{\boldsymbol{H}}\\ {{\mathit{\boldsymbol{H}}_1}} \end{array}} \right]}^{\rm{T}}}\left[ {\begin{array}{*{20}{l}} \mathit{\boldsymbol{T}}\\ {{\mathit{\boldsymbol{T}}_1}} \end{array}} \right]} $ (4)

由文献[14]可知:

$ {\mathit{\boldsymbol{\beta }}^{(1)}} = {\mathit{\boldsymbol{\beta }}^{(0)}} + \mathit{\boldsymbol{P}}_1^{ - 1}\mathit{\boldsymbol{H}}_1^{\rm{T}}({\mathit{\boldsymbol{T}}_1} - {\mathit{\boldsymbol{H}}_1}{\mathit{\boldsymbol{\beta }}^{(0)}}) $ (5)

按照这一规律不断更新, 加入新数据并删除旧数据。当第K+1批数据到来时, 得到此时的输出权重为:

$ {\mathit{\boldsymbol{\beta }}^{(K)}} = {\mathit{\boldsymbol{\beta }}^{(K - 1)}} + \mathit{\boldsymbol{P}}_{K + 1}^{ - 1}\mathit{\boldsymbol{H}}_{K + 1}^K({\mathit{\boldsymbol{T}}_{K + 1}} - {\mathit{\boldsymbol{H}}_{K + 1}}{\mathit{\boldsymbol{\beta }}^{(K)}}) $ (6)

其中, P1=PK+HK+1THK+1。当N0=N时, OS-ELM算法等价于原始ELM算法[9]

1.3.2 基于OS-RKELM的在线学习

在训练过程中, OS-ELM算法只有当HHT为非奇异矩阵时, 才可以求解隐含层权值矩阵, 而在线学习过程中, 添加的样本总会出现新旧样本过于相似的问题, 导致HHT出现奇异现象, 使训练结果过拟合, 影响最终检测准确率。另外, OS-ELM算法的输入权值和偏置都为随机设定, 泛化能力转弱, 对入侵检测结果影响显著。OS-RKELM是一种基于核函数的快速在线分类算法, 其能够以块-块的形式分批分类, 通过正则化克服OS-ELM算法过拟合问题。与OS-ELM算法不同, OS-RKELM不限制初始训练数据集大小[17], 在任何初始训练数据集下均可保持稳定的学习性能, 同时加入核函数能够减少随机参数设定对检测准确率的影响。可见, OS-RKELM算法具有更快的学习速率和更少的参数, 不仅能够解决OS-ELM算法存在的上述问题[18], 而且满足AMI入侵检测的需求。

在OS-ELM算法的基础上加入正则化, 正则化是对最小经验误差函数加上约束条件, 对误差函数起到引导作用, 减小解空间, 使得参数达到最优解, 具体计算公式如下:

$ \left\{ {\begin{array}{*{20}{l}} {{\rm{ Minimize }}\frac{1}{2}{{\left\| \mathit{\boldsymbol{\beta }} \right\|}^2} + \frac{C}{2}{{\left\| \mathit{\boldsymbol{\varepsilon }} \right\|}^2}}\\ {{\rm{ Subject }}\;\mathit{\boldsymbol{H\beta }} = \mathit{\boldsymbol{T}} - \varepsilon } \end{array}} \right. $ (7)

其中, ε为实际输出与理想输出间的误差, C为惩罚系数。根据KKT条件, 将约束优化式(7)转化为双重优化问题, 即:

$ {L_\varepsilon } = \frac{1}{2}{\left\| \mathit{\boldsymbol{\beta }} \right\|^2} + \frac{C}{2}{\left\| \mathit{\boldsymbol{\beta }} \right\|^2} - a(\varepsilon - \mathit{\boldsymbol{T}} + \mathit{\boldsymbol{H\beta }}) $ (8)

HTH非奇异时, $\boldsymbol{\beta}=\boldsymbol{H}^{\mathrm{T}}\left(\frac{\boldsymbol{I}}{C}+\boldsymbol{H}^{\mathrm{T}} \boldsymbol{H}\right)^{-1} \boldsymbol{T}$, 当HTH奇异时, $\boldsymbol{\beta}=\boldsymbol{H}^{\mathrm{T}}\left(\frac{\boldsymbol{I}}{C}+\boldsymbol{H}^{\mathrm{T}} \boldsymbol{H}\right)^{-1} \boldsymbol{T}$HTT, 其中I为单位矩阵。

由于网络模型对学习参数进行随机赋值, 使得分类结果的泛化能力不理想, 因此本文利用核函数将学习样本映射到高维空间, 提高分类准确性。定义核矩阵和输出函数如式(9)和式(10)所示:

$ {\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}_{{\rm{ELM}}}} = \mathit{\boldsymbol{H}}{\mathit{\boldsymbol{H}}^{\rm{T}}} = \mathit{\boldsymbol{h}}({x_i})\mathit{\boldsymbol{h}}({x_i}) = \kappa ({x_i},{x_i}) $ (9)
$ \begin{array}{*{20}{c}} {{f_L} = \left[ {\begin{array}{*{20}{c}} {\kappa (\mathit{\boldsymbol{X}},{\mathit{\boldsymbol{X}}_1})}\\ {\kappa (\mathit{\boldsymbol{X}},{\mathit{\boldsymbol{X}}_2})}\\ \vdots \\ {\kappa (\mathit{\boldsymbol{X}},{\mathit{\boldsymbol{X}}_N})} \end{array}} \right]{{\left( {\frac{\mathit{\boldsymbol{I}}}{C} + {\mathit{\boldsymbol{ \boldsymbol{\varOmega} }}_{{\rm{ELM}}}}} \right)}^{ - 1}}\mathit{\boldsymbol{T}} = }\\ {\sum\limits_{i = 1}^L {{\mathit{\boldsymbol{\beta }}_i}} \kappa (\mathit{\boldsymbol{X}},{\mathit{\boldsymbol{X}}_i}) = {\mathit{\boldsymbol{K}}_L}\mathit{\boldsymbol{\beta }}} \end{array} $ (10)

在核函数的映射关系中, 映射数据样本ΩL={(xi, ti)}i=1NL是从原始输入数据Ω=(xi, ti), i=1, 2, …, n中随机得到。在计算出KL值后加入正则化, 对式(7)进行最优化操作:

$ \left\{ {\begin{array}{*{20}{l}} {{\rm{ Minimize }}\frac{1}{2}{{\left\| \mathit{\boldsymbol{\beta }} \right\|}^2} + \frac{C}{2}{{\left\| \mathit{\boldsymbol{\zeta }} \right\|}^2}}\\ {{\rm{ Subject }}\;\mathit{\boldsymbol{\zeta }} = {\mathit{\boldsymbol{K}}_L}\mathit{\boldsymbol{\beta }}} \end{array}} \right. $ (11)

根据KKT条件对上述约束条件进行求解, 得到:

$ \mathit{\boldsymbol{\beta }} = {\left( {\frac{\mathit{\boldsymbol{I}}}{C} + \mathit{\boldsymbol{K}}_L^{\rm{T}}{\mathit{\boldsymbol{K}}_L}} \right)^{ - 1}}\mathit{\boldsymbol{K}}_L^{\rm{T}}\mathit{\boldsymbol{T}} $ (12)

与OS-ELM相同, OS-RKELM包括初始化与在线学习两个阶段。

1) 初始化阶段

从原始输入数据Ω=(xi, ti), i=1, 2, …, n中选定新训练数据Ω0=(xi, ti), i=1, 2, …, M后进行训练。计算初始阶段的输出层权值β0:

$ {\mathit{\boldsymbol{\beta }}_0} = {\left( {\frac{\mathit{\boldsymbol{I}}}{C} + \mathit{\boldsymbol{K}}_0^{\rm{T}}{\mathit{\boldsymbol{K}}_0}} \right)^{ - 1}}\mathit{\boldsymbol{K}}_0^{\rm{T}}{\mathit{\boldsymbol{T}}_0} $ (13)

2) 在线学习阶段

在更新学习样本后得到新的权值为:

$ {\mathit{\boldsymbol{\beta }}_1} = \mathit{\boldsymbol{G}}_1^{ - 1}{\left[ {\begin{array}{*{20}{l}} {{\mathit{\boldsymbol{K}}_0}}\\ {{\mathit{\boldsymbol{K}}_1}} \end{array}} \right]^{\rm{T}}}\left[ {\begin{array}{*{20}{l}} {{\mathit{\boldsymbol{K}}_0}}\\ {{\mathit{\boldsymbol{K}}_1}} \end{array}} \right] = \frac{\mathit{\boldsymbol{I}}}{C} + \mathit{\boldsymbol{K}}_0^{\rm{T}}{\mathit{\boldsymbol{K}}_0} + \mathit{\boldsymbol{K}}_1^{\rm{T}}{\mathit{\boldsymbol{K}}_1} $ (14)

其中:

$ {{\mathit{\boldsymbol{G}}_1} = \frac{\mathit{\boldsymbol{I}}}{C} + {{\left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{K}}_0}}\\ {{\mathit{\boldsymbol{K}}_1}} \end{array}} \right]}^{\rm{T}}}\left[ {\begin{array}{*{20}{l}} {{\mathit{\boldsymbol{K}}_0}}\\ {{\mathit{\boldsymbol{K}}_1}} \end{array}} \right] = \frac{\mathit{\boldsymbol{I}}}{C} + \mathit{\boldsymbol{K}}_0^{\rm{T}}{\mathit{\boldsymbol{K}}_0} + \mathit{\boldsymbol{K}}_1^{\rm{T}}{\mathit{\boldsymbol{K}}_1}} $ (15)
$ {{\mathit{\boldsymbol{K}}_1} = \kappa ({\mathit{\boldsymbol{X}}_1},{\mathit{\boldsymbol{X}}_M})} $ (16)

求得:

$ {\mathit{\boldsymbol{\beta }}_1} = {\left( {\frac{\mathit{\boldsymbol{I}}}{C} + {{\left[ {\begin{array}{*{20}{l}} {{\mathit{\boldsymbol{K}}_0}}\\ {{\mathit{\boldsymbol{K}}_1}} \end{array}} \right]}^{\rm{T}}}\left[ {\begin{array}{*{20}{l}} {{\mathit{\boldsymbol{K}}_0}}\\ {{\mathit{\boldsymbol{K}}_1}} \end{array}} \right]} \right)^{ - 1}}(\mathit{\boldsymbol{K}}_0^{\rm{T}}{\mathit{\boldsymbol{T}}_0} + \mathit{\boldsymbol{K}}_1^{\rm{T}}{\mathit{\boldsymbol{T}}_1}) $ (17)

当第k+1批数据Ω=(xi, ti), i=k+1, k+2, …, n到达时, 可以得到:

$ {{\mathit{\boldsymbol{G}}_{k + 1}} = {\mathit{\boldsymbol{G}}_\mathit{\boldsymbol{K}}} + \mathit{\boldsymbol{K}}_{k + 1}^{\rm{T}}{\mathit{\boldsymbol{K}}_{z + 1}}} $ (18)
$ {{\mathit{\boldsymbol{\beta }}_{k + 1}} = {\mathit{\boldsymbol{\beta }}_k} + \mathit{\boldsymbol{G}}_{k + 1}^{ - 1}\mathit{\boldsymbol{K}}_{k + 1}^{\rm{T}}({\mathit{\boldsymbol{T}}_{k + 1}} - {\mathit{\boldsymbol{K}}_{k + 1}}{\mathit{\boldsymbol{\beta }}_k})} $ (19)
$ {{\mathit{\boldsymbol{K}}_{k + 1}} = \kappa ({\mathit{\boldsymbol{x}}_{k + 1}},{\mathit{\boldsymbol{x}}_n})} $ (20)

使用Woodbury求逆公式改进Gk+1-1, 令Dk+1=Gk+1-1, 则:

$ \mathit{\boldsymbol{G}}_{k + 1}^{ - 1} = {\mathit{\boldsymbol{D}}_{k + 1}} = {\mathit{\boldsymbol{D}}_k}\mathit{\boldsymbol{K}}_{k + 1}^{\rm{T}}{(\mathit{\boldsymbol{I}} + {\mathit{\boldsymbol{K}}_{k + 1}}{\mathit{\boldsymbol{P}}_k}\mathit{\boldsymbol{K}}_{k + 1}^{\rm{T}})^{ - 1}}{\mathit{\boldsymbol{K}}_{k + 1}}\mathit{\boldsymbol{D}}_k^{ - 1} $ (21)

OS-RKELM分类器训练流程如图 5所示。

Download:
图 5 OS-RKELM分类器训练流程 Fig. 5 Training procedure of OS-RKELM classifier
2 实验结果与分析 2.1 数据集预处理

本文针对AMI受到的攻击类型, 采用NSL-KDD数据集进行实验。NSL-KDD数据集是目前得到广泛应用的入侵检测数据集。剔除KDD99数据集中的冗余部分得到新数据集, 包含KDDtrain+训练集(125 793条)和KDDtest+测试集(18 794条)两部分[19]。数据集将攻击类型分为Normal、DOS、U2R、R2L和Probe 5类, 攻击类型共有21种, 各类攻击样本分布如表 1所示。

下载CSV 表 1 各类攻击样本分布 Table 1 Distribution of various attack samples

数据集预处理过程具体如下:

1)数据集中包含41维特征,其中包括38个数字型特征与3个字符型特征。在数据训练前,将字符数据转换成二进制形式,例如将属性特征protocol_type的3种类型分别用二进制表示为tcp[1,0,0]、udp[0,1,0]、icmp[0,0,1],将其余字符型特征都以二进制形式表示。

2) 在数据分析前, 利用归一化方式将不同维度、性质的数据转换为0~1, 转换公式如下:

$ y = \frac{{y - {\rm{MIN}}}}{{{\rm{MAX}} - {\rm{MIN}}}} $ (22)

其中, y为数据中某维度中的任意值, MAX为该维度中的最大值, MIN为该维度中的最小值。

3)将5种攻击类型分别以对应的编码映射表示为Normal[1,0,0,0,0]、DOS[0,1,0,0,0]、U2R[0,0,1,0,0]、R2L[0,0,0,1,0]和Probe[0,0,0,0,1]。

2.2 实验评价指标

实验采用准确率(AACC)、误报率(FFPR)和训练时间作为评价指标, 具体计算公式如下:

$ \begin{array}{*{20}{l}} {{A_{{\rm{ACC}}}} = \frac{{{T_{{\rm{TP}}}} + {T_{{\rm{TN}}}}}}{{{F_{{\rm{FP}}}} + {F_{{\rm{FN}}}} + {T_{{\rm{TP}}}} + {T_{{\rm{TN}}}}}}}\\ {{F_{{\rm{FPR}}}} = \frac{{{F_{{\rm{FP}}}}}}{{{F_{{\rm{FN}}}} + {F_{{\rm{FP}}}}}}} \end{array} $ (23)

其中, FFP为正常类预测样本数量, TTP为攻击类样本数量, TTN为正确预测正常类样本数量, FFN为攻击类预测为正常类样本数量。

2.3 实验参数设置

DBN-OS-RKELM算法的参数设置如表 2所示, 本文采用RBF作为OS-RKELM的核函数。

下载CSV 表 2 实验参数设置 Table 2 Setting of experimental parameters

本文实验过程中正则化系数(γ)、惩罚因子(C)、隐含层个数(L)和新样本数量(Batch)为随机设定, 对入侵检测准确率结果有较大影响, 如表 3所示。通过多次实验, 将γCL、Batch 4个参数分别进行循环测试, 得到检测准确率最高的参数作为本文最佳参数值。

下载CSV 表 3 实验参数随机设置 Table 3 Random setting of experimental parameters
2.4 结果分析

实验从检测准确率与训练时间两方面对DBN-OS-RKELM算法进行评价。为证明DBN-OS-RKELM算法的泛化能力和训练速率, 与ELM、OS-ELM和基于DBN的在线序列极限学习机(DBN-based Online Sequential Extreme Learning Machine, DBN-OS-ELM)算法进行比较。

实验采用KDDtrain+训练集和KDDtest+测试集对算法性能进行评估。首先在相同实验平台和特征数目的条件下, 优化ELM、OS-ELM、DBN-OS-ELM和DBN-OS-RKELM算法参数, 使其达到最佳值。为保证实验准确性, 每种算法运行20次, 取平均值为最终结果。

实验1 分别比较OS-ELM、DBN-OS-ELM和DBN-OS-RKELM这3种算法的隐含层对检测准确率的影响, 如图 6所示。DBN-OS-RKELM算法在隐含层节点为100时准确率最高。隐含层节点个数对OS-ELM算法准确率影响较明显, 这是因为作为单隐层网络结构, 隐含层个数对分类结果的影响很大。若隐含层节点个数过少, 则网络达不到预期的学习能力与检测效果; 若隐含层节点个数与特征维度过多, 增加了训练时间和网络复杂度, 导致泛化能力降低, 则会造成过拟合现象。DBN-OS-ELM算法在隐含层节点个数达到70之后, 准确率下降, 并保持趋于稳定的状态, 因此实验中选取的DBN-OS-RKELM和OS-ELM算法的隐含层个数为100, DBN-OS-ELM算法的隐含层个数为70。

Download:
图 6 网络隐含层节点个数与检测准确率的关系 Fig. 6 Relationship between the number of hidden layer nodes in the network and detection accuracy

实验2 分别将ELM、OS-ELM、DBN-OS-ELM和DBN-OS-RKELM这4种算法在相同测试集与训练集上进行实验。如表 4所示, OS-ELM算法与ELM算法相比, 在减少训练时间的同时检测准确率有所降低; DBN-OS-RKELM与ELM算法相比, 在检测准确率上提高了3.36%, 而且其训练时间与OS-ELM算法相比变化不大, 这是因为DBN特征提取降低了数据维度, 并且在OS-RKELM中进行了数据分块和实时学习, 进一步减少了训练时间。与OS-ELM、DBN-OS-ELM两种算法相比, DBN-OS-RKELM算法增加了数据特征提取和最优参数搜索过程, 其检测准确率的提升表明算法整体性能优于传统极限学习机方法。

下载CSV 表 4 4种算法的入侵检测性能对比 Table 4 Comparison of intrusion detection performance of four algorithms

实验3 将攻击类型分为Normal、DOS、U2R、R2L和Probe 5类, 对ELM、DBN-OS-RKELM、EDF和CNN算法在KDDtest+测试集下的性能进行对比, 其中EDF和CNN实验数据来自文献[20]。由表 5可以看出, DBN-OS-RKELM算法的检测准确率得到提升, 同时大幅降低了训练时间。这是因为在通过特征提取和随机参数寻优后, 数据维度降低, 计算复杂度也随之降低。DBN-OS-RKELM算法与EDF和CNN算法对于Normal、DOS和Probe攻击类型的检测准确率十分接近, 而对U2R和R2L攻击类型的检测效果更好, 且训练时间也不会因为识别种类的增加而增加, 依旧保持在线学习训练耗时短的优势。对于U2R和R2L攻击类型的检测准确率相对较低的原因为:U2R和R2L攻击类型训练集中的数据量过少, 以及分类器在学习过程中得到特征向量的信息过少, 因此在识别过程中容易被识别为其他攻击类型。

下载CSV 表 5 5种攻击类型的入侵检测性能对比 Table 5 Comparison of intrusion detection performance of five types of attacks
3 结束语

本文提出DBN-OS-RKELM算法,将AMI中采集到的日志信息利用DBN提取重要数据特征, 应用OS-ELM对实时入侵数据以块的方式进行在线更新分类以缩短检测时间, 并通过加入核函数与正则化提高极限学习机的泛化能力。实验结果表明, DBN-OS-RKELM算法解决了OS-ELM算法在检测过程中通过牺牲检测准确率降低训练时间的问题, 相比ELM算法在保持准确率的同时大幅降低了训练时间, 相比EDF和CNN算法入侵检测准确率更高, 体现出其在海量样本情况下实时学习的性能优势, 且更适用于智能电网AMI的实际应用。后续可将DBN-OS-RKELM算法应用于智能电网AMI入侵检测实验平台, 以验证其正确性与高效性。

参考文献
[1]
MIAO Xin, CHEN Xi, MA Xiaoming, et al.Comparing smart grid technology standards roadmap of the IEC, NIST and SGCC[C]//Proceedings of 2012 China International Conference on Electricity Distribution.Washington D.C., USA: IEEE Press, 2012: 1-4.
[2]
BERTHIER R, SANDERS W H.Specification-based intrusion detection for advanced metering infrastructures[C]//Proceedings of the 17th Pacific Rim International Symposium on Dependable Computing.Washington D.C., USA: IEEE Press, 2011: 184-193.
[3]
FAISAL M A, AUNG Z, WILLIAMS J R, et al.Securing advanced metering infrastructure using intrusion detection system with data stream mining[C]//Proceedings of Pacific-Asia Workshop on Intelligence and Security Informatics.Berlin, Germany: Springer, 2012: 96-111.
[4]
ZHANG Yichi, WANG Lingfeng, SUN Weiqing, et al. Distributed intrusion detection system in a multi-layer network architecture of smart grids[J]. IEEE Transactions on Smart Grid, 2011, 2(4): 796-808. DOI:10.1109/TSG.2011.2159818
[5]
WANG K, DU M, MAHARJAN S, et al. Strategic honeypot game model for distributed denial of service attacks in the smart grid[J]. IEEE Transactions on Smart Grid, 2017, 8(5): 2474-2482. DOI:10.1109/TSG.2017.2670144
[6]
LIU Xiaoxue, ZHU Peidong, ZHANG Yan, et al. A collaborative intrusion detection mechanism against false data injection attack in advanced metering infrastructure[J]. IEEE Transactions on Smart Grid, 2015, 6(5): 2435-2443. DOI:10.1109/TSG.2015.2418280
[7]
LIANG Jianquan.Research on security defense technology of WSNs in advanced metering infrastructure[D].Harbin: Harbin Institute of Technology, 2016.(in Chinese)
梁建权.高级量测体系WSNs安全防御技术研究[D].哈尔滨: 哈尔滨工业大学, 2016. http://cdmd.cnki.com.cn/Article/CDMD-10213-1016739207.htm
[8]
LI Chunyang, WANG Xianpei, TIAN Meng, et al. Abnormal power consumption detection in AMI environment[J]. Computer Simulation, 2018, 35(8): 66-70. (in Chinese)
李春阳, 王先培, 田猛, 等. AMI环境下异常用电检测研究[J]. 计算机仿真, 2018, 35(8): 66-70.
[9]
LI Yuancheng, QIU Rixuan, JING Sitong. Intrusion detection system using Online Sequence Extreme Learning Machine(OS-ELM) in advanced metering infrastructure of smart grid[J]. PloS One, 2018, 13(2): 1-16.
[10]
HINTON G E, OSINDERO S, TEH Y W. A fast learning algorithm for deep belief nets[J]. Neural Computation, 2006, 18(7): 1527-1554. DOI:10.1162/neco.2006.18.7.1527
[11]
HINTON G E. A practical guide to training restricted Boltzmann machines[M]. Berlin, Germany: Springer, 2012.
[12]
GAO Ni, GAO Ling, HE Yiyue. Deep Belief Nets model oriented to intrusion detection system[J]. Systems Engineering and Electronics, 2016, 38(9): 2201-2207. (in Chinese)
高妮, 高岭, 贺毅岳. 面向入侵检测系统的Deep Belief Nets模型[J]. 系统工程与电子技术, 2016, 38(9): 2201-2207.
[13]
GAO Qiang, MA Yanmei. Research and application of the level of the Deep Belief Network(DBN)[J]. Science Technology and Engineering, 2016, 16(23): 234-238, 262. (in Chinese)
高强, 马艳梅. 深度信念网络(DBN)网络层次数量的研究及应用[J]. 科学技术与工程, 2016, 16(23): 234-238, 262.
[14]
JIA Qiong.Research on ensemble fault diagnosis method for motor device[D].Shenyang: Shenyang University of Science and Technology, 2017.(in Chinese)
贾琼.面向电机装置的集合型故障诊断方法研究[D].沈阳: 沈阳理工大学, 2017. http://cdmd.cnki.com.cn/Article/CDMD-10144-1017094196.htm
[15]
ZHANG Chaochao.Research on AMI intrusion detection method in smart grid[D].Beijing: North China Electric Power University, 2016.(in Chinese)
张超超.智能电网高级量测体系入侵检测方法研究[D].北京: 华北电力大学, 2016. http://cdmd.cnki.com.cn/Article/CDMD-11412-1016270735.htm
[16]
HUANG G B, ZHU Q Y, SIEW C K. Extreme learning machine:a new learning scheme of feedforward neural networks[J]. Neural Networks, 2004, 2: 985-990.
[17]
XU Rui, LIANG Xun, QI Jinshan, et al. Advances and trends in extreme learning machine[J]. Chinese Journal of Computers, 2019, 42(7): 1640-1670. (in Chinese)
徐睿, 梁循, 齐金山, 等. 极限学习机前沿进展与趋势[J]. 计算机学报, 2019, 42(7): 1640-1670.
[18]
DENG W Y, ONG Y S, TAN P S, et al. Online sequential reduced kernel extreme learning machine[J]. Neurocomputing, 2016, 174: 72-84. DOI:10.1016/j.neucom.2015.06.087
[19]
TAVALLAEE M, BAGHERI E, LU W, et al.A detailed analysis of the KDD CUP 99 data set[C]//Proceedings of 2009 IEEE Symposium on Computational Intelligence for Security and Defense Applications.Washington D.C., USA: IEEE Press, 2009: 1-6.
[20]
DING Longbin, WU Zhongdong, SU Jiali. Intrusion detection method based on ensemble deep forests[J]. Computer Engineering, 2020, 46(3): 144-150. (in Chinese)
丁龙斌, 伍忠东, 苏佳丽. 基于集成深度森林的入侵检测方法[J]. 计算机工程, 2020, 46(3): 144-150.